Что должен иметь каждый компьютер чтобы информация по сети доходила до адресата

Обновлено: 07.07.2024

В глобальных сетях для передачи информации применяются следующие виды коммутации:

Большой интерес представляет глобальная информационная сеть Интернет.

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

В настоящее время в Интернете существует достаточно большое количество сервисов, обеспечивающих работу со всем спектром ресурсов. Наиболее известными среди них являются:

Запись адреса электронной почты строится по определенной форме и состоит из двух частей:

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

Имя_сервера жестко связано с выбором пользователем сервера, на котором он разместил свой почтовый ящик.

Условное разделение адресов электронной почты:

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

Кроме того, электронная почта позволяет:

Телеконференция - это форум, где проводятся дискуссии по отдельной теме.

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

Три типа телеконференций

Всё обеспечение сети разделяют на два вида:
1.Аппаратное – оборудование, которое обеспечивает существование и функционирование сети
2.Программное – программы необходимые для работы в сети

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

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

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

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

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

Модем (модулятор/демодулятор) — устройство для преобразования физической формы представления информации из компьютерного стандарта в стандарт телефонной связи и обратно.

До развития интернета самыми популярными были модемы для коммутируемых телефонных линий или как их ещё называли dial-up модемы, которые издавали шипяще-звинящие звуки в момент подключения к сети и обеспечивали скорость передачи до 8 килобит в секунду.

На скорость работы таких модемов влияла их скорость, измеряющаяся в бодах.

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

Иногда ошибочно считают, что бод — это количество бит, переданное в секунду. Но это верно лишь для двоичного кодирования. Например, в современных модемах используется квадратурная амплитудная манипуляция, и одним изменением уровня сигнала может кодироваться несколько (до 16) бит информации.
Например, при символьной скорости 2400 бод скорость передачи может составлять 9600 бит/c благодаря тому, что в каждом временном интервале передаётся 4 бита.

Кроме этого, бодами выражают полную ёмкость канала, включая служебные символы (биты), если они есть. Эффективная же скорость канала выражается другими единицами, например битами в секунду (бит/c, bps).

В высокоскоростных модемах один символ несёт несколько битов. Например, модемы V.22bis и V.32 передают 4 бита на 1 символ, V.32bis – 6 битов, а V.34 – 9.

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

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

Сетевая карта (сетевая плата или Ethernet-адаптер или NIC – network interface card) – периферийное устройство, позволяющее компьютеру взаимодействовать с другими устройствами сети.

Существует 4 основных вида линий (каналов) связи:
1. Телефонные линии
2. Электрическая кабельная сеть
3. Оптоволоконная кабельная сеть
4. Радиосвязь (радиорелейные линии, спутники)
Все эти каналы связи различаются по пропускной способности, помехоустойчивости, стоимости.
Самый дешёвые – телефонные, т.к. их уже протянули и они используются и для обычных телефонов, самые дорогие – оптоволоконные.
Помехоустойчивые – оптоволоконные, неустойчивые – радиосвязь.
Пропускная способность — это максимальная скорость передачи информации по каналу. Измеряется в Кбит/с или Мбит/с.
Примерная оценка пропускной способности телефонных линий около 50Мбит/с, у оптоволоконных и радиосвязи до 1Гбит/с.

Основным ПО для функционирования сетей являются сетевые операционные системы на серверах: Windows Server, FreeBSD, различные версии Linux и другие.

ПО делится на два вида:
Базовое — обеспечивает поддержку работы сети по протоколу TCP/IP.
Прикладное — обеспечивает работу служб интернета — WWW, почта и другие.

Основная технология работы сети – клиент-сервер – программа-клиент на компьютере абонента сети формирует запросы, а сервер обрабатывает эти запросы.

Интернет — это всемирная система компьютерных сетей, объединённых на базе общего протокола TCP/IP, также её именуют WWW – World Wide Web – всемирная паутина или всемирная информационная сеть.

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

Гиперссылка (гипертекст) — это слово или участок текста, который выделен каким-либо цветом и щелчок по которому позволит перейти на другую веб-страницу или веб-сайт.

Гиперссылка, связанная с другой страницей образует гиперсвязь. Если гиперсвязь осуществляется между мультимедиа документами, то она образует систему — гипермедиа.

Веб-страницы хранятся на веб-сервере, а если страницы находятся в одном домене, то все вместе они составляют веб-сайт.

Для просмотра веб-документов в сети Интернет необходима клиент-программа — браузер.

Практически все услуги Internet построены на принципе клиент-сервер. Вся информация в Интернет хранится на серверах. Обмен информацией между серверами сети осуществляется по высокоскоростным каналам связи или магистралям.

К таким магистралям относятся: выделенные телефонные аналоговые и цифровые линии, оптические каналы связи и радиоканалы, в том числе спутниковые линии связи. Серверы, объединенные высокоскоростными магистралями, составляют базовую часть Интернет.

Отдельные пользователи подключаются к сети через компьютеры местных поставщиков услуг Интернета, Internet - провайдеров (Internet Service Provider - ISP), которые имеют постоянное подключение к Интернет. Региональный провайдер, подключается к более крупному провайдеру национального масштаба, имеющего узлы в различных городах страны.

Сети национальных провайдеров объединяются в сети транснациональных провайдеров или провайдеров первого уровня. Объединенные сети провайдеров первого уровня составляют глобальную сеть Internet.

Услуги, которые могут быть предоставлены пользователям в Интернет:

  • электронная почта E-mail;
  • компьютерная телефония;
  • передача файлов FTP;
  • терминальный доступ для интерактивной работы на удаленном компьютере TELNET;
  • глобальная система телеконференций USENET;
  • справочные службы;
  • доступ к информационным ресурсам и средства поиска информации в Интернете.

Кроме того, Интернет - это мощное средство ведения электронного бизнеса и дистанционного (интерактивного или он-лайн) обучения.

Руководство по стеку протоколов TCP/IP для начинающих

Cтек протоколов TCP/IP широко распространен. Он используется в качестве основы для глобальной сети интернет. Разбираемся в основных понятиях и принципах работы стека.

Основы TCP/IP

Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол интернета) — сетевая модель, описывающая процесс передачи цифровых данных. Она названа по двум главным протоколам, по этой модели построена глобальная сеть — интернет. Сейчас это кажется невероятным, но в 1970-х информация не могла быть передана из одной сети в другую, с целью обеспечить такую возможность был разработан стек интернет-протоколов также известный как TCP/IP.

Разработкой этих протоколов занималось Министерство обороны США, поэтому иногда модель TCP/IP называют DoD (Department of Defence) модель. Если вы знакомы с моделью OSI, то вам будет проще понять построение модели TCP/IP, потому что обе модели имеют деление на уровни, внутри которых действуют определенные протоколы и выполняются собственные функции. Мы разделили статью на смысловые части, чтобы было проще понять, как устроена модель TCP/IP:


Уровневая модель TCP/IP

Три верхних уровня — прикладной, транспортный и сетевой — присутствуют как в RFC, так и у Таненбаума и других авторов. А вот стоит ли говорить только о канальном или о канальном и физическом уровнях — нет единого мнения. В RFC они объединены, поскольку выполняют одну функцию. В статье мы придерживаемся официального интернет-стандарта RFC и не выделяем физический уровень в отдельный. Далее мы рассмотрим четыре уровня модели.

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

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

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

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

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

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

Маска подсети и IP-адреса


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

Протокол интернета — IP (Internet Protocol) используется маршрутизатором, чтобы определить, к какой подсети принадлежит получатель. Свой уникальный IP-адрес есть у каждого сетевого устройства, при этом в глобальной сети не может существовать два устройства с одинаковым IP. Он имеет два подвида, первым был принят IPv4 (IP version 4, версии 4) в 1983 году.

IPv4 предусматривает назначение каждому устройству 32-битного IP-адреса, что ограничивало максимально возможное число уникальных адресов 4 миллиардами (2 32 ). В более привычном для человека десятичном виде IPv4 выглядит как четыре блока (октета) чисел от 0 до 255, разделенных тремя точками. Первый октет IP-адреса означает его класс, классов всего 4: A, B, C, D.

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

Так как IPv6 адреса длинные, их разрешается сокращать по следующим правилам: ведущие нули допускается опускать, например в адресе выше :00FF: позволяется записывать как :FF:, группы нулей, идущие подряд тоже допустимо сокращать и заменять на двойное двоеточие, например, 2DAB:FFFF::01AA:00FF:DD72:2C4A. Допускается делать не больше одного подобного сокращения в адресе IPv6.

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

ICMP и IGMP


ICMP никогда не вызывается сетевыми приложениями пользователя, кроме случаев диагностики сети, к примеру, пинг (ping) или traceroute (tracert). ICMP не передает данные, это отличает его от транспортных TCP и UDP, расположенных на L3, которые переносят любые данные. ICMP работает только с IP четвертой версии, с IPv6 взаимодействует ICMPv6.

Сетевые устройства объединяются в группы при помощи IGMP, используемый хостами и роутерами в IPv4 сетях. IGMP организует multicast-передачу информации, что позволяет сетям направлять информацию только хостам, запросившим ее. Это удобно для онлайн-игр или потоковой передаче мультимедиа. IGMP используется только в IPv4 сетях, в сетях IPv6 используется MLD (Multicast Listener Discovery, протокол поиска групповых слушателей), инкапсулированный в ICMPv6.

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

Постоянные резиденты транспортного уровня — протоколы TCP и UDP, они занимаются доставкой информации.

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

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

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

Протоколы L3 не интерпретируют информацию, полученную с верхнего или нижних уровней, они служат только как канал передачи, но есть исключения. RSVP (Resource Reservation Protocol, протокол резервирования сетевых ресурсов) может использоваться, например, роутерами или сетевыми экранами в целях анализа трафика и принятия решений о его передаче или отклонении в зависимости от содержимого.

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

В модели TCP/IP отсутствуют дополнительные промежуточные уровни (представления и сеансовый) в отличие от OSI. Функции форматирования и представления данных делегированы библиотекам и программным интерфейсам приложений (API) — своего рода базам знаний. Когда службы или приложения обращаются к библиотеке или API, те в ответ предоставляют набор действий, необходимых для выполнения задачи и полную инструкцию, каким образом эти действия нужно выполнять.

Зачем нужен порт и что означает термин сокет

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

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

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


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

Стек протоколов, снова канальный уровень

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

Большинству пользователей знаком протокол Ethernet. В сети, по стандарту Ethernet, устройства отправителя и адресата имеют определенный MAC-адрес — идентификатор «железа». MAC-адрес инкапсулируется в Ethernet вместе с типом передаваемых данных и самими данными. Фрагмент данных, составленных в соответствии с Ethernet называется фреймом или кадром (frame).

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

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

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

Point-to-Point протоколы


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

У PPP есть два подвида — PPPoE (PPP по Ethernet) и PPPoA (PPP через асинхронный способ передачи данных — ATM), интернет-провайдеры часто их используют для DSL соединений.

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

Заключение

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

Сама модель остается неизменной, в то время как стандарты протоколов могут обновляться, что еще дальше упрощает работу с TCP/IP. Благодаря всем преимуществам стек TCP/IP получил широкое распространение и использовался сначала в качестве основы для создания глобальной сети, а после для описания работы интернета.

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

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

50-е годы: мейнфреймы

50-е годы: мейнфреймы

Начало 60-х годов: многотерминальные системы

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

Начало 60-х годов: многотерминальные системы

70-е годы: первые компьютерные сети

Arpanet

Середина 70-х годов: большие интегральные схемы

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

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

В период с 80-х до начала 90-х годов появились и прочно вошли в нашу жизнь:

Общие принципы построения сетей

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

  1. Периферийных устройств: принтеры, сканеры и т. д.
  2. Данных хранящихся в оперативной памяти устройств.
  3. Вычислительных мощностей.

Достичь эту цель помогали сетевые интерфейсы. Сетевые интерфейсы это определенная логическая и/или физическая граница между взаимодействующими независимыми объектами.

Сетевые интерфейсы разделяются на:

  • Физические интерфейсы (порты).
  • Логические интерфейсы (протоколы).

Из определения обычно ничего не ясно. Порт и порт, а что порт?

Начнем с того что порт это цифра. Например 21, 25, 80.

Протокол

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

Пара клиент—сервер

Начнем с определений.

При этом программа может быть установлена на Клиенте, а база данных программы на Сервере.

Топология физических сетей

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

  • Полносвязная (а).
  • Ячеистая (б).
  • Кольцо (в).
  • Звезда (г).
  • Дерево (д).
  • Шина (е).

Топология сетей

Адресация узлов сети

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

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

Коммутация

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

Коммутация

Обобщенные задачи коммутации

  1. Определение информационных потоков, для которых требуется прокладывать маршруты.
  2. Маршрутизация потоков.
  3. Продвижение потоков, то есть распознавание потоков и их локальная коммутация на каждом транзитном узле.
  4. Мультиплексирование и демультиплексирование потоков.

Уровни сетевой модели OSI и уровни TCP/IP

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

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

Уровни сетевой модели OSI

Протоколы, реализующие модель OSI никогда не применялись на практике, но имена и номера уровней используются по сей день.

  1. Физический.
  2. Канальный.
  3. Сетевой.
  4. Транспортный.
  5. Сеансовый.
  6. Представления.
  7. Прикладной.

Для лучшего понимания приведу пример. Вы открываете страницу сайта в интернете. Что происходит?

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

  1. Сетевые протоколы (IPv4 и IPv6).
  2. Протоколы маршрутизации и построения маршрутов.

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

Прикладной уровень. Осуществляет взаимодействие приложения (например браузера) с сетью.

Уровни TCP/IP

Набор протоколов TSP/IP основан на собственной модели, которая базируется на модели OSI.

  • Прикладной, представления, сеансовый = Прикладной.
  • Транспортный = Транспортный.
  • Сетевой = Интернет.
  • Канальный, физический = Сетевой интерфейс.

Соответствие TCP/IP - OSI

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

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

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

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

Например, интерфейсы первого уровня это Ethernet, Token Ring, Point-to-Point Protocol (PPP) и Fiber Distributed Data Interface (FDDI).

Немного о Ethernet на примере кадра web-страницы

Пакеты Ethernet называют кадрами. Первая строка кадра состоит из слова Frame. Эта строка содержит общую информацию о кадре.

Пример кадра

В полном заголовке Ethernet есть такие значения как DestinationAddress и SourceAddress которые содержат MAC-адреса сетевых интерфейсов.

Поле EthernetType указывает на следующий протокол более высокого уровня в кадре (IPv4).

Коммутаторы считывают адреса устройств локальной сети и ограничивают распространение сетевого трафика только этими адресами. Поэтому коммутаторы работают на уровне 2.

Уровень Интернета

Уровень интернета называют сетевым уровнем или уровнем 3. Он описывает схему адресации которая позволяет взаимодействовать устройствам в разных сетевых сегментах.

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

Стек TCP/IP реализован корпорацией Microsoft ну уровне интернета (3). Изначально на этом уровне использовался только один протокол IPv4, позже появился протокол IPv6.

Протокол версии 4 отвечает за адресацию и маршрутизацию пакетов между узлами в десятках сегментах сети. IPv4 использует 32 разрядные адреса. 32 разрядные адреса имеют довольно ограниченное пространство, в связи с этим возникает дефицит адресов.

Протокол версии 6 использует 128 разрядные адреса. Поэтому он может определить намного больше адресов. В интернете не все маршрутизаторы поддерживают IPv6. Для поддержки IPv6 в интернете используются туннельные протоколы.

В Windows по умолчанию включены обе версии протоколов.

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

Транспортный уровень модели TCP/IP представляет метод отправки и получения данных устройствами. Так же он создает отметку о предназначении данных для определенного приложения. В TCP/IP входят два протокола транспортного уровня:

  1. Протокол TCP. Протокол принимает данные у приложения и обрабатывает их как поток байт.Байты группируются, нумеруются и доставляются на сетевой хост. Получатель подтверждает получение этих данных. Если подтверждение не получено, то отправитель отправляет данные заново.
  2. Протокол UDP.Этот протокол не предусматривает гарантию и подтверждение доставки данных. Если вам необходимо надежное подключение, то стоит использовать протокол TCP.

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

Анатолий Бузов

Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.

Для передачи данных по сети используется ряд протоколов. Наиболее известные из них входят в состав стека TCP/IP. Протоколы принято делить на «уровни», в зависимости от характера выполняемых ими задач.

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

Существует модель OSI (Open System Interface или модель открытых систем), содержащая 7 уровней протоколов:

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

Модель OSI: схема

Модель OSI является семиуровневой. Однако, зачастую, на практике используются не все семь уровней, а меньше. Например, как правило, протоколы сеансового и представительского уровня, в силу небольшого объема выполняемых задач, объединяются с транспортным или прикладным уровнями. Поэтому, фактически, на практике используется 3…5 уровней протоколов.

Что часто интересует программиста, занимающегося сетевыми технологиями?

Надо сказать, что сетевые технологии в настоящее время, на самом деле, уже давно разделились, как минимум, на три отдельных, не особенно сильно пересекающихся, очень условных области:

Как правило (но, не всегда), специалисты, работающие в одной из трех областей, мало пересекаются друг с другом. Чему способствует, конечно, и широкое распространение в настоящее время различных прикладных библиотек. Поэтому, скажем, в 95% случаев Web-разработчики избавлены от «низкоуровневых раздумий» о том, какие детали, как работают транспортные, сетевые протоколы. И в этом плане им совершенно неинтересны языки С/С++, не говоря уже об Ассемблере. Тогда как разработчики физических сетевых устройств (сетевых карт, роутеров, модемов), а также программного обеспечения (драйверов) к ним, как правило, не беспокоятся о том, по каким высокоуровневым протоколам будет происходить соединение этих устройств друг с другом. Как раз для них актуален Ассемблер, отчасти С и некоторые другие низкоуровневые языки.

Разработчики «среднего уровня» - это те, кого интересуют программные среды, в которых будут функционировать и использоваться web-страницы. К ним относятся, в частности, браузеры и серверы. Речь идет, например, о таких серверах, как Apache, Ngnix и др. Что касается, браузеров, их перечень, видимо, не нуждается в разъяснении. Кроме того, на этом же уровне осуществляется настройка, физическое конфигурирование сетей (хотя, все то, что связано с администрированием сетей, как правило, не относится к области программирования).

Такое вот разделение обязанностей обусловлено тем, что работа осуществляется на соответствующих уровнях протоколов, где применяются свои методы, технологии и языки программирования. Существует, конечно, узкая «прослойка» программистов – мастеров на все руки, которые способны создавать программные коды и на Ассемблере (могут выполнить или подредактировать драйвер сетевого модема), а также вполне способны создать современный сайт (или иное клиент-серверное приложение). Но, таких широких специалистов, плюс к тому, детально разбирающихся во всех этих вопросах, на сегодняшний день не так уж и много. Ибо каждый для себя выбирает ту или иную нишу и уже работает там. Здесь в статье мы попробуем сделать обзор преемственности сетевых технологий, начиная с «самого малого».

Физический уровень

Так как этот уровень имеет дело с электрическими сигналами в виде битов, соответственно, их источником и адресатом являются соответствующие физические сетевые устройства (например, модемы и/или сетевые карты). Эти физические устройства могут быть связаны друг с другом посредством той или иной среды передачи – USB-кабель, оптоволокно, радиоканал и т.п. На физическом уровне вообще не идет речи об IP-адресах, доменах, URL и т.п. Эти абстракции появляются на более высоких уровнях модели OSI.

Здесь играет роль правильность составления кадра из битов, для чего используются различные способы низкоуровневого или физического кодирования: манчестерский код, дифференциальное, потенциальное кодирование, NRZ, БВН и многие другие способы. Физическое кодирование осуществляется в рамках соответствующих стандартов, например, IEEE 802.3 .

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

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

1101100001 0 011

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

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

На этом уровне происходит контроль правильности составления кадров (фреймов). Типичный размер фрейма – 1 кБ. При разработке стеков протоколов на канальном уровне осуществляется помехоустойчивое кодирование. К таким способам кодирования относится код Хемминга, блочное кодирование, код Рида-Соломона. В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой. Это не новый уровень, а просто реализация модели для конкретной операционной системы. Здесь, как и на физическом уровне, также пока нет ни байтов, ни файлов, ни т.п.

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

Взаимодействие на канальном уровне осуществляется, также как и на физическом, естественно, между физическими устройствами. Однако, для адресации используются так называемые МАС-адреса (аппаратные адреса). Они имеют следующий примерный вид (в шестнадцатеричном представлении):

Каждый компьютер в сети интернет имеет СВОЙ уникальный аппаратный адрес. МАС-адрес источника и адресата входят в состав кадра, формирующегося на канальном уровне. Отметим, что и здесь никаких IP-адресов, доменных имен и др. нет в помине. Речь идет просто о передаче битовых кадров от сетевого устройства с одним МАС-адресом другому устройству (с другим MAC-адресом). Именно так работает современный интернет в подавляющем большинстве случаев.

Следует иметь в виду, что сервер (компьютер-адресат), получая пакеты от клиента (например, от браузера), естественно, получает и МАС-адрес компьютера, на котором запущен. браузер. Так же, как и его IP-адрес. И если IP-адрес несложно подменить, например, путем соединения с сервером-адресатом через прокси-сервер, то подмена МАС-адреса представляет собой куда более сложное занятие. Ранние версии операционных систем Linux, как правило, позволяли делать такую подмену на пользовательском уровне. Тогда как современные версии это запрещают (надеемся, понятно, почему). Впрочем, конечно, никто никому не мешает заново собрать и перекомпилировать ядро операционной системы, в котором уже предусмотреть такую замену. Однако, сделать это способен далеко не каждый программист. Или же можно использовать такой прокси-сервер, который будет парсить заголовки протоколов канального уровня и записывать в них какой-нибудь другой МАС-адрес.

Поэтому КАЖДЫЙ, кто выходит в интернет со своего компьютера, на котором установлена стандартная операционная система, типа Windows, Linux, MacOS, Android и т.п., неважно, через прокси-сервер или напрямую, должен ясно понимать, что МАС-адрес его компьютера может быть известен серверу-адресату . Если только, повторимся, он не использует такой прокси-сервер, который способен сделать подмену МАС-адреса. В общем же случае ЛЮБОЙ сервер способен точно идентифицировать пользователя - именно по его MAC-адресу. Кстати, этот аргумент когда-нибудь вполне сможет использовать Раскомнадзор, если ему будет дана команда - заблокировать интернет. Тут же в СМИ возникнут статьи на тему: "А Вы знаете, что любой сервер знает о ВАС ВСЁ?". Вот, мол, Раскомнадзор стал настолько заботлив о пользователях интернета, что решил защитить их от него. Причем, отметим, что Яндекс- и Google-метрики - это сущий пустяк по сравнению с этим. Ни Google, ни Яндекс не собирают информацию о МАС-адресах посетителей сайтов. Ну, по крайней мере, с их слов.

Аналогию можно привести в отношении сотовых телефонов. Ведь любой сотовый телефон представляет собой устройство, подключенное к внешней сети (через ближайшую вышку сотовой связи). КАЖДЫЙ сотовый телефон имеет уникальный МАС-адрес, как и компьютер, ноутбук и т.д. Поэтому ЛЮБОЙ сотовый оператор способен в течение нескольких секунд идентифицировать, с какого именно телефона производится звонок (вызов) на конкретную вышку. А телефонный номер здесь, по идее, и не столь важен, сим-карта может быть вообще любая, это не имеет значения. Может возникнуть вопрос: почему же тогда так называемые "правоохранительные" органы зачастую утверждают, что, якобы, "не могут найти" краденые сотовые телефоны? Ответ: потому, что не хотят или не имеют полномочий. Впрочем, может и хотят, и имеют полномочия, но кто-то вышестоящий запрещает им это делать. Другое дело, что ряд сотовых телефонов можно перепрошить, т.е. подменить в них МАС-адрес. Но, разве те, кто воруют телефоны, а также те, кто покупает краденые телефоны - это всегда делают? Как правило, нет. Ибо и те, и другие прекрасно осведомлены о том, что ни с какими такими МАС-адресами никто дела иметь не будет. Ну, за исключением особо важных случаев, конечно (точнее, "особо важных персон"). Там-то, да, будут смотреть не только МАС-адреса, а и многое другое.
Сетевой уровень

На этом уровне протоколов появляется такая сетевая абстракция, как IP-адрес узла сети. Придумана она исключительно для того, чтобы компьютерам (точнее, пользователям компьютеров) проще было взаимодействовать друг с другом. Чтобы на основе IP-адресов можно было выделять классы сетей, осуществлять защиту от доступа и т.п. Хотя, повторимся, все это вполне можно было бы осуществить, используя исключительно МАС-адреса, не пользуясь технологией IP-адресов.

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

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

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

Впрочем, стоит отметить, что, на самом-то деле (на низком уровне), адресация все равно происходит при помощи МАС-адресов сетевых узлов и ТОЛЬКО при помощи них. Но, в силу удобства для пользователей компьютеров, да и разработчиков сетевых приложений, этими низкоуровневыми деталями пользоваться необязательно; проще, удобнее и нагляднее использовать порты (сокетов) и IP-адреса. Существуют немало решений, в которых используются не порты, а другие, на первый взгляд, технологии (например, службы RPC, PAP и др.). Однако, опять-таки, на «низком» уровне все сводится к портам и сокетам, которые открыты по этим портам. А на еще более низком уровне происходит преобразование IP-адреса и порта – в МАС-адрес.

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

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

В общем, дело обстоит следующим образом:

Клиент (например, браузер) начинает открывать страницу, URL которой введен, к примеру, в его адресной строке. Для начала, браузер будет делать запрос в сеть на предмет того – какому IP-адресу соответствует сервер с доменными именем, содержащимся в открываемом URL. Далее, делается запрос (см. выше) о том, каков МАС-адрес узла сети, соответствующий этому IP-адресу. И только после этого, когда браузер получает в свое распоряжение MAC-адрес искомого узла, он и может выполнить запрос к нему.

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

Типичная схема передачи сетевого запроса

Как видно, на каждом из уровней протоколов существует «свое» средство адресации. Соответственно, и данные оформляются по-разному.

Инкапсуляция протоколов

Кадр протокола канального уровня

Флаги нужны для распознавания кадра, адреса точек входа содержат, соответственно, МАС-адреса интерфейсов источника (клиента) и назначения (сервера). А в поле «Данные» и содержится, в том числе, и полезная информация, которая передается в сеть – например, страница веб-сайта. В каком же виде она там присутствует?

В связи с этим предлагаем взглянуть на схему инкапсуляции протоколов:

или, отображая в виде рисунка:

Схема инкапсуляции сетевых протоколов (предварительно)

Для большей полноты изображения, покажем место IPv4-протокола в кадре канального протокола:

Схема инкапсуляции сетевых протоколов (полностью)

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

Читайте также: