Введение в 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

Пакеты протоколов более высокого уровня "прозрачно" передаются в качестве данных в пакетах более низкого уровня.

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

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

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

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


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

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

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

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

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

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

Level

Maintainer

Start date

60

1

1

1

1

ArtemSerebriyskiy, PavelSutyrin, VsevolodKrishchenko