logo search
Ответы_СЕТИ

10. Технологии сокетов

Сокет (Socket - гнездо, разъем) - абстрактное программное понятие, используемое для обозначения в прикладной программе конечной точки канала связи с коммуникационной средой, образованной вычислительной сетью.

Соединяя вместе два сокета, можно передавать данные между разными процессами (локальными и удаленными). Реализация сокетов обеспечивает инкапсуляцию протоколов сетевого и транспортного уровней.

Адрес сокета - это следующий набор значении:

1. номер сети

2. номер узла

3. номер порта прикладной службы

Номера портов:

1. стандартные порты (0-1023): порты, назначенные центром

2. 1024-49151: являются регистрируемыми

3. 49152-65535: динамические (частные) порты

Типы сокетов

Существуют три основных типа сокетов: потоковые, дейтаграммые и сырые.

Потоковые сокеты – это сокеты с установлением соединения, состоящие из потока байтов, который может быть двунаправленным. Т.е. через такую конечную точку приложение может и передавать, и получать данные. Потоковый сокет гарантирует обнаружение и исправление ошибок, обрабатывает доставку и сохраняет последовательность данных. Он подходит для передачи больших объемов данных, поскольку в этом случае накладные расходы, связанные с установлением соединения, незначительны по сравнению со временем передачи самого сообщения. Качество передачи достигается за счет использования протокола TCP.

Дейтаграммные сокеты – это сокеты без установления соединения, не обеспечивающие надежность при передаче. Применяются для приложений, когда неприемлемы затраты времени, связанные с установлением явного соединения. Для передачи данных используется протокол UDP.

Сырые сокеты (необрабатываемые, простые) – это сокеты, которые принимают пакеты сетевого уровня в обход протоколов транспортного уровня и отправляют их непосредственно приложению.

Используется протокол IP.