Различия между версиями 35 и 36
Версия 35 от 2008-07-13 13:21:11
Размер: 11706
Редактор: VsevolodKrishchenko
Комментарий:
Версия 36 от 2008-07-13 13:28:14
Размер: 12140
Редактор: VsevolodKrishchenko
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 41: Строка 41:
|| Сетевой уровень || IP-пакет ||
|| Транспортный уровень || TCP-пакет и датаграмма UDP ||
|| Сетевой || IP-пакет ||
|| Транспортный || TCP-пакет и датаграмма UDP ||
Строка 45: Строка 45:

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


|| '''Уровни схемы 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

Общепринятым стандартом на организацию сетей передачи данных в настоящий момент является набор протоколов, называемых "схемой 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 --- высокая независимость уровней друг от друга.

  • Если обеспечен интерфейс между компьютером и средой передачи данных (например, установлена сетевая карта Gigabit-Ethernet), то при решении задачи маршрутизации пакетов на сетевом уровне можно не беспокоиться о свойствах кабеля или радиосигнала.
  • Транспортный уровень, организуя надёжный канал передачи данных, может не заботиться о том, по каким маршрутам передаются отдельные пакеты на сетевом уровне.
  • Когда программа прикладного уровня, например, веб-браузер, получает некоторую страничку, она может не беспокоиться, сколько раз на транспортном уровне пришлось запрашивать повторные пакеты для обеспечения надёжной доставки.

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

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

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

  • Сети с коммутацией пакетов в настоящий момент. Единицей передачи данных является пакет. Один абонент может отправить другому абоненту пакет в любой момент. Время между отправками отдельных пакетов определяется дисциплиной передачи пакетов, например, нужно ли дождаться ответного пакета от получателя или серию пакетов можно послать без подтверждения. Возможна ситуация, когда качество существующего соединения между абонентами ухудшится, например из-за перегрузки пакетами на каком-то из промежуточных узлов.

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

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

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

Канальный

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

Сетевой

IP-пакет

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

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

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

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

Уровни схемы 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

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

Например, пусть у нас работает 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


PspoClasses/080702/02TcpIpIntro (последним исправлял пользователь VsevolodKrishchenko 2008-08-20 22:36:39)