Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ГОСЫ / Kolchin

.pdf
Скачиваний:
41
Добавлен:
15.02.2016
Размер:
1.05 Mб
Скачать

Адреса вроде MAC-48 наиболее распространены; они

используются в таких технологиях,

как Ethernet, Token ring, FDDI, WiMAX и др. Они состоят

из 48 бит, таким образом, адресное

пространство MAC-48 насчитывает 248 (или 281 474 976 710 656) адресов.

В стеке TCP/IP используются три типа адресов: локальные (называемые также аппаратными), IPадреса и символьные доменные имена.

МАС - адрес назначается сетевым адаптерам и сетевым интерфейсам маршрутизаторов. МАС - адреса назначаются производителями оборудования и являются уникальными, так как управляются централизованно. Для всех существующих технологий локальных сетей МАС - адрес имеет формат

6 байт, например 11-AO-17-3D-BC-01.

Локальная вычислительная сеть (ЛВС, LAN) — компьютерная сеть, покрывающая обычно относительно небольшую территорию или небольшую группу зданий (дом, офис, фирму, институт). Также существуют локальные сети, узлы которых разнесены географически на расстояния более 12 500 км (космические станции и орбитальные центры). Несмотря на такие расстояния, подобные сети всё равно относят к локальным.

31

16. Протокол UDP, применение

UDP (User Datagram Protocol — протокол пользовательских датаграмм) — это транспортный протокол для передачи данных в сетях IP без установления соединения. В отличие от TCP, UDP не гарантирует доставку пакета. Это позволяет ему гораздо быстрее и эффективнее доставлять данные для приложений, которым требуется большая пропускная способность линий связи, либо требуется малое время доставки данных.

Для вычисления максимальной длины данных в UDP-сообщении необходимо учесть, что UDP-сообщение в свою очередь является содержимым области данных IP-сообщения. Максимальная длина IP-сообщения (с учетом заголовка) равна 65535 октетов. Потому максимальная длина UDP-сообщения (за вычетом минимального IP-заголовка) равна 65535 − 20 = 65515 октетов. Длина заголовка UDP-сообщения равна 8 октетам, следовательно, максимальная длина данных в UDP-сообщении равна 65515 − 8 = 65507 октетов. На практике сообщения максимальной длины не используются — ограничиваются 8192 октетами данных.

Недостаточная надёжность протокола может выражаться как в потере отдельных пакетов, так и в их дублировании. UDP используется при передаче потокового видео, игр реального времени, а также некоторых других типов данных. Ненадёжность протокола UDP надо понимать в том смысле, что в случаях влияния внешних факторов, приводящих к сбоям, протокол UDP не предусматривает стандартного механизма повторения передачи потерянных пакетов. В этом смысле он настолько же надежен, как и протокол ICMP. Если приложению требуется большая надёжность, то используется протокол TCP или SCTP, либо реализуется какой-нибудь свой нестандартный алгоритм повторения передач в зависимости от условий.

Самый большой плюс UDP – многозначная доставка – данные доставляются сразу нескольким адресатам.

Структура UDP-заголовка:

1. Порт отправителя – 2 байта

2. Порт получателя – 2 байта

3. Длина UDP-датаграммы (UDPзаголовок + UDP-сообщение)

Для проверки того, что UDP-сообщение достигло пункта своего назначения,

используется дополнительный псевдозаголовок (подзаголовок): Структура UDP-подзаголовка:

1.IP отправителя – 4 байта

2.IP получателя – 4 байта

3.Нулевой байт

4.Поле протокола – 1 байт

5.Длина – 2 байта UDP-датаграммы

Псевдозаголовок не включается в UDP-сообщение. Он используется для расчета контрольной суммы перед отправлением сообщения и при его получении.

UDP использует простую модель передачи, без неявных «рукопожатий» для обеспечения надёжности, упорядочивания или целостности данных. Таким образом, UDP предоставляет ненадёжный сервис, и датаграммы могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа. UDP подразумевает, что проверка ошибок и исправление либо не необходимы, либо должны исполняться в приложении. Чувствительные ко времени приложения часто используют UDP, так как предпочтительнее сбросить пакеты, чем ждать задержавшиеся пакеты, что может оказаться невозможным в системах реального времени. При необходимости исправления ошибок на сетевом уровне интерфейса приложение может задействовать TCP или SCTP, разработанные для

этой

цели.

 

32

17. Протокол TCP. Заголовок, флаги

 

 

 

Transmission

Control Protocol (TCP) (протокол управления передачей) —

один из

основных сетевых протоколов Интернета,

предназначенный для управления передачей

данных в

сетях и подсетях TCP/IP.

 

 

Выполняет функции протокола транспортного уровня модели OSI.

 

TCP — это

транспортный механизм,

предоставляющий поток данных, с предварительной

установкой соединения, за счёт этого дающий уверенность в достоверности получаемых данных, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета. В отличие от UDP гарантирует целостность передаваемых данных и уведомление отправителя о результатах передачи.

Когда осуществляется передача от компьютера к компьютеру через Интернет, TCP работает на верхнем уровне между двумя конечными системами, например, браузером и веб-сервером. Также TCP осуществляет надежную передачу потока байтов от одной программы на некотором компьютере к другой программе на другом компьютере. Программы для электронной почты и обмена файлами используют TCP. TCP контролирует длину сообщения, скорость обмена сообщениями, сетевой трафик.

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

Протокол IP используется протоколом TCP в качестве транспортного средства. Перед отправкой своих блоков данных протокол TCP помещает их в оболочку IP-пакета. При необходимости протокол IP осуществляет любую фрагментацию и сборку блоков данных TCP, требующуюся для осуществления передачи и доставки через множество сетей и промежуточных шлюзов.

Характеристики протокола TCP:

Перед передачей данных протокол устанавливает соединение

Полнодуплексная передача – есть 2 логических канала – входной и выходной

Надежность – данные будут передаваться по очереди, от получателя ожидается подтверждение приема. Если такое уведомление не пришло, TCP-сегмент посылается повторно. На стороне получателя дублирующие сегменты отбрасываются.

TCP рассматривает данные как байтовый поток

Управление потоком со стороны отправителя и получателя

Структура TCP-сегмента: IP | TCP | данные

IP = 20 байт; TCP + данные = 65515 байт; => данные = 65515 – 20 = 65495 байт

33

Структура TCP-заголовка:

1.Порт отправителя

2.Порт получателя

3.Номер последовательности

4.Номер подтверждения

5.Смещение данных

6.Зарезервировано

7.Флаги

8.Окно

9.Контрольная сумма

10.Указатель важности

Флаги (управляющие биты):

Это поле содержит 6 битовых флагов:

URG — Поле "Указатель важности" задействовано (Urgent pointer field is significant)

ACK — Поле "Номер подтверждения" задействовано (Acknowledgement field is significant)

PSH — (Push function) инструктирует получателя протолкнуть данные, накопившиеся в приемном буфере, в приложение пользователя

RST — Оборвать соединения, сбросить буфер (очистка буфера) (Reset the connection)

SYN — Синхронизация номеров последовательности (Synchronize sequence numbers)

FIN (final, бит) — флаг, будучи установлен, указывает на завершение соединения (FIN bit used for connection termination).

34

18. TCP-соединение, поддержка TCP-соединения, завершение соединения

В отличие от традиционной альтернативы — UDP, который может сразу же начать передачу пакетов, TCP устанавливает соединения, которые должны быть созданы перед передачей данных. TCP соединение можно разделить на 3 стадии:

Установка соединения

Передача данных

Завершение соединения

Состояния сеанса TCP

CLOSED

Начальное состояние узла. Фактически фиктивное

LISTEN

Сервер ожидает запросов установления соединения от клиента

SYN-SENT

Клиент отправил запрос серверу на установление соединения и ожидает ответа

Сервер получил запрос на соединение, отправил ответный запрос и ожидает SYN-RECEIVED подтверждения

ESTABLISHED Соединение установлено, идёт передача данных

FIN-WAIT-1

Одна из сторон (назовём её узел-1) завершает соединение, отправив сегмент с флагом FIN

CLOSE-WAIT

Другая сторона (узел-2) переходит в это состояние, отправив, в свою очередь сегмент ACK и продолжает одностороннюю передачу

FIN-WAIT-2

Узел-1 получает ACK, продолжает чтение и ждёт получения сегмента с флагом

FIN

LAST-ACK Узел-2 заканчивает передачу и отправляет сегмент с флагом FIN

TIME-WAIT

Узел-1 получил сегмент с флагом FIN, отправил сегмент с флагом ACK и ждёт 2*MSL секунд, перед окончательным разрушением канала

Обе стороны инициировали закрытие соединения одновременно: после отправки

CLOSING

сегмента с флагом FIN узел-1 также получает сегмент FIN, отправляет ACK и находится в ожидании сегмента ACK (подтверждения на свой запрос о разъединении)

Установка соединения

Процесс начала сеанса TCP называется «тройным рукопожатием». Клиент, который намеревается установить соединение, посылает серверу сегмент с номером последовательности и флагом SYN. Сервер получает сегмент, запоминает номер последовательности и пытается создать сокет (буфера

35

и управляющие структуры памяти) для обслуживания нового клиента. В случае успеха сервер посылает клиенту сегмент с номером последовательности и флагами SYN и ACK, и переходит в состояние SYN-RECEIVED. В случае неудачи сервер посылает клиенту сегмент с флагом RST.

Если клиент получает сегмент с флагом SYN, то он запоминает номер последовательности и посылает сегмент с флагом ACK, если он одновременно получает и флаг ACK (что обычно и происходит), то он переходит в состояние ESTABLISHED. Если клиент получает сегмент с флагом RST, то он прекращает попытки соединиться.

Если клиент не получает ответа в течение 10 секунд, то он повторяет процесс соединения заново.

Если сервер в состоянии SYN-RECEIVED получает сегмент с флагом ACK, то он переходит в состояние ESTABLISHED. В противном случае после таймаута он закрывает сокет и переходит в состояние CLOSED.

Процесс называется «тройным рукопожатием», так как несмотря на то что возможен процесс установления соединения с использованием 4 сегментов (SYN в сторону сервера, ACK в сторону клиента, SYN в сторону клиента, ACK в сторону сервера), на практике для экономии времени используется 3 сегмента.

Завершение соединения

Завершение соединения можно рассмотреть в три этапа: 1. Посылка серверу от клиента флагов FIN и ACK на завершения соединения. 2. Сервер посылает клиенту флаги ответа ACK, FIN, что соединение закрыто. 3. После получение этих флагов клиент закрывает соединение и в подтверждение отправляет серверу ACK, что соединение закрыто.

Скользящее окно TCP

Для того, чтобы передающая сторона не отправляла данные интенсивнее, чем их может обработать приемник, TCP содержит средства управления потоком. Для этого используется поле «окно». В сегментах, направляемых от приемника передающей стороне в поле «окно» указывается текущий размер приемного буфера. Передающая сторона сохраняет размер окна и отправляет данных не более, чем указал приемник. Если приемник указал нулевой размер окна, то передача данных в направлении этого узла не происходит, до тех пор пока приемник не сообщит о большем размере окна.

В рамках установленного соединения правильность передачи каждого сегмента должна подтверждаться квитанцией получателя. Квитирование - это один из традиционных методов обеспечения надежной связи. В протоколе TCP используется частный случай квитирования - алгоритм скользящего окна. Идея этого алгоритма была изложена в главе 2, «Основы передачи дискретных данных».

Особенность использования алгоритма скользящего окна в протоколе TCP состоит в том, что, хотя единицей передаваемых данных является сегмент, окно определено на множестве нумерованных байтов неструктурированного потока данных, поступающих с верхнего уровня и буферизуемых протоколом TCP. Получающий модуль TCP отправляет «окно» посылающему модулю TCP. Данное окно задает количество байтов (начиная с номера байта, о котором уже была выслана квитанция), которое принимающий модуль TCP готов в настоящий момент принять.

36

Квитанция (подтверждение) посылается только в случае правильного приема данных, отрицательные квитанции не посылаются. Таким образом, отсутствие квитанции означает либо прием искаженного сегмента, либо потерю сегмента, либо потерю квитанции. В качестве квитанции получатель сегмента отсылает ответное сообщение (сегмент), в которое помещает число, на единицу превышающее максимальный номер байта в полученном сегменте. Это число часто называют номером очереди.

 

 

 

 

 

Направление движения окна ->

 

 

 

 

 

 

 

 

 

 

 

<- W – размер окна ->

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сегменты

отправлены,

Сегменты отправлены,

Сегменты могут

Сегменты которые еще

квитанции

 

получены,

квитанции пока нет

быть отправлены

нельзя отправлять

последняя

 

квитанция

 

 

 

 

 

 

 

 

 

 

 

 

на байт с номером N

 

 

 

 

 

 

 

 

 

 

 

 

На рис. показан поток байтов, поступающий на вход протокола TCP. Из потока байтов модуль TCP нарезает последовательность сегментов. Для определенности на рисунке принято направление перемещения данных справа налево. В этом потоке можно указать несколько логических границ. Первая граница отделяет сегменты, которые уже были отправлены и на которые уже пришли квитанции. Следующую часть потока составляют сегменты, которые также уже отправлены, так как входят в границы, определенные окном, но квитанции на них пока не получены. Третья часть потока - это сегменты, которые пока не отправлены, но могут быть отправлены, так как входят в пределы окна. И наконец, последняя граница указывает на начало последовательности сегментов, ни один из которых не может быть отправлен до тех пор, пока не придет очередная квитанция и окно не будет сдвинуто вправо. Т.о., окно будто скользит по байтовому потоку.

Повторная передача

Надежная TCP-служба требует, чтобы все сегменты, содержащие данные, были подтверждены получателем. Когда подтвержление для сегмента не принимается в течение определенного количества времени, отправитель повторно передает сегмент.

Отправитель может повторить передачу несколько раз перед тем, как отказаться от соединения.

Для каждого соединения протокол поддерживает переменную, называемую «задержка повторной передачи» (RTO). Ее значение соответствует количеству времени, в течение которого может отсутствовать подтверждение. Как только время истекает, осуществляется повторная передача сегмента.

Период кругового обращения (RTT):

1.Время прохождения сегмента от отправителя к адресату (в разных сетях – разное время)

2.Время обработки входящего сегмента адресатом

3.Время на создание ответа (ACK-сегмент): создание окна, подтверждение нескольких сегментов

4.Время прохождения сегмента от адресата к отправителю

5.Время обработки ACK-сегмента

37

RTT меняется со временем и должно постоянно измеряться на протяжении всего сеанса связи.

RTO>RTT.

RTO не должно быть слишком большим, иначе будет снижена производительность сети из-за простоя. Если RTO<RTT, то сегменты передаются повторно напрасно.

Повторная передача может случиться из-за:

1. ACK-сегмент отброшен маршрутизатором (из-за его перегрузки, например)

То, что посылали, не дошло до получателя - обросил маршрутизатор, не совпадает контрольная сумма, (из-за повреждения сигнала, например)

38

19. Эталонная модель взаимодействия открытых систем

Стек протоколов TCP/IP — набор сетевых протоколов передачи данных, используемых в сетях, включая сеть Интернет. Название TCP/IP происходит из двух наиважнейших протоколов семейства — Transmission Control Protocol (TCP) и Internet Protocol (IP), которые были разработаны и описаны первыми в данном стандарте. Также изредка упоминается как модель DOD в связи с историческим происхождением от сети ARPANET из 1970 годов (под управлением DARPA, Министерства обороны США)

Протоколы работают друг с другом в стеке (англ. stack, стопка) — это означает, что протокол, располагающийся на уровне выше, работает «поверх» нижнего, используя механизмы инкапсуляции. Например, протокол TCP работает поверх протокола IP.

Стек протоколов TCP/IP включает в себя четыре уровня:

прикладной уровень (application layer),

транспортный уровень (transport layer),

сетевой уровень (internet layer),

канальный уровень (link layer).

Протоколы этих уровней полностью реализуют функциональные возможности модели OSI. На стеке протоколов TCP/IP построено всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи данных.

Модель TCP/IP (5 уровней)

Прикладной (5) уровень (Application Layer) или уровень приложений обеспечивает услуги, непосредственно поддерживающие приложения пользователя, например, программные средства передачи файлов, доступа к базам данных, средства электронной почты, службу регистрации на сервере. Этот уровень управляет всеми остальными уровнями. Например, если пользователь работает с электронными таблицами Excel и решает сохранить рабочий файл в своей директории на сетевом файл-сервере, то прикладной уровень обеспечивает перемещение файла с рабочего компьютера на сетевой диск прозрачно для пользователя.

Транспортный (4) уровень (Transport Layer) обеспечивает доставку пакетов без ошибок и потерь, а также в нужной последовательности. Здесь же производится разбивка на блоки передаваемых данных, помещаемые в пакеты, и восстановление принимаемых данных из пакетов. Доставка пакетов возможна как с установлением соединения (виртуального канала), так и без. Транспортный уровень является пограничным и связующим между верхними тремя, сильно зависящими от приложений, и тремя нижними уровнями, сильно привязанными к конкретной сети.

Сетевой (3) уровень (Network Layer) отвечает за адресацию пакетов и перевод логических имен (логических адресов, например, IP-адресов или IPX-адресов) в физические сетевые MAC-адреса (и обратно). На этом же уровне решается задача выбора маршрута (пути), по которому пакет доставляется по назначению (если в сети имеется несколько маршрутов). На сетевом уровне действуют такие сложные промежуточные сетевые устройства, как маршрутизаторы.

Канальный (2) уровень или уровень управления линией передачи (Data link Layer) отвечает за формирование пакетов (кадров) стандартного для данной сети (Ethernet, Token-Ring, FDDI) вида, включающих начальное и конечное управляющие поля. Здесь же производится управление доступом к сети, обнаруживаются ошибки передачи путем подсчета контрольных сумм, и производится повторная пересылка приемнику ошибочных пакетов. Канальный уровень делится на два подуровня: верхний LLC и нижний MAC. На канальном уровне работают такие промежуточные сетевые устройства, как, например, коммутаторы.

Физический (1) уровень (Physical Layer) – это самый нижний уровень модели, который отвечает за кодирование передаваемой информации в уровни сигналов, принятые в используемой среде передачи, и обратное декодирование. Здесь же определяются требования к соединителям, разъемам, электрическому согласованию, заземлению, защите от помех и т.д. На физическом уровне работают такие сетевые устройства, как трансиверы, репитеры и репитерные концентраторы.

39

20.Технология IP Security и VPN

IPsec (сокращение от IP Security) — набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP, позволяет осуществлять подтверждение подлинности и/или шифрование IP-пакетов. IPsec также включает в себя протоколы для защищённого обмена ключами в сети Интернет.

Предоставляет 3 услуги:

AH (аутентификация)

ESP (шифрование)

Безопасная пересылка ключей 2 режима работы:

1.Туннельный – весь IP-пакет помещается в другой IP-пакет

2.Транспортный – шифруются сами данные в TCP-протоколе

VPN – объединение различных сетей через глобалтную

Структурированная кабельная система (СКС) – кабельная система здания/группы зданий, предназначенная для использования достаточно длительный период времени без реструктуризации.

СКС - охватывает все пространство здания, соединяет все точки средств передачи информации, такие как компьютеры, телефоны, датчики пожарной и охранной сигнализации, системы видеонаблюдения и контроля доступа. Все эти средства обеспечиваются индивидуальной точкой входа в общую систему здания. Линии, отдельные для каждой информационной розетки, связывают точки входа с коммутационным центром этажа, образуя горизонтальную кабельную подсистему. Все этажные коммутационные узлы специальными магистралями объединяются в коммутационном центре здания. Сюда же подводятся внешние кабельные магистрали для подключения здания к глобальным информационным ресурсам, таким как телефония, Интернет и т.п. Такая топология позволяет надежно управлять всей системой здания, обеспечивает гибкость и простоту системы.

Составные части СКС:

рабочее место, рабочая зона;

горизонтальная кабельная проводка;

коммутационный узел этажа;

вертикальная кабельная проводка;

служебные технические средства.

Рабочее место - область, где установлены технические средства пользователя, подключенные к кабельной сети здания. Рабочее место оснащается не менее чем двумя информационными розетками, так как типичное офисное рабочее место содержит как минимум компьютер пользователя и его телефон. Для их подключения к СКС используются розетки со стандартизированным разъемом RJ-45 и коммутационные шнуры длиной от 1 до 5 метров.

Горизонтальная кабельная проводка - кабельные линии, соединяющие рабочее место с коммутационным узлом этажа. Горизонтальная кабельная проводка, на основе медных

40

Соседние файлы в папке ГОСЫ