IPTrafiperfреализуют разделение потоков данных между приложениями на одном компьютере, таким образом, что несколько приложений могут использовать одно и то же сетевое подключение. Разделение осуществляется с помощью портов ( числовых номеров ). Другими словами, для данного транспортного протокола на данном IP-адресе приложение резервирует порт для сетевого взаимодействия (другое приложение этот порт уже не может использовать). Нумерации портов различных протоколов транспортного уровня не пересекаются.
Взаимодействие между приложениями осуществляется посредством сокетов ( пара IP-адрес:порт ): на каждом из взаимодействующих узлов создается сокет, с которым связаны входной и выходной потоки для передачи данных (рис 7.1).
(рис 7.1) Пример клиент-серверного взаимодействия на основе сокетовИнформация об используемых портах записывается в заголовок единицы передачи протокола транспортного уровня.
В качестве транспорта для IP используются два протокола:
За наиболее популярными
$ cat /etc/services | grep "^http\|^ssh\|^www\|^pop3\|^smtp\|^ftp" ftp-data 20/tcp ftp 21/tcp ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp smtp 25/tcp mail www 80/tcp http # WorldWideWeb HTTP www 80/udp # HyperText Transfer Protocol pop3 110/tcp pop-3 # POP version 3 pop3 110/udp pop-3 https 443/tcp # http protocol over TLS/SSL https 443/udp ftps-data 989/tcp # FTP over SSL (data) ftps 990/tcp pop3s 995/tcp # POP-3 over SSL pop3s 995/udp http-alt 8080/tcp webcache # WWW caching service http-alt 8080/udp # WWW caching service
Содержимое файла /etc/services имеет рекомендательный характер, т. е. администратор системы
может использовать нестандартные значения портов для сетевых служб. В Linux порты младше 1024 могут быть
задействованы только
Максимальное количество портов, которое может использовать протокол определяется размером соответствующих полей в заголовке транспортного уровня (16 бит для TCP и UDP ).
Для получения информации о работе транспортного уровня на узле можно использовать утилиту ss из
пакета iproute2 или утилиту netstat.
# ss -4antu Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 *:67 *:* tcp LISTEN 0 128 *:22 *:* tcp ESTAB 0 0 192.168.1.1:55469 192.168.1.10:22 tcp ESTAB 0 0 192.168.56.102:22 192.168.56.1:50405
В данном примере локальный порт UDP/67 используется некоторой службой на всех IP-адресах узла
(первая строка); локальный порт TCP/22 ожидает ( ) подключений на всех IP-адресах
(вторая строка); с удаленного адреса 192.168.56.1 установлено соединение ( ESTAB ) со службой,
использующей локальный порт TCP/22 (последняя строка); с локальной системы также установлено клиентское
подключение с удаленной службой на узле 192.168.1.10, использующей удаленный порт TCP/22 (третья строка).
Ключ -4 указывает выводить сведения по протоколу , -a — выводить всю
информацию, -n -выводить узлы и порты в числовом виде; -t — протокол TCP, -u — протокол UDP. Для того, чтобы узнать какие процессы используют сетевые соединения в
команде ss следует использовать ключ -p. Ключ -l отображает только слушающие
порты. Более подробную информацию о команде ss можно получить на странице руководства ( man
ss ).
# netstat -4antu Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 192.168.1.1:55469 192.168.1.10:22 ESTABLISHED tcp 0 0 192.168.56.102:22 192.168.56.1:50405 ESTABLISHED udp 0 0 0.0.0.0:67 0.0.0.0:*
Используемые в данном примере ключи netstat аналогичны ключам ss в предыдущем примере.
Более подробную информацию о команде netstat можно получить на странице руководства ( man
netstat ).
Утилита IPTraf представляет собой интерактивное средство отображения постоянно обновляемой сетевой
статистики с текстовым интерфейсом на основе библиотеки . IPTraf способна отображать различные данные, включая информацию по TCP, счетчики UDP и ICMP, загрузку сети Ethernet, статистику узла и т. д.
Для установки IPTraf из стандартных Debian можно использовать команду:
# apt-get install iptraf
Для использования IPTraf необходимы полномочия IPTraf запускается в
интерактивном режиме. После
Доступны следующие режимы просмотра:
Соответствующий режим отображения может быть установлен с помощью параметров, передаваемых IPTraf при
старте. Например, для показа детальной статистики интерфейса eth0
(рис 7.2) следует использовать ключ -d:
# iptraf -d eth0
Подробную информацию о ключах можно получить из руководства пользователя ( man iptraf ).
(рис 7.2) Детальная статистика интерфейса в IPTrafIPTraf
, .Утилита iperf является простейшим средством для
тестирования пропускной способности между двумя сетевыми узлами. Iperf представляет собой
генератор .
Для установки данной утилиты из
# apt-get install iperf
Для тестирования сетевого соединения на одном из узлов iperf,следует запустить в режиме сервера
(ключ -s ):
# iperf -s
а на другом — в режиме клиента (ключ -c с указанием адреса сервера):
$ iperf -c 192.168.1.12
$ iperf -c 192.168.1.12 ------------------------------------------------------------ Client connecting to 192.168.1.12, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.1.3 port 51670 connected with 192.168.1.12 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 85.4 MBytes 71.6 Mbits/sec
По умолчанию iperf использует протокол TCP. Для использования -u. Более подробную информацию о параметрах iperf можно получить в руководстве
пользователя ( man iperf ).
Протоколы прикладного уровня
Прикладные протоколы обеспечивают доступ к прикладным
Наиболее известные прикладные протоколы:
Многие протоколы прикладного уровня имеют защищенные версии, позволяющие шифровать передаваемую информацию между клиентом и сервером, а также идентифицировать участников сетевого взаимодействия ( SSL и TLS ).
Для задачи диагностики прикладных протоколов полезна утилита telnet, которая обычно присутствует в
современных дистрибутивах Linux и позволяет пользователю взаимодействовать с текст-ориентированными TCP -сервисами средствами
Установка утилиты telnet:
# apt-get install telnet
Основными параметрами telnet выступают имя или адрес сервера и порт.
# telnet 192.168.1.10 110 Trying 192.168.1.10... Connected to 192.168.1.10 Escape character is '^]'. +OK test.local Zimbra POP3 server ready user testuser +OK hello testuser, please enter your password pass testpassword +OK server ready list +OK 6 messages 1 4763 2 7581 3 3348 4 4449 5 2437 6 3350 quit +OK test.local closing connection Connection closed by foreign host.
В данном примере с помощью утилиты telnet осуществляется подключение по протоколу POP3 к
почтовому серверу (192.168.1.10), слушающему на 110 порту. Клиент передает команды, завершая их переводом строки
( user, pass, list, quit ), а сервер каждую команду выполняет. Прикладной протокол POP3
используется клиентом для работы с почтовым ящиком на сервере; как видно из примера является диалоговым
текст-ориентированным протоколом.
Используя telnet можно работать с такими текст-ориентированными протоколами как HTTP, POP3, SMTP и т. д. Можно также просто проверять наличие службы на данном порту без знания
непосредственно синтаксиса протокола.
Порт — номер, используемый для идентификации канала передачи приложения, работающего по данному протоколу транспортного уровня.
Сокет — оконечная точка канала связи, с помощью которой приложение может использовать сетевое подключение (пара IP-адрес:порт однозначно определяющая сетевой процесс).
ТСP (Transmission Control Protocol) — протокол транспортного уровня с установлением соединения,
UDP (User Datagram Protocol) — протокол транспортного уровня без установления соединения и не гарантирующий доставку.
Сегменты — единицы передачи протокола TCP.
Датаграммы — единицы передачи протокола UDP.
Клиент-серверная архитектура — подход к организации информационной системы, при котором сетевая нагрузка распределены между сервером (поставщиком услуг) клиентом (потребителем услуг).
HTTP (HyperText Transfer Protocol) - прикладной протокол передачи WEB-контента.
SMTP (Simple Mail Transfer Protocol) — прикладной почтовый протокол, используемый для отправки сообщений электронной почты и взаимодействия серверов электронной почты друг с другом.
POP3 (Post Office Protocol Version 3) — прикладной почтовый протокол, используемый программой-клиентом электронной почты для получения корреспонденции с сервера.
IMAP (Internet Message Access Protocol) — протокол прикладного уровня для доступа к электронной почте с расширенными возможностями.
FTP (File Transfer Protocol) — прикладной протокол, используемый для передачи файлов
SSL (Secure Sockets Layer) - криптографический протокол обеспечивающий защищенное соединение между клиентом и сервером.
TLS (Transport Layer Security) — открытая версия протокола SSL.
ss и netstat позволяют получить различную информацию об активных сетевых соединениях и
открытых портах.IPTraf позволяет в " режиме реального времени" получать информацию о работе сети и
взаимодействии систем друг с другом.iperf.netstat Windows определите, какие TCP и UDP -порты открыты на Вашем компьютере.iperf, протестируйте
пропускную способность виртуальной сети VirtualBox.Укажите более вероятную причину:
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.