4.2. Транспортный уровень модели OSI
|
||
Единица данных: сегмент (segment), дейтаграмма (datagram)
Тип адресов: порт (port)
|
||
Протоколы: TCP, UDP, SPX и др.
|
4.2.1 Порты
IP-адрес отражает одно сетевое соединение.
Как же взаимодействовать отдельным приложениям друг с другом?
0 |
.
.
1023
Стандартизированные – зарегистрированы для общеизвестных приложений.
1024
.
.
5000
Временные – для использования в различных приложениях.
5001
.
.
65535
Пользовательские – для использования в различных приложениях.
Порты некоторых служб:
0 – Зарезервировано
20 – FTP (data)
21 – FTP (command)
22 – SSH
23 – Telnet
25 – SMTP
67, 68 – DHCP
80 – WWW
53 – DNS
110 – POP3
137-139 – NetBIOS
443 – SSL
1433 – MS SQL
3389 – RDP
5190 – ICQ
5500 – VNC
4.2.2 Протокол TCP
- Протокол TCP (Transmission Control Protocol) – протокол транспортного уровня
- Стек TCP/IP
- Протокол с предварительным установлением соединения.
- Протокол реализует механизм надежности доставки данных
- Единицей данных является сегмент (segment)
- Сегмент имеет порт отправителя и порт получателя
- Порт отправителя идентифицирует приложение на клиентском узле, аналогично порт получателя — приложение на узле сервера.
Формат TCP-сегмента:
URG — Поле «Указатель важности задействовано»
ACK — Поле «Номер подтверждения задействовано»
PSH —инструктирует получателя протолкнуть данные, накопившиеся в приемном буфере, в приложение пользователя
RST — Оборвать соединения, сбросить буфер (очистка буфера)
SYN — Синхронизация последовательности номеров сегментов
FIN — указывает на завершение соединения
4.2.3 Протокол UDP
- Протокол UDP (User Datagram Protocol) – протокол транспортного уровня
- Стек TCP/IP
- Протокол без предварительного установления соединения
- Протокол без механизма надежной доставки сообщений
- Единицей данных является дейтаграмма (datagram)
- Дейтаграмма имеет порт отправителя и порт получателя
- Обмен данными по одному TCP-порту не мешают обмену по тому же UDP-порту.
Формат UDP-сегмента:
дублирование
При передаче больших данных:
- потоковое видео,
- игры реального времени,
- в случае передачи больших объемов данных нескольким клиентам.
При передаче коротких сообщений:
- Когда подтверждение получения не требуется
- Когда устанавливать соединение слишком накладно
4.2.4 Установка TCP-соединения
4.2.5 Разрыв TCP-соединения
4.2.6 Скользящее окно (Sliding window)
Если для получения требуется большой тайм-аут, отправитель может снизить размер окна.
Если сеть загружена на маршрутизаторах, то они посылают сообщения об уменьшении окна.
4.2.7 Механизм квитирования
Чтобы не отправлять отдельные квитанции на все принятые сегменты, получатель отправляет квитанцию с запросом следующего за успешно принятым байтом.
ACK_NUM = SEQ_NUM+1
Если квитанция НЕ получена: |
сегмент искажен |
тогда сегмент дублируется. |
сегмент не получен |
||
квитанция утеряна |
4.2.8 Межсетевой экран (firewall)
Файервол устанавливается:
- На внешний порт шлюза в другие сети.
- На порты клиентов сети.
Файервол фильтрует трафик по критериям:
- По направлению (входящий/исходящий)
- По протоколу (TCP/UDP)
- По IP адресам отправителя и получателя
- По портам отправителя и получателя
- По любому полю заголовков TCP/IP и др.
Настройки файервола описываются в виде правил трех видов:
Allow – разрешить
Deny – запретить
Diver – перенаправить
Пример правил:
N |
(Allow, Deny, Diver) <пакеты> from IP1:port1 to IP2:port2 |
1 |
Allow TCP from any to IP1:80 setup |
2 |
Allow TCP from any to any |
3 |
Divert IP2:80 TCP from any to IP1:80 |
4 |
Deny all from any to any |
4.2.9 Сетевая трансляция адресов (NAT)
Пусть есть две LAN-сети, подключенных к Интернет:
Сетевая трансляция адресов (Network Address Translation, Network Masquerading) — механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов.
NAT –реализуют аппаратно или программно на маршрутизаторе или сервере.
Local IP | Local Port | Glob. IP | Glob. Port |
10.0.0.3 | 8089 | 85.32.1.8 | 80 |
10.0.0.3 | 80 | 2165 | |
10.0.0.7 | 3786 | 1354 | |
10.0.0.7 | 6875 | 8726 |
4.2.10 SNAT и DNAT
NAT |
|
Схема преобразования адресов NAT
4.2.11 IP-спуфинг (IP-spoofing)
Сравнительно легко атака осуществима через UDP протокол
В некоторых случаях возможна в TCP-соединениях.
На сетевом уровне атака частично предотвращается с помощью фильтра пакетов.
Он не должен пропускать пакеты, пришедшие через те сетевые интерфейсы, откуда они прийти не могли.
Например, с внешнего интерфейса с «серым» адресом отправителя.
Основан на подборе SeqNum. Возможно лишь в старых ОС. Современные ОС пытаются предотвращать угадывание.
(1 458 views)