Компьютерные сети 2. презентация PowePoint

advertisement
Сетевое взаимодействие 2
Открытая модель OSI/ISO
Уровень сетевой
• Адреса устройств в разных средах передачи
данных не уникальны.
Адресация.
• IP — протокол, определяющий адрес.
Адрес состоит из четырех байт и записан в
виде десятичных чисел разделенных
точками.
• Определить адреса сетевых устройств
можно с помощью команды ip address
show.
Уровень сетевой
Адрес интерфейса eth0 — 192.168.100.3
Адрес интерфейса eth1 — 192.168.100.4
Адрес интерфейса lo — 127.0.0.1 (loopback) — сетевое
взаимодействие компьютера с самим собой.
Уровень сетевой
• Адрес состоит из 32 бит.
• Левая часть адреса — адрес сети.
• Правая часть адреса — адрес устройства в
сети.
• На рисунке /24 — это сетевая маска.
Уровень сетевой
• Сетевая маска (маска сети) — линейка из 32
бит в которой на месте адреса сети стоят
единицы, на месте адреса устройства стоят
нули (сеть — 1, устройство — 0).
• В примере на рисунке /24 — это количество
единиц (адрес сети).
• Таким образом адрес сети — 192.168.100.0
• Адрес устройства — 0.0.0.3
Уровень сетевой
• маска сети /24 означает
11111111 11111111 11111111 00000000, что в
десятичной системе — 255.255.255.0, т. е. на
адрес устройства в этой сети остается 8 бит
(единицы):
00000000 00000000 00000000 11111111, значит, в
этой сети могут быть адресованы 255 устройств;
• маска сети /16 означает
1111111 11111111 00000000 00000000, что в
десятичной системе — 255.255.0.0, т. е. на адрес
устройства в этой сети остается 16 бит:
00000000 00000000 11111111 11111111, значит, в
этой сети могут быть адресованы 65025 устройств;
Уровень сетевой
• маска сети /8 означает
1111111 00000000 00000000 00000000, что в
десятичной системе — 255.0.0.0;, т. е. на адрес
устройства в этой сети остается 24 бита:
00000000 11111111 11111111 11111111, значит, в
этой сети могут быть адресованы 16581375
устройств;
• маска сети /0 означает
00000000 00000000 00000000 00000000, что в
десятичной системе — 0.0.0.0, т. е. на адрес
устройства в этой сети остается 32 бита:
11111111 11111111 11111111 11111111, значит, в
этой сети могут быть адресованы 4228250625
устройств;
Уровень сетевой
• маска сети /28 означает
11111111 11111111 11111111 11110000, что в
десятичной системе — 255.255.255.240, т. е. на
адрес устройства в этой сети остается только 4
бита: 00000000 00000000 00000000 00001111,
значит, в этой сети могут быть адресованы только
15 устройств.
• Если IP-адрес состоит из адреса сети за которым
идут все единицы, т.е. 192.168.100.255, то это
широковещательный адрес и он предназначен
для всех устройств этой сети 192.168.100.0.
Уровень сетевой
Соглашения об IP-адресах
Уровень сетевой
• При отправлении пакета отправитель
выясняет, находится ли получатель в той же
сети. Для этого маска сети накладывается
на адрес получателя и если получающийся
при этом адрес сети совпадает с адресом
сети отправителя, то получатель находится
в этой же сети. Значит, MAC адрес
получателя известен отправителю.
• MAC-адреса устройств локальной сети
хранятся в ARP-таблице.
Уровень сетевой
• Прочитать эту таблицу можно с помощью
команды ip neighbour show
• ARP-таблица является динамической и
отображает соответствие между IP и MACадресами устройств сети.
Уровень сетевой
• stale — устаревшее соответствие.
• permanent — запись постоянная и может
быть удалена только вручную.
• reachable — действительная в настоящий
момент запись.
• noarp — запись о соседнем хосте
действительна, попыток определения
доступности не производится.
Уровень сетевой
• Проверить связь с компьютером, а заодно
обновить таблицу ARP можно командой
ping ip_адрес_хоста
Уровень сетевой
• ARP (Address Resolution Protocol) – протокол,
который устанавливает соответствие между
адресами сетевого (IP-адрес) и интерфейсного
(MAC-адрес) уровня.
• При работе протокола ARP по сети отправляется
широковещательный пакет с IP-адресом устройства, то
устройство, чей адрес совпадает с этим адресом,
отправляет ответ со своим MAC-адресом обратно. Таки
образом заполняется ARP-таблица в которой
устанавливается соответствие между IP и MACадресами. После установления соответствия устройство
в сети готово к инкапсуляции фрейма.
Уровень сетевой
Маршрутизация
Если устройство-получатель и устройствоотправитель находятся в разных сетях, например,
отправитель во внутренней сети (локальной), а
получатель во внешней сети (Интернет), то пакет
нужно отправить некоторому устройству, которое
перенаправит пакет из внутренней сети во
внешнюю сеть. Маршрутизатор и есть это
устройство.
• Маршрутизация — процесс определения
маршрута следования пакета (ARP
использовать нельзя из-за недопустимости
передачи широковещательного пакета между
сетями).
Уровень сетевой
• Маршрут — последовательность
маршрутизаторов, которые должен пройти
пакет от отправителя до получателя.
• Таблица маршрутизации — ставит
соответствие сетям назначения исходящий
интерфейс и адрес порта следующего
маршрутизатора.
• Таблицу маршрутизации можно посмотреть с
помощью команды ip route show
Уровень сетевой
• С интерфейсов eth0 и eth1 (на ПК две сетевые карты)
с адресами 192.1681.00.3 и 192.168.100.4 доступна
сеть 192.168.100.0/24. Вторая срока означает сеть
default, которая доступна через маршрутизатор
192.168.100.1. default – вся внешняя сеть (маска сети
равна нулю и может быть показана как /0), маршрут
по умолчанию.
• scoup link – получатель в одной сети с отправителем.
• via – в доступных локальных сетях получателя нет, но
есть маршрутизатор (указание на маршрутизатор).
Уровень сетевой
Таблица маршрутизатора.
• На ПК есть интерфейс eth0 с адресом 192.168.100.1,
которому доступна сеть 192.168.100.0/24;
• интерфейс eth8 с адресом 95.170.165.90, которому
доступна сеть 95.170.165.64/27;
• интерфейс virbr0 с адресом 192.168.122.1, которому
доступна сеть 192.168.122.0/24.
• Кроме того, есть указание на маршрутизатор по
адресу 95.170.165.90.
Уровень сетевой
Протокол ICMP.
• Internet Control Message Protocol – протокол
передачи служебных сообщений (пример
использования: утилита ping).
• Другой пример — это утилита traceroute,
используя протокол ICMP может определить
маршрут следования пакета.
• Утилита trceroute показывает список
абонентов через которые пройдёт пакет пока
не достигнет пункта назначения.
Уровень сетевой
Транспортный уровень
Транспортный уровень определяется работой
протоколов:
• UDP – (User Datagram Protocol) протокол
отправки пакета-датаграммы.
Пользовательским данным в пакете
приписываются адреса и порты отправителя и
получателя и пакет отправляется в сеть.
Проверка доставки пакета не производится.
UDP удобен для широковещательной
передачи.
• TCP – (Transmission Control Protocol) протокол
управления соединением.
Транспортный уровень
TCP отвечает за доставку пакетов и решает следующие
задачи:
• Установление соединения. Проверяется способность
получателя принять пакет, устанавливается
двусторонняя связь, к пакету присоединяется SEQN
номер для проверки очередности пакета.
• Обработка подтверждений. Подтверждается факт
доставки пакетов. Если пакет не доставлен, то он
отправляется заново.
• Проверка состояния абонента. Отслеживается
состояние абонента принять какое-то количество
данных, производится корректировка количества
отправляемых данных.
Прикладной уровень
• На прикладном уровне предусмотрено
существование любого количества протоколов.
• Разделение пакетов по приложениям
происходит с помощью потра.
• Порт – идентификатор сервиса.
Клиент-серверная модель.
• Приложению (программе-клиенту) что-то
нужно.
• У службы (программы-сервера) это есть.
Прикладной уровень
• Служба, запускаясь не сервере,
прикрепляется к порту, регистрируется на
этом порту как обработчик запросов и ждет на
нем данных.
• Приложение, запускаясь на клиенте,
прикрепляется к тому же порту на сервере.
– Служба и приложение обмениваются данными,
обмен регулируется прикладным протоколом.
Передача данных может происходить в обе
стороны.
Прикладной уровень
• За прикладными протоколами, как правило,
закреплен номер порта. Для их просмотра
можно посмотреть файл /etc/services
Прикладной уровень
• Информацию о сетевых соединениях можно
получить с помощью команды netstat
Прикладной уровень
• На компьютере зарегистрированы
– tcp обработчики: 111, 25, 631 и т. д.
– udp обработчики: 111, 123, 631 и т. д.
• Установленных соединений к данному ПК нет.
netstat -antu
-a выводить информацию о установленных и готовых
установить связь соединениях;
-n не преобразовывать IP-адрес в доменный адрес;
-t и –u показывать информацию о TCP и UDP
Прикладной уровень
Прикладной уровень
Linux. Обслуживание прикладного
уровня
• Требования, которым должна
удовлетворять программа, обслуживающая
соединение по некоторому порту:
– Программа должна быть демоном.
– Программа должна создать сокет и
присоединить его к порту.
– Зарегистрироваться как обработчик и
принимать соединения.
– Анализировать протокол и действовать в
соответствии с ним.
Linux. Обслуживание прикладного
уровня
• Сокет — это название программного интерфейса
для обеспечения информационного обмена
между процессами.
• Сокет — абстрактный объект, представляющий
конечную точку соединения. Следует различать
клиентские и серверные сокеты. Клиентские
сокеты грубо можно сравнить с оконечными
аппаратами телефонной сети, а серверные — с
коммутаторами.
• inetd – метадемон, исполняет общую сетевую
часть работы (). Прикладная программа может
использовать фильтр при работе с inetd и не быть
демоном.
Download