Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

IPv4



План:


Введення

IPv4 ( англ. Internet Protocol version 4 ) - Четверта версія IP протоколу, перша широко використовувана версія.

IPv4 описаний в RFC 791 (вересень 1981 року), замінив RFC 760 (січень 1980 року).


1. Адресація

IPv4 використовує 32 - бітні (чотирьох байтним) адреси, що обмежують адресний простір 4294967296 (2 +32) можливими унікальними адресами.

Зручною формою запису IP-адреси (IPv4) є запис у вигляді чотирьох десяткових чисел (від 0 до 255), розділених крапками, наприклад, 192.168.0.1. (Або 128.10.2.30 - традиційна десяткова форма представлення адреси)


1.1. Подання адреси


Форма запису Приклад Перетворення з десяткової нотації з точками
Десяткова з точками (англ.) 192.0.2.235 -
Шістнадцяткова з точками 0xC0.0x00.0x02.0xEB Кожен октет перетвориться в шістнадцяткову форму
Вісімкова з точками 0300.0000.0002.0353 Кожен октет перетвориться в вісімкову форму
Шістнадцяткова 0xC00002EB Конкатенація октетів з шестнадцатеричной нотації з точками
Десяткова 3221226219 32-бітове число в десятковій формі
Вісімкова 030000001353 32-бітове число в вісімковій формі

2. Зарезервовані адреси

Деякі адреси IPv4 зарезервовані для спеціальних цілей і не повинні бути глобально маршрутизуються.

Підмережа Призначення
0.0.0.0 / 8 [1] Адреса джерела пакета
127.0.0.0 / 8 [1] Підмережа для комунікацій усередині хоста (див. localhost)
169.254.0.0/16 [2] Канальні (link-local) адреси
192.0.2.0/24 [3] Для прикладів та документації
198.51.100.0/24 [3] Для прикладів та документації
203.0.113.0/24 [3] Для прикладів та документації
198.18.0.0/15 [4] Для стендів тестування продуктивності
10.0.0.0 / 8 [5] Для використання в приватних мережах
172.16.0.0/12 [5] Для використання в приватних мережах
192.168.0.0/16 [5] Для використання в приватних мережах
240.0.0.0 / 4 [6] Зарезервовано для використання в майбутньому
255.255.255.255 [7] Широкомовна адреса

Підмережа 224.0.0.0 / 4 зарезервована для під LGPL.


3. Структура пакета

Пакет IP містить 14 полів, з яких 13 є обов'язковими. Чотирнадцяте поле призначено для необов'язкових опцій. Поля використовують порядок байтів від старшого до молодшого, старші біти йдуть першими. Перший біт має номер 0. Таким чином, наприклад, поле з версією знаходиться в чотирьох старших бітах першого байта.

Зсув в бітах 0-3 4-7 8-13 14-15 16-18 19-31
0 Версія Розмір заголовка Differentiated Services Code Point Explicit Congestion Notification Розмір пакета
32 Ідентифікатор Прапори Зсув фрагмента
64 Час життя Протокол Контрольна сума заголовка
96 Адреса джерела
128 Адреса призначення
160 Опції (якщо розмір заголовка> 5)
160
або
192 +

Дані
Версія
Першим полем пакета є версія протоколу розміром в чотири біта. Для IPv4 це 4.
Розмір заголовка
Наступні чотири біта містять розмір заголовка пакету в 32-х бітних словах. Оскільки число опцій не постійно, зазначення розміру важливо для відділення заголовка від даних. Мінімальна значення дорівнює 5 (5 32 = 160 біт, 20 байт), максимальне - 15 (60 байт).
Differentiated Services Code Point (DSCP)
Спочатку називалося "тип обслуговування" (Type of Service, ToS), в даний час визначається RFC2474 як "Differentiated Services". Використовується для поділу трафіку на класи обслуговування, наприклад для установки чутливого до затримок трафіку, такому як VoIP більшого пріоритету.
Покажчик перевантаження (Explicit Congestion Notification, ECN)
Попередження про перевантаження мережі без втрати пакетів. Є необов'язковою функцією і використовується тільки якщо обидва хоста її підтримують.
Розмір пакета
16-бітний повний розмір пакета в байтах, включаючи заголовок і дані. Мінімальний розмір дорівнює 20 байтам (заголовок без даних), максимальний - 65535 байт. Хости зобов'язані підтримувати передачу пакетів розміром не менше 576 байт, але сучасні реалізації зазвичай підтримують набагато більший розмір. Пакети більшого розміру, ніж підтримує канал зв'язку, фрагментуються.
Ідентифікатор
Переважно використовується для ідентифікації фрагментів пакета якщо він був фрагментований. Існують експерименти щодо його використання для інших цілей, таких як додавання інформації про трасуванні пакета для спрощення відстеження шляху пакета з підробленим адресою джерела. [8]
Прапори
Поле розміром три біта містить прапори контролю над фрагментацією. Біти, від старшого до молодшого, означають:
  • 0: зарезервований, повинен бути рівний 0 [9].
  • 1: Не фрагментувати
  • 2: У пакета ще є фрагменти
Якщо встановлений прапор "не фрагментувати", то в разі необхідності фрагментації такий пакет буде знищений. Може використовуватися для передачі даних хостам, які не мають достатніх ресурсів для обробки фрагментованих пакетів.
Прапор "є фрагменти" повинен бути встановлений в 1 у всіх фрагментів пакета, крім останнього. У нефрагментірованних встановлюється в 0 - такий пакет вважається власним останнім фрагментом.
Зсув фрагмента
Поле розміром в 13 біт, вказує зсув поточного фрагмента від початку передачі фрагментованого пакета в блоках по 8 байт. Дозволяє (13 лютого -1) 8 = 65 528 байт зсуву, що перевищує максимальний розмір пакету. Перший фрагмент у послідовності має нульовий зсув.
"Час життя" (Time to Live, TTL) пакета.
Дозволяє запобігти закільцьовування пакетів в мережі шляхом знищення пакетів, що перевищили час життя. Вказується в секундах, інтервали менше секунди округлюються до однієї секунди. На практиці кожен маршрутизатор зменшує час життя пакетів на одиницю (що справедливо при існуючих типових затримках в мережі). Пакети, час життя яких стало дорівнює нулю знищуються, а відправив надсилається повідомлення ICMP Time Exceeded. На відправку пакетів з різним часом життя заснована трасування їх шляху проходження ( traceroute).
Протокол
Вказує, дані якого протоколу містить пакет (наприклад, TCP або ICMP). Надані номери протоколів можна знайти на сайті IANA [10].
Контрольна сума заголовка
16-бітова контрольна сума, яка використовується для перевірки цілісності заголовка. Кожен хост або маршрутизатор порівнює контрольну суму заголовка зі значенням цього поля і відкидає пакет, якщо вони не збігаються. Цілісність даних IP не перевіряє - вона перевіряється протоколами вищих рівнів (такими, як TCP або UDP), які теж використовують контрольні суми.
Оскільки TTL зменшується на кожному кроці проходження пакета, сума теж повинна обчислюватися на кожному кроці. Метод перерахунку контрольної суми визначено в RFC1071 [11].
Адреса джерела
32-х бітний адреса відправника пакета. Може не збігатися з цим адресою відправника через трансляції адрес.
Адреса призначення
32-х бітний адреса одержувача пакета.
Опції
За адресою призначення може слідувати поле додаткових опцій, але воно використовується рідко. Розмір заголовка в цьому випадку повинен бути достатнім щоб вмістити всі опції (з урахуванням доповнення до цілого числа 32-х бітних слів).
Якщо список опцій не є кінцем заголовка, він повинен закінчуватися опцією 0x00. Опції мають наступний формат:
Поле Розмір в бітах Опис
Копіювати 1 Встановлюється в 1 якщо потрібно копіювати опції в заголовки всіх фрагментів.
Клас опції 2 0 для "керуючих" опцій і 2 для опцій "вимірювань і налагодження". 1 і 3 зарезервовані.
Номер опції 5 Вказує опцію.
Розмір опції 8 Вказує розмір опції (з урахуванням цього поля). Може не вказуватися для опцій без аргументів.
Аргументи опції Змінний Додаткові дані, що використовуються опцією.
  • Зауваження: Розмір заголовка більше 5 вказується на присутність опцій і необхідність їх обробки.
  • Зауваження: Поля "копіювати", "клас опції" і "номер опції" іноді називають одним восьмібітних полем "тип опції".

4. Вичерпання адресного простору

Уже в 80-х роках стало очевидно, що розподіл адресного простору відбувається значно швидшими темпами, ніж було закладено в архітектуру IPv4. Це призвело спочатку до появи класової адресації, пізніше безкласової адресації, і в кінцевому підсумку до розробки нового протоколу IPv6.

У лютому 2011 року IANA виділила 5 останніх блоків адрес RIRам. За прогнозами у регіональних реєстраторів блоки почнуть закінчуватися в другій половині 2011 року. [12]


Примітки

  1. 1 2 RFC1700: Assigned Numbers - www.rfc-editor.org/rfc/rfc1700.txt (Англ.)
  2. [ http://www.rfc-editor.org/rfc/rfc3927.txt - www.rfc-editor.org/rfc/rfc3927.txt RFC3927: Dynamic Configuration of IPv4 Link-Local Addresses] (Англ.)
  3. 1 2 3 RFC5737: IPv4 Address Blocks Reserved for Documentation - www.rfc-editor.org/rfc/rfc5737.txt (Англ.)
  4. RFC2544: Benchmarking Methodology for Network Interconnect Devices - www.rfc-editor.org/rfc/rfc2544.txt (Англ.)
  5. 1 2 3 RFC1918: Address Allocation for Private Internets - www.rfc-editor.org/rfc/rfc1918.txt (Англ.)
  6. RFC3330: Special-Use IPv4 Addresses - www.rfc-editor.org/rfc/rfc3330.txt (Англ.)
  7. BROADCASTING INTERNET DATAGRAMS - www.rfc-editor.org/rfc/rfc919.txt (Англ.)
  8. Savage, Stefan Practical Network Support For IP traceback - portal.acm.org / citation.cfm? id = 347057.347560.
  9. В якості першоквітневим жарти запропонований означати зловмисність пакета ("evil bit")
  10. Assigned Internet Protocol Numbers - www.iana.org / assignments / protocol-numbers / protocol-numbers.xml (Англ.)
  11. Computing the Internet Checksum - www.rfc-editor.org/rfc/rfc1071.txt (Англ.)
  12. IPv4 Address Report - www.potaroo.net/tools/ipv4/index.html


Основні протоколи TCP / IP за рівнями моделі OSI ( Список портів TCP і UDP)
Прикладний

BGP HTTP HTTPS DHCP IRC SNMP Над DNS DNSSEC NNTP XMPP SIP BitTorrent IPP NTP SNTP

Електронна пошта SMTP POP3 IMAP 4
Передача файлів FTP TFTP SFTP
Віддалений доступ Rlogin Telnet RDP
Подання XDR SSL
Сеансовий ADSP H.245 iSNS NetBIOS PAP RPC L2TP PPTP RTCP SMPP SCP SSH ZIP SDP
Транспортний TCP UDP SCTP DCCP RUDP RTP
Мережевий IPv4 IPv6 IPsec ICMP IGMP ARP RARP RIP2 OSPF
Канальний Ethernet PPPoE PPP L2F 802.11 Wi-Fi 802.16 WiMax Token Ring ARCNET FDDI HDLC SLIP ATM DTM X.25 Frame Relay SMDS STP
Фізичний Ethernet RS-232 EIA-422 RS-449 RS-485

Цей текст може містити помилки.

Схожі роботи | скачати
© Усі права захищені
написати до нас
Рейтинг@Mail.ru