logo
Ответы к экзамену по ПСП

Стек протоколов tcp/ip. Публичные и частные пространства адресов, типы портов. Параметры настройкиTcp/ip.

TCP(Transmission Control Protocol)обеспечивает надежную доставку данных в сети;

IP (Internet Protocol)организует маршрутизацию сетевых передач от отправителя к получателю и отвечает за адресацию сетей и компьютеров.

Структура TCP/IPявляется более простой: в ней не выделяются Физический, Канальный, Сетевой и Представительский уровни. В общем и целом Транспортные уровни обеих моделей соответствуют друг другу, но есть и некоторые различия. Например, некоторые функции Сеансового уровня моделиISO/OSIберет на себя Транспортный уровеньTCP/IP. Содержимое Сетевого уровня моделиISO/OSIтоже примерно соответствует Межсетевому уровнюTCP/IP. В большей или меньшей степени Прикладной уровеньTCP/IPсоответствует трем уровням Сетевому, Представительскому и Прикладному моделиISO/OSI, а Уровень доступа к сети – совокупности Физического и Канального уровней.

Транспортный уровень - TCP (TransmissionControlProtocol), чье имя присутствует в названии всего стека;UDP (UserDatagramProtocol) – протокол передачи дейтаграмм пользователя.

Межсетевой уровень - IP (Internet Protocol), ICMP (Internet Control Message Protocol), ARP (Address Resolution Protocol), RARP (Reverse ARP).

Уровень доступа к сети - Ethernet, SLIP (Serial Line IP), PPP (Point-to-Point Protocol).

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

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

Частные IP:

10.0.0.0 – 10.255.255.255 (префикс 10/8)

172.16.0.0 – 172.31.255.255 (префикс 172.16/12)

192.168.0.0 – 192.168.255.255 (префикс 192.168/16)

Параметры:IP, маска, шлюз, DNS

  1. Основные характеристики протоколов Ethernet,SLIP,PPP,IPv4,IPv6,ICMP,ARP,RARP,TCP,UDP. Понятия: надежный и ненадежный протоколы, протоколы с установкой соединения или без установки соединения, протоколы ориентированные на поток или на сообщения.

Протокол Ethernet. ТерминEthernetобычно связывают со стандартом опубликованным в 1982 г. совместно корпорациямиDEC,IntelиXerox(DIX).

На сегодняшний день это наиболее распространенная технология локальных сетей. Ethernetприменяет метод доступаCSMA/CD, использует 48-битную адресацию (стандартIEEEUI-64) и обеспечивает передачу данных до 1 гигабита в секунду. Максимальная длина кадра, передаваемая в сетиEthernetсоставляет 1518 байт, при этом сами данные могут занимать от 46 до 1500 байт. Физически функции протоколаEthernetреализуются сетевой картой (NIC,NetworkInterfaceCard), которая может быть подключена к кабельной системе с фиксированным МАС-адресом производителя (в соответствии со стандартомICANN).

Протокол SLIP(Serial Line IP). АббревиатуройSLIPобозначают межсетевой протокол для последовательного канала. РаньшеSLIPиспользовался для подключения домашних компьютеров кInternetчерез последовательный портRS-232. Протокол использует простейшую инкапсуляцию кадра и имеет ряд недостатков: хост с одной стороны должен знатьIP-адрес другого, т.к.SLIPне дает возможности сообщить свойIP-адрес; если линия задействованаSLIP, то она не может быть использована никаким другим протоколом;SLIPне добавляет контрольной информации к пакету передаваемой информации – весь контроль возложен на протоколы более высокого уровня. Ряд недостатков были исправлены в новой версии протокола именуемойCSLIP(CompressedSLIP).

Протокол PPP (Point-to-Point Protocol). PPP– универсальный протокол двухточечного соединения: поддерживаетсяTCP/IP,NetBEUI,IPX/SPX,DECNetи многими стеками протоколов. Протокол может применяться для технологии ISDN (Integrated Services Digital Network) и SONET (Synchronous Optical Network). PPPподдерживает многоканальные реализации: можно сгруппировать несколько каналов с одинаковой пропускной способностью между отправителем и получателем. Кроме того,PPPобеспечивает циклический контроль для каждого кадра, динамическое определение адресов, управление каналом. В настоящее время это наиболее широко используемый протокол для последовательного канала, обеспечивающий соединение компьютера с сетьюInternetи практически вытеснил протоколSLIP.

Протокол IPv4. В семействе протоколовTCP/IPпротоколуIPотведена центральная роль. Его основной задачей является доставкадейтограмм(так называется единица передачи данных в терминологииIP). При этом протокол по определению являетсяненадежнымине поддерживающим соединения.

Ненадежность протокола IPобусловлена тем, что нет гарантии, что посланная узлом сети дейтаграмма дойдет до места назначения. Сбой, произошедший на любом промежуточном узле сети, может привести к уничтожению дейтаграмм. Предполагается, что необходимая степень надежности должна обеспечиваться протоколами верхних уровней.

IPне ведет никакого учета очередности доставки дейтаграмм: каждая дейтаграмма обрабатывается независимо от остальных. Поэтому очередность доставки может нарушаться. Предполагается, что учетом очередности дейтаграмм должен заниматься протокол верхнего уровня.

Протокол IPv6. Главным отличительным признаком протоколаIPv6 является 128-битный адрес, позволяющий увеличить адресное пространство боле чем на 20 порядков. Основная концепцияIPv6: каждый отдельный узел должен иметь собственный уникальный идентификатор интерфейса. Кроме того, протоколIPv6 требует соответствие идентификаторов интерфейсов форматуIEEEEUI-64, позволяющему применять фиксированные (“зашитые” при изготовлении в специальную память сетевой платы)MAC-адреса сетевых плат. Например, 48-битный МАС-адрес платыEthernetизначально предназначен для глобальной идентификации. Первые 24 бита этого адреса обозначают производителя платы (в соответствии с кодировкойICANN) и индивидуальную партию изделия, а остальные 24 бита определяются производителем, с таким расчетом, чтобы каждый номер был уникален в пределах всей его продукции. Таким образом уникальный идентификатор интерфейсаIPv6 на основеEthernetcодержит в младших 64-х разрядах 128-битного адресаMAC-адрес платыEthernet. Причем дополнение 48-бит адресаMAC-адреса до 64 бит осуществляется добавлением 16 бит (0xFFFF) между двумя его половинами. На первоначальном этапе внедренияIPv6 предполагается совместное использование обеих версийIP-протокола. При этом предполагается использование, так называемых,IPv4-совместимых иIPv4-преобразованных адресов. Другой интересной особенностьюIPv6 является возможностьавтоконфигурации. Большое внимание в новой версии протокола уделяется вопросам безопасности

Протокол ICMP. Спецификация протоколаICMP(Протокол контроля сообщений вInternet) изложена в документеRFC792.ICMPявляется неотъемлемой частьюTCP/IPи предназначен для транспортировки информации о сетевой деятельности и маршрутизации.IPCMсообщения представляют собой специально отформатированныеIP-дейтаграммы, которым соответствуют определенные типы (15 типов) и коды сообщений. Описание типов и кодовIPCM-сообщений содержится в [5]. С помощью протоколаICMPосуществляется деятельность утилит достижимости (ping,traceroute); регулируется частота отправкиIP-дейтаграмм, оптимизируетсяMTUдля маршрута передачиIP-дейтаграмм; доставляется хостам, маршрутизаторам и шлюзам всевозможная служебная информация; осуществляется поиск и переадресация маршрутизаторов; оптимизируются маршруты; диагностируются ошибки и оповещаются узлыIP-сети.

Протокол ARP.IP-адреса могут восприниматься только на сетевом уровне и вышестоящих уровняхTCP/IP. На канальном уровне всегда действует другая схема адресации, которая зависит от используемого протокола. Например, в сетяхEthernetиспользуются 48-битные адреса. Для установки соответствия между 32-разряднымиIP-адресами и теми или инымиMAC-адресами, действующими на канальном уровне, применяется механизм привязки адресов по протоколуARP, спецификация которого приведена в документеRFC826. Основной задачейARPявляется динамическая (без вмешательства администратора, пользователя, прикладной программы) проекцияIP-адресов в соответствующие МАС-адреса аппаратных средств. Эффективность работыARPобеспечивается тем, что каждый хост кэширует специальнуюARP-таблицу. Время существования записи в этой таблице составляет обычно 10- 20 минут с момента ее создания и может быть изменено с помощью параметров реестра [6]. Просмотреть текущее состояниеARP-таблицы можно с помощью командаarp. Кроме того, протоколARPиспользуется для проверки существования в сети дублированногоIP-адреса и разрешения запроса о собственномMAC-адресе хоста во время начальной загрузки.

Протокол RARP. ПротоколRARP, как следует из названия (ReverseARP), по своей функции противоположен протоколуARP.RARPприменятся для полученияIP-адреса поMAC-адресу. В настоящее время протокол заменен на протокол Прикладного уровняDHCP, предлагающий более гибкий метод присвоение адресов.

Протокол TCP. ПротоколTCPявляетсянадежнымбайт-ориентированным протоколом сустановлением соединения. При получении дейтаграммы, в полеProtocol(со структуройIP-дейтаграммы можно ознакомиться в [5,6]) которой указан код 6 (код протоколаTCP)IP-протокол извлекает из дейтаграммы данные, предназначенные для Транспортного уровня, и переправляет их модулю протоколаTCP. МодульTCPанализирует служебную информацию заголовка сегмента (структураTCP-сегмента приведена в [5,6]), проверяет целостность (по контрольной сумме) и порядок прихода данных, а также подтверждает их прием отправляющей стороне. По мере получения правильной последовательности неискаженных данных процесса отправителя, используя полеDestinationPortNumberзаголовка сегмента, модульTCPпереправляет эти данные процессу получателя.

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

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

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

Протокол UDP. ПротоколUDPявляется протоколом без установления соединения. Спецификация протокола описывается в документеRFC768. Основными свойствами протокола являются:

  1. отсутствие механизмов обеспечения надежности: пакеты не упорядочиваются, и их прием не подтверждается;

  2. отсутствие гарантий доставки: пакеты оправляются без гарантии доставки, поэтому процесс Прикладного уровня (программа пользователя) должен сам отслеживать и обеспечивать (если это необходимо повторную передачу);

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

  4. UDPможет по требованию вычислять контрольную сумму для пакета данных, но проверка соответствия контрольной сумы ложится на процесс Прикладного уровня;

  5. отсутствие буферизации: UDPоперирует только одним пакетом и вся работа по буферизации ложится на процесс Прикладного уровня;

  6. UDPне содержит средств, позволяющих разбивать сообщение на несколько пакетов (фрагментировать) – вся эта работа возложена на процесс Прикладного уровня.

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

Основным отличием протоколов UDPиTCPявляется, то, чтоUDP– протокол без установления соединения (ориентированным на сообщения), аTCP– протокол на основе соединения (ориентированный на поток).