Введение в TCP/IP

Схема TCP/IP

Общепринятым стандартом на организацию сетей передачи данных в настоящий момент является набор протоколов, называемых "схемой TCP/IP". IP и TCP --- названия двух ключевых протоколов схемы. Сетевой протокол определяется:

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

Решаемые задачи

Уровни схемы TCP/IP

Спецификация носителя данных

Не охватывается схемой TCP/IP

Интерфейс к носителю

Интерфейсный (канальный) уровень (Link Layer)

Организация межсетевого взаимодейтвия

Сетевой уровень (IP Layer или Internet Layer)

Котроль доставки данных

Транспортный уровень (Transport Layer)

Интерпретация данных

Прикладной уровень (Application layer)

Схему TCP/IP иногда также называют стеком TCP/IP или моделью TCP/IP.

Независимость уровней схемы TCP/IP

Одна из важных характеристик схемы TCP/IP --- высокая независимость уровней друг от друга.

Понятия пакета

Необходимо отметить, что существуют две фундаментально разных дисциплины передачи данных.

Уже на канальном уровне в свое время было принято решение использовать сеть с коммутацией пакетов. Понятие пакета встречается на каждом уровне. Для физического уровня это может быть кадр Ethernet, он же Ethernet-фрейм (от англ. frame), для сетевого --- IP-пакет, для траспортного --- TCP-пакет, для прикладного --- например, DNS-пакет.

Уровни схемы TCP/IP

Название пакета

Канальный

кадр Ethernet (для сети Ethernet)

Сетевой

IP-пакет

Транспортный

TCP-пакет и датаграмма UDP

Для сложных протоколов верхнего уровня вместо понятия пакета обычно используются понятия сообщения, запроса и ответа (например, HTTP-запрос и HTTP-ответ) или команды (например, команда FTP).

Понятие адреса

На каждом из уровней схемы TCP/IP используются своя система адресов отправителя и получателя.

Уровни схемы TCP/IP

Тип адреса

Пример

Канальный

MAC-адрес сетевой карты

00:16:e6:4a:3b:60

Сетевой

IP-адрес компьютера

192.168.0.1

Транспортный

IP-адрес компьютера + TCP- или UDP-порт сетевой службы

192.168.0.1:80

На прикладном уровне используются так же символьные DNS-адреса (например, edu.ru) и адреса ресурсов (например, http://edu.ru/new.php).

Инкапсуляция протоколов TCP/IP

Пакеты протоколов более высокого уровня прозрачно передаются в качестве данных в пакетах протокола более низкого уровня. Именно поэтому используется понятие "стек TCP/IP".

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

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

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

Инкапсуляция протколов приводит к накладным расходам: фактически по сети передаётся существенно больше данных, чем было запланировано прикладном уровне.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

90

1

1

1

1

ArtemSerebriyskiy, PavelSutyrin, VsevolodKrishchenko


PspoClasses/080702/02TcpIpIntro (last edited 2008-08-20 19:36:39 by VsevolodKrishchenko)