13. Сеть TCP/IP
Обзор протокола TCP/IP
Термин "TCP/IP" обозначает два разных
протокола — TCP и IP. Поскольку эти протоколы обычно
используются совместно, понятие "TCP/IP" стало стандартным в
современном Интернете. В сущности, оно характеризует сетевые
средства связи, в которых данные передаются по IP-сетям с
помощью протокола TCP.
Эта глава включает в себя
сведения о том, как настроить протокол TCP/IP в сети на
основе ОС QNX Neutrino. Кроме того, она содержит информацию
о разрешении неполадок и другие подробности, которые важны с
точки зрения системного администрирования. Сеть TCP/IP на
основе QNX Neutrino обеспечивает доступ к ресурсам, которые
расположены на любом удаленном компьютере, поддерживающем
стек протоколов TCP/IP.
Клиенты и серверы
Существуют два типа
TCP/IP-хостов: клиенты и серверы. Клиент запрашивает службу
TCP/IP, а сервер предоставляет ее. При планировании сети
необходимо решить, какие хосты будут серверами, а
какие — клиентами.
Например, компьютер, который
посылает запросы на соединение через
протокол telnet, должен быть настроен как
клиент, а компьютер, который принимает эти запросы — как
сервер.
Хосты и шлюзы
В терминологии протокола
TCP/IP компьютеры, которые доступны по сети, называются хостами
(host) или шлюзами (gateway).
-
Хост — узел с работающим протоколом
TCP/IP, который не пересылает IP-пакеты в другие
TCP/IP-сети. Как правило, хост имеет единственный
интерфейс (сетевую плату) и является адресатом или
источником TCP/IP-пакетов.
-
Шлюз — узел с работающим протоколом
TCP/IP, который пересылает IP-пакеты в другие
TCP/IP-сети в соответствии со своей таблицей
маршрутизацией. Эти системы включают в себя два и более
сетевых интерфейса. Если TCP/IP-хост имеет доступ к
Интернету, то в сети этого хоста должен присутствовать
шлюз.
Примечание.
Для того чтобы воспользоваться протоколом TCP/IP,
необходимо знать IP-адрес
локального хоста и IP-адрес
хоста, к которому требуется подключиться. Обычно обращение к
удаленному хосту осуществляется по текстовому имени, которое
разрешается в IP-адрес с помощью
сервера имен.
Серверы имен
Сервер имен
(nameserver) представляет собой базу данных, которая
содержит имена и IP-адреса хостов. Доступ к TCP/IP- и
интернет-хостам обычно осуществляется через текстовое имя
(например, www.qnx.com) и механизм, который
преобразует имя в IP-адрес (например, 209.226.137.1).
Самый простой способ создать
такую привязку — воспользоваться таблицей в файле /etc/hosts. Этот метод эффективен в
сетях небольшого и среднего масштаба. Если сеть включает в
себя много хостов или не является внутренней, то необходимо
использовать сервер имен (например, для подключения
к поставщику услуг Интернета).
При подключении к
TCP/IP-хосту с использованием имени у сервера имен
запрашивается соответствующий IP-адрес, а затем
осуществляется соединение с этим IP-адресом. Сервер имен
может быть задан следующими способами:
-
записью в конфигурационной строке _CS_RESOLVE, которая считывается из
конфигурационного файла (по умолчанию /etc/net.cfg);
-
записью в файле /etc/resolv.conf, например:
nameserver
10.0.0.2
nameserver
10.0.0.3
Для того чтобы
сконфигурировать сеть и задать серверы имен, можно
воспользоваться инструментом настройки протокола TCP/IP и
коммутируемых соединений графической оболочки Photon под
названием phlip. Утилита phlip присваивает значение
конфигурационной строке _CS_RESOLVE. Эту конфигурационную
строку можно также задавать вручную. Если строка _CS_RESOLVE существует, то она всегда
используется для поиска сервера имен вместо файла /etc/resolv.conf.
Более подробные сведения о
поиске имен хостов и серверов имен в TCP/IP-сетях см. в
разделах /etc/hosts и /etc/resolv.conf справочника по утилитам.
Примечание. Если
сервер имен не отвечает, то существует таймаут по 1,5 минуты
на каждый сервер. Этот таймаут не может быть изменен, но
многие утилиты TCP/IP имеют опцию -n, которую можно
использовать, что бы избежать поиска имени.
Маршрутизация
Маршрутизация определяет,
как пакет передается адресату. Существуют следующие
категории маршрутизации.
Хост
устанавливает соединения только с теми хостами, которые
находятся в его сети. Например, минимальная маршрутизация
используется в изолированной сети.
Если сеть
включает в себя небольшое и постоянное число шлюзов, то
можно настроить и сохранить таблицы маршрутизации протокола
TCP/IP вручную с помощью команды route.
Эта
конфигурация используется очень часто. Если хост имеет
доступ к Интернету, то он обычно добавляет один статический
маршрут, который называется маршрутом по умолчанию
(default route). Этот маршрут
направляет все TCP/IP-пакеты, которые отправляются данным
хостом и не адресованы какому-либо хосту локальной сети, на
шлюз, который обеспечивает доступ к Интернету.
Если в сети
существует более одного пути к одному и тому же хосту, то,
возможно, требуется использовать динамическую маршрутизацию.
При динамической маршрутизации информация об изменении
состояния сети распространяется с помощью протоколов
маршрутизации. Если необходимо реагировать на эти изменения,
то следует запустить утилиту routed, которая реализует
протоколы RIP (Routing Information Protocol, протокол
маршрутной информации) и RIPv2.
Маршрутизацию и протоколы
маршрутизации часто путают друг с другом. Маршрутизация в
стеке TCP/IP определяется с помощью таблиц маршрутизации, а
протоколы маршрутизации позволяют изменять эти таблицы.
Программные компоненты сети TCP/IP
Для использования протокола
TCP/IP необходимы следующие программные компоненты
(рис. 13.1):
-
io-pkt* — администратор, который
обеспечивает поддержку динамически загружаемых сетевых
модулей. Он включает полнофункциональный стек TCP/IP
основанный на коде base.io-net
операционной системы NetBSD;
-
сетевые драйверы (devn-*, devnp-*) — администраторы,
которые реализуют интерфейс с
оборудованием.
Параметры конфигурации
задаются с помощью утилит ifconfig и route.
Если используется протокол динамического
конфигурирования хостов (Dynamic Host Configuration Protocol, DHCP), то, независимо от
версии стека TCP/IP, можно воспользоваться утилитой dhcp.client для того, чтобы
автоматически задать конфигурационные параметры, которые
предоставляет DHCP-сервер.
Примечание. Программа распознавания
устройств автоматически запускает администратор io-pkt* при загрузке операционной
системы, а затем загружает полнофункциональный стек TCP/IP и
запускает драйверы обнаруженных устройств. Если при загрузке
требуется использовать компактный стек или задавать
какие-либо параметры (например, включать протокол IPSec), то необходимо отредактировать
файлы распознавания устройств. Более подробные сведения и пример
см. в
подразд. "Распознавание устройств" раздела 8.
Рис. 13.1. Компоненты
протокола TCP/IP в операционной системе QNX Neutrino
Стек TCP/IP,
основан на стеке TCP/IP операционной системы NetBSD и
поддерживает схожие с ним возможности. Если для
конфигурирования полнофункционального стека не используется
утилита phlip (инструмент настройки
протокола TCP/IP и коммутируемых соединений графической
оболочки Photon), то необходимо воспользоваться утилитами ifconfig и route, как показано далее,
поскольку конфигурировать полнофункциональный стек с помощью
командно-строковых аргументов по аналогии с компактным
стеком нельзя.
Для задания IP-адреса
интерфейса следует воспользоваться утилитой ifconfig. Чтобы назначить сетевому
интерфейсу IP-адрес 10.0.0.100, необходимо ввести команду:
ifconfig if_name 10.0.0.100
where
if_name
is the interface name that the driver uses.
Если требуется также указать шлюз, следует ввести команду route:
route add default 10.0.0.1
Эта команда устанавливает IP-адрес шлюза 10.0.0.1.
Чтобы затем
просмотреть сетевую конфигурацию, следует воспользоваться
командой netstat (команда netstat -in отображает информацию о
сетевых интерфейсах):
Name
Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
lo0 32976 <Link> 0 0 0
0 0
lo0 32976 127 127.0.0.1 0 0
0 0 0
en0 1500 <Link>
00:50:da:c8:61:92 21 0 2 0 0
en0 1500
10 10.0.0.100 21 0 2 0 0
Чтобы
отобразить информацию о таблице маршрутизации в полном
стеке, следует воспользоваться командой netstat -rn. Ее результат выглядит так:
Routing
tables
Internet:
Destination Gateway Flags Refs
Use Mtu Interface
default 10.0.0.1 UGS 0 0
— en0
10 10.0.0.100 U 1 0 — en0
10.0.0.100 10.0.0.100 UH 0 0
— lo0
127.0.0.1 127.0.0.1 UH 0 0
— lo0
Эта таблица показывает, что маршрут по умолчанию задан и его
IP-адрес равен 10.0.0.1.
Запуск интернет-серверов
Если хост является сервером, то он
запускает соответствующий сервис для обслуживания клиентских
запросов. Сервер TCP/IP обычно запускает сервис inetd, который также называют
"суперсервером Интернета". Сервис inetd можно запустить из файла rc.local (см. описание файла /etc/rc.d/rc.sysinit в разделе 8).
Предупреждение.
Запуск сервиса inetd дает внешним пользователям
возможность подключаться к локальному компьютеру, поэтому
его ненадлежащая настройка способна вызвать проблемы с
безопасностью.
В сети TCP/IP сервис inetd ожидает соединений через
порты со стандартными номерами, которые указаны в файле /etc/inetd.conf. После получения запроса
утилита inetd запускает соответствующий
серверный сервис. Например, если клиент запрашивает
удаленное подключение к хосту с помощью утилиты rlogin, то для обслуживания этого
запроса сервер inetd запускает сервис удаленного
подключения rlogind. В большинстве случаев
клиентские запросы обслуживаются таким способом.
Сервисы, которые может
запускать утилита inetd, задаются в
конфигурационном файле суперсервера /etc/inetd.conf. Версия этого файла,
которая входит в дистрибутив ОС QNX Neutrino, содержит все
сервисы TCP/IP, имеющиеся в дистрибутиве, а также некоторые
нестандартные службы утилиты pidin. Редактировать файл /etc/inetd.conf необходимо лишь тогда,
когда требуется добавить или удалить определения сервисов.
Утилита inetd считывает конфигурационную
информацию из этого файла при запуске. Файл /etc/inetd.conf включает в себя следующие
часто используемые сервисы.
-
ftpd — передача файлов;
-
rlogind — удаленный вход в
систему;
-
rshd — удаленный
командный интерпретатор;
-
telnetd — удаленный
терминальный сеанс;
-
tftpd — простейший
протокол передачи файлов, который разработан Управлением
перспективных исследовательских проектов (DARPA).
Примечание.
Сервисы,
которые
перечислены в этом файле, не следует запускать вручную; они
должны запускаться сервером inetd.
Запуск сервисов rshd и rlogind открывает доступ к
локальному компьютеру извне. Для задания доверенных
пользователей необходимо воспользоваться файлом /etc/hosts.equiv или ˜/.rhosts, однако следует быть очень
внимательным.
Существуют и другие
резидентные сервисы, которые могут работать независимо от
сервера inetd (их описания приведены в
руководстве "Описание программы. Часть 1. Справочник по
утилитам" КПДА.10964-01 13 01):
-
bootpd — сервер протокола
интернет-загрузки;
-
dhcpd — сервис протокола
динамического конфигурирования хостов;
-
lpd — сервис
построчного принтера (см. раздел 14);
-
mrouted — сервис протокола
дистанционной векторной групповой многоадресной
маршрутизации (Distance-Vector Multicast Routing Protocol, DVMRP);
-
named — сервер доменных
имен Интернета;
-
ntpd — сервис сетевого
протокола времени (Network Time Protocol);
-
routed — сервис
протоколов маршрутизации RIP и RIPv2;
-
rwhod — база данных
состояний системы;
-
slinger — компактный Web-сервер;
-
snmpd — SNMP-агент;
-
nfsd — NFS-сервер.
Эти сервисы
прослушивают свои TCP-порты и управляют собственными
транзакциями. Они обычно запускаются при загрузке компьютера
и затем работают постоянно. Тем не менее, для экономии
системных ресурсов можно запускать сервис bootpd с помощью сервера inetd только при получении
запроса на загрузку.
Запуск нескольких экземпляров стека TCP/IP
В некоторых ситуациях
необходимо запускать несколько экземпляров стека протоколов
TCP/IP.
io-pkt-v4 -del900 pci=0x0
io-pkt-v4
-i1 -del900 pci=0x1 -ptcpip prefix=/sock2
Чтобы получить
PCI-индексы сетевых плат, можно воспользоваться командой pci -vvv. Если используются
различные типы сетевых плат, то указывать PCI-индекс не
обязательно.
Параметр -i во втором экземпляре стека
TCP/IP указывает утилите io-pkt-v4 зарегистрироваться под
префиксом io-pkt1. Параметр prefix указывает на то, что второй
стек должен быть зарегистрирован под префиксом /sock2/dev/socket вместо префикса по
умолчанию /dev/socket. Приложения, которым
необходимо использовать второй стек TCP/IP, должны задать
переменную окружения SOCK. Пример:
SOCK=/sock2 telnet 10.59
или
SOCK=/sock2 netstat -in
или
SOCK=/sock2 ifconfig en0
192.168.2.10
Если переменная
SOCK не задана, то команда использует первый стек
TCP/IP.
Динамически назначаемые параметры TCP/IP
Когда хост добавляется в
сеть или подключается к Интернету, необходимо задать его
адрес и некоторые другие конфигурационные параметры. Для
этого существует несколько распространенных механизмов:
-
поставщики сетевых услуг с коммутируемым
доступом используют протокол соединения "точка-точка" (Point-to-Point Protocol, PPP);
-
поставщики, которые предоставляют
широкополосный доступ такими методами, как цифровая
абонентская линия (Digital Subscriber Line,
DSL) или кабельное подключение, используют протокол
соединения "точка-точка" через среду Ethernet (Point-to-Point Protocol
over Ethernet,
PPPoE) или протокол DHCP;
-
как правило, в корпоративных сетях используется
протокол DHCP.
Серверы,
которые реализуют эти протоколы в корпоративной сети,
предоставляют клиенту IP-адрес, шлюз, маску сети, серверы
имен и даже принтер. Пользователям не обязательно
конфигурировать свои хосты вручную для того, чтобы
использовать сеть.
Операционная система QNX
Neutrino реализует еще один протокол автоматического
конфигурирования под названием AutoIP, который является
проектом комитета IETF по автоматической настройке. Этот
протокол используется в небольших сетях для назначения
хостам IP-адресов, локальных для канала (link-local).
Протокол AutoIP самостоятельно определяет IP-адрес,
локальный для канала, используя схему согласования с другими
хостами и не обращаясь к центральному серверу.
Использование протокола PPPoE
Сокращение PPPoE
расшифровывается как "Point-to-Point Protocol over
Ethernet" (протокол соединения "точка-точка" через среду
Ethernet). Этот протокол инкапсулирует данные для передачи
через сеть Ethernet с мостовой топологией.
PPPoE представляет собой
спецификацию подключения пользователей сети Ethernet к
Интернету через широкополосное соединение, например,
выделенную цифровую абонентскую линию, беспроводное
устройство или кабельный модем. Использование протокола
PPPoE и широкополосного модема обеспечивает пользователям
локальной компьютерной сети индивидуальный
аутентифицированный доступ к высокоскоростным сетям передачи
данных.
Протокол PPPoE объединяет
технологию Ethernet с протоколом PPP, что позволяет
эффективно создавать отдельное соединение с удаленным
сервером для каждого пользователя. Управление доступом, учет
соединений и выбор поставщика услуг определяется для
пользователей, а не для узлов сети. Преимущество этого
подхода заключается в том, что ни телефонная компания, ни
поставщик услуг Интернета не должен обеспечивать для этого
какую-либо специальную поддержку.
В отличие от коммутируемых
соединений, соединения через цифровую абонентскую линию и
кабельный модем всегда активны. Поскольку физическое
соединение с удаленным поставщиком услуг совместно
используется несколькими пользователями, необходим метод
учета, который регистрирует отправителей и адресатов
трафика, а также производит начисления пользователям.
Протокол PPPoE позволяет пользователю и удаленному узлу,
которые участвуют в сеансе связи, узнавать сетевые адреса
друг друга во время начального обмена, который называется обнаружением
(discovery). После того как сеанс
между отдельным пользователем и удаленным узлом (например,
поставщиком услуг Интернета) установлен, за этим сеансом
можно вести наблюдение для того, чтобы производить
начисления. Во многих домах, гостиницах и корпорациях общий
доступ к Интернету предоставляется через цифровые
абонентские линии с использованием технологии Ethernet и
протокола PPPoE.
Соединение через протокол
PPPoE состоит из клиента и сервера. Клиент и сервер работают
с использованием любого интерфейса, который близок к
спецификациям Ethernet. Этот интерфейс применяется для
выдачи клиентам IP-адресов с привязкой этих IP-адресов к
пользователям и, по желанию, к рабочим станциям, вместо
аутентификации на основе только рабочей станции. Сервер
PPPoE создает соединение "точка-точка" для каждого клиента.
Установка сеанса PPPoE
Для того чтобы создать сеанс
PPPoE, следует воспользоваться сервисом pppoed. Модуль io-pkt-* предоставляет
службы протокола PPPoE. Сначала необходимо запустить io-pkt-* с подходящим
драйвером. Пример:
io-pkt-v6-hc -del900
Затем следует создать сеанс связи с любым сервером с помощью
файла /etc/ppp/pppoe-up для того, чтобы запустить
сервис pppd:
pppoed
После этого следует создать сеанс связи с сервером, который
имеет имя PPPOE_GATEWAY:
pppoed
name=PPPOE_GATEWAY
Когда сеанс
PPPoE установлен, сервис pppoed использует сервис pppd для создания соединения
"точка-точка" через этот сеанс. Сервис pppd получает локальную
конфигурацию протокола TCP/IP от сервера (поставщика услуг
Интернета).
Запуск соединения
"точка-точка" через сеанс PPPoE
Для установления каналов
связи "точка-точка" через протокол TCP/IP программе pppoed необходим сервис pppd. При запуске сервиса pppd необходимо воспользоваться
несколькими параметрами, которые специфичны для его работы
через сеанс PPPoE. Пример файла /etc/ppp/pppoe-up:
#!/bin/sh
pppd debug
/dev/io-net/ppp_en -ac -pc -detach defaultroute \
require-ns mtu 1492 name
username
Для работы сервиса pppd с сервисом pppoed обязательны следующие
параметры.
-
-ac -pc — обязательные
параметры, которые отключают сжатие пакетов;
-
-detach — параметр,
который не позволяет утилите pppd работать в режиме
сервиса. Это дает программе pppoed возможность получить
информацию о том, что сеанс утилиты pppd завершен. Данный
параметр можно опустить, если воспользоваться параметром
scriptdetach сервиса pppoed;
-
mtu 1492 — следует задать
максимальный размер передаваемых данных, который
поддерживается протоколом PPPoE. Этот размер равен
разности размера пакета Ethernet и размера служебных
данных инкапсуляции протокола PPPoE.
Примечание. Если при подключении
сервиса pppoed к некоторым сайтам
Интернета возникают проблемы, см. "PPPOE
and Path MTU Discovery" в электронном
руководстве
"Neutrino Technotes".
Использование протокола DHCP
Хост TCP/IP использует
протокол DHCP (Dynamic Host Configuration
Protocol, динамический протокол
конфигурирования хостов) для получения своих
конфигурационных параметров (IP-адреса, шлюза, серверов имен
и т. д.) у DHCP-сервера, который содержит
конфигурационные параметры всех хостов сети.
Утилита dhcp.client, которая является
DHCP-клиентом операционной системы QNX Neutrino, получает
эти параметры и автоматически конфигурирует хост для
использования Интернета или локальной сети.
Если утилита dhcp.client не может применить
конфигурационные параметры, которые предоставлены
DHCP-сервером, она передает эти параметры сценарию, который
она исполняет. Этот сценарий можно использовать для
применения любых параметров, которые не устанавливаются
утилитой dhcp.client. Более подробные сведения
см. в разделе о dhcp.client справочника по утилитам.
Использование протокола AutoIP
AutoIP представляет собой модуль,
который необходимо смонтировать в администратор io-pkt*. Этот модуль используется
для быстрого конфигурирования хостов в небольшой сети.
Протокол AutoIP назначает своему интерфейсу IP-адрес,
локальный для канала, из сети 169.254/16, если этот адрес не
используется никаким другим хостом. Преимущество протокола
AutoIP состоит в том, что необходимость в центральном
конфигурационном сервере отсутствует. Хосты самостоятельно
определяют, какие IP-адреса свободны для использования, и
отслеживают возникновение конфликтов.
Обычно хост использует
протоколы DHCP и AutoIP одновременно. Когда хост впервые
подключается к сети, он не располагает информацией о наличии
в сети DHCP-сервера. Если запустить программу dhcp.client с параметром –a (использовать IP-адрес как
псевдоним), то интерфейсу одновременно присваивается
IP-адрес, локальный для канала, и IP-адрес, который выдается
протоколом DHCP. Если DHCP-сервер отсутствует, то наступает
тайм-аут, в результате которого программа dhcp.client завершается и оставляет
активным IP-адрес, локальный для канала. Если позднее
DHCP-сервер становится доступным, то утилиту dhcp.client можно перезапустить и
применить IP-адрес, который выдает протокол DHCP, без помех
для TCP/IP-соединений, использующих IP-адрес, локальный для
канала.
Одновременная активность
адреса, который назначается протоколом DHCP, и IP-адреса,
локального для канала, обеспечивает связь с хостами, которые
имеют как IP-адреса, локальные для канала, так и обычные
IP-адреса. Более подробные сведения см. в разделах о lsm-autoip.so и dhcp.client в руководстве "Описание
программы. Часть 1. Справочник по утилитам" КПДА.10964-01 13
01.
Устранение неполадок
Для обнаружения неполадок,
которые возникают в сети TCP/IP (например, невозможность
передачи пакетов по сети), необходимо использовать несколько
утилит. Эти утилиты опрашивают хосты, серверы и шлюзы с
целью получения диагностической информации для локализации
неисправностей и отвечают на следующие типичные вопросы.
Как было
сказано ранее, администратор io-pkt* является связующим звеном
между драйверами и протоколами. Чтобы проверить наличие
неполадок в нем, следует воспользоваться командой pidin:
$ pidin -P io-pkt-v4 mem
Затем надо выполнить поиск разделяемого объекта протокола
TCP/IP в выводе этой команды:
pid tid name prio STATE code data
stack
126996 1 sbin/io-pkt-v4-hc 21o
SIGWAITINFO 872K 904K 8192(516K)*
126996 2 sbin/io-pkt-v4-hc 21o
RECEIVE 872K 904K 8192(132K)
126996 3 sbin/io-pkt-v4-hc 21r
RECEIVE 872K 904K 4096(132K)
126996 4 sbin/io-pkt-v4-hc 21o
RECEIVE 872K 904K 4096(132K)
126996 5 sbin/io-pkt-v4-hc 20o
RECEIVE 872K 904K 4096(132K)
126996 6 sbin/io-pkt-v4-hc 9o
RECEIVE 872K 904K 4096(132K)
libc.so.3 @b0300000 444K 16K
devnp-shim.so @b8200000 28K 8192
devn-epic.so @b8209000 40K 4096
lsm-qnet.so @b8214000 168K 36K
Вывод должен
содержать разделяемый объект сетевого драйвера (в данном
случае это драйвер devnp-shim.so,
который позволяет io-pkt использовать унаследованный из
устаревшего стека io-net драйвер devn-epic.so).
Для того чтобы
получить информацию о серверах имен, следует воспользоваться
командой:
getconf _CS_RESOLVE
Если
конфигурационная строка не используется, то надо ввести
команду:
cat /etc/resolv.conf
Файл /etc/hosts содержит информацию,
которая относится к известным хостам сети. Каждому хосту
должна соответствовать одна строка, которая включает в себя
следующие данные:
интернет_адрес
официальное_имя_хоста псевдонимы
Чтобы отобразить содержимое этого файла,
следует воспользоваться
командой:
cat /etc/hosts
Сведения о состоянии сети
можно получить с помощью следующих команд:
-
netstat –in — перечисляет
интерфейсы, в том числе их MAC- и IP-адреса;
-
netstat –rn — отображает
сетевые таблицы маршрутизации, которые определяют, как
стек может связаться с другим хостом. Если путь к
другому хосту не существует, то отображается сообщение
об ошибке "no route to host";
-
netstat –an — отображает
информацию о входящих и исходящих TCP/IP-соединениях
локальной системы. Эта информация включает в себя
состояние соединения или количество данных, которые
ожидают передачи по соединению. Кроме того, команда netstat
–an отображает IP-адрес и
порт локальной и удаленной стороны соединения.
Более подробные сведения о
команде netstat см. в справочнике по
утилитам.
Чтобы определить, подключен ли
локальный хост к другим хостам, следует воспользоваться
утилитой ping. Пример:
ping isp.com
Если подключение существует,
утилита ping отображает приблизительно
следующее:
PING
isp.com (10.0.0.1): 56 data bytes
64 bytes from 10.0.0.1: icmp
seq=0 ttl=255 time=0 ms
64 bytes from 10.0.0.1: icmp
seq=1 ttl=255 time=0 ms
64 bytes from 10.0.0.1: icmp
seq=2 ttl=255 time=0 ms
64 bytes from 10.0.0.1: icmp
seq=3 ttl=255 time=0 ms
64 bytes from 10.0.0.1: icmp
seq=4 ttl=255 time=0 ms
64 bytes from 10.0.0.1: icmp
seq=5 ttl=255 time=0 ms
64 bytes from 10.0.0.1: icmp
seq=6 ttl=255 time=0 ms
Это сообщение продолжает выводиться до тех пор, пока утилита ping не завершится, например, с
помощью нажатия комбинации клавиш <Ctrl>+<C>.
Следует воспользоваться
командой nicinfo:
/usr/sbin/nicinfo устройство
Примечание. Все пользователи, кроме root, должны указывать полный
путь к утилите nicinfo.
Эта утилита отображает
информацию о соединении заданного сетевого интерфейса или
интерфейса /dev/io-net/en0 (если интерфейс не указан).
Эта информация включает в себя число переданных и полученных
пакетов, коллизий и других ошибок:
3COM
(90xC) 10BASE-T/100BASE-TX Ethernet Controller
Physical Node ID
................. 000103 E8433F
Current Physical Node ID
......... 000103 E8433F
Media Rate
....................... 10.00 Mb/s half-duplex UTP
MTU
.............................. 1514
Lan
.............................. 0
I/O Port Range
................... 0xA800 -> 0xA87F
Hardware Interrupt
............... 0x7
Promiscuous
...................... Disabled
Multicast
........................ Enabled
Total Packets Txd OK
............. 1585370
Total Packets Txd Bad
............ 9
Total Packets Rxd OK
............. 11492102
Total Rx Errors
.................. 0
Total Bytes Txd
.................. 102023380
Total Bytes Rxd
.................. 2252658488
Tx Collision Errors
.............. 39598
Tx Collisions Errors (aborted)
... 0
Carrier Sense Lost on Tx
......... 0
FIFO Underruns During Tx
......... 0
Tx deferred
...................... 99673
Out of Window Collisions
......... 0
FIFO Overruns During Rx
.......... 0
Alignment errors
................. 0
CRC errors
....................... 0