- •1. Принципы построения и классификация глобальных компьютерных сетей. Понятие открытых информационных сетей. Internet.
- •2. Многоуровневая модель osi. Понятие виртуального соединения.
- •3. Методы передачи данных в сетях. Структура сообщений. Понятие прозрачности канала.
- •4. Состав и структура семейства протоколов tcp/ip.
- •6. Подсети. Маски. Определение ip адресов подсетей и хостов.
- •8. Таблицы маршрутизации. Динамическая маршрутизация. Протокол rip.
- •9. Алгоритм Дейкстра поиска кратчайших путей на графе.
- •10. Заголовок ip-пакета и назначении его полей.
- •12 . Сетевая топология
- •13. Методы кодирования информации в лвс. Шифрация и дешифрация.
- •14. Методы арбитража в лсв.
- •Способы контроля правильности передачи данных
- •Код Хемминга
- •Циклические коды
- •16. Протокол arp. Отправка ip пакета удаленному хосту.
- •17. Протоколы slip и ppp.
- •18. Протокол icmp. Принципы работы утилит tracert и ping.
- •19. Гнезда. Протокол udp.
- •20. Управление tcp соединением. Обеспечение достоверности данных.
- •3.1.4. Управление соединениями
- •3.1.5. Управление потоком
- •3.2. Заголовок tcp-сегмента
- •3.1.2. Обеспечение достоверности
- •21. Многоуровневая архитектура стека tcp/ip
- •2.5. Работа с несколькими сетевыми интерфейсами
- •22. Информационные сервисы Internet.
- •23. Система доменных имен. Пространство имен, зоны, dns серверы.
- •24. Файлы основного архива dns сервера. Структура файла базы данных.
- •25. Процесс разрешения доменных имен в ip-адреса. Типы dns серверов и запросов.
- •26. Формат сообщений электронной почты. Mime.
- •27. Протоколы smtp и pop3.
- •28. Система телеконференций Usenet. Формат сообщений. Протокол nntp.
- •29. Протокол передачи файлов ftp. Идентификатор ресурса url.
- •30. Система www. Идентификатор ресурса url. Протокол http.
20. Управление tcp соединением. Обеспечение достоверности данных.
3.1.4. Управление соединениями
Соединение - это совокупность информации о состоянии потока данных, включающая сокеты, номера посланных, принятых и подтвержденных октетов, размеры окон.
Каждое соединение уникально идентифицируется в Интернет парой сокетов.
Соединение характеризуется для клиента именем, которое является указателем на структуру TCB (Transmission Control Block), содержащую информацию о соединении.
Открытие соединения клиентом осуществляется вызовом функции OPEN, которой передается сокет, с которым требуется установить соединение. Функция возвращает имя соединения. Различают два типа открытия соединения: активное и пассивное.
При активном открытии TCP-модуль начинает процедуру установления соединения с указанным сокетом, при пассивном - ожидает, что удаленный TCP-модуль начнет процедуру установления соединения с указанного сокета. Указание 0.0.0.0:0 в качестве сокета при пассивном открытии означает, что ожидается соединение с любого сокета. Такой способ применяется в демонах - серверах Интернет, которые ждут установления соединения от клиента. Клиент же применяет процедуру активного открытия; сокет при этом формируется из IP-адреса сервера и стандартного номера порта для данного сервиса.
Закрытие соединения клиентом производится с помощью функции CLOSE, которой передается имя соединения.
Процедура установления соединения происходит следующим образом.
Предположим, узел А желает установить соединение с узлом В. Первый отправляемый из А в В TCP-сегмент не содержит полезных данных, а служит для установления соединения. В его заголовке (в поле Flags, см. п. 3.2) установлен бит SYN, означающий запрос связи, и содержится ISN (Initial Sequence Number - начальный номер последовательности) - число, начиная с которого узел А будет нумеровать отправляемые октеты (например, 0). В ответ на получение такого сегмента узел В откликается посылкой TCP-сегмента, в заголовке которого установлен бит ACK, подтверждающий установление соединения для получения данных от узла А. Так как протокол TCP обеспечивает полнодуплексную передачу данных, то узел В в этом же сегменте устанавливает бит SYN, означающий запрос связи для передачи данных от В к А, и передает свой ISN (например, 0). Полезных данных этот сегмент также не содержит. Третий TCP-сегмент в сеансе посылается из А в В в ответ на сегмент, полученный из В. Так как соединение А -> В можно считать установленным (получено подтверждение от В), то узел А включает в свой сегмент полезные данные, нумерация которых начинается с номера ISN(A)+1. Данные нумеруются по количеству отправленных октетов. В заголовке этого же сегмента узел А устанавливает бит ACK, подтверждающий установление связи B -> A, что позволяет хосту В включить в свой следующий сегмент полезные данные для А.
Рис.
3.1.1. Установка TCP-соединения
Сеанс обмена данными заканчивается процедурой разрыва соединения, которая аналогична процедуре установки, с той разницей, что вместо SYN для разрыва используется служебный бит FIN (“данных для отправки больше не имею”), который устанавливается в заголовке последнего сегмента с данными, отправляемого узлом.
