![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Сокет – совокупность номера порта и его 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; Прочитано: 302 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!