| Расскажем о самом IPv4 (RFC-791) - том протоколе, на котором в данный момент основан Интернет почти полностью, т.к. IPv4 является основной частью стека TCP/IP. Этот протокол занимается маршрутизацией в сетях, т.е. он направляет пакет по пути от отправителя до получателя. IP-протокол посылает данные дейтограммами. Каждая такая дейтаграмма, кроме передаваемых данных, содержит в себе и заголовок. Формат этого заголовка перед вами:
Обычно заголовок содержит 20 октетов, т.е. имеет длину 20 байт, но эта длинна может варьироваться, что отнюдь не упрощает процесс передачи данных. Наиболее интересными для нас по данной теме полями заголовка являются поля IP-адресов (адрес отправителя и получателя), поле тип сервиса (изначально неиспользовавшееся, а теперь устаревшее) и поле протокол (определяющее структуру поля "данные", т.е. в соответствии с каким протоколом они кодировались). Итак, перечислим общие недостатки протокола IPv4:
Проблемы масштабируемости IPv4 на этом не заканчиваются. Есть также проблемы связанные с транспортировкой данных, заключающиеся в сложности маршрутизации и, следовательно, разрастании таблиц маршрутизации. Хоть эту проблему и пытались решить введением бесклассовой междоменной маршрутизацией (CIDR), всё равно она этим не разрешилась, зато IP-администрирование от этого усложнилось. Всё же трудно построить и упорядочить структуру адресов в 32битном пространстве... Затем, сложность обработки IP-загаловка. Существенное число полей, которое он содержит, отнюдь не облегчает жизнь процессам, обрабатывающим такие заголовки. Ведь некоторые поля заголовка уже потеряли свою значимость, а другие возможно существенно упростить. Также переменная длинна заголовка заставляет постоянно пересчитывать контрольную сумму, а при высоких скоростях это сильно загрузит процессор. Также, в IPv4 отсутствуют некоторые механизмы, необходимые по современным меркам. Это механизмы информационной безопасности и средства поддержки классов обслуживания. Отсутствуют методы шифрования данных, которые сейчас на практике очень пригождаются. А такие средства должны быть реализованы именно на сетевом уровне, чтобы не напрягать этим приложения. Обеспечить поддержку классов обслуживания должны опять же маршрутизаторы, связывающие системы, чтобы эта задача не вылезала на уровень приложения, что приведёт опять же к усложнению и нестабильности работы. Реализовывать эти механизмы на IPv4 дополнительно - пустая трата времени. Всё равно придётся для этого вносить изменения в весь стек TCP/IP, что в любом случае приведёт к некоторому усложнению работы, связанному с переходом на новый стандарт. Так зачем тогда при этом оставлять неустранимые пороки IPv4, если можно реализовать всё сразу с помощью IPv6? В итоге, можно сказать, что IPv4 отслужил почти 30 лет верой и правдой и мог бы служить дальше, но не стоит терпеть устаревший протокол, содержащий неисправимые на сетевом уровне недостатки, в то время, когда на смену ему давно готова отличная альтернатива - IPv6. | |||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||