Изменения

Перейти к: навигация, поиск

IP

2666 байт убрано, 19:23, 4 сентября 2022
м
rollbackEdits.php mass rollback
[[Файл:ip_in.jpg|right|IP в модели OSI и стеке TCP/IP.]]
 
'''IP''' (''Internet Protocol'') - протокол сетевого уровня стека TCP/IP. Протокол был создан в 1981 году и описан в RFC 791. Основной задачей протокола является доставка датаграмм между хостами сетей TCP/IP через произвольное число промежуточных узлов (маршрутизаторов).
 
Функции, реализуемые IP:
* Основа передачи данных.
* Адресация.
* Маршрутизация.
* Фрагментация датаграмм.
Протокол IP не гарантирует надежной доставки пакета: пакеты могут прийти в неправильном порядке, пакет может быть утерян, пакет может продублироваться или оказаться поврежденным. За надежность доставки пакетов отвечают протоколы транспортного уровня.
{| class="wikitable" style="margin: 0 auto; text-align: center;"
|+Структура заголовка IPv4 Header Format
|-
* Остаток (Padding): переменная длина
** Часть из нулей, гарантирующая, что длина заголовка заканчивается на 32 бите.
 
===Пример===
IPv4 и его расположение внутри кадра.
 
[[Файл:ipv4_example.png|IPv4 example.]]
==IPv6==
* Широковещательный адрес IP сети (адрес для 'разговора' со всеми устройствами в IP сети). Широковещательные адреса для сети всегда имеют интерфейсные (хостовые) биты адресного пространства установленными в 1 (если сеть не разбита на подсети).
* Адрес интерфейса (например Ethernet-адаптер или PPP интерфейс хоста, маршрутизатора, сервера печать итд). Эти адреса могут иметь любые значения хостовых битов, исключая все нули или все единицы - чтобы не путать с адресами сетей и широковещательными адресами.
 
=== IPv6-адрес ===
 
Адрес в IPv6 представляется как восемь групп из четырех шестнадцатеричных чисел, разделенных двоеточиями.
При записи адреса используются следующие правила:
* Если одна и более групп, идущих подряд, равны 0000, то они опускаются и заменяются на двойное двоеточие.
* Незначащие старшие нули в группах опускаются.
* Для записи встроенного или отображенного IPv4 адреса последние две группы цифр заменяются на IPv4 адрес.
* При использовании IPv6 адреса в [[URL]] он помещается в квадратные скобки.
* Порт в [[URL]] пишется после закрывающей квадратной скобки.
 
===Типы IPv6 адресов===
* Одноадресный (''Unicast'') - для отправки пакет на конкретный адрес устройства.
** ''Global unicast'' - глобальные адреса. Могут находиться в любом не занятом диапазоне.
** ''Link loсal'' - локальный адрес канала. Позволяет обменивать данными по одному и тому же каналу (подсети). Пакеты с локальным адресом канала не могут быть отправлены за пределы этого канала.
** ''Unique local'' - уникальный локальные адреса. Используются для локальной адресации в пределах узла или между ограниченным количеством узлов.
* Многоадресный (''Multicast'') - для отправки пакетов на группу адресов.
** ''Assigned'' - назначенные адреса. Зарезервированные для определённых групп устройств Multicast адреса.
** ''Solicited'' - запрошенные адреса. Остальные адреса, которые устройства могут использовать для прикладных задач.
* Групповой (''Anycast'') - для отправки пакета на "любой" индивидуальный адрес. Такой адрес может быть назначен нескольким устройствам. Пакет будет доставлен ближайшему устройству с этим адресом.
 
===Фрагментация===
 
Большинство каналов передачи данных устанавливают максимальную длину пакета (''MTU''). В случае, когда длина пакета превышает это значение, происходит фрагментация.
{{Определение
|definition=IP-фрагментация - разбиение пакета на множество частей, которые могут быть повторно собраны позже.
}}
 
==Маршрутизация==
 
Протокол IP требует, чтобы в маршрутизации участвовали все узлы (компьютеры). Длина маршрута, по которому будет передан пакет, может меняться в зависимости от того, какие узлы будут участвовать в доставке пакета. Каждый узел принимает решение о том, куда ему отправлять пакет на основании таблицы маршрутизации (''routing tables'').
 
{{Определение
|definition=Подсеть - логическое разбиение сети IP.
}}
=== Маска подсети ===
 
Длина префикса не выводится из IP-адреса, поэтому протоколу маршрутизации вынуждены передавать префиксы на маршрутизаторы. Иногда префиксы задаются с помощью указания длины.
Таблицы маршрутизации со временем сильно растут, и с этим нужно что-то делать. Маршрутизатор может узнавать о расположении IP-адресов по префиксам различной длины. Но вместо того чтобы разделять сеть на подсети, мы объединим несколько коротких префиксов в один длинный. Этот процесс называется '''агрегацией маршрута (route aggregation)'''. Длинный префикс, полученный в результате, иногда называют '''суперсетью (supernet)''', в противоположность подсетям с разделением блоков адресов.
 
[[Файл:Cidr_aggregation.png‎|right|Пример агрегации маршрута.]]
При агрегации IP-адреса содержатся в префиксах различной длины. Один и тот же IP-адрес может рассматриваться одним маршрутизатором как часть блока /22 (содержащего 2<sup>10</sup> адресов), а другим — как часть более крупного блока /20 (содержащего 2<sup>12</sup> адресов). Это зависит от того, какой информацией обладает маршрутизатор. Такой метод называется '''CIDR (Classless InterDomain Routing — бесклассовая междоменная маршрутизация)'''.
 
'''Приведем пример:'''
 
Пусть есть 3 университета: Кембриджский, Оксфордский и Эдинбургский.
 
Допустим, у нас есть блок из 8192 адресов, начиная с 194.24.0.0.
 
* Допустим также, что Кембриджскому университету требуется 2048 адресов и ему выделяются адреса от 194.24.0.0 до 194.24.7.255, а также маска 255.255.248.0. Это будет префикс /21.
 
* Затем Оксфордский университет запрашивает 4096 адресов. Так как блок из 4096 адресов должен располагаться на границе, кратной 4096, то ему не могут быть выделены адреса, начинающиеся с 194.24.8.0. Вместо этого он получает адреса от 194.24.16.0 до 194.24.31.255 вместе с маской 255.255.240.0. Это будет префикс /20.
 
* Наконец, Эдинбургский университет просит выделить ему 1024 адреса и получает адреса от 194.24.8.0 до 194.24.11.255 и маску 255.255.252.0. Это будет префикс /22.
 
После этого всем маршрутизаторам, находящимся в свободной от умолчаний зоне, сообщаются IP-адреса трех новых сетей. Маршрутизаторы, находящиеся рядом с этими университетами, возможно, захотят отправлять пакеты на эти префиксы по разным исходящим линиям. Тогда они запишут эти адреса
в свои таблицы маршрутизации.
 
Теперь посмотрим на эту троицу университетов с точки зрения отдаленного маршрутизатора в Нью-Йорке. Все IP-адреса, относящиеся к этим трем префиксам, должны отправляться из Нью-Йорка (или из США) в Лондон. Процесс маршрутизации в Лондоне узнает об этом и объединяет три префикса в одну агрегированную запись 194.24.0.0/19 и передает ее в Нью-Йорк.
Также префиксы могут пересекаться. Согласно правилу, пакеты передаются в направлении самого специализированного блока, или '''самого длинного совпадающего префикса (longest matching prefix)''', в котором находится меньше всего IP-адресов.
=== Классы IP-сетей ===
 
[[Файл:Ip-classes.jpg|right|Классы IP.]]
Раньше использовали классовую адресацию.
Также, сколько Сколько бит используется сетевым ID и сколько бит доступно для идентификации хостов (интерфейсов) в этой сети, определяется сетевыми '''классами'''. Всего 5 классов IP-адресов: '''A''', '''B''', '''C''', '''D''', '''E'''.
Всего 3 класса IP-адресов:* '''Класс A'''. IP сетевых адресов использует левые 8 бит (самый левый байт) для указания сети, оставшиеся 24 бита (оставшиеся три байта) для идентификации интерфейса хоста в этой сети. Адреса класса A всегда имеют самый левый бит самого левого байта нулевым, то есть значения от 0 до 127 для первого байта в десятичной нотации. Таким образом доступно максимум 128 адресов сетей класса A, каждый из которых может содержать до 33,554,430 интерфейсов. Однако сети 0.0.0.0 (известная как маршрут по умолчанию) Их структура и 127.0.0.0 (loop back сеть) имеют специальное назначение и не доступны для использования в качестве идентификаторов сети. Поэтому доступно только 126 адресов сетей класса A.* '''Класс B'''. IP сетевых адресов использует левые 16 бит (два левых байта) для идентификации сети, оставшиеся 16 бит (последние два байта) указывают хостовые интерфейсы. Адрес класса B всегда имеет самые левые два бита установленными в 1 0. Таким образом для номера сети остается 14 бит, что дает 32767 доступных сетей класса B. Первый байт адреса сети класса B может принимать значения от 128 до 191, и каждая из таких сетей может иметь до 32,766 доступных интерфейсов.* '''Класс C'''. IP сетевых адресов использует левые 24 бит (три левых байта) для идентификации сети, оставшиеся 8 бит (последний байт) указывает хостовый интерфейс. Адрес класса С всегда имеет самые левые три бита установленными в 1 1 0. Таким образом для номера сети остается 14 бит, что дает 4,194,303 доступных сетей класса B. Первый байт адреса сети класса B может принимать значения от 192 до 255, и каждая из таких сетей может иметь до 254 доступных интерфейсов. Однако сети класса C с первым байтом больше, чем 223, зарезервированы и не используютсядиапазоны указаны на рисунке.
Существует также специальные адреса, которые зарезервированы для 'несвязанных' сетей - это сети, которые используют IP, но не подключены к Internet. Вот эти адреса:
* C класс - маска подсети: 255.255.255.0
=== IPv6-адрес ===
Адрес в IPv6 представляется как восемь групп из четырех шестнадцатеричных чисел, разделенных двоеточиями.При записи адреса используются следующие правила:==Полезные ссылки==* Если одна и более группInformation Sciences Institute, идущих подряд, равны 0000University of Southern California (September 1981). "RFC 791". Internet Engineering Task Force. Retrieved July 12, то они опускаются и заменяются на двойное двоеточие2016.* Незначащие старшие нули в группах опускаются[http://how-to.ru/linux/howto/IP-Subnetworking-HOWTO.html IP Sub-networking Mini-Howto]* Для записи встроенного или отображенного IPv4 адреса последние две группы цифр заменяются на IPv4 адресТаненбаум Э, Уэзеролл Д. Компьютерные сети. — Питер, 2012.— 960 с* При использовании IPv6 адреса в [[URL]https://en.wikipedia.org/wiki/Internet_Protocol Wiki] он помещается в квадратные скобки.* Порт в [[URL]] пишется после закрывающей квадратной скобкиhttp://www.cisco.com/cisco/web/support/RU/107/1075/1075653_3===Типы IPv6 адресов===* Одноадресный (''Unicast'') html IP- для отправки пакет на конкретный адрес устройства.адресация]** ''Global unicast'' - глобальные адреса[https://www. Могут находиться в любом не занятом диапазонеict.** ''Link loсal'' - локальный адрес каналаtuwien. Позволяет обменивать данными по одному и тому же каналу (подсети)ac. Пакеты с локальным адресом канала не могут быть отправлены за пределы этого каналаat/lva/384.** ''Unique local'' 081/datacom/09-IP_Technology_v6- уникальный локальные адреса. Используются для локальной адресации в пределах узла или между ограниченным количеством узлов1_handout.pdf Data Communication Lectures of Manfred Lindner – Part IP Technology Fundamentals]* Многоадресный (''Multicast'') - для отправки пакетов на группу адресов[https://www.** ''Assigned'' - назначенные адресаict. Зарезервированные для определённых групп устройств Multicast адресаtuwien.** ''Solicited'' - запрошенные адресаac. Остальные адреса, которые устройства могут использовать для прикладных задачat/lva/384.* Групповой (''Anycast'') 081/datacom/10-IP_Routing_v6- для отправки пакета на "любой" индивидуальный адрес. Такой адрес может быть назначен нескольким устройствам. Пакет будет доставлен ближайшему устройству с этим адресом1_handout.pdf Data Communication Lectures of Manfred Lindner – Part IP Routing Fundamentals]
1632
правки

Навигация