Основы графического IP!

задняя часть внешний интерфейс

Я скомпилировал свои предыдущие статьи на Github, приветствую всех в звездахGitHub.com/Next Day Picks/Не голоден…

IP-протокол

После того, как маршрутизатор перенаправит пакет, он передаст пакет в сеть, и в конечном итоге пакет будет передан клиенту или серверу, так как же пакет узнает, куда его отправить? Именно IP-протокол играет ключевую роль.

IP в основном делится на три части, а именноIP-адресация, маршрутизация и пакетирование. Здесь мы в основном подробно остановились на этих трех пунктах.

айпи адрес

Поскольку пакет данных должен передаваться по сети, должно быть известно, куда отправляется пакет данных, то есть требуется информация о целевом адресе.IP-адрес — это адрес назначения, который соединяет все хосты в сети для связи., поэтому каждый хост в сети должен иметь свой собственный IP-адрес.

В ссылке, отправленной дейтаграммой IP, ссылка может быть очень длинной. Например, дейтаграмма, отправленная из Китая в Соединенные Штаты, может быть потеряна из-за некоторых непредвиденных факторов, таких как джиттер сети.В настоящее время мы находимся в этой цепочке. Будут некоторые на пути中转站, с одной стороны, он может гарантировать, что дейтаграмма не потеряна, а с другой стороны, он может контролировать пересылку дейтаграммы.Эта транзитная станция является маршрутизатором, о котором мы говорили ранее.Процесс пересылки路由控制.

路由控制(Routing)Это относится к функции отправки пакетных данных на конечный адрес назначения.Даже если сеть сложная и изменчивая, она также может достигать адреса назначения посредством управления маршрутизацией. Следовательно, может ли дейтаграмма достичь целевого хоста или нет, зависит от контроля маршрутизатора.

здесь есть существительное, потому что в канале может быть много маршрутизаторов, а передача дейтаграмм между маршрутизаторами является скачком Например, если вы общаетесь с Лао Ваном по соседству, вы можете пройти через маршрутизатор A -> маршрутизатор B -> маршрутизатор C посередине. .

Итак, какова дальность прыжка?

Переход — это интервал между MAC-адресом источника и MAC-адресом получателя для передачи кадра.Здесь, вот новое существительное, MAC-адрес есть?

MAC-адрес относится к物理地址(Physical Address), который является адресом, используемым для определения местоположения сетевого устройства. В модели сети OSI сетевой уровень отвечает за поиск IP-адресов, а канальный уровень отвечает за поиск MAC-адресов. MAC-адрес используется для уникальной идентификации сетевой карты в сети.Если устройство имеет одну или несколько сетевых карт, каждая сетевая карта должна иметь уникальный MAC-адрес, что означает, что MAC-адрес и сетевая карта тесно связаны. .

Каждый переход маршрутизатора должен спрашивать текущий транзитный маршрутизатор, куда должен перейти следующий переход, чтобы перейти к адресу назначения. Вместо того, чтобы после того, как дейтаграмма только начала отправляться, будут отображаться все каналы в сети.Этот вид множественных переходов также называется多跳路由.

определение IP-адреса

На сегодняшний день существует две версии IP-адресов: IPv4 и IPv6.Давайте сначала обсудим IPv4-адреса, которые до сих пор широко используются, а затем рассмотрим IPv6.

IPv4 представлен 32-разрядным положительным целым числом, которое будет преобразовано в двоичное для обработки внутри компьютера, но двоичное представление не соответствует привычке человеческого чтения, поэтому мы основываемся на易读性Принцип 32-битных IP-адресов разбит на 8-битные группы на четыре группы..Разделите и преобразуйте каждую группу в десятичную. Как показано ниже

Затем указанный выше 32-битный IP-адрес будет преобразован в десятичный 156.197.1.1.

Кроме того, из рисунка мы также можем получить следующую информацию

Каждое такое 8-битное число естественно неотрицательно, и его диапазон значений составляет [0,255].

Общее количество IP-адресов равно степени 2^32, и это значение рассчитывается как4294967296допуская примерно 4,3 миллиарда устройств для подключения к сети. Это на самом деле верно?

На самом деле IP настраивается не по количеству хостов, а по количеству хостов на устройстве.网卡(NIC)Для настройки каждой сетевой карте назначается один или несколько IP-адресов, и обычно маршрутизатор имеет как минимум две сетевые карты, поэтому можно установить более двух IP-адресов, поэтому количество хостов намного меньше 4,3 миллиарда.

Построение и классификация IP-адресов

IP-адрес по网络标识и主机标识Он состоит из двух частей: идентификатор сети представляет собой сетевой адрес, а идентификатор узла представляет собой адрес узла. Идентификатор сети настраивается с разными значениями на каждом сегменте канала передачи данных. Идентификатор сети должен гарантировать, что адреса каждого сегмента, соединенного друг с другом, не дублируются. Хосты, подключенные к одному сегменту, должны иметь одинаковый сетевой адрес. айпи адрес主机标识Не допускается повторное появление в одном и том же сегменте сети.

Возьми, например: например, я в Шицзячжуане (как будто нет такого AUNG), здание, где я эквивалентен сетевой идентификацией, зданием нескольких семей, эквивалентных мою личности хоста, конечно, Если у вас все здание, то, когда я сделал. Вы можете найти мою сеть, идентифицированную по провинциальному XX XX XX зданию округа XX XX XX Road Road Road, это одна из нескольких семей, эквивалентных моей идентичности?

IP-адреса делятся на четыре категории, а именноКласс А, Класс Б, Класс С, Класс D, Класс Е, который классифицирует идентификаторы сети и идентификаторы узлов на основе битов с 1 по 4 в IP-адресе.

  • A 类: (1.0.0.0 - 126.0.0.0) (маска подсети по умолчанию: 255.0.0.0 или 0xFF000000) Первый байт — это номер сети, а последние три байта — номер хоста. Первая часть этого типа IP-адреса равна 0, поэтому сетевой номер адреса находится в диапазоне от 1 до 126. Обычно используется для больших сетей.

  • B 类: (128.0.0.0 - 191.255.0.0) (маска подсети по умолчанию: 255.255.0.0 или 0xFFFF0000) Первые два байта — это номер сети, а последние два байта — это номер хоста. Первая часть этого типа IP-адреса равна 10, поэтому сетевой номер адреса находится в диапазоне от 128 до 191. Обычно используется для сетей среднего размера.

  • C 类: (192.0.0.0 - 223.255.255.0) (маска подсети: 255.255.255.0 или 0xFFFFFF00) Первые три байта — номер сети, а последний байт — номер хоста. Первая часть этого типа IP-адреса — 110, поэтому сетевой номер адреса находится в диапазоне от 192 до 223. Обычно используется для небольших сетей.

  • D 类: многоадресный адрес. Первая часть этого типа IP-адреса — 1110, поэтому сетевой номер адреса находится в диапазоне от 224 до 239. Обычно используется для многоадресных пользователей.

  • E 类: зарезервированный адрес. Первая часть этого типа IP-адреса — 1111, поэтому сетевой номер адреса находится в диапазоне от 240 до 255.

Для простоты понимания я нарисовал схему классификации IP-адресов, как показано ниже.

В соответствии с различными диапазонами IP-адресов существуют различные классификации общей земельной площади следующим образом.

маска подсети

子网掩码(subnet mask)Также известный как сетевая маска, это метод, используемый для указания того, какие биты IP-адреса идентифицируют сеть, в которой находится хост. Маска подсети — это 32-битный адрес, используемый для маскировки части IP-адреса, чтобы различать сетевую идентификацию и идентификацию хоста.

Поскольку классификация IP-адреса определена, его сетевая идентификация и идентификация хоста также определяются, поэтому диапазон сетевой идентификации, представленный каждой классификацией, выглядит следующим образом.

использовать1Диапазон битов, представляющий сетевой IP-адрес,0Представляет диапазон IP-адресов узлов. Представляя их в десятичном виде, эти три категории представляются следующим образом

зарезервированный адрес

Из нескольких классов адресов в IPv4 есть несколько зарезервированных адресных пространств, которые нельзя использовать в Интернете. Эти адреса используются для специальных целей и не могут маршрутизироваться за пределы локальной сети.

Версия IP-протокола

В настоящее время в глобальной сети Интернет сосуществуют две версии IP:IP 版本 4(IPv4)иIP 版本6(IPv6). IP-адреса состоят из двоичных значений, которые управляют маршрутизацией всех данных в Интернете. Адреса IPv4 имеют длину 32 бита, а адреса IPv6 — 128 бит.

IP-ресурсы в Интернете предоставляютсяInternet 分配号码机构(IANA)Назначается региональному интернет-реестру (RIR), такому как APNIC, который отвечает за корневой DNS, IP-адресацию и другие ресурсы интернет-протокола.

Давайте рассмотрим две очень важные версии протокола IP, IPv4 и IPv6.

IPv4

Полное название IPv4:Internet Protocol version 4, является четвертой версией интернет-протокола. IPv4 — это протокол без установления соединения, этот протокол будет делать все возможное для доставки пакетов, что означает, что он не может гарантировать, что какие-либо пакеты достигнут пункта назначения или что все пакеты достигнут узла назначения в правильном порядке. Оба эти протокола контролируются верхними уровнями. например протокол управления передачей. То есть из одного только IP это ненадежный протокол.

Ранее мы говорили, что пакеты сетевого уровня называются数据报, поэтому наше следующее описание также будет вращаться вокруг дейтаграммы.

Формат дейтаграммы IPv4 выглядит следующим образом.

Ключевые слова в дейтаграммах IPv4 и их объяснение

  • 版本字段(Version)Оно занимает 4 бита, а версии, используемые обеими сторонами, должны быть одинаковыми.Для версии IPv4 значение поля равно 4.
  • 首部长度(Internet Header Length)Занимает 4 бита, а длина заголовка указывает, сколько 32 битов (4 байта) содержится в заголовке. Поскольку заголовок IPv4 может содержать неопределенные параметры, это поле используется для определения смещения данных. Большинство IP-адресов не включают эту опцию, поэтому общая длина заголовка устанавливается равной 5, а дейтаграмма — 20 байт.
  • 服务类型(Differential Services Codepoint,DSCP)Занимает 6 бит для использования различных дейтаграмм IP, таких как некоторые дейтаграммы с малой задержкой, высокой пропускной способностью и надежные дейтаграммы. Виды услуг представлены в таблице ниже
  • 拥塞通告(Explicit Congestion Notification,ECN)Занятость 2 бита, что позволяет другой стороне информировать о возникновении перегрузки в сети без потери пакетов. ECN является дополнительной функцией только тогда, когда оба конца поддерживаются и хотят использовать, и используется, когда базовая сеть поддерживает. DSCP и ECN вначале вместе именовались TOS, что является дифференцированным обслуживанием, но позже было преобразовано в DSCP и ECN.

  • 数据报长度(Total Length)Занимает 16 бит, эти 16 бит и есть общая длина включая данные.Теоретически общая длина дейтаграммы равна 2 в 16 степени - 1, а максимальная длина 65535 байт, но на деле дейтаграмма редко превышает 1500 байт. Согласно IP, все хосты должны поддерживать пакеты размером не менее 576 байт, но большинство современных хостов поддерживают пакеты большего размера. базового протокола передачи данных最大传输单元(MTU)Когда значение поля меньше длины IP-пакета, пакет необходимо фрагментировать.

  • 标识符(Identification)Занимает 16 бит. Это поле используется для идентификации всех фрагментов. Поскольку фрагменты могут поступать не по порядку, все фрагменты, достигшие целевого хоста, будут реорганизованы. Каждый раз, когда генерируется дейтаграмма, счетчик увеличивается на 1 и назначается этому полю. .

  • 标志(Flags)Занимает 3 бита, флаг используется для управления и идентификации осколков, эти 3 бита

    • 0 бит: зарезервировано, должно быть 0;
    • 1 человек:禁止分片(Don’t Fragment,DF), сегментирование разрешено только при DF = 0;
    • 2:更多分片(More Fragment,MF), MF = 1 означает, что еще остались осколки, MF = 0 означает, что это последний осколок.

    Если флаг DF установлен в 1, но маршрут требует фрагментации, то дейтаграмма отбрасывается.

  • 分片偏移(Fragment Offset)Занимая 13 бит, он указывает смещение каждого фрагмента относительно начала исходного сообщения в блоках по 8 байт.

  • 存活时间(Time To Live,TTL)Занимает 8 бит, время жизни, чтобы избежать пакетов в Интернете迷失, например попадание в петлю маршрутизации. Время жизни указывается в секундах, но время меньше одной секунды округляется до одной секунды. На самом деле это фактически становится счетчиком переходов: каждый маршрутизатор, через который проходит пакет, уменьшает это поле на 1, когда это поле равно 0, пакет больше не передается на следующий переход и отбрасывается, максимальное значение этого поля равно 255.

  • 协议(Protocol)Занимая 8 бит, это поле определяет протокол, используемый в области данных сообщения. С содержанием договора можно ознакомиться вWoohoo.IANA.org/assignments…Получить его на официальном сайте.

  • 首部校验和(Header Checksum)Занимает 16 бит, а контрольная сумма заголовка будет проверять поле на исправление ошибок.В каждом прыжке маршрутизатор будет пересчитывать контрольную сумму заголовка и сравнивать ее с этим полем.При несоответствии пакет будет отброшен.

  • 源地址(Source address)Занимая 32 бита, это условие композиции адреса IPv4, а адрес источника относится к отправителю дейтаграммы.

  • 目的地址(Destination address)Занимая 32 бита, это условие композиции адреса IPv4, а адрес назначения относится к получателю дейтаграммы.

  • 选项(Options)Это дополнительное поле, поле option занимает от 1 до 40 байт и обычно следует за адресом получателя. Поле параметров следует учитывать, если длина заголовка > 5.

  • 数据Не является частью головы, поэтому не включена в первую проверку и.

В процессе IP-передачи размер каждой дейтаграммы различен, и пакеты сетевого уровня, которые может передавать каждый протокол канального уровня, также различны.Некоторые протоколы могут передавать большие дейтаграммы, в то время как другие могут передавать только небольшие дейтаграммы. различные уровни связи могут нести следующие.

Фрагментация IPv4

Максимальный объем данных, который может нести кадр канального уровня, называется最大传输单元(Maximum Transmission Unit, MTU), каждая дейтаграмма IP инкапсулируется в кадр канального уровня от одного маршрутизатора к другому. Поскольку максимальный MTU, поддерживаемый каждым канальным уровнем, отличается, когда размер дейтаграммы превышает MTU, она будет фрагментирована на канальном уровне, и каждая дейтаграмма будет индивидуально инкапсулирована на канальном уровне, а каждый меньший фрагмент называется片(fragement).

Каждый фрагмент будет повторно собран после достижения пункта назначения, а точнее перед транспортным уровнем.И TCP, и UDP будут хотеть отправлять полные, нефрагментированные пакеты.Из соображений производительности реорганизация фрагмента не в маршрутизаторе, а в целевом хосте.

Когда хост-получатель получает дейтаграммы от отправителя, ему необходимо определить, были ли фрагменты в этих дейтаграммах доставлены фрагментами исходных дейтаграмм, и если да, то когда фрагменты были получены посередине.最后一片, и как кусочки соединяются вместе в дейтаграмму.

В ответ на эти потенциальные проблемы разработчики IPv4Логотипы, флаги и смещения слайсовв заголовке IP-датаграммы. При создании дейтаграммы хост-отправитель устанавливает исходный и конечный адреса для дейтаграммы и вставляет标识号. Хост-отправитель обычно добавляет 1 к идентификатору каждой отправляемой дейтаграммы. Когда маршрутизатору необходимо фрагментировать дейтаграмму, каждая сформированная дейтаграмма имеетАдрес источника, адрес назначения и идентификационный номер. Когда пункт назначения получает серию дейтаграмм от одного и того же хоста-отправителя, он может проверить идентификационный номер дейтаграммы, чтобы определить, какие данные были отправлены исходной дейтаграммой. Так как IP является ненадежным сервисом, в сети могут быть потеряны фрагменты, в этом случае последний бит фрагмента обычно устанавливается в 0, остальные фрагменты в 1, и используется поле смещения Указывает, где должен быть фрагмент находиться в дейтаграмме.

IPv4-адресация

IPv4 поддерживает три различных типа режимов адресации, а именно:

  • Режим одноадресной адресации: в этом режиме данные отправляются только на один узел назначения.

  • Режим широковещательной адресации: в этом режиме пакеты будут адресоваться всем хостам в сегменте сети. Здесь клиент отправляет пакет, который принимается всеми серверами:

  • Режим многоадресной адресации: этот режим представляет собой смесь первых двух режимов, т. е. передаются пакеты, которые не нацелены ни на один хост, ни на все хосты в сегменте.

IPv6

Поскольку доступ к системе становится все более и более отключенным, IPv4 больше не может соответствовать распределению, поэтому появился IPv6.IPv6 — это интернет-протокол, стандартизированный для решения проблемы исчерпания адресов IPv4. Длина адреса IPv4 составляет 4 8 байт или 32 бита, а длина адреса IPv6 в четыре раза больше исходной, т. е. 128 бит, обычно записывается как 8 16-битных байтов.

Переход с IPv4 на IPv6 занимает много времени и требует установки IP-адресов всех хостов и маршрутизаторов в сети.Сегодня, при неизменной популярности Интернета, замена всех IP-адресов является рабочей нагрузкой и огромной задачей. Мы поговорим об этом позже.

Сначала мы смотрим на адрес IPv6, как

  • 版本Как и в IPv4, номер версии состоит из 4 бит, а значение номера версии IPv6 равно 6.
  • 流量类型(Traffic Class)Занимая 8 бит, он эквивалентен Type Of Service в IPv4.
  • 流标签(Flow Label)Занимает 20 бит, эти 20 бит используются для идентификации потока дейтаграммы, что может дать приоритет определенным дейтаграммам в потоке или может использоваться для предоставления более высокого приоритета дейтаграммам из определенных приложений. Только когда метка потока, адрес источника и адрес назначения согласованы, будет ли он считаться потоком.
  • 有效载荷长度(Payload Length)Занимая 16 бит, это 16-битное значение используется как целое число без знака, которое дает количество байтов, следующих за 40-байтовым заголовком дейтаграммы Dingchang в дейтаграмме IPv6.
  • 下一个首部(Next Header)Занимая 8 бит, он используется для определения того, по какому протоколу должно быть доставлено содержимое дейтаграммы, будь то протокол TCP или протокол UDP.
  • 跳限制(Hop Limit)Занимая 8 бит, это поле имеет то же значение, что и IPv4 TTL. Каждый раз, когда данные проходят через маршрут, они будут уменьшаться на 1, а если уменьшаться до 0, данные будут отбрасываться.
  • 源地址(Source Address)Займите 128 бит (8 16-битных), указывая на IP-адрес отправителя.
  • 目标地址(Destination Address)Занимает 128 бит (8 16 бит), указывая IP-адрес приемника.

Как видите, по сравнению с IPv4, IPv6 отменяет следующие поля:

  • Идентификаторы, флаги и битовые смещения: IPv6 не допускает фрагментации и повторной сборки на промежуточных маршрутизаторах. Эта операция может быть выполнена только в конечной системе.IPv6 помещает эту функцию в конечную систему, что увеличивает скорость пересылки в сети.
  • контрольная сумма заголовка: Поскольку проверка целостности сегмента выполняется на транспортном уровне и канале передачи данных, разработчики IP, вероятно, посчитали излишним иметь контрольную сумму заголовка на сетевом уровне, поэтому они удалили ее.IP больше ориентирован на быструю обработку пакетных данных.
  • поле опций: Поле параметров больше не является частью стандартного заголовка IP, но оно не исчезло, но может появиться в заголовке расширения IPv6, который является следующим заголовком.

Заголовок расширения IPv6

Длина заголовка IPv6 фиксирована, и в него нельзя добавить поле option, вместо этого IPv6 использует扩展首部

Заголовок расширения обычно находится между заголовком IPv6 и заголовком TCP/UDP.В IPv4 необязательная фиксированная длина составляет 40 байт, а в IPv6 такого ограничения нет. Заголовки расширения IPv6 могут быть любой длины. Заголовок расширения также может содержать протокол заголовка расширения и следующее поле расширения.

В заголовке IPv6 нет полей идентификации и флага,При фрагментации IP нужно использовать заголовок расширения.

Конкретная таблица заголовков расширения выглядит следующим образом

Давайте посмотрим на характеристики IPv6.

Возможности IPv6

Характеристики IPv6 могут быть реализованы в IPv4, но даже если реализована операционная система IPv4, она может не реализовать все функции IPv4. Однако IPv6 популяризировал эти функции, а это означает, что эти функции были реализованы в IPv6.В основном эти функции включают:

  • Адресное пространство становится больше: Это самая важная особенность IPv6, то есть поддерживает более широкое адресное пространство.

  • Оптимизированная структура сообщений: IPv6 намного проще, чем IPv4.Длина сообщения IPv4 не фиксирована, и есть постоянно изменяющееся поле option, сегмент сообщения IPv6 фиксирован, а поле option и фрагментированное поле перемещены в заголовок расширения IPv6. , что чрезвычайно. Структура пакета IPv6 значительно упрощена.

  • Реализована автоматическая настройка: IPv6 поддерживаетграждане и лица без гражданстваАвтоматический режим настройки. Таким образом, нетDHCP 服务器Не останавливает межсегментную коммуникацию.

  • Иерархическая структура сети: IPv6 больше не делит адреса по классификации A, B, C и т. д. как IPv4, а присваивает их в порядке IANA -> RIR -> ISP. IANA — это Международное управление по присвоению номеров, RIR — это региональный интернет-реестр, а интернет-провайдеры — это некоторые операторы (например, Telecom, Mobile, Unicom).

  • IPSec: в заголовке расширения IPv6 есть заголовок проверки подлинности и инкапсулирующий заголовок полезных данных безопасности.Эти два заголовка определяются IPsec. С помощью этих двух заголовков сетевой уровень может обеспечить сквозную безопасность самостоятельно, без помощи других протоколов, таких как протокол IPv4.

  • Поддержка Anycast: IPv6 вводит новый режим адресации, называемый произвольной адресацией.

IPv6 адрес

Мы знаем, что IPv6 Address 128 бит, может выразить свой ассортимент 2 ^ 128 раз. Мощность, этот номер очень большой, охватывающий практически все хосты и маршрутизаторы, которые вы можете подумать, а затем IPv6 Как это выразить?

Как правило, мы делим 128-битные IP-адреса на группы по 16 бит и используем:номер для разделения, если есть последовательные 0, вы также можете опустить 0 и использовать::Разделенные двумя двоеточиями, помните, что IP-адрес может иметь только два последовательных двоеточия одновременно.

Вот несколько примеров адресов IPv6

  • представление двоичных чисел

  • выражается в шестнадцатеричном формате

  • Когда появляются два двоеточия

Как показано выше, 0 в середине A120 и 4CD заменяется на :: .

Кроме того, я сам перелил шесть PDF-файлов.После того, как программист поиска WeChat cxuan обратил внимание на официальный аккаунт, я ответил cxuan в фоновом режиме и получил все PDF-файлы.Эти PDF-файлы выглядят следующим образом

Шесть ссылок в формате PDF