4. Расширение протокола. RIPv2
Под расширением протокола RIPv1 понимается RIPv2. Почему «расширение»? Потому что по сравнению с RIPv1, RIPv2 не внес в протокол каких-либо серьезных изменений в механизме или формате сообщения. RIPv2 обеспечивает передачу дополнительной информации, пользуясь пакетами того же формата, что и RIPv1.
Формат заголовка пакета RIP во второй версии не изменился, исключая, естественно, поле «версия». Те поля RTE, которые ранее не использовались, теперь содержат дополнительную информацию. Формат RTE для RIPv2 показан на следующем рисунке:
Биты | |||||||||||||||||||||||||||||||
0 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 0 |
1 |
address family identifier (AFI) | Route Tag | ||||||||||||||||||||||||||||||
IP-адрес | |||||||||||||||||||||||||||||||
Маска подсети | |||||||||||||||||||||||||||||||
Next hop | |||||||||||||||||||||||||||||||
метрика |
Формат поля RTE для RIPv2
Поля AFI, IP-адрес и метрика имеют то же значения и формируются тем же образом, что и для RIPv1. Значение остальных полей будет рассмотрено ниже.
4.1. Аутентификация
Для аутентификации используется целый отдельный RTE. Это сделано по следующим причинам:
Аутентификация требуется для каждого отдельного сообщения.
В заголовке пакета RIP недостаточно места для реализации нормальной схемы аутентификации.
Для аутентификации может использоваться первый, и только первый RTE пакета. Если используется аутентификация, AFI первого RTE будет равно 0xFFFF, а оставшаяся часть RTE будет содержать данные аутентификации. Таким образом, на данные остается 24 RTE. Если аутентификация не используется, ни один из RTE не должен содержать AFI, равное 0xFFFF. Начало сообщения RIP, использующего аутентификацию, будет выглядеть следующим образом:
Биты | |||||||||||||||||||||||||||||||
0 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 0 |
1 |
команда | версия | не используется | |||||||||||||||||||||||||||||
0xFFFF | Тип аутентификации | ||||||||||||||||||||||||||||||
Данные аутентификации (16 байт) | |||||||||||||||||||||||||||||||
Начальная часть пакета RIPv2 при использовании аутентификации
RFC 2453 специфицирует использование только одной схемы аутентификации — использование простого нешифруемого пароля. Тип аутентификации — 2. 16 байт поля «данные аутентификации» содержат пароль. Пароль начинается с первого байта поля. Выравнивается (то есть остаток поля заполняется) нулями.