Что значит сетевой интерфейс
Введение в сетевую терминологию, интерфейсы и протоколы
Базовое понимание сетевых технологий необходимо любому человеку, который имеет отношение к управлению сервером. Эти знания помогут вам запустить и отладить работу сетевых сервисов и своевременно обнаружить проблемы.
В данной статье представлен базовый обзор общих сетевых терминов и протоколов, а также характеристики различных уровней сетевого взаимодействия.
Основные сетевые термины
В данном разделе вы найдёте определения основных терминов и понятий, имеющих отношение к созданию и управлению сетями.
Конечно, этот список нельзя назвать исчерпывающим – он содержит только основные понятия, которые используются в сетевых технологиях.
Сетевые уровни
Сетевое взаимодействие часто представляют в виде горизонтальных соединений между хостами, однако реализация такого взаимодействия распределяется по вертикали по всему компьютеру или сети.
Существует множество встроенных друг в друга технологий и протоколов, которые упрощают сетевое взаимодействие. Каждый последующий, более высокий уровень упрощает использование необработанных данных приложениями и пользователями.
Это также позволяет использовать более низкие уровни для обработки трафика, не тратя время и силы на разработку новых протоколов и приложений.
Когда машина отправляет данные, они попадают на высший сетевой уровень и фильтруются каждым последующим уровнем. На самом низком уровне происходит фактическая передача на другую машину, после чего данные фильтруются уровнями в обратном порядке.
Каждый уровень может добавить оболочку вокруг полученных данных, что поможет следующим уровням понять, что делать с данными при их передаче.
Модель OSI
OSI (Open Systems Interconnect) – это базовая модель взаимодействия открытых систем, которая состоит из 7 уровней:
Модель TCP/IP
Модель TCP/IP (набор протоколов Internet) – ещё одна популярная модель, которая состоит из 4 уровней (они совпадают с некоторыми уровнями OSI):
Сетевые интерфейсы
Интерфейсы являются сетевыми точками связи компьютера. Каждый интерфейс связан с физическим или виртуальным сетевым устройством.
Как правило, на вашем сервере будет один настраиваемый сетевой интерфейс для каждой имеющейся Ethernet-карты или беспроводной интернет-карты.
Кроме того, сервер определит виртуальный сетевой интерфейс (loopback, или localhost). Он используется как интерфейс для соединения приложений и процессов на одном компьютере с другими приложениями и процессами. Во многих инструментах он упоминается как интерфейс «lo».
Администраторы часто используют один интерфейс (обычно eth0) для обслуживания трафика в Интернете, а другой интерфейс (eth1) – для локальной или частной сети.
Протоколы
Сетевые технологии подразумевают совмещение нескольких различных протоколов. Таким образом, одна часть данных может быть передана с помощью нескольких протоколов, встроенных друг в друга.
Рассмотрим самые популярные и распространённые протоколы, начиная с протоколов низкого уровня.
Протокол управления доступом к среде
Media access control, или протокол управления доступом к среде используется для различения устройств. Предполагается, что каждое устройство получает уникальный MAC-адрес, который отличает его от любого другого устройства в Интернете.
Присваивание оборудованию MAC-адресов позволяет ссылаться на устройство по уникальному значению, даже если программное обеспечение устройства изменило его имя.
Media access control является одним из базовых протоколов канального уровня.
Протокол IP
Протокол IP – один из основных протоколов сети Интернет. IP-адреса уникальны в каждой сети и позволяют машинам обращаться друг к другу через сеть. Протокол реализован на сетевом уровне модели IP/TCP.
Сети могут быть связаны между собой, но трафик должен быть маршрутизирован при пересечении границ сети. Этот протокол предусматривает небезопасную сеть и несколько путей к тому же адресату.
Существует несколько различных реализаций протокола IP. Наиболее распространенной реализацией является IPv4, хотя из-за нехватки доступных адресов IPv4 и улучшения возможностей протоколов все более популярным становится IPv6.
Протокол ICMP
Протокол ICMP (internet control message protocol) – это протокол, который используется для отправки сообщений между устройствами. Эти пакеты используются многими сетевыми инструментами диагностики (например, ping и traceroute).
Обычно ICMP-пакеты передаются, когда пакет другого типа сталкивается с какой-либо проблемой. В основном, они используются как механизм обратной связи для сетевых коммуникаций.
Протокол TCP
Протокол TCP (transmission control protocol) – протокол управления передачей данных. Он реализован на транспортном уровне модели IP/TCP и используется для установления безопасных соединений.
TCP – один из протоколов, которые помещают данные в пакеты. Затем он передает пакеты удаленному концу соединения, используя методы нижних уровней. На другом конце соединения он может проверять ошибки, запрашивать определенные фрагменты и повторно собирать информацию в один логический элемент для отправки на прикладной уровень.
Протокол создает соединение до передачи данных при помощи трёхэтапного квитирования. Этот способ позволяет участникам соединения подтвердить запрос и согласовать способ обеспечения безопасности данных.
После отправки данных соединение сбрасывается с помощью механизма четырёхэтапного квитирования.
Протокол TCP используется в электронной почте, WWW, FTP, SSH. Можно с уверенностью сказать, что без TCP интернет не был бы таким, каким мы его знаем сегодня.
Протокол UDP
UDP (user datagram protocol) – это протокол пользовательских датаграмм, популярный сопутствующий протокол для TCP, который также реализуется на транспортном уровне.
Основное отличие между UDP и TCP состоит в том, что UDP предоставляет небезопасную передачу данных. Он не проверяет, были ли данные получены на другом конце соединения. Часто это считается серьёзным недостатком, однако некоторым функциям необходим именно такой механизм.
Поскольку UDP не проверяет получения данных, он намного быстрее, чем TCP. Он не устанавливает соединение с удаленными нодами, а просто передаёт данные на этот хост.
Такие простые транзакции используются в простых взаимодействиях (например, для запроса сетевых ресурсов). UDP также является отличным протоколом для передачи данных с одной машины на множество клиентов в режиме реального времени. Он идеально подходит для VOIP, игр и других приложений, которые должны работать без задержки.
Протокол HTTP
HTTP (hypertext transfer protocol) – это протокол передачи гипертекста. Он реализуется на прикладном уровне, который формирует основу для коммуникации в Интернете.
HTTP определяет ряд функций, которые сообщают удаленной системе о запросе. Например, GET, POST и DELETE взаимодействуют с запрошенными данными по-разному.
Протокол FTP
FTP (file transfer protocol) – это протокол передачи файлов. Он также находится на прикладном уровне и обеспечивает способ передачи полных файлов с одного хоста на другой.
Этот протокол по своей природе небезопасен, поэтому его не рекомендуется использовать в любой открытой сети (если только он не реализован как общедоступный ресурс, предназначенный только для загрузки файлов).
Протокол DNS
DNS (domain name system) – это система доменных имен. Этот протокол прикладного уровня предоставляет удобный механизма именования интернет-ресурсов. Он связывает доменное имя с IP-адресом и позволяет вам обращаться к сайтам по имени в вашем браузере.
Протокол SSH
SSH (secure shell) – это протокол шифрования, реализованный на прикладном уровне, который может использоваться для безопасного обмена данными с удаленным сервером. На этом протоколе основано много дополнительных технологий.
Существует много других важных протоколов, которые не охвачены в этой статье. Однако теперь вы знакомы с базовыми сетевыми протоколами и их применением.
Сетевые интерфейсы
в этом разделе описываются основные понятия сетевых интерфейсов на Windows, включая способы их определения в коде и их свойства.
этот раздел предназначен для аудитории разработчика, как для Windows настольных сетевых приложений, так и для сетевых драйверов в режиме ядра. Тем не менее, некоторые из представленных здесь сведений также могут быть полезны для системных администраторов, управляющих сетевыми интерфейсами с помощью командлетов PowerShell.
Обзор
Сетевой интерфейс — это точка, в которой соединяются две части сетевого оборудования или уровней протоколов. Как правило, он представлен физической сетевой картой (NIC) для подключения между компьютером и частной или общедоступной сетью. Однако он также может принимать форму программного компонента, такого как интерфейс замыкания на себя ( 127.0.0.1 для IPv4 или ::1 IPv6).
Сетевые интерфейсы определяются с помощью IETF в RFC 2863 и не предназначены для определения с помощью Windows. Подробные вопросы о значении идентификаторов сетевых интерфейсов, таких как ifIndex, см. в их определениях IETF. в оставшейся части этого раздела обсуждаются сведения о реализации, связанные с Windows.
Идентификаторы и свойства сетевых интерфейсов
в Windows сетевой интерфейс можно идентифицировать различными способами. Некоторые из этих идентификаторов используются для различения сетевых интерфейсов друг от друга, но не все идентификаторы так же хорошо подходят для этой задачи из-за их различий в свойствах. Как правило, сетевые интерфейсы определяются сетевым адресом для внешних компонентов. Например, это может быть идентификатор узла и номер порта или просто уникальный идентификатор узла.
В коде сетевой интерфейс может быть идентифицирован различными способами. В следующей таблице описаны способы идентификации сетевого интерфейса вместе со связанными свойствами. Мы рекомендуем использовать идентификатор GUID интерфейса (ифгуид) для программирования, если для определенного API не требуется другой идентификатор сетевого интерфейса.
Идентификатор | Размер | Является уникальным в системе | Является уникальным в мире | Является прогнозируемым | Будет перезапущено, если сетевая карта удалена | Сохраняется во всех перезагрузках | Конечные пользователи могут изменять в любое время | Драйверы могут измениться в любое время | Общее знакомство с конечными пользователями | Всегда имеется |
---|---|---|---|---|---|---|---|---|---|---|
ifIndex | 4 байта | Да | Нет | Нет | Да | Нет 1 | Нет | Нет | Некоторые 2 | Да |
нетлуид | 8 байт | Да | Нет | Нет | Да | Да | Нет | Нет | Нет | Да |
ифгуид | 16 байт | Да | Обычно 3 | Нет | Нет | Да | Нет | Нет | Нет | Да |
ифалиас | 514 байт | Да для сетевых карт 4 | Нет | Иногда 5 | Да | Да | Да | Нет | Да | Обычно 4 |
ифдескр | 514 байт | Обычно 6 | Нет | Нет | Да | Да | Нет | Да | Да | Расположена |
Иффисаддресс (MAC-адрес) | от 0 до 32 байт | Обычно для сетевых адаптеров | Обычно для сетевых адаптеров | Да | Привязано к оборудованию | Да | Нет | Нет | Да | Обычно 7 |
ИД экземпляра PnP | До 400 байт | Да | Нет | Нет | Да | Да | Нет | Нет | Нет | Обычно для сетевых адаптеров 8 |
Расположение PnP (номер гнезда PCI) | До 400 байт | Да | Нет | Да | Да | Да | Нет | Нет | Порой | Иногда 8, 9 |
Примечания для предыдущей таблицы:
Видимость для разработчиков
API вспомогательного приложения IP также доступен для настольных приложений в пользовательском режиме и драйверов режима ядра.
Поверхность API UWP предоставляет только свойство ифгуид напрямую. Однако разработчики приложений UWP могут импортировать функцию GetIfTable2 с помощью P/Invoke, если они необходимы для доступа к другим свойствам сетевого интерфейса.
Связанные темы
Определения информационной базы MIB для сетевых интерфейсов см. в RFC 2863.
Сетевые интерфейсы NDIS в сетевых драйверах см. в разделе NDIS Network Interfaces.
Справочник по API Нетиоапи. h см. в разделе нетиоапи. h Header.
Что значит сетевой интерфейс
Для любого кто имеет дело с обслуживанием серверов необходимо базовое понимания сетевых технологий. Это поможет вам не только с легкостью публиковать свои услуги в интернет, но и также быстро находить и устранять проблемы связанные с сетевыми технологиями. Все, что я буду описывать, относится ко всем операционным системам и поможет в настройке различных сетевых служб на вашем сервере.
Глоссарий
Для начала перечислим основные сетевые термины, с которыми вы будете сталкиваться не только на протяжении этой статьи, но и в любой литературе связанной с сетевыми технологиями.
Пакет включает в себя заголовок, в котором содержится информация о пакете, а именно исходная точка, пункт назначения, точка во времени, а также количество необходимых сетевых переходов и так далее. Основная доля пакета содержит в себе именно передаваемые данные. Обычно она называет телом пакета.
При подключении сетевого интерфейса к WAN, обычно, предполагают, что он доступен из сети интернет.
Конечно, это не окончательный список терминов. По мере углубления мы будет рассматривать и другие термины. На данном этапе достаточно основного набора понятий, который позволит нам понять друг друга при обсуждении последующих тем.
Протоколы сетевого уровня
Хотя, обычно, сети обсуждаются на уровне топологии в горизонтальной плоскости, между узлами она выполнена в вертикальной манере.
То есть, существует целый ряд технологий, построенных поверх друг друга, что обеспечивает более понятную картину соединения. Каждая последующая технология добавляет свой уровень абстракции к исходным данным, что облегчает их использование в приложениях. Так же это позволяет отделить низкоуровневые технологии, что в свою очередь упрощает разработку приложений, работающих с определёнными типами трафика.
Язык, который мы используем для описания того или иного сетевого уровня может значительно отличаться в зависимости от используемой модели. Но путь, который проходят данные, не зависит от выбранной модели.
Данные, отправленные из одной точки, проходят через каждый сетевой уровень сверху вниз. Затем, на самом низком, уровне данные передаются от одного узла к другому. Как только данные поступили в пункт назначения, они поднимаются по уровням снизу вверх.
Каждый уровень добавляет свою “обертку” к данным, полученным от предыдущего уровня. Таким образом, за каждым уровнем закреплен определенный функционал.
Сетевая модель OSI
Модель содержит в себе 7 уровней:
Как видите, существуют различные уровни, которые можно по-разному рассматривать в зависимости от самих данных и заключенного в них функционала.
Модель TCP/IP
Эта модель более абстрактна. Таким образом, она используется чаще всего для описания сетевых уровней.
Интерфейсы
Чаще всего, на вашем сервере будет присутствовать отдельный сетевой интерфейс для каждого Ethernet или беспроводного устройства.
В дополнении ко всеми, у вас появится, интрефейс под названием “петля” (loopback). Он используется для построения связи между приложениями в пределах одной машины. Иногда он называется “lo” интерфейс.
Чаще всего, администраторы используют один интерфейс для связи с сетью интернет, а второй для работы с LAN сетями или VPN.
Протоколы
Сети работают таким образом, что накладывают друг на друга несколько протоколов. Благодаря этому один поток данных может быть передан при помощи нескольких протоколов. Мы обсудим часто используемые протоколы и рассмотрим, когда какой используется. Начнем с низкоуровневых протоколов и поднимемся вверх к более абстрактным уровням.
Уровень управления доступом к среде (Media Access Control)
Этот протокол отвечает за выделения отдельных сетевых устройств. Каждое сетевое устройство имеет свой уникальный адрес (MAC адрес), который задаётся при производстве. Вы можете обратиться к устройству по уникальному MAC адресу, даже если его имя было изменено ранее.
Это, наверное, именно тот протокол из канального уровня, с которым вам чаще всего придется столкнуться.
Протокол IP является основополагающим в работе интернета. IP адреса уникальны для каждой сети и именно они позволяют машинам из одной сети общаться друг с другом. Этот протокол используется на сетевом уровне.
Этот протокол размещает данные внутри пакета. Затем, средствами нижестоящих уровней, он передает эти данные удаленному узлу. На другом конце соединения, он проверят целостность данных, вновь собирает их воедино и отправляет на прикладной уровень.
Этот протокол устанавливает соединение перед передачей данных путем трехэтапного согласования. Это способ установки связи между узлами, при котором определяется метод определения целостности данных.
После передачи данных соединение разрывается путем четырехэтапного согласования. TCP протокол используется в основе WWW, FTP, SSH и email. Можно смело утверждать, что интернета не было бы без этого протокола.
Протокол пользовательских диаграмм. Этот протокол используется на транспортном уровне и часто соседствует с TCP.
Основное различие заключается в том, что UDP устанавливает ненадежное соединение. То есть данные не проверяются на целостность после передачи. Конечно, сначала, такой подход кажется не практичным, но иногда он очень помогает.
Так как проверка данных не требуется, этот протокол работает значительно быстрее. Он не устанавливает соединение, а просто отправляет данные удаленному узлу.
Часто этот протокол используется для получения списка доступных сетевых ресурсов. Так же он не контролирует состояние соединения, то есть довольно легко рассылать данные сразу нескольким клиентам. Он чаще всего используется в VOIP, играх и других приложениях, где скорость работы очень критична.
Протокол передачи гипертекста. Он используется на прикладном уровне и определяет основу веб-соединений.
Он задает ряд функций для управления удаленным содержимым. Например, запросы, GET, POST и DELETE означают разные действия.
Протокол передачи файлов. Он также используется прикладным уровнем и предоставляет функционал для передачи файлов от одного узла другому.
Он является крайне небезопасным и его использование может быть оправдано только в качестве построения хранилищ данных только для чтения.
Система доменных имен. Протокол прикладного уровня, предназначенный для построения адресной системы, которую было бы проще воспринимать человеку, чем систему IP адресов. Этот протокол связывает IP адрес и доменное имя.
Безопасная оболочка. Кодированный протокол, используемый на прикладном уровне для обеспечения безопасной связи с удаленным сервером. Существует довольно много технологий построенных на его основе.
Конечно, мы обсудили далеко не все протоколы. Но, тем не менее, этого достаточно для общего понимания построения сетей.
Заключение
На данном этапе вы должны четко понимать основные сетевые термины и представлять, каким образом различные сетевые компоненты соотносятся друг с другом. Эти знания помогут вам понять статьи на сетевую тематику и документацию к вашему сетевому оборудованию.
Сетевой интерфейс
Материал из Xgu.ru
Сетевой интерфейс — физическое или виртуальное устройство, предназначенное для передачи данных между программами через компьютерную сеть.
Примеры сетевых интерфейсов:
Каждый интерфейс в сети может быть однозначно идентифицирован по его адресу. Разные сетевые протоколы используют разные системы адресации, например MAC-адреса в Ethernet или IP-адреса в IP.
Настройка сетевых интерфейсов в UNIX/Linux-системах традиционно выполняется с помощью команды ifconfig, а в Linux ещё и при помощи команды ip.
Содержание
[править] Сетевой интерфейс в Linux
Сетевое взаимодействие Linux-компьютера происходит через сетевые интерфейсы. Любые данные, которые компьютер отправляет в сеть или получает из сети проходят через сетевой интерфейс.
Интерфейс определён реализацией модели TCP/IP для того чтобы скрыть различия в сетевом обеспечении и свести сетевое взаимодействие к обмену данными с абстрактной сущностью.
Для каждого устройства, поддерживаемого ядром, существует сетевой интерфейс. Существует соглашение о наименовании интерфейсов, в соответствии с которым имя интерфейса состоит из префикса, характеризующего его тип, и числа, соответствующего номеру интерфейса данного типа в системе. Так, например, ppp0 соответствует первому интерфейсу PPP, а eth1 соответствует интерфейсу второго сетевого адаптера Ethernet. Обратите внимание на то, что нумерация интерфейсов начинается с 0.
[править] Наименования сетевых интерфейсов в Linux
Начиная с середины 2011 года (Fedora 15) в Linux используется новая схема наименования интерфейсов. Интерфейсы называются em[1234] (для интегрированных) или pci #
lo Интерфейс петли обратной связи. eth Сетевой интерфейс к карте Ethernet или картам WaveLan (Radio Ethernet). tr Сетевой интерфейс к карте Token Ring. ppp Сетевой интерфейс к каналу PPP (Point-to-Point Protocol). sl Сетевой интерфейс к каналу SLIP (Serial Line IP). plip Сетевой интерфейс к каналу PLIP (Parallel Line IP). Используется для организации сетевого взаимодействия с использованием параллельного порта. ax Сетевой интерфейс к устройствам любительского радио AX.25. fddi Сетевой интерфейс к карте FDDI arc0e, arc0s Сетевой интерфейс к карте ArcNet. Используется инкапсуляция пакетов в формате Ethernet или RFC 1051. wlan Сетевой интерфейс wi-fi адаптеров
Интерфейсы создаются автоматически для каждого обнаруженного сетевого устройства при загрузке ядра ОС.
Каждый интерфейс характеризуется определёнными параметрами, необходимыми для обеспечения его нормального функционирования, и в частности для сетевого обмена данными по протоколу IP.
[править] Параметры интерфейса
Кроме этих параметров интерфейс характеризуется ещё:
Debian. Долговременные настройки хранятся в файле /etc/network/interfaces.
[править] Программа ifconfig
Для управления интерфейсами в ОС Linux используется программа ifconfig. Команда позволяет как получать диагностическую информацию об интерфейсах системы, так и выполнять их настройку.
Формат вызова команды:
ifconfig ifconfig interface options