Лекция 6 Структура TCP/IP TCP/IP как основа межсетевых коммуникаций

advertisement
Вычислительные системы, сети и телекоммуникации
Лекция 6
TCP/IP как основа межсетевых коммуникаций
Структура TCP/IP
TCP/IP
TCP/IP
- это
гетерогенных
обширное семейство протоколов, которые могут использоваться в
сетях
(UNIX,
NetWare,
Windows
обеспечивая
NT),
при
этом
маршрутизацию. TCP/IP основан на модели открытых систем и состоит из протокола
транспортного уровня TCP и сетевого протокола IP.
Дейтаграммный протокол
IP
содержит целевой адрес пакетов и интерфейсы с уровнем TCP. TCP, ориентированный на
виртуальное соединение, обеспечивает гарантированную связь.
На рисунке 6_1. показана реализация Microsoft для TCP/IP, которая содержит
небольшие расширения в виде поддержки NetBIOS, интерфейсов TDI и NDIS.
Прикладно
й уровень
Представит
ельский
уровень
Сеансовый
уровень
Сокеты
Windows
NetBIOS
NetBIOS
поверх
TCP/IP
Уровень
приложени
я
Интерфейс TDI
Транспортн
ый уровень
Сетевой
уровень
Канальный
уровень
Физически
й уровень
TCP
ICMP
IP
IGNP
Интерфейс NDIS
Ethernet Драйвер
ы
FDDI
сетевых
карт
Сетевые
адаптер
ы
UDP
Транспортны
й уровень
ARP
RARP
Межсетевой
уровень
РРР
Трансля
ция
кадров
Уровень
сетевого
интерфейса
Рис. 6_1. Архитектура TCP\IP
1
Вычислительные системы, сети и телекоммуникации
Рассмотренный стек протоколов TCP/IP на самом деле включает в себя целое
семейство других протоколов, функционирующих в среде вычислительных сетей:
 UDP (User Datagram Protocol) - протокол пользовательских дейтаграмм для
посылки коротких сообщений, который не предусматривает сборку и разборку
сообщений. Прикладные программы, использующие услуги UDP, каждой посланной
дейтаграмме ставят в соответствие тайм-аут, по которому определяется неудачная
доставка, и организуют повторную посылку потерянной дейтаграммы.
 TCP (Transmission Control Protocol) – обеспечивает надежную передачу данных
от одного узла к другому в рамках устанавливаемого виртуального соединения по
принципу «трехстороннего рукопожатия».
 IP (Internet Protocol) – межсетевой дейтаграммный протокол, обеспечивающий
доставку пакетов из одной сети в другую, или из одного сетевого сегмента в другой.
 ARP (Address Resolution Protocol) - протокол преобразования IP-адресов в
адреса конкретной сетевой карты (МАС-адрес).
 RARP (Reverse Address Resolution Protocol) – протокол обратного определения
адресов, позволяющий по МАС-адресу определить IP-адрес.
 ICMP (Internet Control Management Protocol) – протокол, используемый IP и
другими вышележащими протоколами для отправки и получения сообщений о
статусе передаваемой информации (рис. 6_2).
Рис. 6_2. Настройки протокола ICMP
2
Вычислительные системы, сети и телекоммуникации
 IGMP(Internet Group Management Protocol ) – протокол отправки
широковещательных сообщений (Рис. 6_3). Используется для пересылки группе
получателей.
Рис. 6_3. Настройки протокола IGMP
Помимо рассмотренных протоколов, на стек TCP/IP опираются следующие
протоколы и службы:
 Протокол SMTP (Simple Mail Transfer Protocol) - это простой протокол для
электронного обмена сообщениями.
 SNMP (Simple Network Management Protocol) - простой протокол управления
сетью, работает на базе UDP и предназначен к использованию сетевыми управляющими
станциями для сбора информации;
 TELNET - протокол прикладного уровня, используется для входа в другие
компьютеры сети Internet. Обеспечивает доступ к открытым серверам, библиотечным
3
Вычислительные системы, сети и телекоммуникации
каталогам и различным базам данных. TELNET эмулирует терминалы
vt100 и vt330
фирмы DEC.
 FPT - протокол пересылки файлов (File Transfer Protocol) позволяет передавать
данные между рабочей станцией и хост-системой Unix или Novell NetWare NFS, или
Windows NT.
4
Вычислительные системы, сети и телекоммуникации
Рис.6_4. Настройка TCP/IP
5
Вычислительные системы, сети и телекоммуникации
Для поддержки стека TCP/IP в состав операционной системы Windows входят
следующие службы (Рис.6_ 4):
 WINS – служба определения имен Интернета, которая именам NetBIOS ставит в
соответствие адреса IP.
 DNS – служба формирования имен узлов, когда по именам узлов определяются их
IP - адреса, например eai.mephi.ru соответствует адрес 194.67.66.75.
 DHCP – протокол динамической конфигурации узла, когда IP - адрес выдается
станции на какое-то время (аренда адреса) из определенного интервала возможных
адресов
Все эти протоколы предназначены для объединения в единую сеть с коммутацией
пакетов
разнородных подсетей, которые соединяются через устройства сопряжения
(мосты routers или шлюзы gateways). Эта единая сеть носит название Интернет и
охватывает почти все континенты.
По мере прохождения информации от прикладного уровня вниз, меняется название
блоков
данных.
Сформированное
на
верхнем
уровне
прикладное
сообщение
преобразуется в транспортное сообщение (TCP - сегмент) или UDP - дейтаграмму. Они в
свою очередь разбиваются на нумерованные IP - пакеты, а попав в Ethernet , получают
название кадров.
Для каждого такого узла TCP/IP , несмотря на использование различных сетевых
сегментов, всегда известны два адреса: сорокавосьмибитный адрес карты Ethernet
и
тридцатидвухбитный адрес IP, уникальный в пределах всей сети Интернет.
ARP-протокол
Рассмотрим подробнее механизм преобразования IP - адресов в Ethernet - адреса,
который использует ARP - протокол при посылке пакетов. Этот процесс называется
разрешением физических адресов.
Преобразование адресов осуществляется с помощью ARP-таблиц, где каждой строке
ставится в соответствие IP-адрес компьютера и соответствующий ему адрес сетевой
карты Ethernet. IP-адрес назначается администратором сети с учетом места подключения
компьютера в сети Интернет. Если меняется положение компьютера по отношению к
узлам Интернет, меняется и его IP- адрес. Адрес сетевой карты
присваивает
изготовитель исходя из адресного пространства, соответствующего его лицензии. Этот
адрес не может быть изменен, пока работает данная сетевая карта.
6
Вычислительные системы, сети и телекоммуникации
При посылке IP-пакета протоколом ARP определяется адрес сетевой карты узлаприемника. При этом происходит обращение к соответствующей строке ARP-таблицы,
где каждому IP-адресу ставится в соответствие хотя бы один Ethernet-адрес. Эта ARPтаблица содержится в кэше данного компьютера. В случае отсутствия соответствующей
строки,
формируется
специальный
ARP-запрос,
который
упаковывается
в
широковещательный кадр Ethernet, адресованный всем станциям данной локальной сети.
Исходящий IP-пакет, для которого пока невозможно преобразование адресов,
задерживается и ставится в очередь.
В локальной сети каждый сетевой адаптер принимает широковещательный кадр
Ethernet. В случае успешной доставки, по двухбайтовому полю типа определяется, что это
ARP- запрос, и он передается протоколу ARP локального узла. Обратите внимание, что
речь идет об истинном Ethernet (Ethernet_II), где в каждом кадре имеется двухбайтовое
поле типа протокола верхнего уровня. Для сетей IEEE 802.3 и ISO 8802.3 поле типа
заменено на двухбайтовое поле длины данных (Ethernet 802_2, Ethernet 802_3), а
идентификация протоколов вышележащих уровней ведется по номеру точки доступа к
канальной услуге SAP, содержащейся в первом байте поля данных (Ethernet 802_2).
Протокольный объект ARP проверяет поле IP-адреса приемника и, если оно не
совпадает с его собственным адресом, сбрасывает пакет.
Если адреса совпадают, то по принципу эхо формируется ARP-ответ, где в поле
искомого адреса
вставляется собственный Ethernet-адрес. Данный ARP-ответ
запаковывается в кадр Ethernet с индивидуальными адресами и выталкивается в сеть.
Получив такой кадр, сетевой адаптер распаковывает его и передает ARP-ответ
протоколу ARP узла - источника запроса, который обновляет свою таблицу, добавив в нее
еще одну строку. Эта строка должна сохраняться в ARP - кэше по умолчанию 10 минут.
Но в Windows обновление ARP - кэше производится по мере его переполнения, даже если
срок давности строки не истек.
Теперь, после обновление ARP-таблицы, для задержанного IP-пакета становится,
возможно, преобразование адресов. Для этого формируется соответствующий кадр и
выталкивается в сеть. В случае отсутствия ARP-ответа, IP-пакет будет сброшен.
Протоколы верхних уровней не могут отличить
потерю кадров в среде Ethernet от
отсутствия адреса-приемника.
Восстановление потерянных пакетов возлагается на протоколы TCP или UDP, которые
используют механизмы тайм-аутов для определения потерь и повторную передачу для
восстановления пакетов.
7
Вычислительные системы, сети и телекоммуникации
Каждому узлу TCP/IP может соответствовать несколько разных сетевых карт и для
каждой из них поддерживается своя собственная ARP-таблица.
Теперь давайте рассмотрим процесс определения адресов с участием маршрутизатора.
Получив запрос на посылку IP - запроса в удаленную сеть, компьютер определяет это по
маске подсети и ищет в кэше аппаратный Ethernet адрес шлюза по умолчанию, т. е.
маршрутизатора. Если этот адрес не найден, то формируется широковещательный ARPзапрос на аппаратный адрес маршрутизатора. Получив ответ, компьютер отправляет при
помощи ICMP эхо-запрос приемнику через маршрутизатор. При этом маршрутизатор
начинает свой собственный ARP-сеанс поиска далее по сети, и т.д. Наконец, узелприемник сообщает своему локальному маршрутизатору свой аппаратный адрес, а также
ответ на ICMP-запрос. Этот процесс определения удаленного аппаратного адреса
называется ARP-прокси.
Обратите внимание, что наиболее важное различие между определением локальных и
удаленных адресов заключается в том, что при определении удаленного адреса ответ на
запрос содержит адрес шлюза по умолчанию, а при определении локального адреса ответ
содержит аппаратный адрес непосредственно узла-получателя.
При возникновении ошибок, что наиболее частая проблема, которая возникает при
разрешении адреса, связана с неверными масками подсетей. Если маска определена
неверно, то удаленный адрес трактуется системой как локальный и производится
непрерывная широковещательная атака для определения адреса.
Такое явление
называется широковещательный штормом.
RARP-протокол
Протокол обратного определения адреса позволяет по данному аппаратному адресу
определит адрес IP и используется в основном на бездисковых рабочих станциях.
IP-протокол
Ядром
IP- протокола является таблица маршрутизации, содержание которой
формирует администратор сети.
В сети Интернет используются два вида маршрутизации: прямая и косвенная.
При прямой
маршрутизации
взаимодействие
двух IP-протоколов происходит
напрямую, без участия каких-либо дополнительных устройств типа шлюза. Microsoft
называет это устройство шлюзом по умолчанию. В этом случае кадр, выпускаемый в
канал связи, адресован тому же узлу, на который указывает IP-адрес приемника. При
косвенной адресации взаимодействуют узлы, находящиеся в разных сетях, соединенных
через шлюз.
8
Вычислительные системы, сети и телекоммуникации
В данном случае шлюз представим как узел IP с единственным протоколом IP,
взаимодействующим сразу с несколькими сетевыми картами Ethernet, каждая со своей
ARP-таблицей и уникальным адресом Ethernet.
Пакет, адресованный станции, упаковывается в кадр, адресованный сетевой карте
шлюза. Получив означенный пакет, IP-шлюз ретранслирует его, т.е. опознает как
собственный и упаковывает
этот пакет в другой кадр, адресованный
уже
непосредственно станции B. Таким образом, для пришедшего с верхнего уровня
протокола связи IP-протокол должен выбрать способ
маршрутизации и определить
Ethernet-адрес сетевой карты.
Для пришедших по сети пакетов, IP-протокол решает, нужно ли ретранслировать его в
другую сеть, передать ли на верхний уровень своей архитектуры связи или просто
сбросить.
Структуру IP-адреса такова, что в него входит не только номер узла, но и номер сети.
В ряде случаев, адресное пространство Internet
может
быть разделено на
непересекающиеся подпространства - подсети, каждая из которых обычно соответствует
одной физической сети, например Ethernet.
Использование подсетей необязательно, но очень экономично: если каждой из
физических сегментов Ethernet Вы назначите свой номер сети, то машины вне ваших
сегментов должны поддерживать все записи о маршрутах доступа к каждой из этих
новых IP-сетей. Если
используются подсети, то
извне маршрутизация определяется
только для одного номера сети, а описание конфигурации подсетей есть внутреннее дело
Вашей организации и не видно из других сетей. Таким образом, компьютеры вне Вашей
организации видят только одну большую IP-сеть и поддерживают маршруты доступа к
шлюзу, соединяющему Ваши подсети с остальной частью Internet. В этом случае легче
модернизировать свои подсети.
Используя подсети, необходимо выбрать маску подсети. Эта маска используется
протоколом для выделения номера подсети из IP-адреса: биты, определяющие номер IPсети, должны быть равны 1, а биты, соответствующие номерам узла -0. Информация о
маске вносится в файл конфигурации сети.
Кроме того, в специальных файлах с именем
hosts
хранится информация о
соответствии IP-адресов логическим именам компьютеров, взаимодействующим по сети,
причем каждому такому имени может соответствовать более одного IP-адреса. В файле
networks содержится информация о соответствии логических имен IP-сетей их номерам.
Название этих файлов менять нельзя!
9
Вычислительные системы, сети и телекоммуникации
Оба файла используются командами администратора сети и прикладными
программами при работе с именами. Они не нужны собственно для работы самой сети, но
очень помогают человеку сопровождать таблицы маршрутизации.
Протокол UDP
Протокол UDP является одним из основных протоколов, пользующихся услугами IP.
Протокол UDP обеспечивают доставку дейтаграмм и не гарантирует отсутствие потерь.
Запросы к UDP от прикладных процессов поступают в нумерованные
UDP-порты,
упаковываются в дейтаграммы с помощью полей контрольной суммы и
номера
логического порта и выталкиваются на уровень IP. Логический порт имеет огромное
значение при доставке дейтаграмм.
Среди всего множества возможных номеров
логических портов часть номеров являются общеизвестными и предназначены для
взаимодействия между зарезервированными сетевыми службами. Например, простой
протокол управления сетью SNMP , использующий UDP для передачи своих блоков
данных, приписан к общеизвестному порту 161 и свои сообщения может адресовать
только через указанный номер.
UDP не использует сборку - разборку дейтаграмм и не обеспечивает первоначальный
порядок их следования.
В случае неверной адресации, несовпадающей контрольной суммы или переполнения
буфера приема дейтаграмм, эти дейтаграммы немедленно сбрасываются.
Протокол TCP
Протокол TCP относится к группе протоколов транспортных протоколов надежной
доставки и работает с установлением виртуального канала.
Подобно всем транспортным протоколам, он использует понятие логического порта
доступа к услугам связи, и часть этих портов является общеизвестными. Например,
прикладной протокол TELNET назначается на общеизвестный порт 23, и все логические
каналы между протокольными объектами TCP, обслуживающие доставку сообщений
TELNET, адресуются именно этому порту.
По своей реализации, протокол TCP сходен с транспортным протоколом класса 4 ISO и
использует все механизмы надежной доставки.
Услугами надежной транспортной связи TCP пользуются прикладные протоколы FPT и
TELNET.
В таблице 6_1 приведены номера портов, используемых различными службами по
умолчанию.
10
Вычислительные системы, сети и телекоммуникации
Таблица 6_1. Номера портов TCP и UDP
Протокол
TCP
UDP
Номер порта
Описание
20
FTP, канал данных
21
FTP, управляющий канал
23
Виртуальный терминал TELNET
25
Пересылка сообщений по SMTP
80
Гипертекст WWW
139
Служба сеансов NetBIOS
53
Запросы имен DNS
69
Простой протокол переноса данных TFPT
137
Служба имен NetBIOS
138
Служба дейтаграмм NetBIOS
161
Простой управляющий протокол SNMP
11
Download