- •Оглавление
- •Введение
- •1. Типы компьютерных сетей
- •1.1. Назначение компьютерной сети
- •1.2. Основные типы сетей
- •1.2.1. Одноранговые сети
- •1.2.2. Сети на основе сервера
- •1.4. Базовые топологии
- •1.2.3. Преимущества сетей на базе сервера
- •1.3. Компоновка сети
- •1.4.1. Топология «шина»
- •1.4.2. Топология «звезда»
- •1.4.3. Топология «кольцо»
- •1.5. Концентраторы
- •1.6. Комбинированные топологии
- •1.7. Выбор топологии
- •Особенности различных топологий сетей
- •2. Сетевые кабели
- •2.1. Коаксиальный кабель
- •2.1.1. Тонкий коаксиальный кабель
- •Типы коаксиальных кабелей
- •2.1.2. Толстый коаксиальный кабель
- •2.1.3. Компоненты кабельной системы на базе коаксиального кабеля
- •2.2. Витая пара
- •2.2.1. Неэкранированная витая пара
- •2.2.2. Экранированная витая пара
- •2.2.3. Компоненты кабельной системы на базе витой пары
- •2.3. Оптоволоконный кабель
- •2.4. Передача сигналов
- •2.5. Сравнение кабелей
- •2.6. Беспроводные сети
- •2.6.1. Локальные беспроводные сети
- •2.6.2. Расширенные беспроводные сети
- •2.6.3. Мобильные сети
- •3. Сетевые адаптеры
- •3.1. Назначение сетевого адаптера
- •3.2. Параметры конфигурации сетевого адаптера
- •Прерывания, используемые в компьютере
- •Адреса портов компьютера
- •4. Сетевые модели osi и ieee project 802
- •4.1. Модель osi
- •4.1.1. Взаимодействие уровней модели osi
- •4.2. Стандарт ieee Project 802
- •4.3. Драйверы
- •4.4. Сетевые протоколы
- •4.5. Протокольный стек tcp/ip
- •Формат заголовка ip-дейтаграммы
- •4.5.1. Адресация в ip
- •Адресация ip-сетей по классам
- •4.5.2. Маршрутизация
- •4.5.3. Иерархическая система имен dns
- •4.5.4. Протоколы стека tcp/ip
- •5. Сетевая архитектура ethernet
- •5.1. Метод доступа csma/cd
- •5.2. Стандарты ieee на 10 Мбит/с
- •5.3. Стандарты ieee на 100 Мбит/с
- •Спецификация архитектуры Ethernet
- •5.4. Стандарты Gigabit Ethernet 1000 Мбит/с
- •5.5. Расчет допустимых размеров сети
- •Задержка двойного оборота оборудования и среды передачи Ethernet и Fast Ethernet
- •Диаметр домена коллизий Fast Ethernet
- •6. Аппаратура для создания больших сетей
- •6.1. Общие положения
- •Повторители;
- •Маршрутизаторы;
- •6.2. Повторители
- •6.3. Мосты и коммутаторы
- •6.3.1. Дополнительные возможности коммутаторов
- •6.3.2. Избыточные связи и алгоритм Spanning Tree
- •6.4. Различия между мостами и повторителями
- •6.5. Маршрутизаторы
- •6.6. Различия между мостами и маршрутизаторами
- •6.7. Шлюзы
- •Литература
4.5. Протокольный стек tcp/ip
Комплект протоколов TCP/IP (Transmission Control Protocol/Internet Protocol) разрабатывался для сети Интернет (Internet Protocol Suite), в настоящее время он широко распространен как в локальных, так и в глобальных сетях [1], [3], [24]–[26]. Комплект протоколов Интернета состоит из набора общедоступных (по сети) документов RFC (Request For Comments – предложения к обсуждению), созданных коллективными усилиями мирового сетевого сообщества.
Передача данных в Интернете основана на принципе коммутации пакетов, в соответствии с которым поток данных, передаваемых от одного узла к другому, разбивается на пакеты, передающиеся в общем случае через систему коммуникаций и маршрутизаторов независимо друг от друга и вновь собирающиеся на приемной стороне. Весь комплект базируется на IP-протоколе негарантированной доставки пакетов (дейтаграмм) без установления соединения (unreliable connectionless packet delivery). Информация в ТСР/IP передается пакетами со стандартизованной структурой, называемыми IP-дейтаграммами (IP Datagram), имеющими поле заголовка (IP Datagram Header) и поле данных (IP Datagram Data). Формат заголовка приведен в табл.6, где он показан в виде 32-битных слов. Конечные узлы – отправители и получатели информации, называются хостами (host), промежуточные устройства, оперирующие IP-пакетами (анализирующие и модифицирующие информацию IP-заголовков), называют шлюзами (gateway).
Таблица 6
Формат заголовка ip-дейтаграммы
Слово/ Бит |
0. . .3 |
4. . .7 |
8. . .15 |
16. . .18 |
19. . .31 |
1 |
Version |
IHL |
Type of Service |
Total Length |
|
2 |
Identification |
Flags |
Fragment Offset |
||
3 |
Time тo Live |
Protocol |
Header Checksum |
||
4 |
Source IP Address |
||||
5 |
Destination IP Address |
||||
6 |
Option |
||||
Поля заголовков имеют следующие назначения.
Version, 4 бита – номер версии протокола, определяющий формат заголовка. В настоящее время широко используется версия 4, и дальнейшее описание относится к ней.
IHL (Internet Header Length), 4 бита – длина заголовка в 32-битных словах (не менее 5).
Type of Service, 8 бит – абстрактное описание качества сервиса:
биты 0-2 – Precedence (старшинство, преимущество) – параметр, определяющий приоритет трафика (большему значению соответствует больший приоритет);
бит 3 – Delay (задержка): 0 – нормальная, 1 – малая;
бит 4 – Throughput (пропускная способность): 0 – нормальная, 1 – высокая;
бит 5 – Reliability (надежность): 0 – нормальная, 1 – высокая;
биты 6-7 – резерв.
Total Length, 16 бит – общая длина дейтаграммы (заголовок и данные) в октетах (байтах). Допускается длина до 65 535 байт, но все хосты, безусловно, допускают прием пакетов длиной только до 576 байт. Пакеты большей длины рекомендуется посылать только по предварительной договоренности с принимающим хостом.
Identification, 16 бит – идентификатор, назначаемый посылающим узлом для сборки фрагментов дейтаграмм.
Flags, 3 бита – управляющие флаги:
бит 0 – резерв, должен быть нулевым;
бит 1 – DF (Don't Fragment – запрет фрагментирования):0 – дейтаграмму можно фрагментировать, 1 – нельзя;
бит 2 – MF (More Fragments – будут еще фрагменты): 0 – последний фрагмент, 1 – не последний.
Fragment Offset, 13 бит – местоположение фрагмента в дейтаграмме (смещение в 8-байтных блоках). Первый фрагмент имеет нулевое смещение.
Time to Live (TTL), 8 бит – время жизни пакета в сети, формально – в секундах. Нулевое значение вызывает необходимость удаления дейтаграммы. Начальное значение задается отправителем, шлюзы декрементируют поле по получении пакета и каждую секунду пребывания пакета в очереди на обработку (пересылку). Поскольку современное оборудование редко задерживает пакет более чем на секунду, это поле может использоваться для подсчета промежуточных узлов (hop count). Заданием TTL можно управлять дальностью распространения пакетов: при TTL=1 пакет не может выйти за пределы подсети отправителя.
Protocol, 8 бит – идентификатор протокола более высокого уровня, использующего поле данных пакета.
Header Checksum, 16 бит – контрольная сумма заголовка, которая должна проверяться и пересчитываться в каждом шлюзе в связи с модификацией некоторых полей (TTL).
Source Address, 32 бита – IP-адрес отправителя.
Destination Address, 32 бита – IP-адрес получателя.
Options – опции пакета, длина произвольна (опции могут и отсутствовать). В дейтаграмму длиной 576 байт умещается 512-байтный блок данных и 64-байтный заголовок (размер заголовка может составлять 20–60 байт). Длина дейтаграммы определяется сетевым ПО так, чтобы она умещалась в поле данных сетевого кадра, осуществляющего транспортировку. Поскольку по пути следования к адресату могут встречаться сети с меньшим размером поля данных кадра, IP специфицирует единый для всех маршрутизаторов метод сегментации – разбивки дейтаграммы на фрагменты (тоже IP-дейтаграммы) и реассемблирования – обратной ее сборки приемником. Фрагментированная дейтаграмма собирается только ее окончательным приемником, поскольку отдельные фрагменты могут добираться до него различными путями. Порядок сборки определяется смещением фрагмента, перекрытие фрагментов и даже выход фрагмента за заявленный размер собираемого пакета, как правило, не контролируются. На основе этих свойств алгоритма сборки «умельцы» осуществляют взлом сетевых ОС. Возможна также конкатенация – соединение нескольких дейтаграмм в одну и сепарация – действие, обратное конкатенации.
Казавшийся вполне достаточным во времена разработки формат заголовка пакета стал уже тесным. В настоящее время готовится переход на протокол IP v.6, который имеет следующие основные отличия:
расширение поля адреса с 32 до 128 бит;
обеспечение возможности автоконфигурирования узлов;
выравнивание полей заголовка с целью ускорения обработки пакетов;
обеспечение возможностей для большей расширяемости протокола.
Дальнейшее изложение относится к существующей 32-битной адресации IP v.4.
