- если контрольные суммы совпадают, уровень IP удаляет
Набоp пpотоколов TCP/IP
------------------------T---------------------------------¬
¦ Пpотокол ¦ Сеpвис ¦
+-----------------------+---------------------------------+
¦ ¦ ¦
¦Internet Protocol (IP) ¦ Межсетевой пpотокол обеспечивает¦
¦ ¦ сеpвис доставки пакетов между ¦
¦ ¦ узлами ¦
¦ ¦ ¦
¦Internet Control ¦ Межсетевой пpотокол упpавления ¦
¦Message Protocol (ICMP)¦ сообщениями упpавляет пеpедачей ¦
¦ ¦ упpавляющих сообщений и сообще- ¦
¦ ¦ ний об ошибках между хост-ЭВМ и ¦
¦ ¦ шлюзами ¦
¦ ¦ ¦
¦Address Resolution ¦ Пpотокол pазpешения адpесов ¦
¦Protokol (ARP) ¦ мапиpует межсетевые адpеса в ¦
¦ ¦ физические ¦
¦ ¦ ¦
¦Reverse Address ¦ Обpатный пpотокол pазpешения ¦
¦Resolution Protocol ¦ адpесов мапиpует физические ¦
¦(RARP) ¦ адpеса в интеpсетевые ¦
¦ ¦ ¦
¦Transmission Control ¦ Пpотокол упpавления пеpедачей ¦
¦Protocol (TCP) ¦ обеспечивает сеpвис надежной ¦
¦ ¦ доставки потока между клиен- ¦
¦ ¦ тами ¦
¦ ¦ ¦
¦User Datagram ¦ Пользовательский дейтагpаммный ¦
¦Protocol (UDP) ¦ пpотокол обеспечивает ненадеж- ¦
¦ ¦ ный сеpвис доставки пакетов без ¦
¦ ¦ установления соединения между ¦
¦ ¦ клиентами ¦
¦ ¦ ¦
¦File Transfer ¦ Пpотокол тpанспоpта файлов ¦
¦Protocol (FTP) ¦ обеспечивает услуги тpанспоpта ¦
¦ ¦ файлов пользовательского уpовня ¦
¦ ¦ ¦
¦Telnet ¦ Эмуляция теpминала ¦
¦ ¦ ¦
L-----------------------+----------------------------------
заголовок пакета IP и передает сегмент TCP уровню TCP. Уровень
TCP проверяет последовательный номер для определения - является ли
данный сегмент корректным в последовательности;
- уровень TCP подсчитывает контрольную сумму для заголовка TCP
и данных. Если вычесленная и принятая в заголовке контрольные сум-
мы не совпадают, уровень TCP уничтожает сегмент. Если контрольная
сумма корректна и номер сегмента соответствует последовательности,
уровень TCP посылает положительное подтверждение на компьютер -
источник;
- на компьютере - адресате уровень TCP удаляет заголовок TCP и
передает полученные байта из сегмента прикладной программе;
- прикладная программа на компьютере - адресате получает поток
байтов так, словно она была связана непосредственно с прикладной
программой на компьютере - испточнике.
3.1. Физические адреса и межсетевые адреса.
На уровне звена данных узлы в сети взаимодействуют с другими
узлами сети, используя адреса, специфичные для данной сети. Каждый
узел имееет физический адрес для аппаратуры выхода в сеть. Физи-
ческие адреса имеют различные формы в различных сетях. Например,
физический адрес в Ethernet является 6-байтным числовым значением,
таким как 08-00014-57-69-69. Это значение назначается производите-
лем аппаратуры. Сети X.25 используют стандарт X.121 физических ад-
ресов длиной в 14 цифр. Сети LocalTalk используют 3байтовые адре-
са, состоящие из 2-байтового номера сети и 1-байтового номера уз-
ла. В сети LocalTalk номер сети статический, а номер узла назнача-
ется динамически при запуске узла.
Адрес Межсетевого Протокола (адрес IP) для узла является логи-
ческим адресом - он не зависит от аппаратуры или конфигурации сети
и имеет одну и туже форму независимо от типа сети. Это 4байтное
(32 бита) числовое значение, которое идентифицирует как сеть, так
и локальный узел (компьютер или другое устройство) в данной сети.
4-байтовый адрес IP обычно представляется десятичными числами
(каждый байт), разделяемыми точками, например, 129.47.6.17. Иногда
адреса представляются шестнадцатеричными цифрами.
Узлы, использующие протоколы TCP/IP, транслируют адреса назна-
чения IP в физические адреса аппаратуры подуровня доступа к пере-
дающей среде для того, чтобы посылать пакеты к другим узлам сети.
Каждая посылающая прикладная программа посылает свой адрес IP в
пакете. Принимающая программа может послать ответ источнику, ис-
пользуя адрес IP источника из пакета.
Поскольку адреса IP не зависят от конкретного типа сети, они
могут использоваться для посылки пакета из сети одного типа в дру-
гую сеть. В каждом типе сети программное обеспечение TCP/IP ставит
в соответствие физические адреса сети и адреса IP. Если пакет пе-
редается в другую сеть, адрес IP получателя транслируется в физи-
ческий адрес соответствующей сети.
Сетевой адрес может быть определен одним из следующих способов:
- если Вы хотите соединить Вашу сеть с Интерсетью DARPA, Вы
должны получить зарегистрированный адрес Интерсети в следующей
организации: DDN Network Information Center SRI International
333 Ravenswood Avenue, Room EJ291 Menlo Park, CA 94025 USA - если
Ваша сеть не является частью Интерсети DARPA, Вы можете
выбрать произвольный сетевой адрес. При этом для всех узлов в
сети должны быть выполнены следующие требования:
- сетевая часть каждого адреса должна соответствовать адресу
сети, например, все узлы в сети 129.47 должны использовать адреса
сети 129.47;
- адрес IP для каждого узла должен быть уникальным внутри Вашей
сети.
3.2. Трансляция межсетевых адресов в физические
Когда пакет IP передается по сети, он прежде всего включается в
физический кадр, используемый в данной сети, например, на рис.3.3.
показан пакет IP, включенный в кадр Ethernet. Пакет IP содержит
межсетевой адрес узла, но кадр
Ethernet должен иметь физический адрес узла, чтобы быть достав-
ленным по сети. Следовательно, посылающий узел должен быть в сост-
оянии определить какой физический адрес в сети соответствует адре-
су IP, содержащемуся в пакете IP.
Адрес IP отображается в физический адрес с использованием Про-
токола Разрешения Адресов (ARP) на широковещательных сетях, таких
как Ethernet, Token Ring, ARCnet. Когда узел должен послать пакет
IP он должен определить какой физический адрес в сети соответству-
ет адресу получателя IP, заданному в пакете IP. Для нахождения фи-
зического адреса узел посылает широковещательный пакет ARP, содер-
жащий адрес IP получателя. После этого пакета ожидается ответ от
узла с данным адресом IP получателя. Узел с этим адресом посылает
свой физический адрес назад запрашивающему узлу.
Для быстрой передачи пакетов и уменьшения числа широковеща-
тельных запросов, каждый узел поддерживает кеш разрешения адресов.
Каждый раз когда узел посылает широковещательный запрос ARP и по-
лучает ответ, он создает вход в кеш-памяти разрешения адресов.
Вход отображает адрес IP в физический адрес. Когда узел нуждается
в посылке следующего пакета IP, он ищет адрес IP в кешпамяти. Если
данный адрес IP находится, узел использует соответствующий физи-
ческий адрес для пакета. Широковещательный запрос IP посылается
только если соответствующий адрес IP не обнаруживается в кеш-памя-
ти.
Включение дейтагpаммы IP в кадp Ethernet
¦дейтаграмма ¦
¦ IP ¦
г=======T========T========T========T=============T========¬
¦ Пpеам-¦ адрес ¦ адрес ¦ тип ¦ данные ¦контр. ¦
¦ була ¦ получа-¦ источ-¦ пакета¦ пакета ¦сумма ¦
¦ ¦ теля ¦ ника ¦ ¦ ¦Ethernet¦
L=======¦========¦========¦========¦=============¦========-
¦ ¦
¦------- заголовок кадра-----------¦--- данные---¦ ¦
¦ ¦ кадра ¦ ¦
¦ ¦
¦-------------------- кадр Ethernet-----------------------¦
Рис.3.3.
3.3. Ненадежный сервис доставки пакетов
В наборе протоколов TCP/IP все пакеты доставляются ненадежным
сервисом доставки пакетов неориентированным на соединение Межсете-
вого Протокола. Сервис ненадежен, поскольку доставка пакета не га-
рантируется. Сервис не ориентирован на соединение, поскольку все
пакеты передаются независимо друг от друга. Приложения TCP/IP ис-
пользующеее этот сервис должны заботиться о состоянии достаки,
например, ожиданием ответов от узла получателя. Кроме того,
маршрутизаторы (routers) в Интерсети могут посылать сообщения об
ошибках (ICMP) для информирования узлов о проблемах. Термин
"маршрутизация" относится к передаче дейтаграммы от одного узла к
другому на той же или другой сети. Термин относится также к путям,
которые выбираются для передачи дейтаграммы IP от источника к по-
лучателю на базе адреса IP, содержащегося в дейтаграмме. Существу-
ет два способа маршрутизации: прямая и непрямая.
Прямая маршрутизация имеет место при передаче дейтаграммы в
рамках одной сети. Узел, посылающий дейтаграмму IP, может прямо
запросить другие узлы в сети о физическом адресе, соответствующем
адресу IP, включить дейтаграмму IP в физический кадр с данным фи-
зическим адресом и послать его непосредственно узлу назначения в
сети.
Непрямая маршрутизация связана спередачей дейтаграммы из одной
сети в другую через узел, называемый маршрутизатором. Когда дей-
таграмма посылается к узлу другой сети, сетевая часть адреса IP
источника и адреса IP получателя различны. Посылающий узел распоз-
нает эту разницу и посылает пакет к маршрутизатору, который соеди-
няет исходную сеть с другими сетями.
Посылающий узел имеет таблицу адресов IP для одного или больше
компьютеров в сети, которые функционируют в качестве маршрутизато-
ров к другим сетям. Узел ищет адрес IP маршрутизатора в своей таб-
лице и посылает широковещательный запрос ARP к маршрутизатору для
получения его физического адреса. Затем пакет, содержащий дейтаг-
рамму IP, посылается по физическому адресу маршрутизатора. Когда
маршрутизатор получает дейтаграмму IP, он использует адрес IP в
дейтаграмме для посылки получателю аналогичным образом. Если адрес
IP принадлежит к сети, подключенной непосредственно к маршрутиза-
тору, последний посылает дейтаграмму непосредственно узлу назначе-
ния. Для всех других адресов сетей маршрутизатор имеет только ад-
рес другого маршрутизатора, который может направить пакет к полу-
чателю.
3.4. Межсетевой Протокол IP
Межсетевой протокол определяет форму пакетов и способы под-
держки пакетов при передаче и приеме. Форма пакета называется дей-