Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Протокол TCP



Сокет – совокупность номера порта и его IP адреса

Протокол транспортного уровня используется для установления соединения между двумя прикладными процессами. Чтобы установить соединение между двумя прикладными уровнями используются средства протокола TCP

ПП – прикладной процесс – присваивается номер порта, id

Каждому ПП ставится в соответствие специальный номер, номер порта, который идентифицирует приложение данного узла, а узел однозначно в составной сети идентифицируется IP-адресом.

Узел – IP адрес

ПП – номер порта

IP адрес + номер порта = сокет (socket), который однозначно идентифицирует любое приложение.

Назначаются числа приложениям (подходы):

1. Централизованно – если соответствующие службы представляют собой популярные приложения, нумерация от 0 до 255. 0 и 255 зарезервированы
FTP–21
Telnet–23
SMTP–25
DNS – 53

2. Произвольное назначение номеров портов. Это когда разработчик приложения для его идентификации связывает с ним конкретное число из области, нумерация которой больше 255.
Длина сегмента на 3 уровне ограничена полем данных в IP-пакете, фиксированным размером, максимальная длина сегмента Ls = 216-1 = 65 535

Протокол TCP предварительно устанавливает соединение, для этого формируется сегмент-запрос, в котором содержится номер сокета (IP адрес и номер порта), и сокет того узла, с которым устанавливается соединение. Ответчик подтверждает ответ аналогичным сокетом. С помощью двух таких пакетов можно однозначно идентифицировать соединение. Эта процедура называется созданием предварительного логического соединения.

Во время установления соединения стороны договариваются:

1. о размере передаваемых сегментов,

2. о максимальном и начальном объеме данных, которые разрешено передавать без установления соединения (без подтверждения), т.е. размере окна.

В протоколе HDLC максимальное количество кадров без получения подтверждения – это размер окна.

3. Начальные номера передаваемых данных (используется механизм скользящего окна) - собственный механизм:

· Если кадр был передан с ошибкой, то HDLC посылал отрицательную квитанцию, если правильно – положительную квитанцию. А в TCP есть только положительные квитанции, т.е. если сегмент пришел с ошибкой – ничего не происходит.

· HDLC отправляет положительную квитанцию на 1 кадр и смещение для остальных правильно переданных кадров. В TCP положительная квитанция посылается на номер байта, одновременно передавая правильность прихода всех байтов с данным номером, заданным смещением.

· Таким образом окно в TCP определено не количеством сегментов, а количеством байтов (напр. 1000 байт), а квитанция приходит на номер байта.

· В процессе передачи размер окна варьируется
W = 1000 байт, может меняться
размер W может установить готовность окна принятия данных, если W=0 окно не принимает

· Через некоторое определенное время Т, таймер подтверждения запроса, посылается помещенный сегмент с размером 1 байт и ждет прихода подтверждения и если принимающая сторона готова принять, то она отправляет на этот 1 байт положительную квитанцию с размером окна больше 0, указывая длину сегмента. Нет понятия отрицательной квитанции.

· Используется механизм ТАЙМ-АУТА, тот же самый, что и при повторной передаче. Размер ожидания положительной квитанции фиксируется, и он обусловлен временем двойного оборота: (ср знач 2-ой оборот)*2 = Timeout
Т ≥ (ср знач 2-ой оборот)*2





Дата публикования: 2015-02-03; Прочитано: 280 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...