Взаимодействие стека протоколов TCP/IP по вертикали
При взаимодействии по вертикали протоколы общаются на одном хосте через интерфейсы (интерфейс tcp/ip, или интерфейс ip/ethernet).
Написали письмо -> К нему прибавляется заголовок уровня приложения -> Упаковывается в пакет ТСР со своим заголовком, номер порта -> ТСР, передав порции письма, дожидается квитанцию. Пакет ТСР – сегмент -> IP-дейтаграмма со своим IP-заголовком -> Перемещение по локальной сети. Местная доставка - MAC-адреса + заголовок местной локальной сети. Пакеты канального слоя – кадры.
Получившаяся матрешка – для мультиплексирования— слияние многих потоков в один.
На приемном конце распознается IP-дейтаграмма, затем она распознает свой заголовок и отдает дальше куда надо и т.д. и в конце концов по номеру порта назначения передается пользовательскому интерфейсу.
MIME — multimedia internet mail extension- стандарт, описывающий передачу различных типов данных по электронной почте, а также, шире, спецификация для кодирования информации и форматирования сообщений таким образом, чтобы их можно было пересылать по Интернету.
PDU — протокольная единица данных. ТСР нумерует пакеты, и передав определенное кол-во пакетов, требует квитанции. Так из пакетов складываются сегменты.
Пакет будет мотаться по многим носителям. Например, по Ethernet-сети. Тогда в кач-ве местной доставки будет протокол Ethernet. Местные адреса в заголовке находиться будут. Серия таких локальных доставок будет вместе как раз и являться глобальной доставкой. структура со всеми этими заголовками будет называться кадром Ethernet.
Инкапсуляция– упаковка, обрамление. инкапсуляция в ethernet:
14 бит: 6 бит получатель, 6 бит отправитель, 2 бит — тип (типа, что там внутри). Именно на основе типа решается, куда в куче слитых каналов будет посылаться IP-пакет (т.е началось демультиплексирование) В модуле TCP демультиплексирование по значению.
Одноранговое взаимодействие протоколов двух хостов «по горизонтали» (peer-to-peer): два случая — хосты в одной локальной сети и хосты в соседствующих сетях.
В одной сети. по горизонтали общаются через протоколы.
У нас есть заголовок. Кадр передается в сеть.->если адрес широковещательный, примут все.
->если кадр для группы, то примут только те, кто входит в группу.
->если не широковещ. и не групповой, то только та станция, к чьему мак-адресу обращается кадр, его примет. В остальных случаях кадр должен отвергаться, но есть программы (сниферы), которые перехватывают все кадры.
Сетевой слой.У IP есть свой слой. модуль tcp смотрит в поле с № порта назначеия, чтобы отдать наверх. (пр. FTP — 21, HTTP — 80). У FTP-клиента нет фиксированного номера порта — тот выдаётся на время сеанса, берется из числа свободных.
В соседних сетях.с IP высылается на маршрутизатор, там происходит routing decision, и дальше дейтаграмма передается драйверу другой локальной сети. один модуль IP передал другому через посредника дейтаграмму. И так происходит много-много раз, вот так вот.
В IP - дейтаграммы
В TCP - сегменты
В сетях - кадры.
42. Канальный уровень Internet:интерфейсы ЛВС, точка-точка, “внутренняя петля”, инкапсуляция сообщений в кадры канального уровня.
ЛВС (Local Area Network, LAN) – компьютерная сеть, географически сконцентрированная в одном здании или в комплексе зданий.
Интерфейсы ЛВС:Ethernet ,Token Ring, FDDI и др Канальный уровень обеспечивает пересылку информации либо через ЛВС, либо P2P , либо на loopback interface.
Loopback interface - это интерфейс, замкнутый на себе Использование адреса 127.0.0.1 позволяет устанавливать соединение и передавать информацию для программ-серверов, работающим на том же компьютере, что и программа-клиент, независимо от конфигурации аппаратных сетевых средств компьютера.
Чтобы канальный уровень не перегружался, его разбили на 2 подуровня:
802.2 - LLC (Logical Link Control) – алгоритм перемещения пакетов, не зависящий от топологии сети
MAC (Media Acess Control) – контролирует станции, управление доступом к среде передачи (в зависимости от типа сети по кругу либо по жребию, либо вежливо CSMA/CD и т.д.) содержат в байте – 46 бит
Протоколы Р2Р:
· HDLC – Hi-level Data Link Control – высокоуровневое управление на канальном уровне – семейство протоколов. Чтобы пакеты не смешивались, чтобы длина ограничивалась
· LAP (Link Access Protocols) – подмножество HDLC
· PPP (Point-to-Point Protocol) – подмножество HDLC
· SLIP (Serial Line Internet Protocol) – примитивный, но эффективный.
· СSLIP(Compressed SLIP)
SLIP (Serial Line Internet Protocol) — устаревший сетевой протокол канального уровня эталонной сетевой модели OSI для доступа к сетям стека TCP/IP через низкоскоростные линии связи путем простой инкапсуляции IP-пакетов. Используются коммутируемые соединения через последовательные порты для соединений клиент-сервер типа точка-точка. В настоящее время вместо него используют более совершенный протокол PPP.
PPP — протокол точка-точка. Протокол канального уровня сетевой модели OSI — это механизм для создания и запуска IP и других сетевых протоколов на последов линиях связи — будь это прямая последовательная связь (по нуль-модемному кабелю), связь поверх Ethernet, модемная связь по телефонным линиям, мобильная связь по технологиям CSD, GPRS или EDGE. Используя PPP, можно подключить компьютер к PPP-серверу и получить доступ к ресурсам сети, к которой подключён сервер, как будто вы подключены непосред к этой сети, так же PPP использ в мобил связи для соед терминалов с Интернетом.
Канальный уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Полученные с физического уровня данные он упаковывает в кадры данных(пакеты – frame), проверяет на целостность, если нужно исправляет ошибки и отправляет на сетевой уровень.
Кадры: Флаг-Заголовок-Содержимое-Контрольная_сумма-Флаг
Заголовок – прямой обратный адрес (МАС-адрес)
MTU(Maximum transfer unit)- макс размер передаваемого кадра. на P2P(296 bytes) меньше, чем на LAN(1500 + 14 header), а в Token Ring(4152) еще больше, т.к. несколько можно запускать. Path MTU – это min из max
Чтобы отличать флаги от содержимого, то ЭСКЕЙП перед флагом – сигнализация в потоке данных.(in-band signaling)
Инкапсуляция — это метод согласования сетей, применимый только для согласования транспортных протоколов. Инкапсуляция (тунель) может быть использована, когда две сети с одной транспортной технологией необходимо соединить через сеть, использующую другую транспортную технологию.
Для каждой технологии, включаемой в составную сеть подсети, должны быть разработаны протоколы инкапсуляции IP-пакетов уровня межсетевого взаимодействия в кадры локальных технологий. Например, документ RFC 1042 определяет способы инкапсуляции IP-пакетов в кадры технологий IEEE 802. Для этих целей должен использоваться заголовок LLC/ SNAP, причем в поле Type заголовка SNAP должен быть указан код 0х0800. Только для протокола Ethernet в RFC 1042 сделано исключение - помимо заголовка LLC/ SNAP разрешается использовать кадр Ethernet DIX, не имеющий заголовка LLC, зато имеющий поле Type. В сетях Ethernet предпочтительным является инкапсуляция IP-пакета в кадр Ethernet DIX.
Ethernet – DIX
Преамбула | DA/ адрес назначения | SA/ адрес источника | Тип протокола/ длина поля | Данные | CRC/Контрол. сумма |
8 байт | 6 байт | 6 байт | 2 байта | 46 – 1500 байт | 4 байта |
При передаче пакета из одной подсети в другую пакет сетевого уровня, инкапсулированный в прибывший канальный кадр первой подсети, освобождается от заголовков этого кадра и окружается заголовками кадра канального уровня следующей подсети. Информацией, на основе которой делается эта замена, являются служебные поля пакета сетевого уровня. В поле адреса назначения нового кадра указывается локальный адрес следующего маршрутизатора.
43. Межсетевой протокол IPv4:общая характеристика, определения, свойства.
Основным протоколом сетевого уровня (в OSI) в стеке является протоколIP (Internet Protocol). хорошо работает в сетях со сложной топологией, рационально используя наличие в них подсистем и экономно расходуя пропускную способность низкоскоростных линий связи.
Межсетевая дейтаграмма - это базовый элемент передачи. Как и кадр физической сети, дейтаграмма делится на поле заголовка и поле данных. Кроме того, как и кадр, заголовок дейтаграммы содержит адреса отправителя и получателя, а также поле типа, которое идентифицирует содержимое дейтаграммы. Разница между ними состоит в том, что заголовок дейтаграммы содержит IP-адреса, в то время как заголовок кадра - физические адреса. IP-дейтаграммы (заголовок IP, заголовок ТСР, данные) могут быть разной длины.
Предельный размер дейтаграммы - 65535 (216-1), два байта длина.
CLNP (connectionless network protocol) — более мощный, чем IP нового поколения, который только начинает использоваться. А CLNP в нек-рых организациях вовсю.
Протокол IP
ü является дейтаграммным протоколом, он не гарантирует доставку пакетов до узла назначения, но старается это сделать (best-effort delivery).
ü должен передавать пакеты между сетями. В каждой очередной сети, лежащей на пути перемещения пакета, протокол IP вызывает средства транспортировки, принятые в этой сети, чтобы с их помощью передать этот пакет на маршрутизатор, ведущий к следующей сети, или непосредственно на узел-получатель.
ü относится к протоколам без установления соединений (CLNP).
ü обрабатывает каждый IP-пакет как независимую единицу, не имеющую связи ни с какими другими IP-пакетами.
ü отсутствует квитирование - обмен подтверждениями между отправителем и получателем, нет процедуры упорядочивания, повторных передач или других подобных функций.
вопросы обеспечения надежности доставки данных по составной сети в стеке TCP/IP решает протокол TCP, работающий непосредственно над IP. TCP при необходимости организует повторную передачу пакетов
Основные задачи IP:
· Адресация
· Маршрутизация
· Фрагментация датаграмм (динамическая) с различными, максимально допустимыми значениями поля данных кадров MTU.
· Передача данных Протокол IP доставляет блоки данных от одного IP-адреса к другому.
Программа, реализующая функции того или иного протокола -модуль, например, “IP-модуль”
44. Межсетевой протокол IPv4:заголовок IP дейтаграммы, первые 3 его поля (см. ниже – Keywords), смысл этих полей и вытекающие из них свойства протокола IP.
IP-пакет состоит из заголовка и поля данных. Заголовок, как правило, имеющий длину 20 байт, имеет следующую структуру:
4 бита № версии | 4 бита Длина заголовка | 8 бит Тип сервиса | 16 бит Общая длина | |||||||
PR | D | T | R | |||||||
16 бит Идентификатор пакета | 3 бита Флаги | 13 бит Смещение фрагмента | ||||||||
D | M | |||||||||
8 бит Время жизни | 8 бит Протокол верх уровня | 16 бит Контрол сумма | ||||||||
32 бита IP адрес источника | ||||||||||
32 бита IP адрес назначения | ||||||||||
Опции и выравнивание | ||||||||||
- Версия— версия протокола. для IPv4 значение поля должно б равно 4.
- IHL — длина заголовка IP-пакета в 32-битных словах (dword). Именно это поле указывает на начало блока данных в пакете. Минимальное корректное значение для этого поля равно20 байт (пять 32-битовых слов), но при увеличении объема служебной информации эта длина может быть увеличена за счет использования дополнительных байт в поле Опции (IP Options).Наибольший заголовок занимает 60 октетов.
- Общая длина (Total Length) занимает 2 байта и означает общую длину пакета с учетом заголовка и поля данных.
Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65 535 байт, однако в большинстве хост-компьютеров и сетей столь большие пакеты не используются. При передаче по сетям различного типа длина пакета выбирается с учетом максимальной длины пакета протокола нижнего уровня, несущего IP-пакеты.
Если это кадры Ethernet, то выбираются пакеты с максимальной длиной в 1500 байт, умещающиеся в поле данных кадра Ethernet. В стандарте предусматривается, что все хосты должны быть готовы принимать пакеты вплоть до 576 байт длиной (приходят ли они целиком или по фрагментам). Хостам рекомендуется отправлять пакеты размером более чем 576 байт, только если они уверены, что принимающий хост или промежуточная сеть готовы обслуживать пакеты такого размера
45. Межсетевой протокол IPv4:заголовок IP дейтаграммы, поле ToS (см. ниже – Keywords), значения и смысл субполей ToS и вытекающие из них свойства протокола IP. Keywords:IP header field, Precedence, ToS, QoS, jitter
4 бита № версии | 4 бита Длина заголовка | 8 бит Тип сервиса | 16 бит Общая длина | |||||||
PR | D | T | R | |||||||
16 бит Идентификатор пакета | 3 бита Флаги | 13 бит Смещение фрагмента | ||||||||
D | M | |||||||||
8 бит Время жизни | 8 бит Протокол верх уровня | 16 бит Контрол сумма | ||||||||
32 бита IP адрес источника | ||||||||||
32 бита IP адрес назначения | ||||||||||
Опции и выравнивание | ||||||||||
Поле Тип сервиса (Type of Service) занимает один байт (8 бит) и задает приоритетность пакета и вид критерия выбора маршрута.
- приоритет пакета (Precedence) – первые 3 бита.Приоритет может иметь значения от самого низкого - 000 (нормальный пакет - routine) до самого высокого - 111 (пакет управляющей информации – network control). Маршрутизаторы и компьютеры могут принимать во внимание приоритет пакета и обрабатывать более важные пакеты в первую очередь. Отказались от него.
Поле Тип сервиса (Type of Service) – четыре бита, определяющие критерий выбора маршрута. (1 бит должен быть равен 0). Остальные три: малая задержка, высокая достоверность и высокая пропускная способность.
- D (delay) - минимальная задержка . Скорость передачи сигнала и скорость распространения сигнала – разные вещи. Но и то, и другое влияет на задержку по-разному. Большой разброс задержек – это плохо. (когда не знаем, когда придет автобус). Сказывается на видеоконференцсвязи. Разброс – Jitter. Для этого нужен буфер подкачки – например, фильм загружается вперед с запасом. Чем больше jitter, тем больше буфер.
- Т (Througput) – бит, говорящий о требуемой максимизации пропускной способности
- R (Reliability) - ставится для максимизации надежности доставки. Без искажения. Какой процент пакетов дойдет неискаженным. (0 — нормальная, 1 — высокая надежность)
- C (Cost) –выбор маршрута с минимальной стоимостью (управление IP-потоком).
Только один из этих 4 бит может быть установлен в единицу одновременно. Если все 4 бита равны 0, это означает обычный сервис.
Заданный уровень сервиса – Quality of Service – QoS -обозначение вероятности прохождения пакета между двумя точками сети
Round Trip Time — время, за которое сообщение дойдет до сервера, обработается им и от сервера вернется отклик
SLA – Service Layer Agreement – соглашение об уровне качества связи.
46. Межсетевой протокол IPv4:заголовок IP дейтаграммы, его поля, управляющие процессами фрагментирования дейтаграмм (см. ниже – Кeywords), смысл этих полей и вытекающие из них свойства протокола.
4 бита № версии | 4 бита Длина заголовка | 8 бит Тип сервиса | 16 бит Общая длина | |||||||
PR | D | T | R | |||||||
16 бит Идентификатор пакета | 3 бита Флаги | 13 бит Смещение фрагмента | ||||||||
D | M | |||||||||
8 бит Время жизни | 8 бит Протокол верх уровня | 16 бит Контрол сумма | ||||||||
32 бита IP адрес источника | ||||||||||
32 бита IP адрес назначения | ||||||||||
Опции и выравнивание | ||||||||||
Заголовки IP дейтаграмм:
- Версия— для IPv4 значение поля должно б равно 4.
- IHL — длина заголовка IP-пакета в 32-битных словах (dword). Именно это поле указывает на начало блока данных в пакете. Минимальное корректное значение для этого поля равно 5.
Идентификатор(Identification) занимает 2 байт — значен, назначаемое отправителем пакета и предназначенное для определения корректной последовательности фрагментов при сборке дейтаграммы. Чтобы фрагменты не смешивались при прибытии (сборке).
Общая длина дейтаграммы – 16 бит. Длины всех фрагментов кратны 8-ми (для offset’a)
Флаги: 3 бита, но 1 резервный. Первый бит должен быть всегда равен нулю, второй бит DF (don’t fragment)определяет возможность фрагментации пакета и третий бит MF (more fragments) показывает, не является ли этот пакет последним в цепочке пакетов. В поле флагов один бит означает, что "дальше следуют еще фрагменты" (more fragments). Этот бит устанавливается в единицу для каждого фрагмента, кроме последнего.