- •1.1 Принципы построения и организационная структура Интернет.
- •1.1.1 Каким образом мы попадаем со своего компьютера на удаленный сервер?
- •1.3 Базовые протоколы (ip, tcp, udp)
- •1.3.1 Стек протоколов tcp/ip
- •1.3.2 Физический и канальный уровень.
- •1.3.3 Межсетевой уровень и протокол ip.
- •1.3.4 Транспортный уровень
- •1.4 Назначение портов
- •1.7 NetScanner - позволяет посмотреть ответ определенного порта.
- •2.1 Для чего это нужно?
- •2.2 Принципы организации dns
- •1.5 Программа Ping
- •2.3 Некоторые типы dns-серверов
- •2.4 Формат dns-сообщения
- •2.5 Некоторые виды записей в dns
- •2.6 Программа nsLookUp.
- •3.1 Универсальный идентификатор ресурсов (uri), его назначение и составные части.
- •3.2 Универсальный указатель ресурса url
- •3.3 Некоторые схемы url
- •5.1 Служба ftp.
- •5.2 Протокол ftp
- •5.2.1 Различие работы пассивного режима и активного.
- •5.3 Протокол tftp
- •5.4 Программы клиенты
- •6.1 Служба www
- •6.2 Протокол http
- •6.2.2 Формат http-ответа:
- •6.2.3 Некоторые параметры http-ответа:
- •6.2.4 Соединение к http с помощью Telnet
- •6.3 Программа TeleportPro.
- •8.1 Электронная почта.
- •8.2 Формат сообщения.
- •8.2.1.Некоторые поля заголовка:
- •8.3 Протокол smtp
- •8.3.1 Модель протокола
- •8.3.2 Последовательность команд smtp
- •8.3.3 Некоторые команды smtp
- •8.3.4 Синтаксис некоторых команд smtp
- •8.3.5 Некоторые коды ответов smtp
- •8.3.6 Ретрансляция сообщений
- •8.3.7 Резервные почтовые серверы (relay)
- •8.3.8 Отправка сообщения на smtp с помощью Telnet
- •9.1 Протокол pop3
- •9.1.1 Модель протокола pop3
- •9.1.2 Принцип работы pop
- •9.1.4 Просмотр сообщений на pop3 сервере с помощью Telnet
- •9.2 Протокол imap
- •Imap, как стандарт, пока не принят, он остается "предложенным стандартом"!!!
- •9.2.1 Принцип работы imap
- •9.2.2 Атрибуты сообщений
- •9.2.3 Некоторые команды imap
- •9.2.4 Пример работы imap4
- •9.2.5 Просмотр сообщений на imap4 сервере с помощью Telnet
- •10.1 Адресация в сети Internet.
- •10.1.1 Типы адресов.
- •Классы адресов
- •10.2 Протокол ip
- •10.2.1 Межсетевой уровень и протокол ip.
- •10.3 Статическая маршрутизация.
- •10.3.1 Таблицы маршрутизации.
- •10.3.1 Маршрутизация без маски (на классах).
- •10.3.1 Маршрутизация с маской (cidr).
- •10.4 Протокол надежной доставки сообщений tcp
- •10.4.1 Понятие сокета:
- •10.4.2 Соединения tcp:
- •10.4.3 Диаграмма состояний tcp:
10.4.2 Соединения tcp:
Соединение TCP является полнодуплексным, т.е. существуют два потока, прямой и обратный.
Поэтому каждое соединение определяется двумя сокетами. Локальный сокет может принимать участие во многих соединениях с различными чужими сокетами.
Полнодуплексное соединение, используется 2 сокета.
Все необходимые переменные для соединения хранятся в блоке управления передачей TCB (Transmission Control Block).
В TCB могут содержаться:
сокеты
номера очередей
флаги безопасности и приоритета
и т.д.
Состояния TCP соединения:
LISTEN - ожидает запроса на соединение от удаленного TCP-модуля, чужой сокет равен нулям.
SYN-SENT - ожидание ответа на соединение, после посылки запроса на соединение.
SYN-RECEIVED - ожидание подтверждения на соединение, после посылки обоих предыдущих запросов.
ESTABLISHED - состояние установленного соединения, стадия передачи данных.
FIN-WAIT-1 - ожидание запроса завершения соединения от удаленного TCP-модуля, или подтверждения запроса завершения соединения, предварительно посланного.
FIN-WAIT-2 - ожидание запроса завершения соединения от удаленного TCP-модуля.
CLOSE-WAIT - ожидание запроса завершения соединения от локального пользователя..
CLOSING - ожидание подтверждения запроса завершения соединения от удаленного TCP-модуля.
LAST-ACK - ожидание подтверждения запроса завершения соединения, предварительно посланного удаленному TCP-модулю (который включает подтверждение его запроса завершения соединения).
TIME-WAIT - время ожидания, что удаленный TCP-модуль получил подтверждение его запроса завершения соединения.
CLOSED - TCP-модуль закрыт для любого подключения.
Алгоритм установки TCP-соединения
Алгоритм установки соединения:
Клиент посылает SYN-сегмент (SYN=1), и порядковый номер ISN=J (initial sequence number - первоначальный порядковый номер). Раньше ISN просто приравнивали 0, но сейчас, как правило, это случайное число, это сделано, что бы усложнить атаки с помощью подмены IP-адреса и исключить попадания пакетов с одинаковыми номерами.
Сервер откликается, посылая свой SYN-сегмент (SYN=1), содержащий свой ISN=K. И AS=ISN +1=J+1.
Клиент отправляет подтверждение получения SYN-сегмента от сервера с AS=ISN +1=K+1 и SN=J+1.
Начинается передача данных. При передачи данных в серийном номере .
Это один из вариантов соединения остальные можно посмотреть в RFC-793.
10.4.3 Диаграмма состояний tcp:
Для более простого восприятия сделана диаграмма состояний TCP, но ею нельзя пользоваться как спецификацией.
Диаграмма состояний TCP (упрощенная, полная в RFC-793)
