Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Передача информации в TCP. Сокеты

Порты и их номера

Немного о производительности

Краткая история TCP

Заголовок

Формат дейтаграммы

Особенности

Лекция 7. Протокол TCP

TCP – протокол, ориентированный на соединение, с подтверждением, полнодуплексный.

Заголовок TCP – это блоки 32 битных слов, а данные – неструктурированные блоки байт. Каждый байт идентифицирован номером.

Исходный порт | Порт назначения | SEQ # - Номер первого байта | ACK # | Размер окна | Смещение от начала данных | Флаги | Опции | CRC

 

  • Исходный порт – 16-битный идентификатор процесса, пославшего запрос;
  • Порт назначения – 16-битный идентификатор процесса, получившего запрос;
  • SEQ # – номер последовательности байтов (номер первого байта);
  • ACK # – последний номер следующего байта, который предполагает получить источник;
  • Размер окна – количество байт, которые будут получены и отправлены.
    • Протокол TCP использует механизм скользящего окна. Скользящее окно устанавливает, сколько байт мы принимаем или передаем в текущий момент. Осуществляется механизм скользящего окна при помощи SEQ и ACK.
  • Смещение – смещение в окне;
  • Флаги:
    • URG (URGent) – показывает, что передаются срочные данные;
    • PUSH – указатель на немедленную отсылку пакета (без буферизации);
    • RST(ReSeT) – переустановка соединения URG;
    • SYN – началось соединение;
    • FIN – кончилось соединение;
  • Опции – например, макс. размер сегмента TCP;
  • CRC – считается по заголовку TCP и части заголовка IP (адреса, тип). Часть алгоритма выполняется сетевым адаптером.

TCP реализован в 1981 году. Однако с каждой версией сетевой ОС протокол TCP совершенствуется.

Протокол TCP очень влияет на производительность сети. Он не гарантирует доставку, а занимается ей.

Порт – идентификатор процесса (задачи, task), который будет выполняться на более высоком уровне. Номера портов нужно где-то вести. Регулирует номера задач организация IANA.

Для процессов, которые являются общими и описаны на верхних уровнях модели OSI (например, FTP, Telnet), выделены номера от 0 до 1023.

Существуют специальные RFC, где описаны процессы, которые зарегистрированы. Например, Oracle. Номера портов с 1024.

Есть рекомендация начинать все порты своих приложений с 8000.

Любая рабочая станция будет выбирать некий номер порта для того, чтобы передавать данные. Предположим, 8711. К номеру порта будет присоединяться IP-адрес станции, например 10.1.1.9. Вводится понятие «сокет» (socket) – IP-адрес и порт. На каком-то сервере, где работает ядро сетевой ОС, будет запущен некий процесс, например, POP3 (110 порт) и еще один процесс на порту 80. IP-адрес у них одинаковый (10.1.1.9). Сокет образуется из IP и порта. Каждый процесс идентифицируется двумя сокетами: сокетом сервера и сокетом рабочей станции. Если одновременно будет обрабатываться по данному порту несколько процессов от разных приложений – тогда порт называют мультиплексированным.

SYN=1 ACK=? SEQ=730
Начало передачи

Процедура handshaking – 3х фазовое рукопожатие

  1. Пакет с флагами SYN
  2. Ответ Ack на запрос один этап
  3. SYN
  4. ACK

 

Если сервер не может установить соединение (например, переполнены буферы), то SYN не устанавливается в 1. Происходит RESET. Если по истечении тайм-аута сервер не получил ответа, он закрывает соединение. Если станция не получила подтверждения, она повторно пошлет запрос соединения.

 

<== предыдущая лекция | следующая лекция ==>
Синхронизация времени | Скользящее окно
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 232; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.029 сек.