Интерфейс сокетов в транспортном уровне
Содержание:
- Производители материнских плат: кто есть кто
- Удобоукладываемость бетона
- Виды сокетов
- Принципы сокетов¶
- Как определить сокет на материнской плате
- Сокет материнской платы
- Что такое сокет?
- Работа сокетов
- Сокеты Беркли
- Как узнать, какой сокет у материнской платы?
- Что такое материнская плата компьютера — зачем она нужна
- Чипсет материнской платы
- Общая информация
- listen()¶
- Что такое сокет на системной плате или ЦП?
- Работа с сокетами в .NET
Производители материнских плат: кто есть кто
При выборе материнской платы, как это ни странно, необходимо обратить внимание не только на компоновку платы и ее характеристики, но и на ее производителя. На современном рынке имя производителя или бренд, под которым выпускается решение, имеет очень большое значение
Имя — это не просто слово, но и огромный опыт и репутация производителя, а также гарантия качества. Сейчас на рынке материнских плат присутствует большое количество производителей, например:
- ASUS (Тайвань) — крупнейший на данный момент производитель материнских плат для розничного сектора компьютерного рынка. Имя с большой историей. Данный бренд заслуживает доверия, поскольку все выпущенные ASUS решения являются стабильными и качественными продуктами. Единственным минусом является их завышенная стоимость;
- Gigabyte (Тайвань) — второй по величине производитель системных плат в России. Единственный минус, который стоит учесть при рассмотрении материнских плат данного бренда, — это несовершенство ранних разработок. То есть при выходе абсолютно новых плат (например, после выпуска нового чипсета) решения Gigabyte иногда (отнюдь не всегда) оказываются «сырыми» (недоработанными). В ассортименте компании есть платы для бюджетного сектора, мэйнстрим-сегмента и топовые платы премиум-класса;
- MicroStar (MSI) (Тайвань) — еще одна компания из лидеров рынка материнских плат. В широком ассортименте ее продукции каждый пользователь найдет для себя плату. В настоящее время компания переживает период подъема. Решения от MSI уже сейчас составляют конкуренцию платам ASUS и Gigabyte, а иногда оказываются даже гораздо лучше их. Ассортимент решений MSI также охватывает все секторы рынка системных плат;
- EliteGroup (Тайвань) — марка ECS широко представлена на российском рынке самыми разнообразными решениями. Основная область применения материнских плат от ECS — бюджетный сектор. В последнее время компания активно выводит на рынок новую серию плат — Black Series, которая обладает расширенным функционалом по сравнению с классическими решениями компании;
- Foxconn (Тайвань) — также хорошо известный в России производитель. Foxconn в основном специализируется на бюджетном секторе рынка, выпуская одни из самых доступных для пользователей платы. Существенным недостатком плат Foxconn является непредсказуемость их работы. В наших регулярных тестированиях решения компании Foxconn всегда показывают хорошие результаты, иногда даже обгоняя по производительности модели крупных компаний. Однако по личному опыту мы можем сказать, что платы Foxconn, увы, не всегда надежны. В работе многих плат через некоторое время возникают проблемы и сбои, а иногда они и вовсе перестают работать. Функционал плат соответствует бюджетному сектору — никаких излишеств;
- ASRock (Тайвань) — сравнительно молодая компания, которая была организована при поддержке ASUS в 2002 году. Она представлена в бюджетном и мэйнстрим-секторах рынка. Компания отличается от остальных бюджетных производителей наличием в платах расширенного функционала. Кроме того, платы ASRock часто снабжаются поддержкой как памяти DDR2, так и памяти DDR3. Неплохой выбор для бюджетного решения;
- Intel — хорошо известное каждому имя. К сожалению, не по материнским платам. Материнские платы Intel имеют хороший потенциал производительности, выполнены качественно, но зачастую обладают недостаточным функционалом для домашнего ПК.
Мы привели далеко не полный список производителей материнских плат, ограничившись только теми компаниями, с которыми хорошо знакомы и решения которых регулярно тестируем.
Удобоукладываемость бетона
.
Пластичность, или удобоукладываемость, — временная характеристика, описывающая способность смеси заполнять строительные формы, сохраняя гомогенность состава. Марку в данной ситуации определяют такие факторы, как подвижность и жесткость. В зависимости от них образцы делят на сверхжесткие (СЖ), жесткие (Ж) и подвижные (П).
Параметр подвижности устанавливают с помощью усеченного металлического конуса высотой 30 см, в который наливают строительный раствор. После утрамбовки инструмент размещают широким основанием книзу, вертикально снимают с формы и измеряют разницу высот между ней и исходным образцом.
Растворы с осадкой 10-25 см представляют собой пластичный материал, который соответствуют маркам П3-П5. Его используют там, где плотное армирование мешает трамбовке.
Отдельную категорию представляют литые бетоны, способные к самоуплотнению. Их применяют в производстве блоков для гидростроительных объектов.
Для смесей, у которых не происходит осадки конуса, определяется жесткость. Она оценивается не в сантиметрах, а по времени, затраченному на заполнение формы под воздействием вибрации.
Период уплотнения сверхжестких разновидностей бетона СЖ1-3 составляет 50 секунд-1,5 минуты. Жесткие составы Ж1-4 приобретают монолитность за более короткий срок — от 5 секунд до минуты. Сфера использования такого бетона — изготовление сборных ЖБИ. Сверхжесткие смеси применяются при производстве монолита автоклавного твердения.
На удобоукладываемость влияют и другие факторы:
Бетон становится крепче и жесче из-за добавления в него пластификаторов.
- условия хранения и транспортировки;
- содержание воды;
- количество цемента и других заполнителей;
- состав компонентов, их форма и характеристики.
Для повышения текучести в смесь вводятся пластификаторы. Чем больше наполнителей и чем меньше содержание влаги, тем жестче получается смесь. Нарушение баланса приводит к ухудшению прочности материала.
Виды сокетов
Как среди специалистов, так и среди рядовых пользователей ПК все существующие сокеты материнских плат принято делить на два вида — AMD и Intel, т.е. по производителям. Конечно, это не единственные производители подобного компьютерного оборудования, но именно их продукция используется в подавляющем большинстве (если не на всех) персональных компьютеров.
Сокеты производства AMD и Intel имеют конструктивные отличия. Для обычных пользователей все остальные характеристики, в принципе, не важны. Если, допустим, в наличии имеется процессор AMD, выполненный под сокет Socket AM4, то для него следует приобретать материнскую плату с аналогичным разъемом — других вариантов попросту нет.
Принципы сокетов¶
Каждый процесс может создать слушающий сокет (серверный сокет) и привязать его
к какому-нибудь порту операционной системы (в UNIX непривилегированные
процессы не могут использовать порты меньше 1024). Слушающий процесс обычно
находится в цикле ожидания, то есть просыпается при появлении нового
соединения. При этом сохраняется возможность проверить наличие соединений на
данный момент, установить тайм-аут для операции и т.д.
Каждый сокет имеет свой адрес. ОС семейства UNIX могут поддерживать много
типов адресов, но обязательными являются INET-адрес и UNIX-адрес. Если
привязать сокет к UNIX-адресу, то будет создан специальный файл (файл сокета)
по заданному пути, через который смогут сообщаться любые локальные процессы
путём чтения/записи из него (см. Доменный сокет Unix). Сокеты типа INET
доступны из сети и требуют выделения номера порта.
Как определить сокет на материнской плате
Простейший способ как можно узнать сокет материнской платы – воспользоваться инструкцией. В данном документе детально описываются все параметры аппаратного устройства. Откройте страницу с характеристиками и отыщите тип сокета. Как правило, в инструкции также указана линейка процессоров, которая подойдет к вашей материнской плате. Это очень удобно.
Если же инструкции у вас нет, однако вы знаете модель вашей материнки, то можно зайти на официальный интернет-сайт компании-производителя. Там надо указать название платы. В результате веб-ресурс выдаст вам исчерпывающий список с характеристиками аппаратного компонента. Среди них будет и такой параметр, как тип сокета.
Зачастую производители маркируют сокеты прямо на плате. Соответственно, вы можете узнать тип гнезда, просто взглянув на него. Для этого необходимо открутить боковую крышку системного блока и забраться внутрь корпуса вашего ПК. Затем надо добраться до процессора. Для этого нужно открутить систему охлаждения, которая состоит из вентилятора и радиатора. Сделав это, взгляните на гнездо, к которому подключен теперешний процессор.
Важно! Прежде чем раскручивать системный блок, необходимо отключить его от питания
Сокет материнской платы
Сокет – это набор контактов и механизм защиты, которые удерживают процессор на месте и соединяют материнскую плату с доступной вычислительной мощностью. Существуют разные сокеты в зависимости от того, какой процессор поддерживается. Если возникает ситуация, когда процессор и сокет несовместимы, лучший сценарий состоит в том, что компонент физически не сможет соединиться с сокетом, тогда как в худшем случае может быть нанесен непоправимый ущерб любой части системы.
К счастью, легко выяснить и проверить, будет ли рассматриваемый процессор работать с определенной материнской платой. Обычно рекомендуется сначала выбрать процессор, который предоставляет вам необходимый сокет, что делает покупку материнской платы немного проще. Например, для Ryzen 5 3600X потребуется материнская плата AM4, а для Intel Core i5-9600K – LGA 1151.
Что такое сокет?
Перед тем как перейти к рассмотрению скоетов процессоров, давайте попытаемся понять что такое сокет? Сокетом называют физический интерфейс подключения процессора к материнской плате. Сокет LGA состоит из ряда штифтов, которые совпадают с пластинками на нижней стороне процессора.
Новым процессорам, обычно, нужен новый набор штифтов, а это значит, что появляется новый сокет. Однако, в некоторых случаях, процессоры сохраняют совместимость с предыдущими поколениями процессоров Intel. Сокет расположен на материнской плате и его нельзя обновить без полной замены платы. Поэтому обновление процессора может потребовать полной пересборки компьютера
Поэтому важно знать какой сокет используется в вашей системе и что с помощью него можно сделать
Работа сокетов
Рассмотрим подробнее, как используются сокеты Беркли. У нас есть два компьютера, клиент и сервер. Вначале необходимо создать сокет на сервере и сделать так, чтобы он мог принимать запрос на соединение.
На сервере выполняется вызов Soket. Создается объект — сокет, в простейшем случае, это просто файл специального вида.
Затем вызывается метод Bind, который используется для присоединения сокета к определенному ip адресу и порту. Например, ip адрес из внутренней сети и порт 80, порт веб серверов.
Вызов Listen говорит о том, что сокет готов принимать соединение по сети, сокет слушает. При вызове listen создаётся очередь для соединений, в вызове необходимо указать размер этой очереди. В примере на картинке ниже, размер очереди 5. Если сервер получит больше, чем 5 запросов на соединение, а предыдущие запросы еще не обработаны, то все новые запросы будут отбрасываться.
Затем сервер вызывает метод сокета accept, это говорит о том, что сервер готов принимать соединения и он переходит в режим пассивного ожидания, ждет установку запросов на соединение от клиентов.
Клиент со свой стороны, сначала вызывает метод сокет, для создания сокета, как правило для клиента не имеет значение, какой ip адрес и какой порт используется, номер порта назначается операционной системой. Поэтому метод bind на клиентском сокете обычно не вызывается.
Сразу после создания сокета, вызывается метод connect, в котором указывается ip адрес и порт. В параметрах метода connect указываются ip адрес сервера и порт с которыми нужно установить соединение. Отправляется запрос на соединение.
Для того, чтобы другие клиенты могли соединяться с этим сервером на этом ip адресе и на этом же порту, создаётся копия сокета. И соединение устанавливается не с исходным сокетом, который принимает соединения, а с копией сокета. Данные передаются через копию сокета.
Клиент подготавливает порцию данных, вызывает метод send. Данные передаются по сети и сервер может их прочитать с помощью метода receive.
Дальше сервер и клиент могут обмениваться между собой несколькими порциями данных. После того, как все данные переданы, клиент вызывает метод close. После чего происходит разрыв соединения.
Сокеты Беркли
Интерфейс называется интерфейсом сокетов. Сокеты впервые появились в операционной системе (ОС) Berkeley Unix 4.2 BSD в 1983 году.
Там сокеты, как и любые другие устройства в UNIX это просто файл, специального типа. Вы пишите данные в этот файл, они автоматически передаются по сети на другой компьютер. Другой компьютер может прочитать данные оттуда, как из обычного файла. Хотя, на самом деле они пришли по сети.
Таким образом взаимодействие с сетью скрыто от программиста. Такая абстракция оказалась очень удобной, сокеты стали использоваться не только в UNIX, но и во многих других ОС в том числе в windows и linux, поддержку сокетов добавили во многие языки программирования.
Сокеты сейчас это де-факто стандарт для взаимодействия программ с транспортным уровнем, стека протоколов TCP/IP.
Как узнать, какой сокет у материнской платы?
Определить тип используемого сокета проще всего по модели материнской платы. Эту информацию можно получить несколькими способами — из документации к ПК, путем осмотра системной платы, при помощи различных программ, в пользовательском интерфейсе BIOS и др.
В случае со стационарными компьютерами модель материнской платы узнать довольно просто — достаточно снять крышку кейса. Модель платы должна быть указана на ее поверхности. Также на многих материнских платах можно найти и тип используемого сокета. Например:
Если по каким-то причинам компьютер разобрать невозможно или затруднительно, модель материнской платы можно узнать при помощи программ AIDA64 или подобной ей (например, Speccy). Сделать это просто:
- Установите и запустите утилиту AIDA64.
- В левой части основного окна программы перейдите в раздел «Системная плата».
- Затем выберите вкладку «Системная плата».
- Модель платы будет указана в разделе «Свойства системной платы».
Если на компьютере не установлена операционная система или имеются другие неполадки, приводящие к невозможности загрузки ОС, модель материнской платы можно будет узнать из пользовательского интерфейса BIOS:
- Включите компьютер и нажимайте затем клавишу «F2», «F12» или «Delete».
- Должен запуститься пользовательский интерфейс BIOS.
- Модель материнской платы может быть указана на первой странице настроек BIOS либо в одной из вкладок.
- Перед названием модели обычно присутствует текст «Product Name» или «Model Name».
После определения модели остается только перейти на сайт ее производителя для уточнения информации. Например, возьмем материнскую плату ASRock H61M-VS, которая была приведена на изображении выше:
- Зайдите в любую поисковую система и впишите в качестве запроса производителя и модель материнской платы.
- В первых же строчках результат отобразится ссылка на страницу сайта производителя, где будет представлена вся информация о плате.
- Например, так выглядит страница материнской платы ASRock H61M-VS.
- В данном случае тип сокета указан в разделе «Процессор» после названий всех поддерживаемых платой ЦП.
- Здесь мы имеем сокет LGA-1155, а из информации на странице материнской платы можно понять, что его производитель — компания Intel.
- Теперь при покупке процессора можно ориентироваться на приведенную выше информацию. Для данной конкретной модели материнской платы потребуется процессор производства Intel, выполненный под сокет LGA-1155.
Что такое материнская плата компьютера — зачем она нужна
В состав персонального компьютера входит множество компонентов, которые обмениваются данными, обрабатывают их и передают пользователю. Каждый узел наделен определенным узкоспециализированным функционалом. Большая часть таких элементов располагается в одной конструктивно законченной системе – материнской плате (материнке).
Примечание
Такая плата носит название системной, представляет собой основу любого компьютера. Можно встретить обозначение МВ – английская аббревиатура от слова «motherboard».
Все компоненты персонального компьютера подключаются к главной плате напрямую, либо с помощью стандартных кабелей. В большинстве моделей системных блоков плата размещена в вертикальном положении. Конструкцию фиксируют к одной из стенок блока.
Определение
Материнская плата является прямоугольным изделием из стеклотекстолита с множеством деталей и разъемов, соединенных с помощью проводящих элементов.
К основным функциям материнской платы относят:
- транспортировка сигналов управления от центрального процессора к различным узлам;
- информационный обмен между процессором и памятью, включая постоянную и оперативную;
- организация устройств долгосрочного хранения данных, включая жесткие диски и другие внешние носители, обеспечение их доступности;
- взаимодействие с внешними устройствами (видеокарты, средства обработки звука, внешняя память, сетевые адаптеры, принтеры);
- обеспечение ввода данных со стороны пользователя или другого ПК;
- функционирование процессора и некоторых внешних устройств за счет обеспечения дополнительного электропитания.
Системная плата представляет собой связующее звено, точнее комплекс из таких звеньев, без которого персональный компьютер не может функционировать. Конструкция включает разъемы для подключения:
- процессора;
- модулей памяти;
- видеокарты;
- звуковой карты;
- любых других устройств, обладающих стандартными интерфейсами материнской платы, включая сетевые адаптеры, устройства обработки видео.
Устройства, с помощью которых осуществляется хранение информации (жесткие диски, BlueRay и др.), подключают к главной плате не напрямую, а с помощью стандартных кабелей. В данное время такие устройства применяют в комплексе с интерфейсом SATA. Также есть подобные разъемы, которые позволяют подключить резервные хранилища информации, находящиеся вне системного блока.
Разные периферийные устройства, включая клавиатуру, мышь, принтер, флешки, подключают к материнке с помощью интерфейса USB. Разъемы такого типа могут располагаться на плате, либо соединяться с ней кабелями. Допускается применение интерфейса PS/2, чтобы обеспечить совместимость материнской платы с определенными модификациями клавиатур и мышей.
Такой разъем расположен на конструкции. Материнки с видеоадаптерами встроенного типа обладают разъемом для подключения к монитору.
Чипсет материнской платы
В самом базовом смысле, чипсет – это группа электронных компонентов на материнской плате, которая управляет передачей данных между процессором, оперативной памятью, хранилищем и другим подключенным оборудованием.
Для каждого разъема доступно несколько наборов микросхем, что позволяет выбирать между бюджетом и производительностью, а более дорогие материнские платы оснащены более функциональными компонентами.
Чипсеты Intel
Последнее поколение процессоров для настольных ПК от Intel работает на LGA 1151. Те, у кого процессоры «Skylake», могут иметь возможность прошивать свои материнские платы обновлением BIOS (если доступно – обратитесь к производителю материнских плат) и устанавливать процессор «Kaby Lake», но этот трюк не сработает с новым «Кофейным озером».
Ниже приведена таблица последних сокетов, которые вы найдете на рынке при создании нового ПК. Число, используемое Intel в своей схеме именования, обозначает, сколько соединений находится на самом сокете.
Разъем | Чипсеты | Процессоры |
---|---|---|
LGA 2066 | X299 | Kaby Lake-X Skylake-X Skylake-W Cascade Lake-X Cascade Lake-W |
LGA 1151 | B360, Q370, H310, H370 и Z370 | Coffee Lake |
LGA 1151 | H110, B150, Q150, H170, Q170, Z170 B250, Q250, H270, Q270 и Z270 | Kaby Lake Skylake |
LGA 1150 | H81, B85, Q85, Q87, H87, Z87, H97 и Z97 | Broadwell Haswell |
Чипсеты AMD
AMD использует другую схему именования с AM4 для процессоров Ryzen. AM3+ использовался для процессоров серии «Bulldozer» и «Piledriver» FX. Разъемы AM используются для основных и энтузиастических ЦП, а серия FM – для APU. TR4 используется исключительно для процессоров Threadripper.
Разъем | Чипсеты | Процессоры |
---|---|---|
sTRX4 | TRX40 | Threadripper 3 |
TR4 | X399 | Threadripper 1-2 |
АМ4 | X570 | Ryzen 2-3 |
АМ4 | B350, X370, B450 и X470 | Ryzen 1-3 |
АМ4 | A300, B300, X300, A320, B350 и X370 | Ryzen 1-2 |
AM3+ | 970, 980G, 990X и 990FX | Piledriver Bulldozer |
FM2+ | A58, A68H, A78 и A88X | Steamroller Excavator |
Общая информация
Сам по себе термин «сокет» происходит от английского слова «socket» и с технического языка переводится как «разъем» или «гнездо». Т.е. сокет — это обычный разъем/гнездо для подключения электронного устройства. В конструкции материнской платы присутствует множество разъемов, к которым подключается всевозможное съемное оборудование — центральный процессор, видеокарта, внешняя сетевая плата, оперативная память и т.д.
Однако, когда термины «сокет» и «материнская плата» употребляются вместе, то речь, в первую очередь, идет о гнезде для подключения процессора. Именно ему и посвящена данная статья.
listen()¶
См.также
- http://unixhelp.ed.ac.uk/CGI/man-cgi?listen+2
Подготавливает привязываемый сокет к принятию входящих соединений. Данная функция применима только к типам сокетов SOCK_STREAM и SOCK_SEQPACKET. Принимает два аргумента:
- sockfd — корректный дескриптор сокета.
- backlog — целое число, означающее число установленных соединений, которые могут быть обработаны в любой момент времени. Операционная система обычно ставит его равным максимальному значению.
Примечание
После принятия соединения оно выводится из очереди. В случае успеха возвращается 0, в случае возникновения ошибки возвращается −1.
Пример на Си
#include <sys/socket.h> int listen(int sockfd, int backlog);
Пример на Python
Что такое сокет на системной плате или ЦП?
LGA и PGA являются как бы противоположностями. LGA выглядит в виде разъёма, у которого выводятся ножки. На данные ножки в дальнейшем ляжет ЦП. PGA создан как бы в обратном порядке, ножки находятся на самом ЦП, а на материнке в разъёме есть соответствующие дырочки, чтобы в них вставить процессор.
BGA как бы и не сокет вовсе, так как ЦП прикрепляется к материнке через пайку и если вы его захотите вынуть, у вас ничего не выйдет. Данный метод более дёшев, занимает меньше пространства и широкое распространение получил среди ноутбуков (в частности, в среде дешевых и тонких марок).
В наше время ситуация сложилась примерно так – Intel стал применять по большей части сокет LGA, а другой известный бренд AMD применяет в основном PGA (у него одно исключение Socket TR4).
Работа с сокетами в .NET
Поддержку сокетов в .NET обеспечивают классы в пространстве имен System.Net.Sockets — начнем с их краткого описания.
Класс | Описание |
---|---|
MulticastOption | Класс MulticastOption устанавливает значение IP-адреса для присоединения к IP-группе или для выхода из нее. |
NetworkStream | Класс NetworkStream реализует базовый класс потока, из которого данные отправляются и в котором они получаются. Это абстракция высокого уровня, представляющая соединение с каналом связи TCP/IP. |
TcpClient | Класс TcpClient строится на классе Socket, чтобы обеспечить TCP-обслуживание на более высоком уровне. TcpClient предоставляет несколько методов для отправки и получения данных через сеть. |
TcpListener | Этот класс также построен на низкоуровневом классе Socket. Его основное назначение — серверные приложения. Он ожидает входящие запросы на соединения от клиентов и уведомляет приложение о любых соединениях. |
UdpClient | UDP — это протокол, не организующий соединение, следовательно, для реализации UDP-обслуживания в .NET требуется другая функциональность. |
SocketException | Это исключение порождается, когда в сокете возникает ошибка. |
Socket | Последний класс в пространстве имен System.Net.Sockets — это сам класс Socket. Он обеспечивает базовую функциональность приложения сокета. |