Сетевой уровень модели сетевого взаимодействия обеспечивает доставку пакетов для узлов составной сети [1] (совокупности подсетей, построенных на основе различных технологий уровня интерфейсов и использующих различные типы магистральных каналов для взаимодействия).
Основой сетевого уровня является интернет-протокол IP (
Каждый IP-пакет помимо данных вышележащего уровня содержит заголовок, в котором указаны IP-адреса отправителя и получателя, а также описан ряд параметров: тип службы, идентификационную информацию, номер протокола вышележащего уровня, параметры, используемые при фрагментации, контрольную сумму и т.д. (более подробные сведения приведены в ). Длина IP-заголовка составляет 20 байт, максимальная длина пакета ( MTU ) — 64Кбайт (реальная длина пакета ограничена возможностями передающей среды).
IP-адрес ( сетевой адрес ) протокола IP версии 4 (IPv4)
представляет собой 4-х байтовый номер, который принято записывать в десятичной форме, разделяя байты точкой
(например: 192.168.4.3). Схема адресации
Для решения задачи определения сетевой части IP-адреса (количество бит в IP-адресе, отведенное для записи адреса
сети, обычно располагаемое в "начале") наиболее распространен механизм сетевых масок (двоичная запись маски содержит единицы в тех разрядах, которые должны в IP-адресе
интерпретироваться как номер сети).Маска может записываться в формате, подобном IP-адресу, а также путем
указания количества бит, отведенных для 255.255.255.0 то же самое, что и /24 ). Результатом операции логического умножения IP-адреса и маски будет
Примеры интерпретации IP-адресов в зависимости от
192.168.92.0/24 — сеть, включающая узлы от 1 до 254 ( 0 —
255 — зарезервирован для широковещательных рассылок, каждый
последний узел в сети).
192.168.92.5 255.255.255.0 — узел в сети 192.168.92.0.
192.168.92.130/25 — узел в сети 192.168.92.128, которая включает узлы от 129 до 254.
Манипулируя масками, можно объединять и разделять диапазон IP-адресов. Например, сеть 192.168.9.0/24
может быть разбита на две подсети путем увеличения сетевой части адреса на 1 бит: 192.168.9.0/25
(узлы 1-126 ) и 192.168.9.128/25 (узлы 129-254 ).
Управление адресацией сети Интернет осуществляется по иерархической схеме (региональные центры выдачи
IP-адресов - национальные центры — Интернет-провайдеры — клиенты -субклиенты и т. д.). В качестве 10.0.0.0/8, 172.16.0.0-172.31.0.0/12, 192.168.0.0/16.
Для того, чтобы сетевой протокол мог использовать физический интерфейс, необходимо добавить соответствующий адрес (настроить логический интерфейс). В случае стека TCP/IP минимальными настройками протокола IP, позволяющими узлу взаимодействовать с другими узлами подсети в рамках локального сегмента (широковещательного домена) являются IP-адрес и маска подсети.
Для конфигурирования протокола IP на сетевом интерфейсе с помощью командной строки можно использовать команду address (addr) утилиты ip пакета iproute2 или
традиционную команду ifconfig.
Для просмотра списка IP-адресов используется команда ip addr show
. Вывод
команды содержит список сетевых интерфейсов, их параметров, а также список IP-адресов (
пример 4.1.) на каждом интерфейсе. Можно вывести информацию только по данному интерфейсу, указав его имя
(например, ip addr show eth0 ).
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:1d:72:01:ab:93 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.11/24 brd 192.168.11.255 scope global eth0
inet6 fe80::21d:72ff:fe01:ab93/64 scope link
valid_lft forever preferred_lft forever
3: irda0: <NOARP> mtu 2048 qdisc noop state DOWN qlen 8
link/irda 00:00:00:00 brd ff:ff:ff:ff
4: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc
pfifo_fast state UNKNOWN qlen 3 link/ppp inet 10.31.46.4 peer 172.20.20.1/32
scope global ppp0
Каждая запись о сетевом адресе может содержать информацию о типе адреса ( inet — адрес , inet6 — и т. д.), непосредственно адрес, scope global — действителен везде, scope link — только для данного устройства, scope host — для данного узла) и имя
логического интерфейса.
Сведения подобного рода также предоставляет команда ).
$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:1d:72:01:ab:93
inet addr:192.168.11.11 Bcast:192.168.11.255 Mask:255.255.255.0
inet6 addr: fe80::21d:72ff:fe01:ab93/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:69333 errors:0 dropped:0 overruns:0 frame:0
TX packets:69736 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:37148192 (37.1 MB) TX bytes:5619320 (5.6 MB)
Interrupt:16
Для удаления IP-адреса используется команда ip addr del
. При этом необходимо указать удаляемый IP-адрес ( 192.168.11.11 ), маску
подсети (/24) и имя интерфейса ( dev eth0 ). Изменение параметров сети требует полномочий
# ip address del 192.168.11.11/24 dev eth0
# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:1d:72:01:ab:93 brd ff:ff:ff:ff:ff:ff
inet6 fe80::21d:72ff:fe01:ab93/64 scope link
valid_lft forever preferred_lft forever
Для добавления IP-адреса используется команда ip addr add
(пример 4.4.). При этом необходимо указать добавляемый IP-адрес, , можно также указать адрес вручную: ).
# ip address add 192.168.11.11/24 brd + dev eth0
Добавить IP-адрес можно также с помощью команды ifconfig
(пример 4.5).
# ifconfig eth0 inet up 192.168.11.11 netmask 255.255.255.0
В некоторых случаях необходимо использовать несколько IP-адресов на одном сетевом интерфейсе .
Пусть на сетевом интерфейсе eth1 установлен IP-адрес 192.168.11.10/24, необходимо, чтобы система принимала на этом интерфейсе входящие соединения на адрес 192.168.11.11. Добавим на интерфейс еще один адрес:
# ip addr add 192.168.11.11/24 brd + dev eth1
# ip addr show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:66:6a:4f brd ff:ff:ff:ff:ff:ff
inet 192.168.11.10/24 brd 192.168.11.255 scope global eth1
inet 192.168.11.11/24 brd 192.168.11.255 scope global secondary eth1
inet6 fe80::a00:27ff:fe66:6a4f/64 scope link
valid_lft forever preferred_lft forever
При добавлении адреса из той же сети, что и существующий, новый адрес становится дополнительным к существующему ( secondary ), и если удалить основной адрес, то будет удален и дополнительный.
ifconfig непосредственно не поддерживает несколько IP-адресов на
одном сетевом интерфейсе (только в виде псевдонимов). Поэтому secondary - адрес в выводе ifconfig отображаться не будет:# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 08:00:27:66:6a:4f
inet addr:192.168.11.10 Bcast:192.168.11.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe66:6a4f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:74 errors:0 dropped:0 overruns:0 frame:0
TX packets:74 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8640 (8.4 KiB) TX bytes:7020 (6.8 KiB)
ip addr flush :# ip addr
# ip addr add 192.168.11.11/24 brd + dev eth1 label eth1:add
# ip addr show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:66:6a:4f brd ff:ff:ff:ff:ff:ff
inet 192.168.11.10/24 brd 192.168.11.255 scope global eth1
inet 192.168.11.11/24 brd 192.168.11.255 scope global secondary eth1:add
# ifconfig
eth1 Link encap:Ethernet HWaddr 08:00:27:66:6a:4f
inet addr:192.168.11.10 Bcast:192.168.11.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:756 errors:0 dropped:0 overruns:0 frame:0
TX packets:711 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:75800 (74.0 KiB) TX bytes:68550 (66.9 KiB)
eth1:add Link encap:Ethernet HWaddr 08:00:27:66:6a:4f
inet addr:192.168.11.11 Bcast:192.168.11.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
В сегменте сети Ethernet для взаимодействия устройств друг с другом по протоколу IP необходимо, чтобы у передающего устройства были логический (IP-) и физический (MAC-) адреса получателя. Для решения задачи определения MAC-адреса узла назначения по его IP-адресу в локальном сегменте используется протокол ARP (Address Resolution Protocol) .Принцип действия протокола ARP заключается в том, что отправитель сетевого пакета посылает широковещательный ARP-запрос (на широковещательный MAC-адрес FF:FF:FF:FF:FF:FF) с указанием искомого IP-адреса. ARP-запрос получают все устройства в сегменте, но только тот, чей IP-адрес является искомым, отправляет ARP-ответ (на MAC-адрес отправителя) с указанием своего MAC-адреса.
Каждый узел локальной сети поддерживает ARP-таблицу (кэш), которая устанавливает соответствие между IP и MAC-адресами узлов подсетей, в которые входит данный узел. В ARP-таблице имеются два вида записей:
Используя команду ip neigh или традиционную команду arp можно манипулировать содержимым ARP-таблицы.
Пример 4.8. Просмотр ARP-таблицы.
Если узел 192.168.11.10 через интерфейс eth1 осуществит сетевое взаимодействие с узлом 192.168.11.12
(например, с помощью утилиты ping ), то в его ARP-таблице появится новая запись, которую можно
просмотреть командой ip neigh show (параметр dev указывает фильтровать записи относящиеся
к интерфейсу eth1 ):
# ping -c 1 192.168.11.12 PING 192.168.11.12 (192.168.11.12) 56(84) bytes of data. 64 bytes from 192.168.11.12: icmp_seq=1 ttl=64 time=1.58 ms --- 192.168.11.12 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 1.588/1.588/1.588/0.000 ms # ip neigh show dev eth1 192.168.11.12 lladdr 08:00:27:23:22:97 REACHABLE
Пример 4.9. Добавление статической записи в ARP-таблицу.
Для добавления статической записи в ARP-таблицу можно использовать команду ip neigh add
c указанием IP-адреса, MAC-адреса (параметр lladdr ) и сетевого интерфейса (параметр dev ):
# ip neigh add 192.168.11.100 lladdr 00:00:00:00:00:AA dev eth1 # ip neigh show dev eth1 192.168.11.100 lladdr 00:00:00:00:00:aa PERMANENT
Для удаления записи из ARP-таблицы можно использовать команду ip neigh del:
# ip neigh del 192.168.11.100 dev eth1
# arp -s 192.168.11.100 00:00:00:00:00:AA # arp -i eth1 Address HWtype HWaddress Flags Mask Iface 192.168.11.100 ether 00:00:00:00:00:aa CM eth1 # arp -d 192.168.11.100
Доставку
Пример 4.11. Локальная доставка пакетов
IP-пакет с заголовком 192.168.9.5 > 192.168.9.10 (рис 4.1) будет доставлен локально (фрейм отправляется непосредственно на MAC-адрес узла 10, т. к. согласно маске /24 узел 10 находится в одной подсети с узлом-отправителем).
(рис 4.1) Локальная доставка сетевого пакетаСтандартный шлюз (шлюз по умолчанию) - IP-адрес интерфейса узла данной подсети, способный отправлять и принимать пакеты удаленных подсетей для данной подсети. Все IP-пакеты, предназначенные для узлов из других подсетей, данный узел отправляет на MAC-адрес стандартного шлюза ("нелокальная" доставка ).
Пример 4.12. "Нелокальная" доставка пакетов
Сетевой пакет 192.168.9.5 /24 > 192.168.10.100 (рис 4.2) будет отправлен на MAC-адрес шлюза данной подсети (шлюз 192.168.9.1 — должен быть указан в настройках данного узла как шлюз по умолчанию).
(рис 4.2) Использование шлюза по умолчаниюДля отдельных сетей и узлов можно указывать маршруты через альтернативные шлюзы. При этом, все шлюзы должны иметь IP-адреса из той же подсети, что и передающий узел, а также находится в одном широковещательном домене с передающим узлом (сеть Ethernet ).
Маршрутизация на узле (решение на какой шлюз отправлять пакет, предназначенный узлу "нелокальной" сети) осуществляется на основе таблицы маршрутизации.
Пример 4.13. Добавление альтернативного шлюза.
Пусть в локальной сети 192.168.1.0/24 есть шлюз сети Интернет 192.168.1.1 (использующий, например трансляцию сетевых адресов - NAT ) и шлюз удаленной сети 192.168.24.0/24, имеющий адрес 192.168.1.2 (рис.4.3).
(рис 4.3) Использование маршрута по умолчанию и альтернативного маршрутаДля того, чтобы компьютер с адресом 192.168.1.100/24 (рис 4.3) имел доступ в сеть Интернет и
к локальной сети 192.168.24.0/24, необходимо внести в таблицу маршрутизации соответствующие записи, например с
помощью команды ip route add:
# ip route add default via 192.168.1.1 # ip route add 192.168.24.0/24 via 192.168.1.2 # ip route show 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.100 192.168.24.0/24 via 192.168.1.2 dev eth1 default via 192.168.1.1 dev eth
Первая команда добавляет маршрут по умолчанию ( default ) через узел 192.168.1.1 (параметр via ). Вторая команда устанавливает маршрут на сеть 192.168.24.0/24 через узел 192.168.1.2.
Для вывода на экран содержимого таблицы маршрутизации используется команда ip route show. В данном
случае в таблице маршрутизации три записи: первая о том, что сеть 192.168.1.0/24 доступна непосредственно на
интерфейсе eth1 (запись добавляется автоматически), и две записи, добавленные пользователем: альтернативный
маршрут и маршрут по умолчанию.
Те же действия (см. выше) можно выполнить, используя команду route:
# route add default gw 192.168.1.1 # route add -net 192.168.24.0 netmask 255.255.255.0 gw 192.168.1.2 # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.24.0 192.168.1.2 255.255.255.0 UG 0 0 0 eth1 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth
# ip route show 192.168.10.3 via 192.168.56.2 dev eth0 192.168.10.0/25 via 192.168.56.3 dev eth0 192.168.10.0/24 via 192.168.56.2 dev eth0 192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.101 default via 192.168.56.1 dev eth0
В данном примере есть несколько перекрывающихся маршрутов (1-3 записи). В соответствии с "заполненностью" маски, пакеты для узла 192.168.10.3 будут отправляться шлюзу 192.168.56.2, т. к. у этой записи самая "большая" маска (/32). Пакеты остальных узлов сети 192.168.10.0/25 будут отправляться шлюзу 192.168.56.3, так как у второй записи в таблице маршрутизации маска (/25) больше, чем у третьей (/24). Пакеты, предназначенные узлам 128-255 сети 192.168.10.0/24 будут отправляться шлюзу 192.168.56.2.
IP (Internet Protocol) — маршрутизируемый протокол сетевого уровня без установления соединения.
IP-адрес (сетевой адрес) — адрес, используемый протоколом IP для реализации схемы адресации в рамках
Маска подсети — способ указания сетевой части IP-адреса, основанный на записи единиц в тех битах
IP-адреса, которые указывают на
ARP (
ARP-таблица (кэш) — таблица соответствия IP-адресов узлов данной подсети их MAC-адресам, поддерживаемая узлом.
Маршрутизация — доставка
Стандартный шлюз (шлюз по умолчанию) - IP-адрес интерфейса узла данной подсети, способный отправлять и принимать пакеты удаленных подсетей для данной подсети.
ip addr или традиционную команду ifconfig (подробный синтаксис и параметры большинства команд Linux можно посмотреть с помощью
справочной подсистемы man, например: man ifconfig ).ip neigh или arp.ip route или route.ping IP_адрес_удаленного_компьютера или ping -I локальный_IP_адрес IP_адрес_удаленного_компьютераДля получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.