Чтение RSS
Рефераты:
 
Рефераты бесплатно
 

 

 

 

 

 

     
 
TCP/IP

Описание протоколов TCP/IP

Спасибо неизвестному автору (и переводчику?)

Форматирование произведено Владимиром Романовым (Поликом Про)

Содержание
1. Введение 1
2. Основы TCP/IP 2

2.1. Модуль IP создает единую логическую сеть 2

2.2. Структура связей протокольных модулей 2

2.3. Терминология 3

2.4. Потоки данных 3

2.5. Работа с несколькими сетевыми интерфейсами 4
3. Ethernet 5

3.1. Аналогия с разговором 6
4. Протокол ARP 6

4.1. ARP-таблица для преобразования адресов 6

4.2. Порядок преобразования адресов 7

4.4. Продолжение преобразования адресов 8
5. Межсетевой протокол IP 8

5.1. Прямая маршрутизация 9

5.2. Косвенная маршрутизация 9

5.3. Правила маршрутизации в модуле IP 10

5.4. IP-адрес 11

5.5. Выбор адреса 12

5.6. Подсети 12

5.7. Как назначать номера сетей и подсетей 13

5.8. Имена 13

5.9. IP-таблица маршрутов 14

5.10. Подробности прямой маршрутизации 14

5.11. Порядок прямой маршрутизации 15

5.12. Подробности косвенной маршрутизации 15

5.13. Порядок косвенной маршрутизации 16
6. Установка маршрутов 17

6.1. Фиксированные маршруты 17

6.2. Перенаправление маршрутов 18
7. Протокол UDP 21

7.1. Порты 22

7.2. Контрольное суммирование 22
8. Протокол TCP 22

9.1. Протокол TELNET 23

9.2. Протокол FTP 24

9.3. Протокол SMTP 24

9.4. r-команды 24

9.5. NFS 24

9.6. Протокол SNMP 25

9.7. X-Window 25
10. Взаимозависимость протоколов семейства TCP/IP 25


1. Введение


Семейство протоколов TCP/IP широко применяется во всем мире для объединения компьютеров в сеть Internet. Единая сеть Internet состоит из множества сетей различной физической природы, от локальных сетей типа Ethernet и
Token Ring, до глобальных сетей типа NSFNET. Основное внимание в книге уделяется принципам организации межсетевого взаимодействия. Многие технические детали, исторические вопросы опущены. Более подробную информацию о протоколах TCP/IP можно найти в RFC (Requests For Comments) специальных документах, выпускаемых Сетевым Информационным Центром (Network
Information Center - NIC). Приложение 1 содержит путеводитель по RFC, а приложение 2 отражает положение дел в области стандартизации протоколов семейства TCP/IP на начало 1991 года


В книге приводятся примеры, основанные на реализации TCP/IP в ОС UNIX.
Однако основные положения применимы ко всем реализациям TCP/IP

Надеюсь, что эта книга будет полезна тем, кто профессионально работает или собирается начать работать в среде TCP/IP: системным администраторам, системным программистам и менеджерам сети


2. Основы TCP/IP


Термин “TCP/IP” обычно обозначает все, что связано с протоколами TCP и IP.
Он охватывает целое семейство протоколов, прикладные программы и даже саму сеть. В состав семейства входят протоколы UDP, ARP, ICMP, TELNET, FTP и многие другие. TCP/IP это технология межсетевого взаимодействия, технология internet. Сеть, которая использует технологию internet, называется “internet”. Если речь идет о глобальной сети, объединяющей множество сетей с технологией internet, то ее называют Internet


2.1. Модуль IP создает единую логическую сеть


Архитектура протоколов TCP/IP предназначена для объединенной сети, состоящей из соединенных друг с другом шлюзами отдельных разнородных пакетных подсетей, к которым подключаются разнородные машины. Каждая из подсетей работает в соответствии со своими специфическими требованиями и имеет свою природу средств связи. Однако предполагается, что каждая подсеть может принять пакет информации (данные с соответствующим сетевым заголовком) и доставить его по указанному адресу в этой конкретной подсети.
Не требуется, чтобы подсеть гарантировала обязательную доставку пакетов и имела надежный сквозной протокол. Таким образом, две машины, подключенные к одной подсети могут обмениваться пакетами

Когда необходимо передать пакет между машинами, подключенными к разным подсетям, то машина-отправитель посылает пакет в соответствующий шлюз (шлюз подключен к подсети также как обычный узел). Оттуда пакет направляется по определенному маршруту через систему шлюзов и подсетей, пока не достигнет шлюза, подключенного к той же подсети, что и машина-получатель; там пакет направляется к получателю. Объединенная сеть обеспечивает датаграммный сервис

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


2.2. Структура связей протокольных модулей


Логическая структура сетевого программного обеспечения, реализующего протоколы семейства TCP/IP в каждом узле сети internet, изображена на рис
1. Прямоугольники обозначают обработку данных, а линии, соединяющие прямоугольники, - пути передачи данных. Горизонтальная линия внизу рисунка обозначает кабель сети Ethernet, которая используется в качестве примера физической среды; “о” - это трансивер. Знак “*” - обозначает IP-адрес, а
“@” - адрес узла в сети Ethernet (Ethernet-адрес). Понимание этой логической структуры является основой для понимания всей технологии internet. В дальнейшем мы будем часто ссылаться на эту схему

------------------------------
| прикладные процессы |
| ... | / ... | / ... |
| ------- ------- |
| | TCP | | UDP | |
| ------- ------- |
| / |
| ------ |
| ------- | IP | |
| | ARP | -*---- |
| ------- | |
| | |
| -------- |
| | ENET | |
| ---@---- |
| | |
------------|-----------------
------------о--------кабель Ethernet
Рис.1. Структура протокольных модулей в узле сети TCP/IP

2.3. Терминология


Введем ряд базовых терминов, которые мы будем использовать в дальнейшем

Драйвер это программа, непосредственно взаимодействующая с сетевым адаптером. Модуль это программа, взаимодействующая с драйвером, сетевыми прикладными программами или другими модулями. Драйвер сетевого адаптера и, возможно, другие модули, специфичные для физической сети передачи данных, предоставляют сетевой интерфейс для протокольных модулей семейства TCP/IP

Название блока данных, передаваемого по сети, зависит от того, на каком уровне стека протоколов он находится. Блок данных, с которым имеет дело сетевой интерфейс, называется кадром; если блок данных находится между сетевым интерфейсом и модулем IP, то он называется IP-пакетом; если он между модулем IP и модулем UDP, то UDP-датаграммой; если между модулем IP и модулем TCP, то TCP-сегментом (или транспортным сообщением); наконец, если блок данных находится на уровне сетевых прикладных процессов, то он называется прикладным сообщением

Эти определения, конечно, несовершенны и неполны. К тому же они меняются от публикации к публикации. Более подробные определения можно найти в RFC-
1122, раздел 1.3.3


2.4. Потоки данных


Рассмотрим потоки данных, проходящие через стек протоколов, изображенный на рис 1. В случае использования протокола TCP (Transmission Control Protocol
- протокол управления передачей), данные передаются между прикладным процессом и модулем TCP. Типичным прикладным процессом, использующим протокол TCP, является модуль FTP (File Transfer Protocol - протокол передачи файлов). Стек протоколов в этом случае будет FTP/TCP/IP/ENET. При использовании протокола UDP (User Datagram Protocol протокол пользовательских датаграмм), данные передаются между прикладным процессом и модулем UDP. Например, SNMP (Simple Network Management Protocol - простой протокол управления сетью) пользуется транспортными услугами UDP. Его стек протоколов выглядит так: SNMP/UDP/IP/ENET

Модули TCP, UDP и драйвер Ethernet являются мультиплексорами n x 1

Действуя как мультиплексоры, они переключают несколько входов на один выход. Они также являются демультиплексорами 1 x n. Как демультиплексоры, они переключают один вход на один из многих выходов в соответствии с полем типа в заголовке протокольного блока данных (рис 2)

Когда Ethernet-кадр попадает в драйвер сетевого интерфейса Ethernet, он может быть направлен либо в модуль ARP (Address Resolution Protocol - адресный протокол), либо в модуль IP (Internet Protocol - межсетевой протокол). На то, куда должен быть направлен Ethernet-кадр, указывает значение поля типа в заголовке кадра

Если IP-пакет попадает в модуль IP, то содержащиеся в нем данные могут быть переданы либо модулю TCP, либо UDP, что определяется полем “протокол” в заголовке IP-пакета

Если UDP-датаграмма попадает в модуль UDP, то на основании значения поля
“порт” в заголовке датаграммы определяется прикладная программа, которой должно быть передано прикладное сообщение. Если TCP-сообщение попадает в модуль TCP, то выбор прикладной программы, которой должно быть передано сообщение, осуществляется на основе значения поля “порт” в заголовке TCP- сообщения

Мультиплексирование данных в обратную сторону осуществляется довольно просто, так как из каждого модуля существует только один путь вниз. Каждый протокольный модуль добавляет к пакету свой заголовок, на основании которого машина, принявшая пакет, выполняет демультиплексирование

1 2 3 .... n | 1 2 3 .... n ^

| | / | | | / |

----------------- поток ------------------- поток

| мультиплексор | данных | демультиплексор | данных

----------------- | ------------------- |

| | ^ | v V | |

1 1
Рис.2. Мультиплексор n x 1 и демультиплексор 1 x n

Данные от прикладного процесса проходят через модули TCP или UDP, после чего попадают в модуль IP и оттуда - на уровень сетевого интерфейса

Хотя технология internet поддерживает много различных сред передачи данных, здесь мы будем предполагать использование Ethernet, так как именно эта среда чаще всего служит физической основой для IP-сети. Машина на рис 1 имеет одну точку соединения с Ethernet. Шестибайтный Ethernet-адрес является уникальным для каждого сетевого адаптера и распознается драйвером

Машина имеет также четырехбайтный IP-адрес. Этот адрес обозначает точку доступа к сети на интерфейсе модуля IP с драйвером. IP-адрес должен быть уникальным в пределах всей сети Internet

Работающая машина всегда знает свой IP-адрес и Ethernet-адрес


2.5. Работа с несколькими сетевыми интерфейсами


Машина может быть подключена одновременно к нескольким средам передачи данных. На рис 3 показана машина с двумя сетевыми интерфейсами Ethernet.
Заметим, что она имеет 2 Ethernet-адреса и 2 IP-адреса

Из представленной схемы видно, что для машин с несколькими сетевыми интерфейсами модуль IP выполняет функции мультиплексора n x m и демультиплексора m x n (рис 4)

---------------------------------

| прикладные процессы |

| ... | / .... | / ... |

| ------- ------- |

| | TCP | | UDP | |

| ------- ------- |

| / |

| ------ |

| ------- | IP | ------- |

| | ARP | -*--*- | ARP | |

| ------- | | ------- |

| | | / |

| -------- -------- |

| | ENET | | ENET | |

| ---@---- ---@---- |

| | | |

----------|---------|------------

| |

| ---о---------------

--------------о---- Ethernet 2
Ethernet 1

Рис.3. Узел сети TCP/IP с двумя сетевыми интерфейсами

1 2 3 .... n | 1 2 3 ...... n ^

| | / | | | / |

----------------- поток ------------------- поток

| мультиплексор | данных | демультиплексор | данных

----------------- | ------------------- |

/ | | ... V / | | ..... |

1 2 3 m 1 2 3 m
Рис.4. Мультиплексор n x m и демультиплексор m x n

Таким образом, он осуществляет мультиплексирование входных и выходных данных в обоих направлениях. Модуль IP в данном случае сложнее, чем в первом примере, так как может передавать данные между сетями. Данные могут поступать через любой сетевой интерфейс и быть ретранслированы через любой другой сетевой интерфейс. Процесс передачи пакета в другую сеть называется ретрансляцией IP-пакета. Машина, выполняющая ретрансляцию, называется шлюзом[1]

Как показано на рис 5, ретранслируемый пакет не передается модулям TCP или
UDP. Некоторые шлюзы вообще могут не иметь модулей TCP и UDP


3. Ethernet


В этом разделе мы кратко рассмотрим технологию Ethernet

Кадр Ethernet содержит адрес назначения, адрес источника, поле типа и данные. Размер адреса в Ethernet - 6 байт. Каждый сетевой адаптер имеет свой Ethernet-адрес. Адаптер контролирует обмен информацией, происходящий в сети, и принимает адресованные ему Ethernet-кадры, а также Ethernet-кадры с адресом “FF:FF:FF:FF:FF:FF” (в 16-ричной системе), который обозначает
“всем”, и используется при широковещательной передаче

------- -------

| TCP | | UDP |

------- -------

/

----------

| |

| IP |

| ____ |

| / |

----------

/ данные данные поступают отправляются отсюда сюда
Рис 5 Пример межсетевой ретрансляции пакета модулем IP

Ethernet реализует метод МДКН/ОС (множественный доступ с контролем несущей и обнаружением столкновений). Метод МДКН/ОС предполагает, что все устройства взаимодействуют в одной среде, в каждый момент времени может передавать только одно устройство, а принимать могут все одновременно. Если два устройства пытаются передавать одновременно, то происходит столкновение передач, и оба устройства после случайного (краткого) периода ожидания пытаются вновь выполнить передачу


3.1. Аналогия с разговором


Хорошей аналогией взаимодействиям в среде Ethernet может служить разговор группы вежливых людей в небольшой темной комнате. При этом аналогией электрическим сигналам в коаксиальном кабеле служат звуковые волны в комнате

Каждый человек слышит речь других людей (контроль несущей). Все люди в комнате имеют одинаковые возможности вести разговор (множественный доступ), но никто не говорит слишком долго, так как все вежливы. Если человек будет невежлив, то его попросят выйти (т е. удалят из сети). Все молчат, пока кто- то говорит. Если два человека начинают говорить одновременно, то они сразу обнаруживают это, поскольку слышат друг друга (обнаружение столкновений). В этом случае они замолкают и ждут некоторое время, после чего один из них вновь начинает разговор. Другие люди слышат, что ведется разговор, и ждут, пока он кончится, а затем могут начать говорить сами. Каждый человек имеет собственное имя (аналог уникального Ethernet-адреса) Каждый раз, когда кто- нибудь начинает говорить, он называет по имени того, к кому обращается, и свое имя, например, “Слушай Петя, это Андрей, . ля-ля-ля . ” Если кто-то хочет обратиться ко всем, то он говорит: “Слушайте все, это Андрей, . ля- ля-ля . ” (широковещательная передача)


4. Протокол ARP


В этом разделе мы рассмотрим то, как при посылке IP-пакета определяется
Ethernet-адрес назначения. Для отображения IP-адресов в Ethernet-адреса используется протокол ARP (Address Resolution Protocol - адресный протокол). Отображение выполняется только для отправляемых IP-пакетов, так как только в момент отправки создаются заголовки IP и Ethernet


4.1. ARP-таблица для преобразования адресов


Преобразование адресов выполняется путем поиска в таблице. Эта таблица, называемая ARP-таблицей, хранится в памяти и содержит строки для каждого узла сети. В двух столбцах содержатся IP- и Ethernet-адреса. Если требуется преобразовать IP-адрес в Ethernet-адрес, то ищется запись с соответствующим
IP-адресом. Ниже приведен пример упрощенной ARP-таблицы

---------------------------------------------

| IP-адрес Ethernet-адрес |

---------------------------------------------

| 223.1.2.1 08:00:39:00:2F:C3 |

| 223.1.2.3 08:00:5A:21:A7:22 |

| 223.1.2.4 08:00:10:99:AC:54 |

---------------------------------------------
Табл.1. Пример ARP-таблицы

Принято все байты 4-байтного IP-адреса записывать десятичными числами, разделенными точками. При записи 6-байтного Ethernet-адреса каждый байт указывается в 16-ричной системе и отделяется двоеточием

ARP-таблица необходима потому, что IP-адреса и Ethernet-адреса выбираются независимо, и нет какого-либо алгоритма для преобразования одного в другой.
IP-адрес выбирает менеджер сети с учетом положения машины в сети internet.
Если машину перемещают в другую часть сети internet, то ее IP-адрес должен быть изменен. Ethernet-адрес выбирает производитель сетевого интерфейсного оборудования из выделенного для него по лицензии адресного пространства.
Когда у машины заменяется плата сетевого адаптера, то меняется и ее
Ethernet-адрес


4.2. Порядок преобразования адресов


В ходе обычной работы сетевая программа, такая как TELNET, отправляет прикладное сообщение, пользуясь транспортными услугами TCP. Модуль TCP посылает соответствующее транспортное сообщение через модуль IP. В результате составляется IP-пакет, который должен быть передан драйверу
Ethernet. IP-адрес места назначения известен прикладной программе, модулю
TCP и модулю IP. Необходимо на его основе найти Ethernet-адресместа назначения. Для определения искомого Ethernet-адреса используется ARP- таблица

4.3. Запросы и ответы протокола ARP

Как же заполняется ARP-таблица? Она заполняется автоматически модулем ARP, по мере необходимости. Когда с помощью существующей ARP-таблицы не удается преобразовать IP-адрес, то происходит следующее:

1) По сети передается широковещательный ARP-запрос.

2) Исходящий IP-пакет ставится в очередь.

Каждый сетевой адаптер принимает широковещательные передачи. Все драйверы Ethernet проверяют поле типа в принятом Ethernet-кадре и передают
ARP-пакеты модулю ARP. ARP-запрос можно интерпретировать так: “Если ваш IP- адрес совпадает с указанным, то сообщите мне ваш Ethernet-адрес”

Пакет ARP-запроса выглядит примерно так:

-----------------------------------------------------------

| IP-адрес отправителя 223.1.2.1 |

| Ethernet-адрес отправителя 08:00:39:00:2F:C3 |

-----------------------------------------------------------

| Искомый IP-адрес 223.1.2.2 |

| Искомый Ethernet-адрес |

-----------------------------------------------------------
Табл.2. Пример ARP-запроса

Каждый модуль ARP проверяет поле искомого IP-адреса в полученном ARP-пакете и, если адрес совпадает с его собственным IP-адресом, то посылает ответ прямо по Ethernet-адресу отправителя запроса. ARP-ответ можно интерпретировать так: “Да, это мой IP-адрес, ему соответствует такой-то
Ethernet-адрес”. Пакет с ARP-ответом выглядит примерно так:

-----------------------------------------------------------

| IP-адрес отправителя 223.1.2.2 |

| Ethernet-адрес отправителя 08:00:28:00:38:A9 |

-----------------------------------------------------------

| Искомый IP-адрес 223.1.2.1 |

| Искомый Ethernet-адрес 08:00:39:00:2F:C3 |

-----------------------------------------------------------
Табл.3. Пример ARP-ответа


Этот ответ получает машина, сделавшая ARP-запрос. Драйвер этой машины проверяет поле типа в Ethernet-кадре и передает ARP-пакет модулю ARP.
Модуль ARP анализирует ARP-пакет и добавляет запись в свою ARP-таблицу

Обновленная таблица выглядит следующим образом:

---------------------------------------------

| IP-адрес Ethernet-адрес |

---------------------------------------------

| 223.1.2.1 08:00:39:00:2F:C3 |

| 223.1.2.2 08:00:28:00:38:A9 |

| 223.1.2.3 08:00:5A:21:A7:22 |

| 223.1.2.4 08:00:10:99:AC:54 |

---------------------------------------------

Табл.4. ARP-таблица после обработки ответа

4.4. Продолжение преобразования адресов


Новая запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась. Как вы помните, ранее на шаге 2 исходящий IP-пакет был поставлен в очередь. Теперь с использованием обновленной ARP-таблицы выполняется преобразование IP-адреса в Ethernet- адрес, после чего Ethernet-кадр передается по сети

Полностью порядок преобразования адресов выглядит так:

1) По сети передается широковещательный ARP-запрос.
2) Исходящий IP-пакет ставится в очередь.
3) Возвращается ARP-ответ, содержащий информацию о соответствии IP- и
Ethernet-адресов. Эта информация заносится в ARP-таблицу.
4) Для преобразования IP-адреса в Ethernet-адрес у IP-пакета, поставленного в очередь, используется ARP-таблица.
5) Ethernet-кадр передается по сети Ethernet.

Короче говоря, если с помощью ARP-таблицы не удается сразу осуществить преобразование адресов, то IP-пакет ставится в очередь, а необходимая для преобразования информация получается с помощью запросов и ответов протокола
ARP, после чего IP-пакет передается по назначению

Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет и не будет записи в ARP-таблице. Протокол IP будет уничтожать IP-пакеты, направляемые по этому адресу. Протоколы верхнего уровня не могут отличить случай повреждения сети Ethernet от случая отсутствия машины с искомым IP- адресом

Некоторые реализации IP и ARP не ставят в очередь IP-пакеты на то время, пока они ждут ARP-ответов. Вместо этого IP-пакет просто уничтожается, а его восстановление возлагается на модуль TCP или прикладной процесс, работающий через UDP. Такое восстановление выполняется с помощью таймаутов и повторных передач. Повторная передача сообщения проходит успешно, так как первая попытка уже вызвала заполнение ARP-таблицы

Следует отметить, что каждая машина имеет отдельную ARP-таблицу для каждого своего сетевого интерфейса


5. Межсетевой протокол IP


Модуль IP является базовым элементом технологии internet, а центральной частью IP является его таблица маршрутов. Протокол IP использует эту таблицу при принятии всех решений о маршрутизации IP-пакетов. Содержание таблицы маршрутов определяется администратором сети. Ошибки при установке маршрутов могут заблокировать передачи

Чтобы понять технику межсетевого взаимодействия, нужно понять то, как используется таблица маршрутов. Это понимание необходимо для успешного администрирования и сопровождения IP-сетей


5.1. Прямая маршрутизация


На рис 6 показана небольшая IP-сеть, состоящая из 3 машин: A, B и C

Каждая машина имеет такой же стек протоколов TCP/IP как на рис 1. Каждый сетевой адаптер этих машин имеет свой Ethernet-адрес. Менеджер сети должен присвоить машинам уникальные IP-адреса

A B C

| | |

--------------о------о------о------

Ethernet 1

IP-сеть “development”
Рис.6. Простая IP-сеть

Когда A посылает IP-пакет B, то заголовок IP-пакета содержит в поле отправителя IP-адрес узла A, а заголовок Ethernet-кадра содержит в поле отправителя Ethernet-адрес A. Кроме этого, IP-заголовок содержит в поле получателя IP-адрес узла B, а Ethernet-заголовок содержит в поле получателя
Ethernet-адрес B

-----------------------------------------------------

| адрес отправитель получатель |

-----------------------------------------------------

| IP-заголовок A B |

| Ethernet-заголовок A B |

-----------------------------------------------------
Табл.5. Адреса в Ethernet-кадре, передающем IP-пакет от A к B

В этом простом примере протокол IP является излишеством, которое мало что добавляет к услугам, предоставляемым сетью Ethernet. Однако протокол IP требует дополнительных расходов на создание, передачу и обработку IP- заголовка. Когда в машине B модуль IP получает IP-пакет от машины A, он сопоставляет IP-адрес места назначения со своим и, если адреса совпадают, то передает датаграмму протоколу верхнего уровня

В данном случае при взаимодействии A с B используется прямая маршрутизация


5.2. Косвенная маршрутизация


На рис 7 представлена более реалистичная картина сети internet. В данном случае сеть internet состоит из трех сетей Ethernet, на базе которых работают три IP-сети, объединенные шлюзом D. Каждая IP-сеть включает четыре машины; каждая машина имеет свои собственные IP- и Ethernet-адреса

----- D -------

A B C | | | E F G

| | | | | | | | |

----о-----о-----о-----о-- | --о-----о-----о-----о---

Ethernet 1 | Ethernet 2

IP-сеть “development” | IP-сеть “accounting”

|

| H I J

| | | | о----о-----о-----о----------

Ethernet 3 IP-сеть “fuctory”
Рис.7. Сеть internet, состоящая из трех IP-сетей

За исключением D все машины имеют стек протоколов, аналогичный показанному на рис 1. Шлюз D соединяет все три сети и, следовательно, имеет три IP- адреса и три Ethernet-адреса. Машина D имеет стек протоколов TCP/IP, похожий на тот, что показан на рис 3, но вместо двух модулей ARP и двух драйверов, он содержит три модуля ARP и три драйвера Ethernet. Обратим внимание на то, что машина D имеет только один модуль IP

Менеджер сети присваивает каждой сети Ethernet уникальный номер, называемый
IP-номером сети. На рис 7 IP-номера не показаны, вместо них используются имена сетей

Когда машина A посылает IP-пакет машине B, то процесс передачи идет в пределах одной сети. При всех взаимодействиях между машинами, подключенными к одной IP-сети, используется прямая маршрутизация, обсуждавшаяся в предыдущем примере

Когда машина D взаимодействует с машиной A, то это прямое взаимодействие.
Когда машина D взаимодействует с машиной E, то это прямое взаимодействие.
Когда машина D взаимодействует с машиной H, то это прямое взаимодействие.
Это так, поскольку каждая пара этих машин принадлежит одной IP-сети

Однако, когда машина A взаимодействует с машинами, включенными в другую IP- сеть, то взаимодействие уже не будет прямым. Машина A должна использовать шлюз D для ретрансляции IP-пакетов в другую IP-сеть. Такое взаимодействие называется “косвенным”

Маршрутизация IP-пакетов выполняется модулями IP и является прозрачной для модулей TCP, UDP и прикладных процессов

Если машина A посылает машине E IP-пакет, то IP-адрес и Ethernet-адрес отправителя соответствуют адресам A. IP-адрес места назначения является адресом E, но поскольку модуль IP в A посылает IP-пакет через D, Ethernet- адрес места назначения является адресом D

----------------------------------------------------

| адрес отправитель получатель |

----------------------------------------------------

| IP-заголовок A E |

| Ethernet-заголовок A D |

----------------------------------------------------
Табл.6. Адреса в Ethernet-кадре, содержащем IP-пакет от A к E (до шлюза D)

Модуль IP в машине D получает IP-пакет и проверяет IP-адрес места назначения. Определив, что это не его IP-адрес, шлюз D посылает этот IP- пакет прямо к E

----------------------------------------------------

| адрес отправитель получатель |

----------------------------------------------------

| IP-заголовок A E |

| Ethernet-заголовок D E |

----------------------------------------------------
Табл.7. Адреса в Ethernet-кадре, содержащем IP-пакет от A к E (после шлюз
D)

Итак, при прямой маршрутизации IP- и Ethernet-адреса отправителя соответствуют адресам того узла, который послал IP-пакет, а IP- и Ethernet- адреса места назначения соответствуют адресам получателя. При косвенной маршрутизации IP- и Ethernet-адреса не образуют таких пар

В данном примере сеть internet является очень простой. Реальные сети могут быть гораздо сложнее, так как могут содержать несколько шлюзов и несколько типов физических сред передачи. В приведенном примере несколько сетей
Ethernet объединяются шлюзом для того, чтобы локализовать широковещательный трафик в каждой сети


5.3. Правила маршрутизации в модуле IP


Выше мы показали, что происходит при передаче сообщений, а теперь рассмотрим правила или алгоритм маршрутизации

Для отправляемых IP-пакетов, поступающих от модулей верхнего уровня, модуль
IP должен определить способ доставки - прямой или косвенный - и выбрать сетевой интерфейс. Этот выбор делается на основании результатов поиска в таблице маршрутов

Для принимаемых IP-пакетов, поступающих от сетевых драйверов, модуль IP должен решить, нужно ли ретранслировать IP-пакет по другой сети или передать его на верхний уровень. Если модуль IP решит, что IP-пакет должен быть ретранслирован, то дальнейшая работа с ним осуществляется также, как с отправляемыми IP-пакетами

Входящий IP-пакет никогда не ретранслируется через тот же сетевой интерфейс, через который он был принят

Решение о маршрутизации принимается до того, как IP-пакет передается сетевому драйверу, и до того, как происходит обращение к ARP-таблице


5.4. IP-адрес


Менеджер сети присваивает IP-адреса машинам в соответствии с тем, к каким
IP-сетям они подключены. Старшие биты 4-х байтного IP-адреса определяют номер IP-сети. Оставшаяся часть IP-адреса - номер узла (хост-номер). Для машины из табл.. 1 с IP-адресом 223.1.2.1 сетевой номер равен 223.1.2, а хост-номер - 1. Напомним, что IP-адрес узла идентифицирует точку доступа модуля IP к сетевому интерфейсу, а не всю машину

Существуют 5 классов IP-адресов, отличающиеся количеством бит в сетевом номере и хост-номере. Класс адреса определяется значением его первого октета

В табл. 8 приведено соответствие классов адресов значениям первого октета и указано количество возможных IP-адресов каждого класса

0 8 16 24 31

---------------------------------------------------

Класс A |0| номер сети | номер узла |

---------------------------------------------------

---------------------------------------------------

Класс B |10| номер сети | номер узла |

---------------------------------------------------

---------------------------------------------------

Класс C |110| номер сети | номер узла |

---------------------------------------------------

---------------------------------------------------

Класс D |1110| групповой адрес |

---------------------------------------------------

---------------------------------------------------

Класс E |11110| зарезервировано |

---------------------------------------------------
Рис.8. Структура IP-адресов

-------------------------------------------------------

| Класс Диапазон значений Возможное Возможное |

| первого октета кол-во сетей кол-во узлов |

-------------------------------------------------------

| A 1 - 126 126 16777214 |

| B 128-191 16382 65534 |

| C 192-223 2097150 254 |

| D 224-239 - 2**28 |

| E 240-247 - 2**27 |

-------------------------------------------------------
Табл.8. Характеристики классов адресов

Адреса класса A предназначены для использования в больших сетях общего пользования. Они допускают большое количество номеров узлов. Адреса класса
B используются в сетях среднего размера, например, сетях университетов и крупных компаний. Адреса класса C используются в сетях с небольшим числом компьютеров. Адреса класса D используются при обращениях к группам машин, а адреса класса E зарезервированы на будущее

Некоторые IP-адреса являются выделенными и трактуются по-особому

------------------------------

| все нули | Данный узел

------------------------------

------------------------------

| номер сети | все нули | Данная IP-сеть

------------------------------

------------------------------

| все нули | номер узла | Узел в данной (локальной) IP-сети

------------------------------

------------------------------

| все единицы | Все узлы в данной (локальной) IP-сети

------------------------------

------------------------------

| номер сети | все единицы | Все узлы в указанной IP-сети

------------------------------

------------------------------

| 127 | что-нибудь (часто 1) | “Петля”

------------------------------
Рис.9. Выделенные IP-адреса

Как показано на рис 9, в выделенных IP-адресах все нули соответствуют либо данному узлу, либо данной IP-сети, а IP-адреса, состоящие из всех единиц, используются при широковещательных передачах. Для ссылок на всю IP-сеть в целом используется IP-адрес с нулевым номером узла. Особый смысл имеет IP- адрес, первый октет которого равен 127. Он используется для тестирования программ и взаимодействия процессов в пределах одной машины. Когда программа посылает данные по IP-адресу 127.0.0.1, то образуется как бы
“петля”. Данные не передаются по сети, а возвращаются модулям верхнего уровня, как только что принятые. Поэтому в IP-сети запрещается присваивать машинам IP-адреса, начинающиеся со 127


5.5. Выбор адреса


Прежде чем вы начнете использовать сеть с TCP/IP, вы должны получить один или несколько официальных сетевых номеров. Выделением номеров (как и многими другими вопросами) занимается DDN Network Information Center
(NIC)[2]. Выделение номеров производится бесплатно и занимает около недели.
Вы можете получить сетевой номер вне зависимости от того, для чего предназначена ваша сеть. Даже если ваша сеть не имеет связи с объединенной сетью Internet, получение уникального номера желательно, так как в этом случае есть гарантия, что в будущем при включении в Internet или при подключении к сети другой организации не возникнет конфликта адресов

Одно из важнейших решений, которое необходимо принять при установке сети, заключается в выборе способа присвоения IP-адресов вашим машинам. Этот выбор должен учитывать перспективу роста сети. Иначе в дальнейшем вам придется менять адреса. Когда к сети подключено несколько сотен машин, изменение адресов становится почти невозможным

Организации, имеющие небольшие сети с числом узлов до 126, должны запрашивать сетевые номера класса C. Организации с большим числом машин могут получить несколько номеров класса C или номер класса B. Удобным средством структуризации сетей в рамках одной организации являются подсети


5.6. Подсети


Адресное пространство сети internet может быть разделено на непересекающиеся подпространства - “подсети”, с каждой из которых можно работать как с обычной сетью TCP/IP. Таким образом единая IP-сеть организации может строиться как объединение подсетей. Как правило, подсеть соответствует одной физической сети, например, одной сети Ethernet

Конечно, использование подсетей необязательно. Можно просто назначить для каждой физической сети свой сетевой номер, например, номер класса C. Однако такое решение имеет два недостатка. Первый, и менее существенный, заключается в пустой трате сетевых номеров. Более серьезный недостаток состоит в том, что если ваша организация имеет несколько сетевых номеров, то машины вне ее должны поддерживать записи о маршрутах доступа к каждой из этих IP-сетей. Таким образом, структура IP-сети организации становится видимой для всего мира. При каких-либо изменениях в IP-сети информация о них должна быть учтена в каждой из машин, поддерживающих маршруты доступа к данной IP-сети

Подсети позволяют избежать этих недостатков. Ваша организация должна получить один сетевой номер, например, номер класса B. Стандарты TCP/IP определяют структуру IP-адресов. Для IP-адресов класса B первые два октета являются номером сети. Оставшаяся часть IP-адреса может использоваться как угодно. Например, вы можете решить, что третий октет будет определять номер подсети, а четвертый октет - номер узла в ней. Вы должны описать конфигурацию подсетей в файлах, определяющих маршрутизацию IP-пакетов. Это описание является локальным для вашей организации и не видно вне ее. Все машины вне вашей организации видят одну большую IP-сеть. Следовательно, они должны поддерживать только маршруты доступа к шлюзам, соединяющим вашу IP- сеть с остальным миром. Изменения, происходящие в IP-сети организации, не видны вне ее. Вы легко можете добавить новую подсеть, новый шлюз и.т.п.


5.7. Как назначать номера сетей и подсетей


После того, как решено использовать подсети или множество IP-сетей, вы должны решить, как назначать им номера. Обычно это довольно просто. Каждой физической сети, например, Ethernet или Token Ring, назначается отдельный номер подсети или номер сети. В некоторых случаях имеет смысл назначать одной физической сети несколько подсетевых номеров. Например, предположим, что имеется сеть Ethernet, охватывающая три здания. Ясно, что при увеличении числа машин, подключенных к этой сети, придется ее разделить на несколько отдельных сетей Ethernet. Для того, чтобы избежать необходимости менять IP-адреса, когда это произойдет, можно заранее выделить для этой сети три подсетевых номера - по одному на здание. (Это полезно и в том случае, когда не планируется физическое деление сети

Просто такая адресация позволяет сразу определить, где находится та или иная машина ) Однако прежде, чем выделять три различных подсетевых номера одной физической сети, тщательно проверьте, что все ваши программы способны работать в такой среде

Вы также должны выбрать “маску подсети”. Она используется сетевым программным обеспечением для выделения номера подсети из IP-адресов. Биты
IP-адреса, определяющие номер IP-сети, в маске подсети должны быть равны 1, а биты, определяющие номер узла, в маске подсети должны быть равны 0. Как уже отмечалось, стандарты TCP/IP определяют количество октетов, задающих номер сети. Часто в IP-адресах класса B третий октет используется для задания номера подсети. Это позволяет иметь 256 подсетей, в каждой из которых может быть до 254 узлов. Маска подсети в такой системе равна
255.255.255.0. Но, если в вашей сети должно быть больше подсетей, а в каждой подсети не будет при этом более 60 узлов, то можно использовать маску 255.255.255.192. Это позволяет иметь 1024 подсети и до 62 узлов в каждой. (Напомним, что номера узлов 0 и “все единицы” используются особым образом )

Обычно маска подсети указывается в файле стартовой конфигурации сетевого программного обеспечения. Протоколы TCP/IP позволяют также запрашивать эту информацию по сети


5.8. Имена


Людям удобнее называть машины по именам, а не числами. Например, у машины по имени alpha может быть IP-адрес 223.1.2.1. В маленьких сетях информация о соответствии имен IP-адресам хранится в файлах “hosts” на каждом узле.
Конечно, название файла зависит от конкретной реализации. В больших сетях эта информация хранится на сервере и доступна по сети

Несколько строк из файла “hosts” могут выглядеть примерно так:

223.1.2.1 alpha
223.1.2.2 beta
223.1.2.3 gamma
223.1.2.4 delta
223.1.3.2 epsilon
223.1.4.2 iota

В первом столбце - IP-адрес, во втором - название машины В большинстве случаев файлы “hosts” могут быть одинаковы на всех узлах. Заметим, что о узле delta в этом файле есть всего одна запись, хотя он имеет три IP-адреса
(рис 11). Узел delta доступен по любому из этих IP-адресов. Какой из них используется, не имеет значения. Когда узел delta получает IP-пакет и проверяет IP-адрес места назначения, то он опознает любой из трех своих IP- адресов

IP-сети также могут иметь имена. Если у вас есть три IP-сети, то файл
“networks” может выглядеть примерно так:

223.1.2 development
223.1.3 accounting
223.1.4 factory

В первой колонке - сетевой номер, во второй - имя сети

В данном примере alpha является узлом номер 1 в сети development, beta является узлом номер 2 в сети development и.т.д.

Показанный выше файл hosts удовлетворяет потребности пользователей, но для управления сетью internet удобнее иметь названия всех сетевы

 
     
Бесплатные рефераты
 
Банк рефератов
 
Бесплатные рефераты скачать
| Интенсификация изучения иностранного языка с использованием компьютерных технологий | Лыжный спорт | САИД Ахмад | экономическая дипломатия | Влияние экономической войны на глобальную экономику | экономическая война | экономическая война и дипломатия | Экономический шпионаж | АК Моор рефераты | АК Моор реферат | ноосфера ба забони точики | чесменское сражение | Закон всемирного тяготения | рефераты темы | иохан себастиян бах маълумот | Тарых | шерхо дар борат биология | скачать еротик китоб | Семетей | Караш | Influence of English in mass culture дипломная | Количественные отношения в английском языках | 6466 | чистонхои химия | Гунны | Чистон | Кус | кмс купить диплом о language:RU | купить диплом ргсу цена language:RU | куплю копии дипломов для сро language:RU
 
Рефераты Онлайн
 
Скачать реферат
 
 
 
 
  Все права защищены. Бесплатные рефераты и сочинения. Коллекция бесплатных рефератов! Коллекция рефератов!