@ Карта сайта News Автора!

Bog BOS: TCP/IP

Последние изменения:
2024.03.28: sysadmin: Файловая система zfs под Linux для архива (обновление от 0.6 до 2.2)

Последнее изменение файла: 2007.02.08
Скопировано с www.bog.pp.ru: 2024.04.30

Bog BOS: TCP/IP

ISO OSI (Open System Interconnect) Reference Model

  1. Physical Layer - определяет физические характеристики носителя
  2. Data Link Layer - обеспечивает надежную передачу данных по физическому каналу
  3. Network Layer - управляет соединениями через сеть для верхних уровней
  4. Transport Layer - обеспечивает обнаружение и исправление ошибок из конца в конец
  5. Session Layer - управляет сессиями между приложениями
  6. Presentation Layer - стандартизует представление данных для приложений
  7. Application Layer - прикладные программы, использующие сеть

уровни стека протоколов TCP/IP (в скобках приводятся используемые термины)

  1. Network Access Layer - программы доступа к физической сети (драйвера устройств) (фрейм) - инкапсуляция датаграмм во фреймы (например, RFC 894 - Ethernet) и отображение IP-адресов в физические адреса (например, ARP).
  2. Internet Layer - определяет датаграммы и маршрутизацию данных (IP - RFC 791, RFC 1349 (ToS), RFC 2474 (Diffserv), RFC 3168 (ECN), RFC 3260 (Diffserv); ICMP - RFC 792) (датаграмма), протокол ненадежный и без установления соединения.
  3. Host-to-Host Transport Layer - сервис доставки данных из конца в конец (TCP, UDP) (сегмент, пакет)
  4. Application Layer - приложения и процессы, использующие сеть (FTP, SMTP, telnet, ...) (сообщение, поток)

Структура IP адреса.

Каждый сетевой интерфейс должен иметь уникальный адрес (несколько сетевых интерфейсов одного хоста могут иметь один адрес; один сетевой интерфейс может иметь несколько адресов). IP адрес представляет собой натуральное число размером 4 байта. Обычно записывается в виде десятичных чисел, представляющих значение каждого байта от старшего к младшему, разделенных точками. Адрес делится на две части: адрес сети и адрес внутри сети. Адрес сети является чисто логическим (административным) понятием и не обязан иметь никакого отношения к физической структуре сети (хотя для того, чтобы обеспечить маршрутизацию и не сойти с ума, лучше, чтобы такое соответствие было). В доисторические имена адрес делился на три части: сеть, подсеть и адрес в подсети (с тех времен до нас дошли понятия сети класса A, B и C, которые приходилось разбивать на подсети для лучшего использования адресного пространства), но с времен принятия CIDRа (1992), поля сеть и подсеть слились. Граница между сетевой частью адреса и локальной частью адреса определяется сетевой маской (netmask). Маска записывается также как IP адрес (4 десятичных числа, разделенных точкой) и имеет двоичные единицы в той части адреса, которая относится к адресу сети. Модификации: старые системы иногда требуют задания числа бит в адресе подсети, число бит в адресе сети определяется классом сети (A, B, C); новые системы требуют задать число бит в адресе сети, остальные биты представляют локальный адрес (все равно биты, хранящие адрес сети должны идти подряд, так зачем хранить лишнюю информацию?). Встречаются реализации, которые считают, что все маски в одной сети имеют одинаковое значение (что неверно - у меня хосты на одном интерфейсе иногда имеют разные маски ;).

Рекомендация по назначению сетевой маски с тем, чтобы в дальнейшем избежать перенумерации сети, дается в RFC-1219 (суть в том, что биты под сетевую маску при создании новой подсети захватываются слева, а биты под новые хосты - справа; между ними находятся биты (равные нулю), которые можно отнести либо туда, либо сюда).

Специальные адреса (записывается в виде пары: адрес сети, адрес интерфейса в сети):

Проблема оставшаяся с времен разделения сетевого адреса на собственно номер сети и адрес подсети: не все могут обрабатывать адрес подсети равный нулю. Например, в IOS (CISCO) необходимо использовать специальную команду: "ip subnet-zero".

Ссылки:
@ Карта сайта News Автора!

Bog BOS: TCP/IP

Последние изменения:
2024.03.28: sysadmin: Файловая система zfs под Linux для архива (обновление от 0.6 до 2.2)



Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru