Смагин М.С. Вычислительные машины, системы и сети (1088253), страница 36
Текст из файла (страница 36)
В ней перечислены адреса всехкомпьютеров, входящих во все сегменты сети, и соответствующие им номеравходов, на которые необходимо отправлять предназначенные на них пакеты.240MAC-адресНомер входа11-СА-19-В3-EF-01151-93-AF-34-15-C13A9-57-91-13-FF-1B2A0-79-D9-00-11-DA1Рис.95 Пример таблицы коммутации241Лекция №17Сетевой уровень.Итак, как мы с вами увидели, для организации локальной вычислительной сети достаточно средств физического и канального уровней. Задачаусложняется, когда нужно связать несколько сетей между собой, особенно,если сети построены на разных сетевых технологиях.
Здесь встаёт целый рядпроблем, основные из которых – трансляция данных, трансляция адресов иобеспечение единой системы адресации.Трансляция данных, пожалуй, самая сложная задача. Каждая сетеваятехнология предусматривает свои форматы пакетов, минимальные и максимальные значения их длины. Соответственно, операция трансляции данныхзаключается в том, чтобы извлечь данные из пакета канального уровня однойсети и упаковать их в пакет канального уровня другой сети.Для этого надо записать пакет в буферную память. Потом выбрать иззаголовка и концевика служебную информацию. Убрать заголовок и концевик, оставив только поле данных.
Сформировать заголовок и концевик в соответствии со стандартом той сети, в которую передаются данные. Заполнитьих служебной информацией, взятой из заголовка и концевика полученногопакета. После этого отправить заново сформированный пакет в сеть получателя.Эта операция кажется сравнительно простой, однако тут есть один«подводный камень». Дело в том, что, как уже упоминалось, сетевые технологии различаются не только форматами пакетов, но и значениями минимальной и максимальной длины пакета.
Соответственно, если в сети отправителя максимальная длина пакета больше, чем в сети получателя, то притрансляции данных один большой пакет сети отправителя приходится разбивать не несколько пакетов сети получателя. Такое разбиение называетсяфрагментацией. Однако мало просто разбить пакет, надо определить, как242именно его разбить, и сообщить получателю, что пакет был фрагментирован,и как это было сделано.Задачи обеспечения единой адресации и трансляции адресов надо рассматривать в комплексе.
Необходимость единой системы адресации очевидна: она нужна, чтобы однозначно определить каждого из абонентов в составной сети. Кроме того, каждому адресу единой системы надо поставить в соответствие внутренний адрес каждого из абонентов в той сети, к которой оннепосредственно подключён. В процессе преобразования данных необходимо, в соответствии со значениями единых адресов, изменить значения адресов отправителя и получателя из формата, предусмотренного в одной сети, вформат, предусмотренный в другой сети. Эта операция и называется трансляцией адресов.Весь этот комплекс задач решается совместно аппаратными и программными средствами. Совокупность аппаратных средств называют межсетевым коммуникационным оборудованием, а программные средства, протоколы, предназначенные для описанных задач, соответствуют сетевому уровню модели ISO/OSI.Поскольку мы уже говорили о коммуникационном оборудовании локальных сетей, рассмотрим теперь межсетевое коммуникационное оборудование, а затем разберёмся со средствами сетевого уровня.К межсетевому коммуникационному оборудованию относятся такиеустройства как шлюзы (gateway) и маршрутизаторы (router).
Это устройства,обеспечивающие межсетевое взаимодействие. Как правило, они оснащеныспециализированными процессорами, в которых на аппаратном уровне реализованы основные вычислительные операции, используемые при трансляции адресов.Первоначально шлюзы предназначались исключительно для сопряжения сетей, построенных на разных технологиях физического уровня. Впоследствии функционал подобных устройств расширился. Помимо функцийработы с физическим и канальным уровнями, появились возможности рабо243ты с сетевым уровнем, позволяющие, в частности, передавать данные от одной сети к другой через промежуточные сети.
Такие шлюзы с дополнительным функционалом стали называть маршрутизаторами, однако термин«шлюз» всё равно используется довольно часто в силу традиции.Работа маршрутизатора строится на основе анализа таблицы маршрутизации, где хранится различная информация о сетях, подключённых к егопортам. Маршрутизаторы, как правило, поддерживают ряд дополнительныхфункций, недоступных коммутационному оборудованию локальных сетей.Например, мониторинг загрузки подключённых сетей и корректную обработку замкнутых контуров.Рассмотрение протоколов сетевого и более высоких уровней мы будемпроводить на примере стека протоколов TCP/IP, наиболее популярного на сегодняшний день и используемого для организации работы сети Интернет.Стек протоколов TCP/IPДанный стек протоколов был разработан в конце 70-х − начале 80-х годов по заказу Министерства обороны США для нужд глобальной сетиARPANET, на основе которой позже развился современный Интернет.
Поскольку американские военные имели свои собственные представления о модели взаимодействия открытых систем, организация стека TCP/IP не соответствует структуре, предусмотренной моделью OSI. Вопрос о том, как соотносится структура TCP/IP с семиуровневой моделью, вызывает массу споров досих пор, но они не имеют большого практического смысла.Документация стека TCP/IP предусматривает 4 уровня протоколов:1. Прикладной уровень2.
Транспортный уровень3. Сетевой уровень4. Уровень сетевых интерфейсов244Протоколы прикладного уровня стека TCP/IP предназначены для выполнения требований, предъявляемых к прикладному уровню и уровнюпредставления модели OSI. Примером протокола прикладного уровня является протокол HTTP, используемый для передачи гипертекстовых страниц всети Интернет.Протоколы транспортного уровня тоже берут на себя задачи сразу двухуровней модели OSI – сеансового и транспортного. На этом уровне работаютпротоколы TCP и UDP, о которых мы будем говорить ниже.Сетевой уровень стека TCP/IP соответствует сетевому уровню моделиOSI, и на этом уровне работает протокол IP, который сейчас станет предметом нашего разговора.Уровень сетевых интерфейсов соответствует физическому и канальному уровням модели OSI, но главное, что он никак не регламентирован документацией на стек TCP/IP.
Иными словами, этот стек протоколов никак непривязан к техническим особенностям локальных сетей, которые соединяетмежду собой и, соответственно, может быть использован даже с теми технологиями локальных сетей, которые ещё только будут разработаны в будущем.Стек ISO/OSIПрикладнойПредставленияСеансовыйТранспортныйСтек TCP/IPПрикладнойТранспортныйСетевойСетевойКанальныйУровень сетевыхФизическийинтерфейсовРис.96 Соответствие между уровнями TCP/IPи уровнями ISO/OSI245Протокол IPСистема IP-адресовКак мы уже говорили выше, сетевой уровень служит для образованияединой транспортной системы, объединяющей несколько сетей.
Одной из задач, решаемых для достижения этой цели, является задача установления единой, или, как ещё говорят, глобальной системы адресов. В противоположность глобальной системе адресов, в каждой из объединяемых сетей имеютсявнутренние адреса, называемыми локальными.
Локальными адресамиEthernet будут являться MAC-адреса. Соответственно, для нормальной работы составной сети должно быть необходимо, чтобы глобальная и локальнаясистемы адресации никак не зависели друг от друга.Один из способов, по которому можно строить систему глобальной адресации, − присвоить индивидуальные номера сначала всем сетям, входящимв составную сеть, а затем всем узлам в каждой из сетей. Тогда каждый компьютер составной сети будет иметь уникальный адрес, состоящий из парычисел – номера сети и номера узла.Этот принцип положен в основу работы протокола IP. Данный протокол предусматривает присвоение каждому абоненту сети уникального адреса, называемого IP-адресом.
IP-адрес физически состоит из 4 байт, а логически делится на два поля: номер сети и номер узла.Наиболее распространенной формой представления IP-адреса являетсязапись его в виде четырёх чисел, представляющих значения каждого байта вдесятичной форме и разделённых точками.Например: 192.168.15.1. Этот же адрес может быть представлен в двоичном виде: 11000000.10101000.00001111.00000001 или в шестнадцатеричном: C0.A8.0F.01.Возникает вопрос: как разграничить в этом адресе поле номера сети иполе номера узла? Для решения этой задачи придумано два метода – методфиксированной границы и метод плавающей границы. При установке фикси246рованной границы IP-адрес заранее делится на две чести фиксированнойдлины, одна из которых объявляется номером сети, а другая – номером узла.В зависимости от того, как именно выполнено данное разделение, будет меняться и допустимое число локальных сетей, объединяемых в составнуюсеть, а также максимальное число узлов в каждой сети.