• архитектура эмвос (open system interconnection, osi). Архитектура протоколов в компьютерных сетях. архитектура эмвос (open system interconnection, osi) Методы доступа в сети

    TCP/IP - это аббревиатура термина Transmission Control Protocol/Internet Protocol (Протокол управления передачей/Межсетевой протокол). Фактически TCP/IP не один протокол, а множество, стек протоколов.

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

    В сети, работающей на основе TCP/IP, информация передается в виде дискретных блоков, называемых IP-пакетами (IP packets) или IP-дейтаграммами (IP datagrams). По существу TCP/IP скрывает маршрутизаторы и базовую архитектуру сетей от пользователей, так что всё это выглядит как одна большая сеть. Точно так же, как подключения к сети Ethernet распознаются по 48-разрядным идентификаторам Ethernet, подключения к интрасети идентифицируются 32-разрядными IP-адресами, которые мы выражаем в форме десятичных чисел, разделенных точками (например, 128.10.2.3). Взяв IP-адрес удаленного компьютера, компьютер в интрасети или в Internet может отправить данные на него, как будто они составляют часть одной и той же физической сети.

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

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

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

    Другой важный протокол стека TCP/IP - User Datagram Protocol (UDP, протокол пользовательских дейтаграмм), который похож на TCP, но более примитивен. TCP - "надежный" протокол, потому что он обеспечивает проверку на наличие ошибок и обмен подтверждающими сообщениями, чтобы данные достигали своего места назначения заведомо без искажений. UDP - "ненадежный" протокол, который не гарантирует, что дейтаграммы будут приходить в том порядке, в котором были посланы, и даже того, что они придут вообще. UDP используется для управления соединениями.

    Другие TCP/IP протоколы играют менее заметные, но в равной степени важные роли в работе сетей TCP/IP. Например, протокол определения адресов (Address Resolution Protocol, ARP) ппреобразует IP-адреса в физические сетевые адреса, такие, как идентификаторы Ethernet. Родственный протокол - протокол обратного преобразования адресов (Reverse Address Resolution Protocol, RARP) - выполняет обратное действие, преобразуя физические сетевые адреса в IP-адреса. Протокол управления сообщениями Internet (Internet Control Message Protocol, ICMP) представляет собой протокол сопровождения, который использует IP для обмена управляющей информацией и контроля над ошибками, относящимися к передаче пакетов IP. Например, если маршрутизатор не может передать IP-дейтаграмму, он использует ICMP, с тем чтобы информировать отправителя, что возникла проблема.

    TCP/IP – собирательное название для набора (стека) сетевых протоколов разных уровней, используемых в Интернет.

    Стек протоколов TCP/IP делится на 4 уровня:

    · Прикладной (приложений);

    · Транспортный;

    · Сетевой (межсетевой);

    · Физический (канальный).

    Основная функциональность сетей TCP/IP реализована протоколами TCP (протокол с контролем передачи) и IP (межсетевой протокол). Протокол IP работает на сетевом уровне, протокол TCP – на транспортном. На прикладном уровне работает большое количество протоколов, как общеупотребимых (http, smtp, dns, smb), так и малораспространённых (binkp), которые используются различными пользовательскими программами для связи между собой и передачи данных, но все они пользуются транспортом, предоставляемым TCP/IP. Эти протоколы называются базовыми, так как все прочие базируются на них, и вся технология называется TCP/IP.

    Наряду с TCP, на транспортном уровне используется протокол UDP. В отличие от TCP он не создаёт соединение, а просто отправляет датаграммы. Такой способ передачи без установления соединения, удобен для некоторых применений, в основном служебных. В частности, через UDP работает протокол определения сетевого имени DNS.

    Уровни стека TCP/IP не вполне совпадают с теоретическими уровнями модели OSI

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

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

    Linux-сервер своими руками Колисниченко Денис Николаевич

    1.7.5. Многоуровневая архитектура стека TCP/IP

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

    Вначале давайте рассмотрим историю создания протокола TCP/IP. Протокол TCP/IP был создан в конце 60-х - начале 70-х годов агентством DARPA Министерства Обороны США (U.S. Department of Defense Advanced Research Projects Agency). Основные этапы развития этого протокола отмечены в табл. 1.4.

    Этапы развития протокола TCP/IP Таблица 1.4

    Год Событие
    1970 Введен в использование протокол NCP (Network Control Protocol) для узлов сети Arpanet
    1972 Вышла первая спецификация Telnet (см. RFC 318)
    1973 Введен протокол FTP (RFC 454)
    1974 Программа TCP (Transmission Control Program)
    1981 Опубликован стандарт протокола IP (RFC 791)
    1982 Объединение протоколов TCP и IP в одно целое - TCP/IP
    1983 Сеть Arpanet переведена на протокол TCP (ранее использовался протокол NCP)
    1984 Введена доменная система имен DNS

    Как вы видите, все стандарты Интернет-протоколов опубликованы в документах RFC. Документы RFC (Request For Comments) - это запрос комментариев. В этих документах описывается устройство сети Интернет.

    Документы RFC создаются сообществом Интернет (Internet Society, ISOC). Любой член ISOC может опубликовать свой стандарт в документе RFC. Документы RFC делятся на пять типов:

    Все необходимые документы RFC вы найдете на прилагаемом компакт-диске.

    Протоколы семейства TCP/IP можно представить в виде модели, состоящей из четырех уровней: прикладного, основного, межсетевого и сетевого (см. рис. 1.11).

    Рис. 1.11. Уровни стека протоколов TCP/IP

    Каждый из этих уровней выполняет определенную задачу для организации надежной и производительной работы сети.

    Уровень сетевого интерфейса

    Данный уровень лежит в основании всей модели протоколов семейства TCP/IP. Уровень сетевого интерфейса отвечает за отправку в сеть и прием из сети кадров, которые содержат информацию. Кадры передаются по сети как одно целое. Кадр (frame) - это единица данных, которыми обмениваются компьютеры в сети Ethernet. Для обозначения блоков данных определенных уровней используют термины кадр (frame), пакет (packet), дейтаграмма (datagram), сегмент (segment). Все эти термины обозначают транспортируемые отдельно блоки данных и их можно считать синонимами. Название блока пересылаемых данных изменяется в зависимости от уровня (см. рис. 1.12).

    Рис. 1.12. Пересылка блока данных в стеке протоколов TCP/IP

    Межсетевой уровень

    Протоколы Интернет инкапсулируют блоки данных в пакеты (дейтаграммы) и обеспечивают необходимую маршрутизацию. К основным Интернет-протоколам относятся:

    IP (Internet Protocol) предназначен для отправки и маршрутизации пакетов.
    ARP (Address Resolution Protocol) используется для получения МАС-адресов (аппаратных адресов) сетевых адаптеров.
    ICMP (Internet Control Message Protocol) предназначен для отправки извещений и сообщений об ошибках при передаче пакетов.
    IGMP (Internet Group Management Protocol) используется узлами для сообщения маршрутизаторам, которые поддерживают групповую передачу, о своем участии в группах.
    RIP (Route Internet Protocol) и OSPF (Open Shortest Path First) протоколы маршрутизации.

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

    Транспортный (основной) уровень

    Данный уровень обеспечивает сеансы связи между компьютерами. Существует два транспортных протокола: TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Протокол TCP ориентирован на установление соединения, то есть перед передачей данных компьютеры «договариваются» между собой. Обычно по этому протоколу передаются большие объемы данных или данные, для которых требуется подтверждение их приема. Этот протокол используется большинством сетевых приложений, так как обеспечивает достаточную надежность при передаче данных.

    Протокол UDP не ориентирован на соединение и не гарантирует доставку пакетов (дейтаграмм). Однако протокол UDP является более быстродействующим по сравнению с TCP. Обычно по этому протоколу передаются небольшие объемы данных. Ответственность за доставку данных несет сетевая программа.

    Уровень приложений

    Данный уровень является вершиной модели TCP/IP. На этом уровне работают практически все распространенные утилиты и службы: DNS, Telnet, WWW, Gopher, WAIS, SNMP, FTP, TFTP, SMTP, POP, IMAP.

    В качестве завершения данного пункта рассмотрим соответствие уровней стека протокола TCP/IP семиуровневой модели OSI (см. табл. 1.5).

    Соответствие уровней стека TCP/IP модели OSI Таблица 1.5

    Уровень модели OSI Протокол Уровень стека TCP/IP
    7, 6 WWW (HTTP), FTP, TFTP, SMTP, POP, telnet, WAIS, SNMP 1
    5, 4 TCP, UDP 2
    3 IP, ICMP, RIP, OSPF, ARP 3
    2, 1 Ethernet, PPP, SLIP 4

    В следующем пункте рассмотрено такое важное понятие протокола TCP/IP как порт. В том же пункте будут рассмотрены структуры пакетов IP и TCP, поскольку рассмотрение этого материала без введения определения порта не имеет смысла.

    Из книги Давайте создадим компилятор! автора Креншоу Джек

    Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

    1.7.5. Многоуровневая архитектура стека TCP/IP Этот пункт книги является необязательным: если вы считаете, что у вас уже достаточно знаний о протоколе TCP/IP, то можете перейти к следующим разделам, а к этому вернуться позже. Здесь будет описана многоуровневая архитектура

    Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

    У9.3 Совместное использование стека достижимых элементов (Это упражнение подразумевает знакомство с результатами лекции 18) Перепишите компонент available, задающий стек достижимых элементов при подходе на уровне компонентов. Единственный стек должен совместно

    Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

    Просмотр стека вызовов В отладчике можно вывести окно Call Stack со списком всех активных процедур и функций сценария. Для этого нужно выполнить команду View|Call Stack. Например, если вызвать это окно, находясь внутри функции MyFunc() в сценарии ForDebug.js, то в списке мы увидим название

    Из книги Системное программирование в среде Windows автора Харт Джонсон М

    Глобальное и локальное разворачивание стека Исключения и аварийные завершения вызывают глобальное разворачивание стека (global stack unwind) в поиске обработчика, как было показано на рис. 4.1. Предположим, например, что в отслеживаемом блоке примера, приведенного в конце

    Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

    3.6 Архитектура TCP TCP реализуется на хостах. Наличие TCP на каждом конце соединения обеспечивает для доставки данных локального приложения следующие возможности:? Точность? Сохранение последовательности? Полноту? Исключение дублированияБазовый механизм для реализации

    Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

    3.7 Архитектура UDP UDP реализуется на хостах. Протокол не обеспечивает целостности доставки данных, поскольку эта функция возлагается на обменивающиеся данными приложения. Именно они проверяют целостность доставляемых данных.Приложение, которое хочет переслать данные с

    Из книги Сетевые средства Linux автора Смит Родерик В.

    8.1.17. Использование массива в качестве стека или очереди Базовые операции со стеком называются push и pop, они добавляют и удаляют элементы в конец массива. Базовые операции с очередью - это shift (удаляет элемент из начала массива) и unshift (добавляет элемент в начало массива). Для

    Из книги XSLT автора Хольцнер Стивен

    9.2.1. Более строгая реализация стека Мы обещали показать, как можно сделать стек защищенным от некорректного доступа. Выполняем обещание! Вот пример простого класса, который хранит внутри себя массив и управляет доступом к этому массиву. (Есть и другие способы, например

    Из книги Фундаментальные алгоритмы и структуры данных в Delphi автора Бакнелл Джулиан М.

    Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

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

    Из книги C++ для начинающих автора Липпман Стенли

    Многоуровневая нумерация Элемент также поддерживает многоуровневую нумерацию - такую как 3.1.2.5 и т. п. Для работы с ней нужно установить атрибут level в «multiple». При помощи атрибута count можно указать, узлы какого типа вы хотите нумеровать, установив этот атрибут в

    Из книги автора

    Из книги автора

    Многоуровневая модель Увеличение возможностей масштабирования и требования большей функциональной совместимости приводят к модели с большим количеством уровней, как показано на рис. 5.2. Клиентский интерфейс перемещается в центр модели; он объединяется с одним или

    Из книги автора

    11.3.2. Раскрутка стека Поиск catch-обработчикадля возбужденного исключения происходит следующим образом. Когда выражение throw находится в try-блоке, все ассоциированные с ним предложения catch исследуются с точки зрения того, могут ли они обработать исключение. Если подходящее

    Из книги автора

    19.2.5. Раскрутка стека и вызов деструкторов Когда возбуждается исключение, поиск его catch-обработчика – раскрутка стека – начинается с функции, возбудившей исключение, и продолжается вверх по цепочке вложенных вызовов (см. раздел 11.3).Во время раскрутки поочередно

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

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

    Модули распределяются по функциональным уровням, которые организуются в виде ВЕРТИКАЛЬНОГО СТЕКА:

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

    Таким образом, функциональные уровни внутри одной системы взаимодействуют на строго иерархической основе.

    Архитектура процессов в компьютерной сети

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

    В 1983 году в целях упорядочения принципов взаимодействия устройств в сетях передачи данных Международная организация по стандартизации (МОС, ISO) утвердила в качестве международного стандарта 7-ми уровневую модель для архитектуры коммуникационных протоколов. Предполагалось , что эта модель должна послужить основой для разработки международных стандартов протоколов. Модель получила название - Эталонная модель Взаимодействия Открытых Систем ВОС (стандарт ISO #7498, рекомендация Международного Союза электросвязи МСЭ-Т Х.200). Разработчики модели полагали, что эта модель и протоколы, разрабатываемые в ее рамках, будут преобладать в средствах компьютерной связи, и, в конце концов, вытеснят фирменные протоколы и конкурирующие модели, такие как TCP/IP. Хотя этого не произошло, в рамках модели было создано много полезных протоколов. И в настоящее время, большинство разработчиков и поставщиков сетевого оборудования определяют свои продукты в терминах эталонной модели ВОС или OSI (Open System Interconnection).

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

    В соответствии с моделью OSI взаимодействие прикладных процессов пользователей в сети разбивается на 7 функциональных уровней.

    Нумерация функциональных уровней идет снизу вверх. На рисунке показаны названия уровней ВОС и соответствующих уровневых протоколов.

    На стороне передаче пересылаемый блок данных проходит вниз через все функциональные уровни компьютера-отправителя, а на приеме - проходит снизу вверх через все функциональные уровни получателя.

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

    Функциональные уровни 1-4 (физический – транспортный) предоставляют транспортные услуги по доставке блока данных от прикладного процесса компьютера – источника до прикладного процесса компьютера – получателя информации.

    Пакет, поступающий от смежного вышестоящего уровня, называется блоком данных протокола этого уровня PDU (Protocol Data Unit). Например, блок данных сетевого уровня может включать в себя собственно данные прикладного процесса пользователя (Данные ППП) и заголовки "Сет -….- Прик".

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

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

    Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов.

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

    Набор уровней и протоколов называется архитектурой сети.

    Физический уровень обеспечивает передачу/прием неструктурированного потока бит в физической среде.

    Уровень определяет механические , электрические и функциональные параметры физической связи, то есть описывает процесс прохождения сигналов через среду передачи между сетевыми устройствами. На этом уровне решаются вопросы: какое количество контактов должно быть в сетевом разъеме и для чего используется каждый контакт, какие сигналы используются для передачи битов "1" и "0" в последовательности данных, чему должна быть равна скорость модуляции В (число импульсов в секунду), как устанавливается начальное физическое соединение и как оно разрывается, как обеспечивается синхронизация приемника с поступающими сигналами.

    Сетевое устройство - Повторитель или хаб (hub, repeater) выполняет только функции физического уровня. Функции хаба – усиление и ретрансляция сигналов. Хаб имеет несколько сетевых разъемов (портов) для подключения среды передачи (кабеля). Сигнал, поступивший на вход одного из портов, пересылается параллельно на все выходные порты (за исключением входного).

    Канальный уровень (уровень звена данных). Звено данных – это участок сети, включающий два соседних сетевых устройства и физическую линию связи между ними. Например, компьютер пользователя – линия связи кабель UTP 5e – коммутатор.

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

    Протокол канального уровня в глобальной (региональной) сети Wide Area Network (WAN) обеспечивает доставку кадра между соседними в сети узлами, соединенными индивидуальной линией связи.

    Протокол канального уровня в локальной сети Local Area Network (LAN) может обеспечить доставку кадра между любыми узлами этой сети, но в современных сетях при этом задействуются протоколы вышестоящих уровней – сетевого и транспортного.

    Локальные сети изначально строились с использованием разделяемой (share) среды передачи. В настоящее время методы разделения среды передачи в локальной сети используются на участках беспроводного доступа (например, WI-FI). Поэтому, канальный уровень LAN разделен на два подуровня (стандарты IEEE 802.x):

    · LLC (Logical Link Control) - подуровень управления логическим каналом (взаимодействие с сетевым уровнем, управление потоком кадров, передача кадров между рабочими станциями сети в соответствии с определенной процедурой: 1) без установления логического соединения и без подтверждения правильного приема кадра; 2) с установлением логического соединения, нумерацией передаваемых кадров и повторной передачей искаженных кадров; 3) без установления логического соединения, но с подтверждением.

    · MAC (Media Access Control) - подуровень управления доступом к среде передачи (реализация алгоритма доступа к среде, адресация узлов сети по физическим (аппаратным) адресам сетевых карт, проверка принятого кадра на наличие ошибок).

    Сетевые устройства, выполняющие функции канального уровня –коммутатор (SW-switch), мост (bridge), сетевой адаптер (сетевая карта) узла в локальной сети (NIC – Network Interface Card).

    Сетевой уровень отвечает за организацию маршрута передачи пакетов в сложной сети, состоящей из множества сегментов (подсетей), и позволяет работать в произвольных сетевых топологиях. Внутри сегментов могут использоваться совершенно разные принципы передачи сообщений между конечными узлами – компьютерами. Примером такой сети является сеть Интернет. Основным функциональным устройством сетевого уровня является маршрутизатор (router). Маршрутизатор всегда реализуется программно, протоколы сетевого уровня включаются в состав сетевой операционной системы компьютера.

    На сетевом уровне создаётся логический адрес подсети для идентификации группы компьютеров. Этот адрес присваивается автоматически операционной системой или администратором системы.

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

    Маршрутизатор (R, router) принимает решение о том, куда направлять поступающие пакеты данных, исходя из информации в заголовке сетевого уровня. Заголовок содержит сетевой адрес отправителя и адрес получателя, то есть числовые идентификаторы, которые позволяют однозначно определить устройство в сети.

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

    Алгоритмы маршрутизации можно разбить на два основных класса: адаптивные и неадаптивные .

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

    Адаптивные алгоритмы (динамическая маршрутизация ) изменяют решение о выборе маршрутов при изменении топологии сети и в зависимости от загруженности линий.

    Маршрутизатор (router) определяет оптимальный (лучший) путь передачи пакета, вычисляя количественные показатели, которые называются метриками . Обычно лучший путь – это путь с наименьшей метрикой.

    Переход пакета через маршрутизатор часто называют скачком (hop) или хопом .

    Простейшие алгоритмы маршрутизации определяют маршрут на основании наименьшего числа транзитных узлов на пути к адресату (дистанционно-векторные алгоритмы DVA или маршрутизация по вектору расстояния, протокол маршрутизации RIP – routinginformationprotocol). Более сложные алгоритмы учитывают несколько показателей, например, общую задержку при передаче пакетов до узла назначения, пропускную способность каналов связи или денежную стоимость связи (протокол OSPF, алгоритмы состояния связей LSA, алгоритм Дейкстры – поиск оптимального маршрута на графе).

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

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

    Транспортный уровень должен довести качество сетевого соединения до того класса надежности, который запросило приложение.

    Модель OSI определяет 5 классов сервиса (услуг), предоставляемых транспортным уровнем. Они отличаются срочностью, возможностью восстановления прерванного соединения, а главное – обнаружением и исправлением ошибок в принятых пакетах.

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

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

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

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

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


    Похожая информация.


    Набор многоуровневых протоколов, или как называют стек TCP/IP, предназначен для использования в различных вариантах сетевого окружения. Стек TCP/IP с точки зрения системной архитектуры соответствует эталонной модели OSI (Open Systems Interconnection - взаимодействие открытых систем) и позволяет обмениваться данными по сети приложениям и службам, работающим практически на любой платформе, включая Unix, Windows, Macintosh и другие.

    Рис. 3.2

    Реализация TCP/IP фирмы Microsoft соответствует четырехуровневой модели вместо семиуровневой модели, как показано на рис. 3.2. Модель TCP/IP включает большее число функций на один уровень, что приводит к уменьшению числа уровней. В модели используются следующие уровни:

    уровень Приложения модели TCP/IP соответствует уровням Приложения, Представления и Сеанса модели OSI;

    уровень Транспорта модели TCP/IP соответствует аналогичному уровню Транспорта модели OSI;

    межсетевой уровень модели TCP/IP выполняет те же функции, что и уровень Сети модели OSI;

    уровень сетевого интерфейса модели TCP/IP соответствует Канальному и Физическому уровням модели OSI.

    Уровень Приложения

    Через уровень Приложения модели TCP/IP приложения и службы получают доступ к сети. Доступ к протоколам TCP/IP осуществляется посредством двух программных интерфейсов (API - Application Programming Interface):

    Сокеты Windows;

    Интерфейс сокетов Windows, или как его называют WinSock, является сетевым программным интерфейсом, предназначенным для облегчения взаимодействия между различными TCP/IP - приложениями и семействами протоколов.

    Интерфейс NetBIOS используется для связи между процессами (IPC - Interposes Communications) служб и приложений ОС Windows. NetBIOS выполняет три основных функции:

    определение имен NetBIOS;

    служба дейтаграмм NetBIOS;

    служба сеанса NetBIOS.

    В таблице 3.1 приведено семейство протоколов TCP/IP.

    Таблица 3.1

    Название протокола

    Описание протокола

    Сетевой программный интерфейс

    Связь с приложениями ОС Windows

    Интерфейс транспортного драйвера (Transport Driver Interface) позволяет создавать компоненты сеансового уровня.

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

    Протокол пользовательских дейтаграмм (User Datagram Protocol)

    Протокол разрешения адресов (Address Resolution Protocol)

    Протокол обратного разрешения адресов (Reverse Address Resolution Protocol)

    Протокол Internet(Internet Protocol)

    Протокол управляющих сообщений Internet (Internet Control Message Protocol)

    Протокол управления группами Интернета (Internet Group Management Protocol),

    Интерфейс взаимодействия между драйверами транспортных протоколов

    Протокол пересылки файлов (File Transfer Protocol)

    Простой протокол пересылки файлов (Trivial File Transfer Protocol)

    Уровень транспорта

    Уровень транспорта TCP/IP отвечает за установления и поддержания соединения между двумя узлами. Основные функции уровня:

    подтверждение получения информации4

    управление потоком данных;

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

    В зависимости от типа службы могут быть использованы два протокола:

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

    UDP (User Datagram Protocol - пользовательский протокол дейтаграмм).

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

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

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

    Клиент, запрашивающий соединение, отправляет серверу пакет, указывающий номер порта, который клиент желает использовать, а также код (определенное число) ISN (Initial Sequence number).

    Сервер отвечает пакетом, содержащий ISN сервера, а также ISN клиента, увеличенный на 1.

    Клиент должен подтвердить установление соединения, вернув ISN сервера, увеличенный на 1.

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

    Пользовательский протокол дейтаграмм (UDP)

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

    Межсетевой уровень

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

    Протокол Интернета IP

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

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

    Адресация в IP-сетях

    Каждый компьютер в сетях TCP/IP имеет адреса трех уровней: физический (MAC-адрес), сетевой (IP-адрес) и символьный (DNS-имя).

    Физический, или локальный адрес узла, определяемый технологией, с помощью которой построена сеть, в которую входит узел. Для узлов, входящих в локальные сети - это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС - адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем.

    Сетевой, или IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Internet (Network Information Center, NIC), если сеть должна работать как составная часть Internet. Обычно провайдеры услуг Internet получают диапазоны адресов у подразделений NIC, а затем распределяют их между своими абонентами. Номер узла в протоколе IP назначается независимо от локального адреса узла. Деление IP-адреса на поле номера сети и номера узла - гибкое, и граница между этими полями может устанавливаться произвольно. Узел может входить в несколько IP-сетей. В этом случае узел должен иметь несколько IP-адресов, по числу сетевых связей. IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

    Символьный адрес, или DNS-имя, например, SERV1.IBM.COM. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена. Такой адрес используется на прикладном уровне, например, в протоколах FTP или telnet.

    Протоколы сопоставления адреса ARP и RARP

    Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol (ARP). ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети - протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило, не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу - нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP - RARP (Reverse Address Resolution Protocol) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.

    В локальных сетях ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом.

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

    Протокол ICMP

    Протокол управления сообщениями Интернета (ICMP - Internet Control Message Protocol) используется IP и другими протоколами высокого уровня для отправки и получения отчетов о состоянии переданной информации. Этот протокол используется для контроля скорости передачи информации между двумя системами. Если маршрутизатор, соединяющий две системы, перегружен трафиком, он может отправить специальное сообщение ICMP - ошибку для уменьшения скорости отправления сообщений.

    Протокол IGMP

    Узлы локальной сети используют протокол управления группами Интернета (IGMP - Internet Group Management Protocol), чтобы зарегистрировать себя в группе. Информация о группах содержится на маршрутизаторах локальной сети. Маршрутизаторы используют эту информацию для передачи групповых сообщений.

    Групповое сообщение, как и широковещательное, используется для отправки данных сразу нескольким узлам.

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

    Уровень сетевого интерфейса

    Этот уровень модели TCP/IP отвечает за распределение IP-дейтаграмм. Он работает с ARP для определения информации, которая должна быть помещена в заголовок каждого кадра. Затем на этом уровне создается кадр, подходящий для используемого типа сети, такого как Ethernet, Token Ring или ATM, затем IP-дейтаграмма помещается в область данных этого кадра, и он отправляется в сеть.

    Вопросы

    Назначение спецификации стандартов IEEE802.

    Какой стандарт описывает сетевую технологию Ethernet?

    Какой стандарт определяет задачи управления логической связью?

    Какой стандарт задает механизмы управления сетью?

    Какой стандарт описывает сетевую технологию ArcNet?

    Какой стандарт описывает сетевую технологию Token Ring?

    Что такое интерфейс уровня базовой модели OSI?

    Что такое протокол уровня базовой модели OSI?

    Дать определение стека протоколов.

    На какие уровни разбиваются стеки протоколов?

    Назвать наиболее популярные сетевые протоколы.

    Назвать наиболее популярные транспортные протоколы.

    Назвать наиболее популярные прикладные протоколы.

    Перечислить наиболее популярные стеки протоколов.

    Назначение программных интерфейсов сокетов Windows и NetBIOS.

    Чем отличается протокол TCP от UDP?

    Функции протокола IP.

    Какие существуют виды адресации в IP-сетях?

    Какой протокол необходим для определения локального адреса по IP-адресу?

    Какой протокол необходим для определения IP-адреса по локальному адресу?

    Какой протокол используется для управления сообщениями Интернета?

    Назначение уровня сетевого интерфейса стека TCP/IP.

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

    TCP/IP

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

    Стек протоколов сети TCP/IP имеет 4 уровня:

    1. Канальный (Link).
    2. Сетевой (Internet).
    3. Транспортный (Transport).
    4. Прикладной (Application).

    Прикладной уровень

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

    • HTTP;
    • SMTP;

    Каждый протокол определяет собственный порядок и принципы работы с данными.

    HTTP (HyperText Transfer Protocol) предназначен для передачи данных. По нему отправляются, например, документы в формате HTML, которые служат основой веб-страницы. Упрощенно схема работы представляется как «клиент - сервер». Клиент отправляет запрос, сервер его принимает, должным образом обрабатывает и возвращает конечный результат.

    Служит стандартом передачи файлов в сети. Клиент посылает запрос на некий файл, сервер ищет этот файл в своей базе и при успешном обнаружении отправляет его как ответ.

    Используется для передачи электронной почты. SMTP-операция включает в себя три последовательных шага:

    1. Определение адреса отправителя. Это необходимо для возвращения писем.
    2. Определение получателя. Этот шаг может повторяться некоторое количество раз при указании нескольких адресатов.
    3. Определение содержимого сообщения и отправка. В качестве служебной информации передаются данные о типе сообщения. Если сервер подтверждает готовность принять пакет, то совершается сама транзакция.

    Заголовок (Header)

    В заголовке содержатся служебные данные. Важно понимать, что они предназначаются только для конкретного уровня. Это значит, что как только пакет отправится к получателю, то будет обработан там по такой же модели, но в обратном порядке. Вложенный заголовок будет нести специальную информацию, которая может быть обработана только определенным образом.

    Например, заголовок, вложенный на транспортном уровне, на другой стороне может быть обработан только транспортным уровнем. Другие просто его проигнорируют.

    Транспортный уровень

    На транспортном уровне полученная информация обрабатывается как единый блок, вне зависимости от содержимого. Полученные сообщения делятся на сегменты, к ним добавляется заголовок, и все это отправляется ниже.

    Протоколы передачи данных:

    Самый распространенный протокол. Он отвечает за гарантированную передачу данных. При отправке пакетов контролируется их контрольная сумма, процесс транзакции. Это значит, что информация дойдет «в целости и сохранности» независимо от условий.

    UDP (User Datagram Protocol) - второй по популярности протокол. Он также отвечает за передачу данных. Отличительное свойство кроется в его простоте. Пакеты просто отправляются, не создавая особенной связи.

    TCP или UDP?

    У каждого из этих протоколов есть своя область применения. Она логически обусловлена особенностями работы.

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

    Недостаток кроется в простоте. Ввиду отсутствия проверок не гарантируется целостность данных. Таким образом, информация просто отправляется, а все проверки и подобные манипуляции остаются за приложением.

    UDP используется, например, для просмотра видео. Для видеофайла не критична потеря небольшого количества сегментов, в то время как скорость загрузки - важнейший фактор.

    Однако если необходимо отправить пароли или реквизиты банковской карты, то необходимость использования TCP очевидна. Потеря даже самой мизерной части данных может повлечь за собой катастрофические последствия. Скорость в этом случае не так важна, как безопасность.

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

    Сетевой уровень из полученной информации образует пакеты и добавляет заголовок. Наиболее важной частью данных являются IP и MAC-адреса отправителей и получателей.

    IP-адрес (Internet Protocol address) - логический адрес устройства. Содержит информацию о местоположении устройства в сети. Пример записи: .

    MAC-адрес (Media Access Control address) - физический адрес устройства. Используется для идентификации. Присваивается сетевому оборудованию на этапе изготовления. Представлен как шестибайтный номер. Например: .

    Сетевой уровень отвечает за:

    • Определение маршрутов доставки.
    • Передачу пакетов между сетями.
    • Присвоение уникальных адресов.

    Маршрутизаторы - устройства сетевого уровня. Они прокладывают путь между компьютером и сервером на основе полученных данных.

    Самый популярный протокол этого уровня - IP.

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

    Виды IP-адресов

    В сетях используются два вида IP-адресов:

    1. Публичные.
    2. Приватные.

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

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

    Взаимодействие с сетью Интернет ведется через маршрутизатор, который, как уже было сказано выше, имеет свой публичный IP-адрес. Таким образом, все компьютеры, подключенные к маршрутизатору, представляются в сети Интернет от имени одного публичного IP-адреса.

    IPv4

    Самая распространенная версия интернет-протокола. Предшествует IPv6. Формат записи - четыре восьмибитных числа, разделенные точками. Через знак дроби указывается маска подсети. Длина адреса - 32 бита. В подавляющем большинстве случаев, когда речь идет об IP-адресе, имеется в виду именно IPv4.

    Формат записи: .

    IPv6

    Эта версия предназначается для решения проблем предыдущей версией. Длина адреса - 128 бит.

    Основная проблема, которую решает IPv6 - это исчерпание адресов IPv4. Предпосылки начали проявляться уже в начале 80-х годов. Несмотря на то, что эта проблема вступила в острую стадию уже в 2007-2009 годах, внедрение IPv6 очень медленно «набирает обороты».

    Главное преимущество IPv6 - более быстрое интернет-соединение. Это происходит из-за того, что для этой версии протокола не требуется трансляции адресов. Выполняется простая маршрутизация. Это является менее затратным и, следовательно, доступ к интернет-ресурсам предоставляется быстрее, чем в IPv4.

    Пример записи: .

    Существует три типа IPv6-адресов:

    1. Unicast.
    2. Anycast.
    3. Multicast.

    Unicast - тип одноадресных IPv6. При отправке пакет достигает только интерфейса, расположенного на соответствующем адресе.

    Anycast относится к групповым IPv6-адресам. Отправленный пакет попадет в ближайший сетевой интерфейс. Используется только маршрутизаторами.

    Multicast являются многоадресными. Это значит, что отправленный пакет достигнет всех интерфейсов, находящихся группе мультивещания. В отличие от broadcast, который является «вещанием для всех», multicast вещает лишь определенной группе.

    Маска подсети

    Маска подсети выявляет из IP-адреса подсеть и номер хоста.

    Например, IP-адрес имеет маску . В таком случае формат записи будет выглядеть так . Число «24» - это количество бит в маске. Восемь бит равняется одному октету, который также может называться байтом.

    Если подробнее, то маску подсети можно представить в двоичной системе счисления таким образом: . В ней имеется четыре октета, и запись состоит из «1» и «0». Если сложить количество единиц, то получим в сумме «24». К счастью, считать по единице не обязательно, ведь в одном октете - 8 значений. Видим, что три из них заполнены единицами, складываем и получаем «24».

    Если говорить именно о маске подсети, то в двоичном представлении она имеет в одном октете либо единицы, либо нули. При этом последовательность такова, что сначала идут байты с единицами, а только потом с нулями.

    Рассмотрим небольшой пример. Есть IP-адрес и маска подсети . Считаем и записываем: . Теперь сопоставляем маску с IP-адресом. Те октеты маски, в которых все значения равны единице (255) оставляют соответствующие им октеты в IP-адресе без изменения. Если же в значении нули (0), то октеты в IP-адресе также становятся нулями. Таким образом, в значении адреса подсети получаем .

    Подсеть и хост

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

    Хост - это адрес сетевого интерфейса (сетевой карты). Определяется из IP-адреса с помощью маски. Например: . Так как первые три октета - подсеть, то остается . Это и есть номер хоста.

    Диапазон адресов хоста - от 0 до 255. Хост под номером «0» является, собственно, адресом самой подсети. А хост под номером «255» является широковещательным.

    Адресация

    Для адресации в стеке протоколов TCP/IP используются три типа адресов:

    1. Локальные.
    2. Сетевые.
    3. Доменные имена.

    Локальными называются MAC-адреса. Они используются для адресации в таких технологиях локальной сети как, например, Ethernet. В контексте TCP/IP слово «локальные» означает, что они действуют лишь в пределах подсети.

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

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

    Домен первого уровня представляет конкретную информацию. Общие (.org, .net) не ограничены какими-либо строгими границами. Обратная ситуация - с локальными (.us, .ru). Они, как правило, привязаны территориально.

    Домены низших уровней - это все остальное. Он может быть любого размера и содержать любое количество значений.

    Например, "www.test.quiz.sg" - корректное доменное имя, где «sg» - локальный домен первого (верхнего) уровня, «quiz.sg» - домен второго уровня, «test.quiz.sg» - домен третьего уровня. Доменные имена также могут называться DNS-именами.

    Устанавливает соответствие между доменными именами и публичным IP-адресом. При наборе доменного имени в строке браузера DNS обнаружит соответствующий IP-адрес и сообщит устройству. Устройство обработает этот и вернет его в виде веб-страницы.

    Канальный уровень

    На канальном уровне определяется взаимосвязь между устройством и физической средой передачи, добавляется заголовок. Отвечает за кодировку данных и подготовку фреймов для передачи по физической среде. На этом уровне работают сетевые коммутаторы.

    Самые распространенные протоколы:

    1. Ethernet.
    2. WLAN.

    Ethernet - наиболее распространенная технология проводных локальных сетей.

    WLAN - локальная сеть на основе беспроводных технологий. Взаимодействие устройств происходит без физических кабельных соединений. Пример самого распространенного метода - Wi-Fi.

    Настройка TCP/IP для использования статического IPv4-адреса

    Статический IPv4-адрес назначается напрямую в настройках устройства или автоматически при подключении к сети и является постоянным.

    Для настройки стека протоколов TCP/IP на использование постоянного IPv4-адреса необходимо ввести в консоль команду ipconfig/all и найти следующие данные.

    Настройка TCP/IP для использования динамического IPv4-адреса

    Динамический IPv4-адрес используется какое-то время, сдается в аренду, после чего меняется. Присваивается устройству автоматически при подключении к сети.

    Чтобы настроить стек протоколов TCP/IP на использование непостоянного IP-адреса необходимо зайти в свойства нужного соединения, открыть свойства IPv4 и поставить отметки так, как указано.

    Способы передачи данных

    Данные передаются через физическую среду тремя способами:

    • Simplex.
    • Half-duplex.
    • Full Duplex.

    Simplex - это односторонняя связь. Передача ведется только одним устройством, в то время как другое только принимает сигнал. Можно сказать, что информация транслируется только в одном направлении.

    Примеры симплексной связи:

    • Телевещание.
    • Сигнал от спутников GPS.

    Half-duplex - это двусторонняя связь. Однако только один узел может передавать сигнал в определенный момент времени. При такой связи два устройства не могут одновременно использовать один канал. Полноценная может быть невозможна физически или приводить к коллизиям. Говорится, что они конфликтуют за среду передачи. Этот режим применяется при использовании коаксиального кабеля.

    Пример полудуплексной связи - общение по рации на одной частоте.

    Full Duplex - полноценная двусторонняя связь. Устройства могут одновременно транслировать сигнал и производить прием. Они не конфликтуют за среду передачи. Этот режим применяется при использовании технологии Fast Ethernet и соединении с помощью витой пары.

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

    TCP/IP vs OSI

    Модель OSI определяет принципы передачи данных. Уровни стека протоколов TCP/IP прямо соответствуют этой модели. В отличие от четырехуровневого TCP/IP имеет 7 уровней:

    1. Физический (Physical).
    2. Канальный (Data Link).
    3. Сетевой (Network).
    4. Транспортный (Transport).
    5. Сеансовый (Session).
    6. Представительский (Presentation).
    7. Прикладной (Application).

    В данный момент не стоит сильно углубляться в эту модель, но необходимо хотя бы поверхностное понимание.

    Прикладной уровень в модели TCP/IP соответствует трем верхним уровням OSI. Все они работают с приложениями, поэтому можно отчетливо проследить логику такого объединения. Такая обобщенная структура стека протоколов TCP/IP способствует облегченному пониманию абстракции.

    Транспортный уровень остается без изменений. Выполняет одинаковые функции.

    Сетевой уровень также не изменен. Выполняет ровно те же задачи.

    Канальный уровень в TCP/IP соответствует двум последним уровням OSI. Канальный уровень устанавливает протоколы передачи данных через физическую среду.

    Физический представляет собой собственно физическую связь - электрические сигналы, коннекторы и т.п. В стеке протоколов TCP/IP было решено объединить эти два уровня в один, так как они оба работают с физической средой.