Стек протоколов TCP/IP.
Обзор стека протоколов TCP/IP
TCP/IP — промышленно стандартизированный пакет протоколов – позволяет создавать сети масштаба предприятия на основе компьютеров с Windows. При добавлении TCP/ IP в систему под управлением Windows Вы получите:
• маршрутизируемый сетевой протокол, поддерживаемый большинством ОС – TCP/IP применяется во многих крупных сетях;
• технологию, позволяющую соединять разнородные системы – для доступа и передачи данных между разнородными системами можно использовать множество стандартных утилит;
• надежную, масштабируемую, платформо-независимую структуру – TCP/IP поддерживает интерфейс Winsock, идеально подходящий для разработки клиент-серверных приложений для Winsock-совместимых стеков;
• доступ к ресурсам Интернета.
TCP/IP предоставляет набор стандартов, определяющих правила взаимодействия компьютеров и правила связи сетей. Стек протоколов TCP/IP включает 4 уровня: сетевой, Интернета, транспортный и прикладной (рис.1).
Приложения, использующие Windows Sockets | Приложения, использующие NetBIOS | Прикладнойуровень | |||
Windows Sockets | NetBT | ||||
TCP | UDP | Транспортный уровень | |||
ICMP | IGMP | IP | ARP | Уровень Интернета | |
Технологии ЛВС: Ethernet, Token Ring, FDDI | Технологии ГВС: последовательные каналы, ретрансляция кадров, АТМ | Сетевой уровень | |||
Рис. 1. Четыре уровня стеков протоколов TCP/IP.
Сетевой уровень
В основе модели лежит уровень сетевого интерфейса, принимающий и передающий кадры по физическим каналам связи.
Уровень Интернета
Протоколы уровня Интернета инкапсулируют пакеты в дейтаграммы Интернета и управляют необходимыми алгоритмами маршрутизации. 4 протокола уровня Интернета — это IP (Internet Protocol), ARP (Address Resolution Protocol), ICMP (Internet Control Message Protocol) и IGMP (Internet Group Management Protocol).
Протокол | Описание |
IP | Обеспечивает доставку пакетов без установления логического соединения для остальных протоколов. Не гарантирует доставку или правильную последовательность пакетов. |
ARP | Обеспечивает привязку IP-адреса к адресу подуровня MAC, что позволяет запросить физический контрольный МАС-адрес конечного узла. IP производит широковещательную рассылку специального пакета-запроса протокола ARP; этот пакет содержит IP-адрес конечной системы. Система под соответствующим IP-адресом отвечает на запрос, пересылая свой физический адрес запрашивающему устройству. Подуровень MAC взаимодействует напрямую с сетевой платой и отвечает за безошибочную пересылку данных между двумя компьютерами сети. |
ICMP | Обеспечивает специальный вид связи компьютеров, позволяя им обмениваться данными о состоянии и ошибках. Протоколы более высоких уровней используют эту информацию для разрешения проблем передачи. Сетевым администраторам эти сведения помогают выявлять проблемы в сети. Утилита ping с помощью пакетов ICMP определяет, функционирует ли конкретное IP-устройство, подключенное к сети. |
IGMP | Обеспечивает многоадресную рассылку (ограниченная форма широковещательной рассылки) для связи и управлением информацией между всеми устройствами группы. IGMP информирует соседние маршрутизаторы многоадресной рассылки, что в данной сети имеются члены группы хостов. В Windows 2000 имеются возможности групповой рассылки, например, с помощью служб NetShow Services, позволяющих разработчикам создавать программы многоадресной рассылки. |
Транспортный уровень
Протоколы транспортного уровня обеспечивают сеансы связи между компьютерами. Это TCP (Transmission Control Protocol) и UDP (User Datagram Protocol).
Протокол | Описание |
TCP | Обеспечивает приложениям, разово пересылающим большие объемы информации или требующим подтверждения получения данных, надежную связь с обязательным установлением логического соединения. TCP гарантирует доставку пакетов, точную последовательность пакетов данных и обеспечивает вычисление контрольной суммы, позволяющей проверить достоверность приема как заголовка, так и данных пакета. |
UDP | Обеспечивает связь без установления логического соединения и не гарантирует доставку пакетов. Приложения, использующие протокол UDP, разово передают небольшой объем данных. За надежность доставки данных отвечает приложение. |
Прикладной уровень
Верхний уровень модели — прикладной — предоставляет приложениям доступ к сети. В прикладном уровне работает множество стандартных утилит и служб TCP/IP: FTP, Telnet, SNMP, DNS и др.
Для взаимодействия со службами стека протоколов TCP/IP последний предоставляет сетевым приложениям два интерфейса: Winsock и NetBIOS поверх TCP/IP (NetBT).
Интерфейс | Описание |
Winsock | Выступает как стандартный интерфейс между протоколами стека TCP/IP и приложениями, использующими сокеты. |
NetBT | Применяется как стандартный интерфейс для служб NetBIOS, включая службы именования, дейтаграмм и сеансов. Обеспечивает также стандартный интерфейс между протоколами TCP/IP и приложениями на основе NetBIOS. |
Использование автоматической IP-адресации
Версия стека протоколов TCP/IP, реализованная в Windows, поддерживает механизм автоматического присвоения IP-адресов в простых конфигурациях ЛВС. Это расширение механизма динамического присвоения IP-адресов адаптерам ЛВС позволяет выделять IP-адреса без применения механизма статичных IP-адресов или установки службы DHCP.
Чтобы обеспечить корректную работу автоматической частной IP-адресации (APIPA) на компьютере с Windows, настройте адаптер ЛВС для использования TCP/IP и в диалоговом окне Internet Protocol (TCP/IP) Properties щелкните переключатель Obtain An IP Address Automatically (Получить IP-адрес автоматически). APIPA выделяет IP-адрес следующим образом.
1. TCP/IP ищет в подключенной сети DHCP-сервер, чтобы получить динамический IP-адрес.
2. Если DHCP-сервера на этапе начальной загрузки нет (например, он отключен для обслуживания или ремонта), клиент не сможет получить IP-адрес.
3. APIPA генерирует IP-адрес вида 169. 254 .х.у (х.у — уникальный идентификатор клиента) и маску подсети 255.255.0.0. Если выделенный адрес используется, APIPA выбирает другой IP-адрес и, если надо, повторяет эту операцию до 10 раз.
Сгенерировав адрес, компьютер производит на него широковещательную рассылку и, ответа нет, присвоит адрес себе и будет использовать до тех пор, пока не обнаружит и не получит конфигурационную информацию от сервера DHCP. Это позволяет подключить два компьютера к концентратору ЛВС, перезагрузить их без настройки IP-адресов и использовать TCP/IP для доступа к ЛВС. Хотя APIPA может автоматически присваивать клиентам DHCP IP-адрес, она не генерирует всей информации, обычно поступающей от службы DHCP. Так, APIPA не генерирует адрес шлюза по умолчанию. Соответственно, компьютеры, подключенные к сети с использованием APIPA, могут связываться только с компьютерами той же подсети, имеющими адреса вида 169.254.x.y.