Компьютерные сети

Многоуровневая архитектура Интернета

Архив за марта, 2008

Формат дейтаграммы

Опубликовано 11 марта, 2008

Формат дейтаграммы протокола IPv4 показан на рис. 4.23. Ниже перечислены ключевые поля IPv4-дейтаграммы.

□ Версия. Четыре бита в этом поле определяют номер версии протокола IP. По этому номеру маршрутизатор может определить, как интерпретировать остальные поля IP-дейтаграммы. В различных версиях протокола IP применяются различные форматы IP-дейтаграмм. На рисунке показан формат дейтаграммы текущей версии протокола IP (IPv4). Формат дейтаграммы новой версии протокола IP (IPv6) обсуждается в разделе «Протокол IPv6».
□ Длина заголовка. Поскольку IPv4-дейтаграмма может содержать разное количество необязательных полей параметров (включаемых в заголовок IPv4-дейтаграммы), эти четыре бита необходимы для того, чтобы определить, где заканчивается заголовок и начинаются данные. В большинстве IP-дейтаграмм не содержатся поля параметров, поэтому обычно заголовок IP-дейтаграммы 20-разрядный.
Читать далее »

Находится в разделе Интернет-протокол

Теперь, определив понятия интерфейсов и сетей, а также получив базовое представление об IP-адресации, поговорим о том, как хосты и маршрутизаторы переносят IP-дейтаграмму от отправителя к получателю. Высокоуровневый взгляд на IP-дейтаграмму иллюстрирует рис. 4.20. Каждая IP-дейтаграмма содержит поля адресов отправителя и получателя. Хост-отправитель заполняет поле адреса отправителя собственным 32-разрядным IP-адресом. Поле адреса получателя он заполняет 32-разрядным IP-адресом хоста-получателя, которому предназначается дейтаграмма. Поле данных дейтаграммы, как правило, заполняется TCP- или UDP-сегментом. Остальные поля IP-дейтаграммы мы обсудим чуть позже.
Читать далее »

Находится в разделе Интернет-протокол

Получение адреса хоста

Опубликовано 9 марта, 2008

Как только организация получает блок адресов от своего Интернет-провайдера, она может назначать индивидуальные IP-адреса интерфейсам своих хостов и маршрутизаторов. Для интерфейсов маршрутизаторов системный администратор вручную задает IP-адреса (часто удаленным образом с помощью сетевой управляющей программы). Хосту IP-адрес может быть выделен двумя способами.
Читать далее »

Находится в разделе Адресация в протоколе IPv4

Получение сетевого адреса

Опубликовано 8 марта, 2008

Чтобы получить блок IP-адресов для корпоративной сети, администратор сети может сначала связаться со своим Интернет-провайдером, который может выделить адреса из большего блока ранее выделенных ему адресов. Например, Интернет-провайдеру может быть выделен блок адресов 200.23.16.0/20. Интернет-провайдер, в свою очередь, может разделить этот блок адресов на восемь равных по размеру меньших блоков и распределить эти блоки между восемью организациями, как показано ниже (для наглядности мы подчеркнули сетевую часть этих адресов).

Блок адресов провайдера 200.23.16.0/20 11001000 00010111 00010000 00000000
Организация 1 200.23.16.0/23 11001000 00010111 00010000 00000000
Организация 2 200.23.18.0/23 11001000 00010111 00010010 00000000
Организация 3 200.23.20.0/23 11001000 00010111 00010100 00000000
Организация 7 200.23.30.0/23 11001000 00010111 00011110 00000000

ПРИНЦИПЫ И ПРАКТИКА -
Данный пример Интернет-провайдера, предоставляющего доступ к Интернету для восьми организаций, также служит прекрасной иллюстрацией того, как стандарт CIDR помогает тщательно подбирать блоки сетевых адресов и упрощает иерархическую маршрутизацию. Пусть, как показано на рис. 4.18, данный Интернет-провайдер (назовем его «Ночные полеты») объявляет всем о том, что все дейтаграммы, первые 20 бит адреса которых совпадают с 200.23.16.0/20, следует посылать ему. Остальному миру ни к чему знать, что в блоке адресов 200.23.16.0/20 на самом деле скрываются восемь организаций, у каждой из которых есть собственная сеть. Эту способность задействовать один сетевой префикс для нескольких сетей часто называют маршрутной агрегацией.

Читать далее »

Находится в разделе Адресация в протоколе IPv4

IPv4, вопрос адресации

Опубликовано 7 марта, 2008

Начнем наше изучение протокола IPv4 с вопроса адресации. Хотя этот вопрос может показаться довольно простым и, возможно, скучным, связь адресации и маршрутизации на сетевом уровне является одновременно очень важной и трудноуловимой.

Однако прежде, чем перейти к обсуждению IP-адресации, мы должны сказать несколько слов о том, как хосты и маршрутизаторы объединяются в сети. Как правило, хост соединен с сетью единственной линией. Когда протоколу IP хоста необходимо послать дейтаграмму, он пользуется этой линией. Между физической линией и хостом располагается интерфейс. Маршрутизатор принципиально отличается от хоста. Поскольку работа маршрутизатора заключается в получении дейтаграммы по «входной» линии и отправке ее по одной из «выходных» линий, маршрутизатор должен быть присоединен к двум или более линиям. Границы между маршрутизатором и его линиями также называются интерфейсами. Таким образом, у маршрутизатора несколько интерфейсов, по одному для каждой линии. Поскольку отправлять и принимать IP-дейтаграммы может каждый хост и каждый маршрутизатор, протокол IP требует, чтобы у интерфейса каждого хоста и у интерфейса каждого маршрутизатора был собственный IP-адрес. Таким образом, IP-адрес технически ассоциируется с интерфейсом, а не хостом или маршрутизатором, которому принадлежит интерфейс.
Читать далее »

Находится в разделе Адресация в протоколе IPv4

Другие алгоритмы маршрутизации

Опубликовано 6 марта, 2008

Рассмотренные нами дистанционно-векторный алгоритм и алгоритм, основанный на состоянии линий, представляют собой не просто популярные алгоритмы маршрутизации. По сути, только эти два алгоритма и применяются на практике. Тем не менее за последние 30 лет исследователями было предложено множество других алгоритмов маршрутизации, варьирующихся от крайне простых до очень сложных. Один из простейших предложенных алгоритмов назывался маршрутизацией «горячей картофелины». Своим названием алгоритм обязан поведению маршрутизаторов — каждый маршрутизатор пытается как можно быстрее избавиться (переслать дальше) от пакета данных, передавая его по любой неперегруженной выходной линии, не обращая внимания на то, куда направляется эта линия. В основе другого широкого класса алгоритмов маршрутизации лежит точка зрения на пакетный трафик, как на потоки данных между отправителями и получателями. При таком подходе проблема выбора маршрута может быть сформулирована математически как задача оптимизации при ограничениях, известная как задача сетевых потоков. Еще одно множество алгоритмов маршрутизации, о которых следует сказать здесь несколько слов, обязаны своим происхождением телефонным сетям. Эти алгоритмы маршрутизации коммутируемых каналов представляют интерес для сетей с коммутацией пакетов в ситуациях резервирования ресурсов линии для каждого соединения, таких как пропускная способность части линии связи или объем буферов. И хотя формулировка задачи маршрутизации значительно отличается от ее формулировки для случая определения маршрутов наименьшей стоимости, у подобных алгоритмов маршрутизации есть довольно много общего, по крайне мере в том, что касается алгоритмов определения маршрутов.

Находится в разделе Основы маршрутизации

Сетевой уровень интернета

Опубликовано 5 марта, 2008

До сих пор в этой главе мы обсуждали основополагающие принципы сетевого уровня вне контекста какой-либо конкретной сетевой архитектуры. Мы рассмотрели различные модели обслуживания сетевого уровня, популярные алгоритмы маршрутизации для определения маршрута от отправителя к получателю, а также использование иерархической структуры для решения задачи масштабирования. В этом разделе мы обратим наше внимание на сетевой уровень Интернета, часто называемый IP-уровнем (по названию протокола IP). Однако мы увидим, что сам протокол IP представляет собой лишь часть (хотя и очень важную) сетевого уровня Интернета.
Читать далее »

Находится в разделе Интернет-протокол

Иерархическая маршрутизация

Опубликовано 4 марта, 2008

Один маршрутизатор ничем не отличался от других маршрутизаторов в том смысле, что на всех маршрутизаторах работал один и тот же алгоритм маршрутизации для расчета маршрутов через всю сеть. Однако данная модель с однородным набором маршрутизаторов является упрощением и не применяется на практике по двум причинам.
Читать далее »

Когда узел, на котором работает дистанционно-векторный алгоритм, обнаруживает изменение стоимости линии, направляющейся от него к соседу (строка 12), он обновляет свою таблицу расстояний (строка 15) и, если наименьшая стоимость пути изменяется, он извещает об этом своих соседей (строки 23 и 24). Эту ситуацию иллюстрирует рис. 4.8. В данном примере стоимость линии от узла Xrq узла У изменяется с 4 до 1. Здесь мы рассматриваем только записи таблиц расстояний узлов У и Z, содержащие стоимости путей до узла X.
Читать далее »

В отличие от алгоритма, основанного на состоянии линий и использующего глобальную информацию, дистанционно-векторный (Distance Vector, DV) алгоритм является распределенным, итерационным и асинхронным. Он является распределенным, так как каждый узел получает порцию информации от одного или нескольких напрямую соединенных с ним соседей, выполняет вычисления, а затем может разослать результаты своих вычислений своим соседям. Он является итерационным, так как этот процесс продолжается до тех пор, пока соседние узлы не перестанут обмениваться информацией. (Интересно отметить, что, как мы увидим, этот алгоритм сам завершает свою работу — он не получает «сигнала», требующего остановить работу; он просто останавливается.) Алгоритм является асинхронным, так как он не требует, чтобы все узлы работали в жесткой взаимосвязи друг с другом. Как мы увидим, асинхронный, итерационный, самоостанавливающийся, распределенный алгоритм значительно интереснее централизованного!
Читать далее »