Порты как заголовки транспортного уровня. брандмауэр.

Приходящие на устройство пакеты, опознанные нижними уровнями данного устройства как «свои» должны быть переданы протоколам верхних уровней. Предположим, что одновременно на одном устройстве пользователь просматривает сайты, принимает почту и общается с использованием мессенджера. Приходящий пакет может быть как фрагментом сайта, так и фрагментом письма, либо содержать фрагмент принимаемого сообщения. Для идентификации сетевой службы, которой надо отправить данный пакет на транспортном уровне в пакет добавляется заголовок транспортного уровня – так называемый порт.

Сетевой порт представляет собой число от 1 до 65535, указанное и известное обоим приложениям, между которыми устанавливается связь. Комбинация IP-адреса и порта называется сокетом (socket), она должна быть уникальной в компьютере. Например, 192.168.4.38:80.

Часть номеров портов с 0 по 1023 зарезервирована под сервисные службы. Например, web-клиент, как правило, посылает запрос на web-сервер на TCP-порт 80. Запрос DNS на DNS-сервер по целевому адресу на UDP-порт 53. Запрос DHCP на DHCP-сервер по широковещательному адресу на UDP-порт 67.

Приложения пользователя, как правило, используют номера, начиная с 1024.

порты как заголовки транспортного уровня. брандмауэр. - student2.ru

При взаимодействии по протоколам TCP или UDP на обоих взаимодействующих устройствах открываются порты с какими-либо номерами. Приходящие на устройство пакеты отправляются той службе, порт которой указан как порт получателя. Ответный пакет (если согласно протоколу предусмотрен) адресуется на порт получателя. Номера портов либо известны заранее, либо согласуются в рамках установки соединения.

Для защиты от нежелательных сетевых проникновений на устройство рекомендуется использовать брандмауэр – программное средство защиты портов от проникновений. Термин «брандмауэр» происходит от немецкого «Brandmauer» (Brand — пожар и Mauer — стена); аналогичный ему термин – «файерволл» от английского firewall (fire – огонь, wall - стена).

При подключении брандмауэра все обращения по всем портам блокируются. Настройка брандмауэра позволяет открывать нужные пользователю порты. При получении пакета происходит сравнение номера порта пакета со списком разрешенных обращений. Если обращение разрешено, пакет пропускает выше. В противном случае пакет отклоняется.

порты как заголовки транспортного уровня. брандмауэр. - student2.ru

Подобные службы могут располагаться и на коммутационном оборудовании: как правило, маршрутизаторы также имеют в качестве дополнительных возможностей Wirewall или так называемые ACL (Access Control List) – списки контроля доступа, которые анализируют входящий и исходящий трафик маршрутизатора и принимают решение о прохождении или отклонении пакета.

TCP

TCP (Transmission Control Protocol) считается надежным протоколом передачи данных между двумя устройствами. Для обеспечения надежности в данный протокол включены средства:

  • установления соединения с согласованием параметров предстоящего обмена
  • обмен информацией с обязательным подтверждение приема всех пакетов
  • возможность управления потоком данных для повышения скорости передачи информации или, напротив, при увеличении ошибок, для понижения скорости.
  • контроль ошибок и восстановление информации
  • завершения соединения

Очевидно, что для обеспечения всех перечисленных возможностей требуется передача дополнительной служебной информации транспортного уровня в заголовках пакета, передаваемому по протоколу TCP. Передача дополнительной информации, а также – обязательные подтверждения получения переданных данных, снижают общую скорость передачи данных.

TCP разбивает данные на сегменты (иначе пакеты транспортного уровня называются дейтаграммы). Каждый сегмент получает свой порядковый номер.

TCP, как протокол транспортного уровня допускает, что пакеты будут доставлены сетевым уровнем разными маршрутами, таким образом, на стороне получателя необходимо будет произвести восстановление исходного порядка сегментов.

порты как заголовки транспортного уровня. брандмауэр. - student2.ru

Начало обмена между устройствами производится согласно TCP по трехстороннему рукопожатию: одно устройство заявляет о желании обмениваться данными, на что второе должно подтвердить отмен и согласовать параметры устанавливаемого соединения. Первое в соответствии с протоколом также дает подтверждение со своей стороны.

порты как заголовки транспортного уровня. брандмауэр. - student2.ru

Открываемое соединение допускает двусторонний обмен потоками данных.

При отправлении непосредственно данных на каждую порцию данных должно прийти подтверждение приема. Отправляющая сторона, передавая очередную порцию данных, запускает у себя таймер. Если до окончания истечения таймера приходит подтверждение, данные считают успешно доставленными. Если по истечении времени таймера подтверждения не приходит, то отправитель считает, что данные не получены и отправляет эти данные заново, заново устанавливая таймер.

Для повышения скорости обмена можно передавать подтверждение не на каждую порцию данных отдельно, а одно подтверждение на несколько порций данных – установить так называемый размер окна. Размер окна определяет, сколько данных можно передать без подтверждения.

Завершение обмена происходит с закрытием соединения: для этого каждое устройство должно сообщить об отсутствии у него данных для передачи.

порты как заголовки транспортного уровня. брандмауэр. - student2.ru

UDP

UDP (User Datagram Protocol) называют ненадежным протоколом доставки. Причиной тому то, что UDP не обеспечивает подтверждения доставки отправленных пакетов. UDP не устанавливает соединения, не подтверждает прием информации и не производит восстановление верного порядка отправленных сегментов. Протокол UDP только отправляет пакеты, снабдив каждый пакет портами отправителя и приемника.

Тем самым UDP обеспечивает минимальный объем дополнительной (служебной ) информации и высокую скорость передачи информации.

порты как заголовки транспортного уровня. брандмауэр. - student2.ru

UDP используется службами и приложениями, которым не обязательна гарантированная доставка данных. Либо само приложение обеспечивает контроль целостности и повтор передачи данных, либо вышележащий протокол не требуется подтверждения приема. Примером могут служить передача голосовых или видеоданных, для которых потеря части информации ухудшает качество предоставляемых услуг, но не менее, – не критична. Или протокол DHCP (подробное описание которого приведено далее), который по своей сути не предполагает обязательно ответа на запросы.

UDP используется следующими протоколами верхних уровней:

· Служба доменных имен (DNS)

· Простой протокол управления сетью (SNMP)

· Протокол DHCP

· Протокол RIP

· Простой протокол передачи файлов (TFTP)

· IP-телефония или передача голосовой информации по протоколу IP (VoIP)

  • Онлайн-игры

Наши рекомендации