answers2010 (1131265), страница 18
Текст из файла (страница 18)
IPv4 (RFC-791) - том протоколе, на котором в данный момент основан Интернет почти полностью, т.к. IPv4 является основной частью стека TCP/IP.
Этот протокол занимается маршрутизацией в сетях, т.е. он направляет пакет по пути от отправителя до получателя. IP-протокол посылает данные дейтограммами. Каждая такая дейтаграмма, кроме передаваемых данных, содержит в себе и заголовок.
общие недостатки протокола IPv4:
дефицит адресного пространства - количество различных устройств, подключаемых к сети Internet, растет экспоненциально, размер адресного пространства 232 быстро истощается;
слабая расширяемость протокола - недостаточный размер заголовка IPv4, не позволяющий разместить требуемое количество дополнительных параметров в нем;
проблема безопасности коммуникаций - не предусмотрено каких-либо средств для разграничения доступа к информации, размещенной в сети.
отсутствие поддержки качества обслуживания - не поддерживается размещение информации о пропускной способности, задержках, требуемой для нормальной работы некоторых сетевых приложений;
проблемы, связанные с механизмом фрагментации - не определяется размер максимального блока передачи данных по каждому конкретному пути;
отсутствие механизма автоматической конфигурации адресов;
проблема перенумерации машин.
Есть также проблемы связанные с транспортировкой данных, заключающиеся в сложности маршрутизации и, следовательно, разрастании таблиц маршрутизации.
Поля IP-адресов содержат IP-адреса отправителя и получателя. В IPv4 IP-адрес состоит из 4 байт и часто представляется в виде 4 чисел, размером 1 байт, разделяемые точками, что даёт чуть больше 4 миллиардов различных адресов. В такой схеме каждый компьютер в Интернет имеет свой уникальный адрес.
Также, в IPv4 отсутствуют некоторые механизмы, необходимые по современным меркам. Это механизмы информационной безопасности и средства поддержки классов обслуживания. Отсутствуют методы шифрования данных, которые сейчас на практике очень пригождаются. А такие средства должны быть реализованы именно на сетевом уровне, чтобы не напрягать этим приложения. Обеспечить поддержку классов обслуживания должны опять же маршрутизаторы, связывающие системы, чтобы эта задача не вылезала на уровень приложения, что приведёт опять же к усложнению и нестабильности работы.
Address Resolution Protocol – протокол определения адреса
Хотя каждая машина в Интернете имеет уникальный IP адрес, и даже не один, но канальный уровень не понимает IP адресов. для отображения IP-адреса в Ethernet-адрес, в подсеть посылается запрос, у кого такой IP-адрес. Машина с указанным адресом шлет ответ. Протокол, который реализует рассылку запросов и сбор ответов - ARP-протокол. Практически каждая машина в Интернете использует этот протокол. При обращении в другую сеть есть два решения - есть определенный маршрутизатор, который принимает все сообщения, адресованные определенной сети или группе адресов - proxy ARP. Этот маршрутизатор знает, как найти адресуемую машину. Другое решение - выделенный маршрутизатор, который управляет маршрутизацией удаленного трафика. Машина определяет, что обращение идет в удаленную сеть, и шлет сообщение на этот маршрутизатор.
Reverse Address Resolution Protocol (RARP) – обратный протокол определения адреса
Станция посылает запрос к RARP-серверу: "Мой Ethernet-адрес такой то, кто знает соответствующий IP-адрес?" RARP-сервер отлавливает такие запросы и шлет ответ.
У этого протокола есть один существенный недостаток – пакеты с одним и тем же запросом рассылаются всем, что увеличивает накладные расходы. Для устранения этого недостатка был предложен протокол BOOTP. В отличие от RARP, BOOTP использует UDP-сообщения, которые рассылаются только маршрутизаторам. Этот протокол также используется в бездисковых станциях, у которых в памяти прошит IP-адрес выделенного маршрутизатора.
57. Сетевой уровень в Интернет: адресация, протокол IPv6,.
Интернет представляет собой объединение подсетей, которые называются автономными системами. Автономные системы – это подсеть, охватывающая единую территорию, находящаяся под единым административным управлением и имеющая единую политику маршрутизации по отношению ко всем остальным сетям. В Интернете нет какой-либо регулярной, специально предусмотренной структуры подсетей.
Соединяет все автономные системы вместе IP-протокол. Подсеть в Интернете реализует сервис без соединений и работает следующим образом. Транспортный уровень получает поток данных и делит их на дейтаграммы. Дейтаграммы могут быть от 64К до 1500 байт. Они передаются через подсети в Интернет и, если необходимо, делятся на более короткие. Когда все дейтаграммы достигают места назначения, они собираются в исходные дейтаграммы на сетевом уровне и передаются на транспортный уровень, где и восстанавливается исходный поток данных.
Каждая машина в Интернете имеет уникальный IP-адрес. Он состоит из адреса сети и адреса машины в этой сети. Все IP-адреса имеют длину 32 разряда. Если машина подключена к нескольким сетям, то в каждой сети у нее будет свой IP-адрес. Всего есть пять классов адресов: А, B, C, D, E.
IPv6 был разработан для решения проблем адресного пространства и ряда смежных задач. Решено, что адресное пространство IPv6 будет распределяться IANA, которая будет иметь региональных представителей, которые будут подробно заниматься выдачей IP-адрсов в своих областях. Такое распределение не будет необратимым. IANA сможет в любой момент перераспределить адресное пространство, в случае допущения ошибок при его распределении. Иными словами, все сделано так, чтобы не повторить прежних ошибок IPv4. IP-пространство IPv6 будет 128-битным, что добавит возможностей маршрутизации.
Кроме явного преимущества в расширении адресного пространства, можно выделить следующие преимущества IPv6 над IPv4:
Возможность автоконфигурирования IP адресов.
Упрощение маршрутизации.
Облегчение (упрощение) заголовка пакета.
Поддержка качества обслуживания (QoS).
Наличие возможности криптозащиты дейтограмм на уровне протокола.
Повышенная безопасность передачи данных.
Собственно, почти все преимущества IPv6 вытекают как раз из формата его пакета и формы адресации. Переделанный и усовершенствованный стандарт позволить реализовать на уровне протокола мощную криптозащиту (шифрование данных) и многие сервисы, такие как QoS (Quality of Service). QoS в IPv6 поддерживается полностью на сетевом уровне. Это крайне важно для мультимедиа-трансляций. Изменения, внесённые в IPv6 показывают, что он не просто решит основную проблему нехватка адресного пространства, а перестроит всю структуру Интернета так, что она станет более логичной и продуманной.
Также, в новом протоколе будет возможность автоконфигурирования IP адресов для конечных компьютеров в сети
58. Протоколы внутренней маршрутизации (RIP, OSPF).
OSPF - внутренний протокол маршрутизации шлюзов
Интернет состоит из сетей, управляемых разными организациями. Каждая такая сеть использует внутри свои алгоритмы маршрутизации и управления и называется автономной системой. Наличие стандартов позволяет преодолеть различия во внутренней организации автономных систем и обеспечить их совместное функционирование.
Изначально в качестве внутреннего протокола шлюзов использовался протокол по вектору расстояния (RIP).
Прежде всего, алгоритм должен быть опубликован в открытой литературе (отсюда «open»). Во-вторых, он не должен быть собственностью какой-либо компании. В-третьих, он должен уметь работать с разными метриками: расстоянием, пропускной способностью, задержкой и т.п. Он должен быть динамическим, т.е. реагировать на изменении в топологии сети автоматически и быстро.
В-четвертых, он должен поддерживать разные виды сервиса, поддерживать маршрутизацию для трафика в реальном времени одним способом, а для других типов трафика - другим.
В-пятых, он должен обеспечивать балансировку нагрузки и при необходимости разделять потоки по разным каналам.
В-шестых, он должен поддерживать иерархию.
В-седьмых, должна быть усилена безопасность маршрутизаторов для защиты от студентов, которые развлекались тем, что подсовывали маршрутизаторам неверную информацию о маршрутах.
OSPF поддерживает три вида соединений и сетей:
-
Точка-точка между двумя маршрутизаторами
-
Сети с множественным доступом и вещанием (большинство ЛВС)
-
Сети с множественным доступом без вещания (например, региональные сети с коммутацией пакетов)
OSPF абстрагируется от конкретных сетей, маршрутизаторов и хостов в форме ориентированного графа, каждая дуга в котором имеет вес, представляющий собой задержку, расстояние и т.п. В этом графе находится кратчайший путь на основе весов дуг.
Во время функционирования возникают три вида маршрутов: внутри области, между областями и между АС. Внутри области вычислить маршрут просто - им будет наикратчайший до маршрутизатора получателя. Маршрутизация между областями всегда выполняется в три этапа: от источника до остовой области, от остовой до области назначения, внутри области назначения
59. Понятие автономной системы. Протокол внешней маршрутизации BGP.
Интернет представляет собой объединение подсетей, которые называются автономными системами. Автономные системы – это подсеть, охватывающая единую территорию, находящаяся под единым административным управлением и имеющая единую политику маршрутизации по отношению ко всем остальным сетям. В Интернете нет какой-либо регулярной, специально предусмотренной структуры подсетей. Он образован из соединения большого числа подсетей, среди которых можно выделить несколько остовых (backbone). К этим остовым сетям подключены региональные сети, к которым подключены локальные сети организаций.
BGP - внешний протокол маршрутизации шлюзов
При маршрутизации внутри АС основная цель - наикратчайший маршрут. При маршрутизации между АС надо учитывать также ряд условий, вызванных политикой конкретной АС.
Типичными примерами таких ограничений могут быть:
-
Трафик не должен проходить через определенные АС.
-
Маршрут, начинающийся в министерстве обороны России, никогда не должен проходить через Чечню.
-
Трафик через Украину может проходить, только если нет другого маршрута.
-
Трафик из IBM никогда не должен проходить через АС Microsoft.
Два BGP-маршрутизатора соединены, если у них есть общая сеть. Сети делятся на три категории по степени интереса направления трафика через сеть. Первая - тупиковые сети, они никуда не ведут. Сети с множественными соединениями могут использоваться для транзита, если допускают его. Транзитные сети предназначены для транзита трафика, возможно с некоторыми ограничениями.
Два BGP-маршрутизатора взаимодействуют через TCP-соединение. Это обеспечивает надежность передачи информации и скрывает все подробности от сетей, через которые она проходит.
BGP - это протокол на основе вектора расстояний. Однако вместо стоимости для каждого места в сети он хранит конкретный маршрут. Своим соседям он передает не вектор расстояний, а те маршруты, которые он использует.
60. Транспортный уровень: сервис, примитивы, адресация, установление соединения, разрыв соединения, управление потоком и буферизация, мультиплексирование, восстановление разрывов.
Транспортный протокол - это центральный протокол во всей иерархии протоколов. Именно он обеспечивает надежную передачу данных в сети от одного абонента к другому. Основная цель транспортного уровня - обеспечить эффективный, надежный и дешевый сервис для пользователей на прикладном уровне. Достижение этой цели - задача сервиса, предоставляемого сетевым уровнем. транспортный уровень также может поддерживать два вида сервиса - ориентированный на соединения и без соединений. Задача транспортного уровня в том, чтобы сделать сервис транспортного уровня для прикладного более надежным, чем сетевого для транспортного. Другое важное свойство транспортного уровня - прикладная программа, опираясь на транспортный сервис, становится независимой от сети и может работать в сети с любым сетевым сервисом.
Примитивы транспортного уровня - позволяют пользователю получить доступ к транспортному сервису. Задача транспортного сервиса как раз обеспечить надежную доставку сообщений.
LISTEN - Блокировка, пока какой-либо процесс не попытается установить соединение
CONNECT - Активная попытка установить соединение
SEND - Информация об отправке
RECEIVE - Блокировка до поступления DATA TPDU
DISCONNECT - Данная сторона собирается прервать соединение
Сервер приложения выполняет примитив LISTEN, в результате чего он блокируется до поступления запросов от клиентов. Клиент для установления соединения выполняет примитив CONNECT. Транспортный агент на стороне клиента блокирует клиента и посылает серверу пакет с запросом на установление соединения.
Напомним, что транспортные агенты обмениваются пакетами, которые имеют специальное название - Transport Protocol Data Unit (TPDU).
другой набор примитивов, так называемые сокеты Беркли. Примитив SOCKET создает новую точку подключения к серверу, резервирует для нее место в таблице транспортного агента. По примитиву BIND сервер выделяет сокету адрес. LISTEN - не блокирующий примитив. Он выделяет ресурсы и создает очередь, если несколько клиентов будут обращаться за соединением в одно и то же время. Примитив ACCEPT - блокирующий в ожидании запроса на соединение. Когда клиент выполняет примитив CONNECT, он блокируется своим транспортным агентом, и запускается процесс установления соединения. Когда он закончится, клиента разблокируют, и начинается обмен данными с помощью примитивов SEND и RECEIVE. Разрыв соединения здесь симметричен, т.е. соединение считается разорванным, если обе стороны выполнили примитив CLOSE.
Адресация
Проблема адресации состоит в том, как указать, с каким удаленным прикладным процессом надо установить соединение. Обычно для этого используется транспортный адрес, по которому прикладной процесс может слушать запросы на соединение. Вместо него мы будем здесь использовать термин TSAP - Transport Service Access Point. Аналогичное понятие существует и на сетевом уровне - IP-адрес - NSAP для сетевого уровня.
Оно называется протоколом установления начального соединения. На каждой машине есть специальный сервер процессов, который представляет все процессы, исполняемые на этой машине. Этот сервер слушает несколько ТSAP, куда могут поступить запросы на ТСР-соединение. Если нет свободного сервера, способного выполнить запрос, то соединение устанавливается с сервером процессов, который переключит соединение на нужный сервер, как только он освободится. Пусть пользователь узнал ТSAP, но как он узнает, на какой машине этот ТSAP расположен, какой сетевой адрес надо использовать? Ответ заключается в структуре ТSAP-адреса, где указана вся необходимая информация. Этот адрес имеет иерархическую структуру.
Установление соединения
Проблема установления транспортного соединения сложна потому, что пакеты могут теряться, храниться и дублироваться на сетевом уровне.
Одно из возможных решений - временное ТSAP. После того, как оно использовано, TSAP с таким адресом более не возникает. При этом решении не работает модель с сервером процессов, когда определенные TSAP имеют фиксированные адреса.
Другое решение - каждому транспортному соединению сопоставлять уникальный номер. Когда соединение разрывается, этот номер заносится в специальный список.
Альтернативой может быть ограничение времени жизни пакетов. Достичь этого можно тремя путями:
-
ограничением конструкции подсети
-
установкой счетчиков скачков в каждом пакете
-
установкой временной метки на каждом пакете
Заметим, что последний метод требует синхронизации маршрутизаторов в сети.
Другая нетривиальная проблема - надежное установление соединения: пакеты ведь могут пропадать. Для ее решения - процедура «троекратного рукопожатия».
Разрыв соединения
Разрыв соединения может быть асимметричным или симметричным. Асимметричный разрыв может привести к потере данных Симметричный разрыв каждая сторона проводит самостоятельно, когда она передала весь имеющийся объем данных. Здесь есть одна проблема, которая называется проблемой двух армий Обычно эту проблему решают, фиксируя число попыток разрыва.