
Протокол ip
Протокол IP является протоколом сетевого уровня стека протоколов TCP/IP. Функции протокола IP определены следующим образом: “Протокол IP обеспечивает передачу блоков данных, называемых дейтаграммами, от отправителя к получателям, где отправители и получатели являются компьютерами, идентифицируемыми адресами фиксированной длины (IP-адресами). Протокол IP обеспечивает при необходимости также фрагментацию и сборку дейтаграмм для передачи данных через сети с малым размером пакетов”. Вместо термина дейтаграмма мы далее будем употреблять термин пакет, как и договаривались ранее.
Протокол IP является ненадежным протоколом без установления соединения. Это означает, что протокол IP не подтверждает доставку данных, не контролирует целостность полученных данных и не производит операцию обмена служебными сообщениями, подтверждающими установку соединения с узлом назначения и его готовность к приему данных. Протокол IP обрабатывает каждый пакет как независимую единицу, не имеющую связи ни с какими другими пакетами в Интернет. После того, как пакет отправляется в сеть, его дальнейшая судьба никак не контролируется отправителем (на уровне протокола IP). Если пакет не может быть доставлен, он уничтожается. Узел, уничтоживший дейтаграмму, может оправить по обратному адресу специальное ICMP-сообщение о причине сбоя.
Гарантию правильной передачи данных могут предоставлять протоколы вышестоящих уровней (например, протокол TCP транспортного уровня), которые имеют для этого необходимые механизмы.
Одна из основных задач, решаемых протоколом IP, - маршрутизация пакетов, т.е. определение пути следования пакета от одного узла сети к другому на основании адреса получателя.
IP- адрес
IP- адрес - это 32-битное двоичное число.
Принята десятичная нотация адресов. Каждый из 4 байтов адреса представляется эквивалентным десятичным числом. Числа разделяются точками. Так для IP-адреса
11010100 11000001 00100000 00000100
имеем в десятичном виде
212.193.32.4
IP-адрес может быть форматирован или 5 классическими способами (классы A, B C, D, E) или маской переменной длины (бесклассова адресация).
|
8 бит |
8 бит |
8 бит |
8 бит |
|||||
Класс А |
0 |
№ сети |
№ узла |
||||||
Класс B |
1 |
0 |
№ сети |
№ узла |
|||||
Класс C |
1 |
1 |
0 |
№ сети |
№ узла |
||||
Класс D |
1 |
1 |
1 |
0 |
Адрес группы multicast |
||||
Класс E |
1 |
1 |
1 |
1 |
0 |
Зарезервировано |
Существуют дополнительные правила формирования IP- адресов.
Для номера сети:
первый октет идентификатора сети не может быть равен 127 (адреса вида 127.x.y.z предназначены для отправки узлом пакетов самому себе и используются как правило для отладки сетевых приложений, такие адреса называются loopback-адресами, или адресами обратной связи);
все разряды идентификатора сети не могут состоять из одних 1 (IP-адреса, все биты которых установлены в 1, используются при широковещательной передаче информации);
все разряды идентификатора сети не могут состоять из одних 0 (в IP-адресах все биты, установленные в ноль, соответствуют либо данному устройству, либо данной сети);
Для номера узла:
все разряды идентификатора узла не могут состоять из одних 1 (идентификатор узла, состоящий из одних 1, используется для широковещательных адресов, или broadcast-адресов);
все разряды идентификатора узла не могут состоять из одних 0 (если разряды идентификатора узла равны 0, то такой адрес обозначает всю сеть, например, адрес 192.168.1.0 обозначает всю сеть с идентификатором сети 192.168.1;
Из структуры адреса класса А следует, что в первом октете он может иметь значения от 0 до 127. С учетом вышеперечисленных ограничений значения 0 и 127 недопустимы. Существует, таки образом, только 126 сетей класса А. Остальные 24 бита адресуют хосты в сети класса А. Для классических сетей А,В и С таким образом имеем:
сети |
Наименьший идентификатор сети |
Наибольший идентификатор сети |
Количество сетей |
Класс A |
1.0.0.0 |
126.0.0.0 |
126 |
Класс B |
128.0.0.0 |
191.255.0.0 |
16384 |
Класс C |
192.0.0.0 |
223.255.255.0 |
2097152 |
Соответственно для узлов в этих сетях:
сети |
Наименьший идентификатор узла |
Наибольший идентификатор узла |
Количество узлов |
Класс A |
w.0.0.1 |
w.255.255.254 |
16777214 |
Класс B |
w.x.0.1 |
w.x.255.254 |
65534 |
Класс C |
w.x.y.1 |
w.x.y.254 |
254 |
Номера сетей назначаются корпорацией по присвоению имен и номеров ICANN (Internet Corporation for Assigned Names and Numbers) и региональными организациями. В Европе RIPЕ, в России RIPN.
Серые адреса – способ экономии адресного пространства
Когда в начале 90-х появились проблемы с адресным пространством, в марте 1994 г было принято решение об адресном "сегментировании" общего пространства — выделении для локальных сетей отдельных диапазонов IP-адресов и исключение этих IP-адресов из использования в интернете:
10. 0. 0. 0 - 10. 255.255.255
172. 16. 0. 0 - 172. 31.255.255
192.168. 0. 0 - 192.168.255.255
Кроме этих диапазонов специальным образом в настоящее время используются еще и адреса
169.254. 0. 0 - 169.254.255.255
Этот диапазон предназначен для самоназначаемых IP-адресов; в случае если на компьютере настроен DHCP-клиент и ему не удалось получить IP-адрес, он берёт случайный адрес из этого диапазона.
С полным списком диапазонов адресов, используемых специальным образом по состоянию на январь 2010 г., можно ознакомиться в RFC 5735. Приведенная там сводная таблица выглядит следующим образом:
0.0.0.0/8 "This" Network
10.0.0.0/8 Private-Use Networks
127.0.0.0/8 Loopback
169.254.0.0/16 Link Local
172.16.0.0/12 Private-Use Networks
192.0.0.0/24 IETF Protocol Assignments
192.0.2.0/24 TEST-NET-1
192.88.99.0/24 6to4 Relay Anycast
192.168.0.0/16 Private-Use Networks
198.18.0.0/15 Network Interconnect Device Benchmark Testing
198.51.100.0/24 TEST-NET-2
203.0.113.0/24 TEST-NET-3
224.0.0.0/4 Multicast
240.0.0.0/4 Reserved for Future Use
255.255.255.255/32 Limited Broadcast