7. Протокол tcp
Для достижения высокой производительности конечных систем и сети в целом очень важно правильно выбрать транспортный протокол. Транспортный протокол обеспечивает интерфейс между приложениями и сетевым оборудованием. Он выполняет несколько функций, в том числе, позволяет приложениям запрашивать желаемое качество обслуживания. Сетевые приложения фирмы Microsoft требуют, чтобы сетевые драйверы обеспечивали как режим передачи данных с гарантией доставки, так и негарантированную доставку. При передаче с гарантией доставки потеря данных исключается, так как постоянно проводится подтверждение успешности приема. Если подтверждение не получено, производится повторная посылка данных. Ориентированные на предварительное установление соединения транспортные протоколы, такие как TCP (Transmission Control Protocol), делят общий поток данных приложения на раздельные логические потоки и могут дифференцированно распределять ресурсы между ними, что позволяет эффективно использовать общую пропускную способность.
Протокол управления передачей данных TCP описан в документе RFC 793. Протокол TCP — это основной транспортный протокол стека протоколов TCP/IP. Он обеспечивает надежную передачу данных, базируясь на услугах протокола IP. На протокол TCP, в частности, возложена задача управления потоками и перегрузками, что подразумевает согласование скорости передачи данных с техническими возможностями рабочей станции-получателя и промежуточных устройств.
Поступающие к получателю данные буферизуются средствами протокола TCP. Перед отправкой данные также буферизуются.
Для достижения необходимой для данного логического соединения пропускной способности важно правильно выбрать реализацию протокола TCP и оптимально настроить его параметры, влияющие на производительность. В конечном счете пропускная способность логических соединений определяет, насколько быстро приложения обмениваются данными по сети. Такие протоколы прикладного уровня, как HTTP и FTP, передают протоколу TCP свои данные для транспортировки. Поэтому скоростные характеристики TCP оказывают непосредственное влияние на производительность приложений.
Кроме того, на уровень перегрузок, возникающих в сети, очень влияют правила транспортного протокола для передачи и повторной передачи данных. Протокол TCP активно используется и поддерживается большинством приложений, которые опираются на стек протоколов TCP/IP. Протокол TCP входит в состав транспортных протоколов, поддерживаемых операционной системой Microsoft Windows NT 5.0 (Windows 2000). На рис. 7.1 схематично показана сетевая модель этой операционной системы и место протокола TCP в ней.
Поддержка TCP позволяет пользователям Microsoft Windows NT совместно работать через сеть с использованием всех доступных сервисов. В операционной системе Microsoft Windows NT 5.0 поддержка TCP значительно расширена. Реализация стека протоколов TCP/IP для операционных систем Microsoft Windows NT 4.0/5.0 пользуется параметрами, которые хранятся в системном реестре. Эти параметры можно корректировать вручную, но, вообще говоря, данные реализации протоколов являются самонастраивающимися.
Коротко рассмотрим основные расширения протокола TCP в операционной системе Microsoft Windows NT 5.0:
Выборочное подтверждение (TCP Selective Acknowledgment, SACK — RFC 2018). Это расширение сравнительно недавно утвердил консорциум IETF. Оно позволяет подтверждать прием данных не в порядке их поступления, как это было раньше, а выборочно. Этот подход имеет два главных преимущества. Во-первых, повышается эффективность повторных передач дейтаграмм протокола TCP благодаря сокращению времени повторной передачи. Протокол TCP использует алгоритм повторной передачи, который учитывает, в каком порядке поступают подтверждения. Такой подход вполне приемлем, однако в этом случае на восстановление каждого потерянного сегмента уходит примерно один цикл обращения. Механизм SACK позволяет осуществлять повторную передачу сразу нескольких потерянных сегментов в одном цикле. Во-вторых, благодаря выборочным подтверждениям, протокол TCP, как показали проведенные исследования, точнее оценивает доступную ширину полосы пропускания в условиях нескольких последовательных потерь пакетов и способен обойтись без выполнения алгоритма «Медленного старта»;
Подтверждение с задержкой (Delayed Acknowledgments — RFC 1122). В соответствии с этим алгоритмом подтверждения высылаются, если не было выслано подтверждение на предыдущий принятый сегмент, или если после получения сегмента в течение 200 мс не поступил следующий;
Механизмы масштабирования окон (TCP Receive Window Size Calculation and Window Scaling — RFC 1323). Протокол не использует жестко заданный размер окна. Он может увеличивать его размер на величину максимального размера сегмента (Maximum Segment Size, MSS), величина которого определяется при установлении соединения. Размер окна приема по умолчанию равен 8 Кбайт. Этот размер выставляется в настройках реестра для протокола TCP, а именно, в параметре TcpWindowSize. Максимальный размер окна — 64 Кбайт. Для сетей Ethernet размер окна обычно равен 8760 байт для версии Microsoft Windows NT 4.0 и 17 520 байт (16 Кбайт, размещенные в двенадцати сегментах по 1460 байт) для версии Microsoft Windows NT 5.0;
Временные штампы (TCP Timestamps - RFC 1323);
Обнаружение PMTU (PMTU (Path Maximum Transmission Unit) Discovery — RFC 1191). Обычно величина MSS равна величине MTU за вычетом 40 байт на заголовки IP и TCP. Сегмент в распределенную сеть отправляется с запретом фрагментации. На отдельных участках сети может быть принят другой MTU. Маршрутизатор, который настроен на этот размер, отсылает сообщение протокола ICMP о недоступности пункта назначения с указанием действующего размера MTU. На основании этого сообщения отправитель изменит значение MTU так, чтобы сегменты смогли достичь получателя. Максимальный размер MTU составляет 68 байт. Предусмотрена возможность работы с маршрутизаторами, которые не совместимы с алгоритмом определения MTU. Для работы с ними в реестре предусмотрены два параметра. PMTU можно определить и вручную — командой ping с ключом запрета фрагментации;
Обнаружение неработающего шлюза — маршрутизатора по умолчанию — (Dead Gateway Detection). Метод описан в документе RFC 816. Проводятся необходимые действия для поиска работающего маршрутизаторатора взамен отключенного с соответствующей корректировкой таблицы маршрутизации;
Политика повторной передачи (TCP Retransmission Behavior). Число попыток повторной передачи определяется параметром реестра ТсрМах-DataRetransmission. По умолчанию этот параметр равен 5. Добавление единицы к этому параметру удваивает значение таймера повторной передачи, которое в начальный период работы соединения равно 3 с;
Алгоритмы медленного старта и предотвращения перегрузки (Slow Start Algorithm and Congestion Avoidance — RFC 1122);
Предотвращение синдрома «глупого» окна (Silly Window Syndrome, SWS — RFC 1122). Получатель всегда старается увеличить окно приема, если имеет свободное буферное пространство. Отправитель также старается увеличить окно передачи при малейшей возможности. В такой ситуации говорить о стабильном потоке сегментов не приходится. Для того чтобы уберечь отправителя и получателя от соблазна «втиснуть в канал лишний сегмент», используется алгоритм предотвращения SWS. Большой объем данных не отправляется до тех пор, пока получатель не объявит размер окна, достаточный для посылки полного сегмента. Кроме того, может производиться настройка, не позволяющая увеличивать окно приема меньше, чем на сегмент;
Алгоритм Nagle (Nagle Algorithm, RFC 896). Алгоритм предназначен для уменьшения количества небольших сегментов в сети. Предпочтение при передаче отдается полноразмерным сегментам.
В данном разделе подробно рассматриваются лишь некоторые из этих расширений. Для того чтобы понять основные механизмы работы всех существующих расширений, остановимся на базовых принципах протокола. За подробностями заинтересованный читатель может обратиться к документам RFC, приведенным в табл. 7.1. Следует отметить, что глубокое понимание существующих механизмов протокола TCP и того, как они влияют на производительность сети, необходимо для разработки, внедрения, эксплуатации или сопровождения сетей. Это обусловлено тем, что TCP лежит в основе всех современных сетевых операционных систем — и в первую очередь, Windows NT. Так, если внедряется крупная, распределенная сеть на базе этой операционной системы, то проектировщику стоит обратить самое пристальное внимание на планирование загрузки сетевых каналов.
Таблица 7.1. Стандарты RFC, поддерживаемые операционной системой
Microsoft Windows NT 5.0
Документ RFC
| Название
| |
768
| User Datagram Protocol (UDP)
| |
783
| Trivial File Transfer Protocol (TFTP)
| |
791
| Internet Protocol (IP)
| |
792
| Internet Control Message Protocol (ICMP)
| |
793
| Transmission Control Protocol (TCP)
| |
816
| Fault Isolation and Recovery
| |
826
| Address Resolution Protocol (ARP)
| |
854
| Telnet Protocol (TELNET)
| |
862
| Echo Protocol (ECHO)
| |
863
| Discard Protocol (DISCARD)
| |
864
| Character Generator Protocol (CHARGEN)
| |
865
| Quote of the Day Protocol (QUOTE)
| |
867
| Daytime Protocol (DAYTIME)
| |
894
| IP over Ethernet
| |
919,922
| IP Broadcast Datagrams (broadcasting with subnets)
| |
950
| Internet Standard Subnetting Procedure
| |
959
| File Transfer Protocol (FTP)
| |
1001,1002
| NetBIOS Service Protocols
| |
1009
| Requirements for Internet Gateways
| |
1034,1035
| Domain Name System (DNS)
| |
1042
| IP over Token Ring
| |
1055
| Transmission of IP over Serial Lines (IP-SLIP)
| |
1112
| Internet Group Management Protocol (IGMP)
| |
1122,1123
| Host Requirements (communications and applications)
| |
1134
| Point-to-Point Protocol (PPP)
| |
1144
| Compressing TCP/IP Headers for Low-Speed Serial Links
| |
1157
| Simple Network Management Protocol (SNMP)
| |
1179
| Line Printer Daemon Protocol
| |
1188
| IP over FDDI
| |
1191
| Path MTU Discovery
| |
1201
| IP over ARCNET
| |
1231
| IEEE 802.5 Token Ring MIB (MIB-II)
| |
1256
| ICMP Router Discovery Messages
| |
1323
| TCP Extensions for High Performance
| |
1332
| PPP Internet Protocol Control Protocol (IPCP)
| |
1334
| PPP Authentication Protocols
| |
1518
| An Architecture for IP Address Allocation with CIDR
| |
1519
| Classless Inter-Domain Routing (CIDR): An Address Assignmentand Aggregation Strategy
| |
1533
| DHCP Options and BOOTP Vendor Extensions
| |
1534
| Interoperation Between DHCP and BOOTP
| |
1541
| Dynamic Host Configuration Protocol (DHCP)
| |
1542
| Clarifications and Extensions for the Bootstrap Protocol
| |
1547
| Requirements for Point-to-Point Protocol (PPP)
| |
1548
| Point-to-Point Protocol (PPP) .
| |
1549
| PPP in High-level Data Link Control (HDLC) Framing
| |
1552
| PPP Internetwork Packet Exchange Control Protocol (IPXCP)
| |
1825
| Security Architecture for the Internet Protocol
| |
1826
| IP Authentication Header (AH)
| |
1827
| IP Encapsulating Security Payload (ESP)
| |
1828
| IP Authentication using Keyed MD5
| |
1829
| ESP DES-CBC Transform
| |
1851
| The ESP Triple DES-CBC Transform
| |
1852
| IP Authentication using Keyed SHA
| |
2014
| HMAC: Keyed Hashing for Message Authentication
| |
2085
| HMAC-MD5 IP Authentication with Replay Prevention
| |
2136
| Dynamic Updates in the Domain Name System (DNS UPDATE)
| |
2205
| Resource Reservation Protocol (RSVP) — Version 1 Functional Specification
| |
2236
| Internet Group Management Protocol, Version 2
|
- Максим Кульгин Технологии корпоративных сетей. Энциклопедия
- Часть I основы корпоративных сетей.
- 1. Базовые сетевые технологии
- Соединения и каналы
- Технологии b-isdn и atm
- Технология Frame Relay
- Технология isdn
- Плезиохронная и синхронная цифровые иерархии
- Технология sonet
- Технология smds
- Технология Ethernet
- Дальнейшее развитие технологии Ethernet
- Технология 100vg-AnyLan
- 2. Методология построения корпоративной сети
- Сравнение современных технологий передачи данных
- Требования к сети
- Архитектура сети
- Магистраль на базе коммутации ячеек
- Маршрутизация
- Коммутация
- Выделение маршрутов
- Сетевые шаблоны
- Сетевой шаблон глобальной сети
- Сетевой шаблон городской сети
- Шаблон городской сети с технологией sonet/sdh
- Шаблон городской сети с передачей atm поверх sonet/sdh
- Шаблон городской сети, как расширенной локальной сети
- Сетевой шаблон центрального офиса
- Реализация доступа и магистрали
- Критерии выбора технологии
- 3. Качество обслуживания в современных сетях
- Характеристики трафика
- Трафик разных приложений
- Качество обслуживания «на самоокупаемости»
- Обзор технологий качества обслуживания
- Обеспечение перекрывающей пропускной способности
- Приоритетные очереди в маршрутизаторах
- Протокол резервирования ресурсов
- Установление приоритетов в виртуальных сетях
- Качество обслуживания в сетях Frame Relay
- Качество обслуживания в сетях atm
- Рекомендации
- 4. Модель и уровни osi
- Эталонная модель osi
- Протоколы и интерфейсы
- Уровни модели osi Физический уровень
- Канальный уровень
- Сетевой уровень
- Транспортный уровень
- Сеансовый уровень
- Уровень представления
- Прикладной уровень
- Назначение уровней модели osi
- 5. Основные типы сетевых устройств
- Витая пара
- Коаксиальный кабель
- Оптоволоконный кабель
- Сетевые адаптеры
- Концентраторы
- Коммутаторы
- Коммутация «на лету»
- Коммутация с буферизацией
- Бесфрагментная коммутация
- Дополнительные функции коммутаторов
- Протокол stp
- Протокол stp и виртуальные сети
- Протокол stp: заключение
- Маршрутизаторы
- Брандмауэры
- Часть II стек протоколов тср/ip
- 6. Ip и другие протоколы нижнего уровня
- Протокол ip
- Протокол arp
- Протокол 1смр
- Протокол udp
- Протокол rtp
- Адресная схема протокола ip
- 7. Протокол tcp
- Формат заголовка
- Состояние системы
- Блок управления передачей
- Установление и закрытие соединений
- Плавающее окно
- Пропускная способность
- Контроль за перегрузками
- Управление потоком данных
- Политики отправки и приема сегментов
- Таймер повторной передачи
- Адаптивный таймер повторной передачи
- Узкие места в сети
- Протокол tcp в сетях atm
- 8. Маршрутицазия протокола ip
- Автономные системы
- Подсети
- Маска подсети
- Протокол rip
- Маска подсети переменной длины
- 9. Протоколы маршрутизации Протокол ospf
- Протоколы igrp и eigrp
- Протоколы политики маршрутизации egp и bgp
- Протокол igmp
- Алгоритмы построения дерева доставки
- Магистраль mbone
- Протоколы групповой маршрутизации Протокол dvmrp
- Протокол mospf
- Протокол рiм
- Бесклассовая междоменная маршрутизация
- Часть III Технология atm
- 10. Введение в технологию атм
- Появление atm
- Форум atm
- Основные компоненты atm
- Уровни atm
- Уровень адаптации atm
- Уровень atm
- Физический уровень
- Прямая передача ячеек
- Использование транспортных кадров
- Использование plcp
- Интерфейсы atm
- Мультиплексирование в сетях atm
- Инверсное мультиплексирование
- Безопасность в сетях atm
- Сигнализация atm
- 11. Основы технологии атм Соединения atm
- Сети без установления соединения
- Сети с установлением соединения
- Виртуальные соединения в сетях atm
- Типы виртуальных соединений
- Виртуальные пути и виртуальные каналы
- Установление соединений atm
- Ячейки atm
- Сети с передачей ячеек
- Формат ячеек atm
- Ячейки формата uni
- Ячейки формата nn1
- Подготовка ячеек к передаче
- Уровень адаптации aal1
- Уровень адаптации aal3/4
- Уровень адаптации aal5
- Адресация atm
- Адрес dcc aesa
- Адреса icd и е.164 aesa
- Управление адресами
- 12. Коммутация и маршрутизация в атм Коммутаторы atm
- Архитектура коммутаторов atm
- Интеграционные функции коммутаторов
- Управляемость
- Маршрутизация в atm
- Протокол маршрутизации запросов pnni
- Протокол сигнализации pnni
- Качество обслуживания
- Протокол tcp
- Протокол udp
- Резервирование ресурсов и протоколы управления потоком данных
- Организация очередей в маршрутизаторе
- Метод явного контроля скорости
- 14. Интегрированные и дифференцированные услуги Качество обслуживания
- Интегрированные услуги
- Сервисные уровни обслуживания
- Сервисное управление нагрузкой
- Гарантируемое обслуживание
- Протокол резервирования ресурсов rsvp
- Стили резервирования
- Развитие сетей с is
- Дифференцированные услуги
- Архитектура системы с предоставлением ds
- Граничные устройства домена ds
- Внутренние устройства домена ds
- Выходные домены
- Использование протокола rsvp в сетях с ds
- 15. Управление трафиком в атм
- Трафик-контракт
- Параметры трафика
- Категории сервиса
- Связь механизмов управления трафиком
- Контроль за установлением соединения
- Контроль за использованием полосы пропускания
- Формирование трафика
- Контроль потока abr
- Контроль приоритетов
- Организация очередей в коммутаторах
- Реализация очередей для службы ubr
- Реализация очередей для службы abr
- Методы отбрасывания пакетов
- Адаптивное управление буферами в коммутаторах
- 16. Интеграция с атм
- Протокол ip поверх atm
- Передача ip-Дейтаграмм по сети atm
- Взаимодействие устройств в одной логической подсети
- Групповая доставка информации в сети atm
- Взаимодействие устройств в разных логических подсетях
- Протокол nhrp
- Оценка потерь при работе протокола ip поверх atm
- Передача ip-дейтаграмм в кадрах sonet
- Технология эмуляции локальной сети — lane
- Концепция lane
- Технология мроа
- Клиент мроа
- Сервер мроа
- Взаимодействие технологий мроа и nhrp
- Масштабируемость в глобальных сетях
- Технология Tag Switching фирмы Cisco
- Технология aris фирмы ibm
- Технология mpls комитета ietf
- Перспективные разработки. Рекомендации
- Взаимодействие технологий atm и Frame Relay
- 17. Интеграция маршрутизации и коммуникации
- Общие вопросы выбора технологий
- Коммутирующие маршрутизаторы
- Коммутация третьего уровня в atm
- Технологии фирм Ipsilon и Toshiba
- Технология FastIp фирмы 3Com
- Технология NetFlow фирмы Cisco
- Технология SecureFast фирмы Cabletron
- Технология Multiprotocol Switched Services фирмы ibm
- 18. Мультимедиа в сети
- Передача видеоинформации
- Технические требования к передаче видеоинформации в сетях atm
- Некоторые рекомендации по созданию сетей atm с видео
- Передача голоса
- Часть V Приложения
- 1. Стандарты стека протоколов tcp/ip
- 2. Порты протоколов tcp и udp
- 3. Выделение ip - подсетей
- 4. Теория очередей и расчет параметров сети
- 5. Организации по стандартизации
- 6 Список фирм - членов Форума атм
- 7. Спецификации Форума атм
- 8. Список терминов
- 9. Список литературы Основная литература
- Дополнительная литература Технология atm и протокол ip поверх atm
- Технология качества обслуживания
- Система ip-адресаиии
- Некоторые ресурсы Internet
- Алфавитный указатель
- Оглавление
- Часть I 3
- Часть II 109
- Часть III Технология atm 207
- Часть IV 269
- Часть V Приложения 402