какие уровни osi iso отсутствуют в tcp ip
📑 Модели OSI и TCP/IP
В 1982 году Международной организацией по стандартизации (International Organization for Standardization, ISO) при поддержке ITU-T был начат новый проект в области сетевых технологий, который был назван Open System Intercommunication (OSI). Эта модель является первым шагом к международной стандартизации протоколов, используемых на различных уровнях (Day и Zimmerman, 1983). Затем она была пересмотрена в 1995 году (Day, 1995). Открытым называется взаимодействие, которое может поддерживаться в неоднородных средах, содержащих системы разных поставщиков. Модель OSI устанавливает глобальный стандарт, определяющий состав функциональных уровней при открытом взаимодействии между компьютерами.
У моделей OSI и TCP имеется много общих черт. Обе модели основаны на концепции стека независимых протоколов. Функциональность уровней также во многом схожа. Например, в каждой модели уровни, начиная с транспортного и выше, предоставляют сквозную, не зависящую от сети транспортную службу для процессов, желающих обмениваться информацией. Эти уровни образуют поставщика транспорта. Также в каждой модели уровни выше транспортного являются прикладными потребителями транспортной службы.
Прикладной уровень
Обеспечивает преобразование данных, специфичных для каждого приложения. Отвечает за доступ приложений в сеть.
Протоколы
HTTP, gopher, Telnet, DNS, SMTP, SNMP, CMIP, FTP, TFTP, SSH, IRC, AIM, NFS, NNTP, NTP, SNTP, XMPP, FTAM, APPC, X.400, X.500, AFP, LDAP, SIP, ITMS, ModbusTCP, BACnetIP, IMAP, POP3, SMB, MFTP, BitTorrent, eD2k, PROFIBUS
Уровень представления
Осуществляет преобразование данных общего характера (кодирование, компрессия и т.п.) прикладного уровня в поток информации для транспортного уровня. Отвечает за возможность диалога между приложениями на разных машинах.
Протоколы
HTTP, ASN.1, XML-RPC, TDI, XDR, SNMP, FTP, Telnet, SMTP, NCP, AFP
Сеансовый уровень
Добавляет транспортной функции удобства обращения, управляет диалогом на протяжении установленной сессии связи. Отвечает за организацию сеансов обмена данными между оконечными машинами.
Протоколы
ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS
Транспортный уровень
Выполняет свободную от ошибок, ориентированную на работу с сообщениями сквозную передачу. Делит потоки информации на достаточно малые фрагменты (пакеты) для передачи их на сетевой уровень.
Протоколы
TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, TFTP
Сетевой уровень
Обеспечивает маршрутизацию, и управление загрузкой канала передачи, предоставляет необработанный маршрут передачи, состоящий лишь из конечных точек. Отвечает за деление пользователей на группы. На этом уровне происходит маршрутизация пакетов на основе преобразования MAC-адресов в сетевые адреса. Сетевой уровень обеспечивает также прозрачную передачу пакетов на транспортный уровень.
Протоколы
IP, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, RARP, DHCP, BootP, SKIP, RIP
Канальный уровень
Осуществляет свободную от ошибок передачу по отдельному каналу связи. Обеспечивает создание, передачу и прием кадров данных. Этот уровень обслуживает запросы сетевого уровня и использует сервис физического уровня для приема и передачи пакетов. Спецификации IEEE 802.x делят канальный уровень на два подуровня: управление логическим каналом (LLC) и управление доступом к среде (MAC). LLC обеспечивает обслуживание сетевого уровня, а подуровень MAC регулирует доступ к разделяемой физической среде.
Протоколы
ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token ring, StarLan, WiFi, L2F, L2TP, PPTP, PPP, PPPoE, PROFIBUS,STP
Физический уровнь
Выполняет реальную физическую передачу бит данных. Получает пакеты данных от вышележащего канального уровня и преобразует их в оптические или электрические сигналы, соответствующие 0 и 1 бинарного потока. Эти сигналы посылаются через среду передачи на приемный узел. Механические и электрические/оптические свойства среды передачи определяются на физическом уровне и включают:
Протоколы
RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, xDSL, ISDN, T-carrier (T1, E1), модификации стандарта Ethernet: 10BASE-T, 10BASE2, 10BASE5, 100BASE-T (включает 100BASE-TX, 100BASE-T4, 100BASE-FX), 1000BASE-T, 1000BASE-TX, 1000BASE-SX
Cтек TCP/IP
Модель TCP/IP называют также моделью DARPA (сокращение от Defense Advanced Research Projects Agency, организация, в которой в свое время разрабатывались сетевые проекты, в том числе протокол TCP/IP, и которая стояла у истоков сети Интернет) или моделью Министерства обороны CША (модель DoD, Department of Defense, проект DARPA работал по заказу этого ведомства).
Модель TCP/IP разрабатывалась для описания стека протоколов TCP/IP (Transmission Control Protocol/Internet Protocol). Она была разработана значительно раньше, чем модель OSI — в 1970 г. был разработан необходимый набор стандартов, а к 1978 году окончательно оформилось то, что сегодня мы называем TCP/IP. Позже стек адаптировали для использования в локальных сетях. В начале 1980 г. протокол стал составной частью ОС UNIX. В том же году появилась объединенная сеть Internet..
Стек протоколов TCP/IP — набор сетевых протоколов, на которых базируется интернет. Обычно в стеке TCP/IP верхние 3 уровня (прикладной, представительный и сеансовый) модели OSI объединяют в один — прикладной. Поскольку в таком стеке не предусматривается унифицированный протокол передачи данных, функции по определению типа данных передаются приложению.
В отличие от эталонной модели OSI, модель ТСР/IP в большей степени ориентируется на обеспечение сетевых взаимодействий, нежели на жесткое разделение функциональных уровней. Для этой цели она признает важность иерархической структуры функций, но предоставляет проектировщикам протоколов достаточную гибкость в реализации. Соответственно, эталонная модель OSI гораздо лучше подходит для объяснения механики межкомпьютерных взаимодействий, но протокол TCP/IP стал основным межсетевым протоколом.
1.1. Уровни модели OSI
В результате следования этим правилам возникли следующие уровни модели:
· Прикладной уровень. Обеспечивает преобразование данных, специфичных для каждого приложения
· Уровень представления. Осуществляет преобразование данных общего характера.
· Сеансовый уровень. Добавляет транспортной функции удобства обращения, управляет диалогом на протяжении установленной сессии связи.
· Транспортный уровень. Выполняет свободную от ошибок, ориентированную на работу с сообщениями сквозную передачу.
· Сетевой уровень. Обеспечивает маршрутизацию, и управление загрузкой канала передачи, предоставляет «необработанный» маршрут передачи, состоящий лишь из конечных точек.
· Канальный уровень. Осуществляет свободную от ошибок передачу по отдельному каналу связи.
· Физический уровень. Выполняет реальную физическую передачу бит данных.
2.1. Стек OSI
Стек OSI в отличие от других стандартных стеков полностью соответствует модели взаимодействия OSI, он включает спецификации для всех семи уровней модели взаимодействия открытых систем
ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS
TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, STP, TFTP
IP, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, RARP, DHCP, BootP, SKIP, RIP
Канальный ( Звена данных )
ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token ring, StarLan, WiFi, L2F, L2TP, PPTP, PPP, PPPoE, PROFIBUS
RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, xDSL, ISDN, T-carrier (T1, E1), модификации стандарта Ethernet: 10BASE-T, 10BASE2, 10BASE5, 100BASE-T ( включает 100BASE-TX, 100BASE-T4, 100BASE-FX), 1000BASE-T, 1000BASE-TX, 1000BASE-SX
Сервисы прикладного уровня включают передачу файлов, эмуляцию терминала, службу каталогов и почту. Из них наиболее перспективными являются служба каталогов (стандарт Х.500), электронная почта (Х.400), протокол виртуального терминала ( VT ), протокол передачи, доступа и управления файлами ( FTAM ), протокол пересылки и управления работами ( JTM ).
Протокол VT решает проблему несовместимости различных протоколов эмуляции терминалов.
Протокол пересылки и управления работами JTM позволяет пользователям пересылать работы, которые должны быть выполнены на хост-компьютере. Язык управления заданиями, который обеспечивает передачу работ, указывает хост-компьютеру, какие действия и с какими программами и файлами должны быть выполнены. Протокол JTM поддерживает традиционную пакетную обработку, обработку транзакций, ввод удаленных заданий и доступ к распределенным базам данных.
Простое пособие по сетевой модели OSI для начинающих
Открытая сетевая модель OSI (Open Systems Interconnection model) состоит из семи уровней. Что это за уровни, как устроена модель и какова ее роль при построении сетей — в статье.
Модель OSI является эталонной. Эталонная она потому, что полное название модели выглядит как «Basic Reference Model Open Systems Interconnection model», где Basic Reference Model означает «эталонная модель». Вначале рассмотрим общую информацию, а потом перейдем к частным аспектам.
Принцип устройства сетевой модели
Сетевая модель OSI имеет семь уровней, иерархически расположенных от большего к меньшему. То есть, самым верхним является седьмой (прикладной), а самым нижним — первый (физический). Модель OSI разрабатывалась еще в 1970-х годах, чтобы описать архитектуру и принципы работы сетей передачи данных. Важно помнить, что данные передаются не только по сети интернет, но и в локальных сетях с помощью проводных или беспроводных соединений.
В процессе передачи данных всегда участвуют устройство-отправитель, устройство-получатель, а также сами данные, которые должны быть переданы и получены. С точки зрения рядового пользователя задача элементарна — нужно взять и отправить эти данные. Все, что происходит при отправке и приеме данных, детально описывает семиуровневая модель OSI.
На седьмом уровне информация представляется в виде данных, на первом — в виде бит. Процесс, когда информация отправляется и переходит из данных в биты, называется инкапсуляцией. Обратный процесс, когда информация, полученная в битах на первом уровне, переходит в данные на седьмом, называется декапсуляцией. На каждом из семи уровней информация представляется в виде блоков данных протокола — PDU (Protocol Data Unit).
Рассмотрим на примере: пользователь 1 отправляет картинку, которая обрабатывается на седьмом уровне в виде данных, данные должны пройти все уровни до самого нижнего (первого), где будут представлены как биты. Этот процесс называется инкапсуляцией. Компьютер пользователя 2 принимает биты, которые должны снова стать данными. Этот обратный процесс называется декапсуляция. Что происходит с информацией на каждом из семи уровней, как и где биты переходят в данные мы разберем в этой статье.
Первый, физический уровень (physical layer, L1)
Начнем с самого нижнего уровня. Он отвечает за обмен физическими сигналами между физическими устройствами, «железом». Компьютерное железо не понимает, что такое картинка или что на ней изображено, железу картинка понятна только в виде набора нулей и единиц, то есть бит. В данном случае бит является блоком данных протокола, сокращенно PDU (Protocol Data Unit).
Каждый уровень имеет свои PDU, представляемые в той форме, которая будет понятна на данном уровне и, возможно, на следующем до преобразования. Работа с чистыми данными происходит только на уровнях с пятого по седьмой.
Устройства физического уровня оперируют битами. Они передаются по проводам (например, через оптоволокно) или без проводов (например, через Bluetooth или IRDA, Wi-Fi, GSM, 4G и так далее).
Второй уровень, канальный (data link layer, L2)
Когда два пользователя находятся в одной сети, состоящей только из двух устройств — это идеальный случай. Но что если этих устройств больше?
Второй уровень решает проблему адресации при передаче информации. Канальный уровень получает биты и превращает их в кадры (frame, также «фреймы»). Задача здесь — сформировать кадры с адресом отправителя и получателя, после чего отправить их по сети.
У канального уровня есть два подуровня — это MAC и LLC. MAC (Media Access Control, контроль доступа к среде) отвечает за присвоение физических MAC-адресов, а LLC (Logical Link Control, контроль логической связи) занимается проверкой и исправлением данных, управляет их передачей.
На втором уровне OSI работают коммутаторы, их задача — передать сформированные кадры от одного устройства к другому, используя в качестве адресов только физические MAC-адреса.
Третий уровень, сетевой (network layer, L3)
На третьем уровне появляется новое понятие — маршрутизация. Для этой задачи были созданы устройства третьего уровня — маршрутизаторы (их еще называют роутерами). Маршрутизаторы получают MAC-адрес от коммутаторов с предыдущего уровня и занимаются построением маршрута от одного устройства к другому с учетом всех потенциальных неполадок в сети.
На сетевом уровне активно используется протокол ARP (Address Resolution Protocol — протокол определения адреса). С помощью него 64-битные MAC-адреса преобразуются в 32-битные IP-адреса и наоборот, тем самым обеспечивается инкапсуляция и декапсуляция данных.
Четвертый уровень, транспортный (transport layer, L4)
Все семь уровней модели OSI можно условно разделить на две группы:
Уровни группы Media Layers (L1, L2, L3) занимаются передачей информации (по кабелю или беспроводной сети), используются сетевыми устройствами, такими как коммутаторы, маршрутизаторы и т.п. Уровни группы Host Layers (L4, L5, L6, L7) используются непосредственно на устройствах, будь то стационарные компьютеры или портативные мобильные устройства.
Четвертый уровень — это посредник между Host Layers и Media Layers, относящийся скорее к первым, чем к последним, его главной задачей является транспортировка пакетов. Естественно, при транспортировке возможны потери, но некоторые типы данных более чувствительны к потерям, чем другие. Например, если в тексте потеряются гласные, то будет сложно понять смысл, а если из видеопотока пропадет пара кадров, то это практически никак не скажется на конечном пользователе. Поэтому, при передаче данных, наиболее чувствительных к потерям на транспортном уровне используется протокол TCP, контролирующий целостность доставленной информации.
Для мультимедийных файлов небольшие потери не так важны, гораздо критичнее будет задержка. Для передачи таких данных, наиболее чувствительных к задержкам, используется протокол UDP, позволяющий организовать связь без установки соединения.
При передаче по протоколу TCP, данные делятся на сегменты. Сегмент — это часть пакета. Когда приходит пакет данных, который превышает пропускную способность сети, пакет делится на сегменты допустимого размера. Сегментация пакетов также требуется в ненадежных сетях, когда существует большая вероятность того, что большой пакет будет потерян или отправлен не тому адресату. При передаче данных по протоколу UDP, пакеты данных делятся уже на датаграммы. Датаграмма (datagram) — это тоже часть пакета, но ее нельзя путать с сегментом.
Главное отличие датаграмм в автономности. Каждая датаграмма содержит все необходимые заголовки, чтобы дойти до конечного адресата, поэтому они не зависят от сети, могут доставляться разными маршрутами и в разном порядке. Датаграмма и сегмент — это два PDU транспортного уровня модели OSI. При потере датаграмм или сегментов получаются «битые» куски данных, которые не получится корректно обработать.
Первые четыре уровня — специализация сетевых инженеров, но с последними тремя они не так часто сталкиваются, потому что пятым, шестым и седьмым занимаются разработчики.
Пятый уровень, сеансовый (session layer, L5)
Пятый уровень оперирует чистыми данными; помимо пятого, чистые данные используются также на шестом и седьмом уровне. Сеансовый уровень отвечает за поддержку сеанса или сессии связи. Пятый уровень оказывает услугу следующему: управляет взаимодействием между приложениями, открывает возможности синхронизации задач, завершения сеанса, обмена информации.
Службы сеансового уровня зачастую применяются в средах приложений, требующих удаленного вызова процедур, т.е. чтобы запрашивать выполнение действий на удаленных компьютерах или независимых системах на одном устройстве (при наличии нескольких ОС).
Примером работы пятого уровня может служить видеозвонок по сети. Во время видеосвязи необходимо, чтобы два потока данных (аудио и видео) шли синхронно. Когда к разговору двоих человек прибавится третий — получится уже конференция. Задача пятого уровня — сделать так, чтобы собеседники могли понять, кто сейчас говорит.
Шестой уровень, представления данных (presentation layer, L6)
О задачах уровня представления вновь говорит его название. Шестой уровень занимается тем, что представляет данные (которые все еще являются PDU) в понятном человеку и машине виде. Например, когда одно устройство умеет отображать текст только в кодировке ASCII, а другое только в UTF-8, перевод текста из одной кодировки в другую происходит на шестом уровне.
Шестой уровень также занимается представлением картинок (в JPEG, GIF и т.д.), а также видео-аудио (в MPEG, QuickTime). Помимо перечисленного, шестой уровень занимается шифрованием данных, когда при передаче их необходимо защитить.
Седьмой уровень, прикладной (application layer)
Седьмой уровень иногда еще называют уровень приложений, но чтобы не запутаться можно использовать оригинальное название — application layer. Прикладной уровень — это то, с чем взаимодействуют пользователи, своего рода графический интерфейс всей модели OSI, с другими он взаимодействует по минимуму.
Все услуги, получаемые седьмым уровнем от других, используются для доставки данных до пользователя. Протоколам седьмого уровня не требуется обеспечивать маршрутизацию или гарантировать доставку данных, когда об этом уже позаботились предыдущие шесть. Задача седьмого уровня — использовать свои протоколы, чтобы пользователь увидел данные в понятном ему виде.
Протоколы здесь используют UDP (например, DHCP, FTP) или TCP (например, HTTP, HTTPS, SFTP (Simple FTP), DNS). Прикладной уровень является самым верхним по иерархии, но при этом его легче всего объяснить.
Критика модели OSI
Семиуровневая модель была принята в качестве стандарта ISO/IEC 7498, действующего по сей день, однако, модель имеет свои недостатки. Среди основных недостатков говорят о неподходящем времени, плохой технологии, поздней имплементации, неудачной политике.
Первый недостаток — это неподходящее время. На разработку модели было потрачено неоправданно большое количество времени, но разработчики не уделили достаточное внимание существующим в то время стандартам. В связи с этим модель обвиняют в том, что она не отражает действительность. В таких утверждениях есть доля истины, ведь уже на момент появления OSI другие компании были больше готовы работать с получившей широкое распространение моделью TCP/IP.
Вторым недостатком называют плохую технологию. Как основной довод в пользу того, что OSI — это плохая технология, приводят распространенность стека TCP/IP. Протоколы OSI часто дублируют другу друга, функции распределены по уровням неравнозначно, а одни и те же задачи могут быть решены на разных уровнях.
Разделение на семь уровней было скорее политическим, чем техническим. При построении сетей в реальности редко используют уровни 5 и 6, а часто можно обойтись только первыми четырьмя. Даже изначальное описание архитектуры в распечатанном виде имеет толщину в один метр.
Кроме того, в отличие от TCP/IP, OSI никогда не ассоциировалась с UNIX. Добиться широкого распространения OSI не получилось потому, что она проектировалась как закрытая модель, продвигаемая Европейскими телекоммуникационными компаниями и правительством США. Стек протоколов TCP/IP изначально был открыт для всех, что позволило ему набрать популярность среди сторонников открытого программного кода.
Даже несмотря на то, что основные проблемы архитектуры OSI были политическими, репутация была запятнана и модель не получила распространения. Тем не менее, в сетевых технологиях, при работе с коммутацией даже сегодня обычно используют модель OSI.
Вывод, роль модели OSI при построении сетей
В статье мы рассмотрели принципы построения сетевой модели OSI. На каждом из семи уровней модели выполняется своя задача. В действительности архитектура OSI сложнее, чем мы описали. Существуют и другие уровни, например, сервисный, который встречается в интеллектуальных или сотовых сетях, или восьмой — так называют самого пользователя.
Как мы упоминали выше, оригинальное описание всех принципов построения сетей в рамках этой модели, если его распечатать, будет иметь толщину в один метр. Но компании активно используют OSI как эталон. Мы перечислили только основную структуру словами, понятными начинающим.
Модель OSI служит инструментом при диагностике сетей. Если в сети что-то не работает, то гораздо проще определить уровень, на котором произошла неполадка, чем пытаться перестроить всю сеть заново.
Зная архитектуру сети, гораздо проще ее строить и диагностировать. Как нельзя построить дом, не зная его архитектуры, так невозможно построить сеть, не зная модели OSI. При проектировании важно учитывать все. Важно учесть взаимодействие каждого уровня с другими, насколько обеспечивается безопасность, шифрование данных внутри сети, какой прирост пользователей выдержит сеть без обрушения, будет ли возможно перенести сеть на другую машину и т.д. Каждый из перечисленных критериев укладывается в функции одного из семи уровней.
Тренинг Cisco 200-125 CCNA v3.0. Сертифицированный сетевой специалист Cisco (ССNA). День 2. Модели OSI и TCP-IP
Из предыдущего видео мы узнали об основах сети, а сегодня поговорим о модели OSI и модели TCP/IP. Когда я говорю моделях, то имею ввиду не что иное, как набор правил, или набор стандартов. Вы можете спросить, зачем нужен набор правил или стандартов в компьютерной индустрии? Чтобы это понять, нам нужно узнать немного об истории компьютерной индустрии.
Не так давно состоялась ожесточенная битва между IBM и Digital Equipment Corporation (DEC) за то, кто из них является ведущим производителем компьютеров. Но при этом возникла проблема. Оба этих производителя выпускали компьютерное оборудование, которое было несовместимо друг с другом. То есть если вы купили компьютер IBM, то вам нужно было приобрести для него монитор, принтер и все остальное тоже у IBM. Аналогично, если вы купили устройство от DEC, то должны были купить все аксессуары и другие устройства этого же производителя, чтобы ими можно было пользоваться.
Было много компаний, которые купили оборудование обоих производителей, так, что, например, в бухгалтерии имелись компьютеры IBM, а отдел маркетинга был оборудован компьютерами DEC. В результате эти устройства не могли ни общаться, ни поделиться информацией друг с другом. Таким образом, отсутствие единого стандарта не позволяло двигаться компьютерным технологиям вперёд. Это происходило примерно в то время, когда Международная организация по стандартам, известная как ISO, пришла к выводу, что существует необходимость создания общего компьютерного стандарта. ISO разработала OSI — Open System Interconnect, или эталонную модель OSI. Примерно в то же время был создан конкурирующий стандарт — модель TCP/IP, появлению которого посодействовало Министерство обороны. Модель TCP/IP больше похожа на урезанную версию модели OSI и по причине большей актуальности стала отраслевым стандартом. Чтобы получить понятие о моделях, необходимо рассмотреть понятие «уровень стека». Рассмотрим его на примере изображенного на картинке офиса. В каждом офисе есть разные уровни сотрудников: генеральный директор, старший офисный персонал, менеджер по зарплате, аккаунт менеджер, менеджер по обслуживанию, обслуживающий персонал, младший офисный персонал – самые разные сотрудники. Причина, по которой в штате каждой компании есть разные сотрудники с разными названиями должностей, объясняется тем, что они выполняют разные обязанности и имеют разный уровень ответственности.
Поэтому когда что-то не сделано или не выполнена какая-то конкретная задача, вы знаете, кто несет за это ответственность. Например, если зарплата не перечислена вовремя, то за это отвечает менеджер по зарплате. Не важно, что в этом может быть виноват банк, первый контакт, который вы используете для выяснения вопроса – это менеджер по зарплате. Если ваш офис не убирается, то за это ответственный хозяйственный отдел. То есть должностная иерархия позволяет распределить ответственность.
Точно так же нам нужно обладать знаниями о модели OSI и модели TCP/IP, потому что при изучении компьютерных сетей или при возникновении в них проблем нам нужно знать, что на каком уровне работает. Потому что в случае неполадки нам не понадобится проверять всё оборудование, так как используя уровневый подход, мы будем точно знать, в чем может быть проблема.
Перейдём непосредственно к моделям, чтобы разобраться, как они работают и какие уровни в этом участвуют. Давайте сравним обе модели.
Слева вы видите уровни модели OSI, справа — TCP/IP. Позвольте мне взять маркер, чтобы было понятнее. Я промаркировал уровни разыми цветами, так что вы не запутаетесь. Начнем обсуждение слева, с модели OSI. Прежде чем мы пойдем дальше, я подчеркну, что как студенты-сетевики, вы должны знать все эти уровни и их расположение наизусть!
Вам нужно знать, что уровень 7 – это прикладной уровень, 6 уровень – уровень представления, 5 уровень – сеансовый. Вам нужно знать, где находятся эти уровни! Один из способов запоминания последовательности уровней – это использование мнемоники. Одной из самых популярных фраз для запоминания уровней OSI Physical, Data link, Network, Transport, Session, Presentation, Application снизу вверх звучит так: Please, Do Not Throw Sausage Pizza Away (Пожалуйста, не выбрасывайте пиццу с колбасой)!
Если вы хотите запомнить расположение уровней сверху вниз, пользуйтесь фразой All People Seem To Need Data Processing (Кажется, все люди нуждаются в обработке данных).
В способе запоминания — сверху вниз или снизу вверх — выбор остается за вами, вы просто должны помнить, что 1 уровень физический, а 7 – прикладной. Некоторые люди путаются, считая, что уровни идут по нарастающей сверху вниз, и 1 уровень – это прикладной. Это не так, первый уровень – физический, а прикладной – это 7 уровень.
Если вы хотите запомнить расположение уровней модели TCP/IP, используйте мнемонику «TCP/IP comes in A TIN». Это ничего не значит, вам просто нужно запомнить A TIN – Application, Transport, Internet, Network. Если у вас есть лучший способ запоминания, пользуйтесь им, пока твердо не выучите эти последовательности.
Итак, начнем с прикладного уровня. Прикладной уровень – это точка контакта для всех сетевых приложений, общая точка их соприкосновения. Многие авторы говорят и пишут, что все приложения на вашем компьютере находятся на этом уровне приложений, что не соответствует действительности. Во-первых, прикладной уровень касается только сетевых приложений, во-вторых, любые приложения на вашем компьютере не имеют ничего общего с прикладным уровнем, если они не общаются по сети.
Чтобы вам было легче это понять, приведу простой пример. Предположим, что вы удалили с вашего ПК драйверы интерфейса беспроводной связи Wi-Fi и Bluetooth, драйверы сетевой карты Ethernet или даже физически удалили эти устройства. Так вот, если вы теперь запустите, например, Microsoft Word, он не сможет общаться с прикладным уровнем и из-за это не сможет общаться ни с каким другим уровнем. Это потому, что Microsoft не может получить доступ к сети, потому что ваша операционная система даже не имеет сетевой карты!
Точно так же в обычной системе, если вы запустите веб-браузер, например, Chrome, IE, Safari и наберёте в адресной строке что-то вроде www.cnn.com, веб-браузер создаст http-запрос, который взаимодействует с прикладным уровнем. Прикладной уровень передаёт эти данные уровню представления (часто ошибочно называемому представительским уровнем), уровень представления передаёт их сеансовому уровню, тот – транспортному и так до тех пор, пока данные не достигнут физического уровня. Вот как это работает.
Таким образом, если приложение взаимодействует с сетями, то это происходит только через прикладной уровень. Этот уровень обеспечивает доступ к сетевым службам. На этом уровне работают протоколы FTP, TFTP, SNMP, DNS, HTTP, их довольно много. Вы можете просто «погуглить» полный список всех протоколов, работающих на этом уровне!
Далее мы рассмотрим уровень представления. Этот уровень осуществляет представление и шифрование данных. Уровень представления – то, где происходят все преобразование данных, он отвечает за кодирование данных, то есть после него данные для других уровней становятся одинаковыми, независимо от того, картинка это или документ. Затем он принимает данные, поступающие на обратном пути со сеансового уровня, преобразует их в презентабельный вид и передаёт на прикладной уровень. Поэтому если у вас есть необработанные данные, поступающие со сеансового уровня, они преобразуются на уровне представления. Если это изображение, уровень создает изображение, если это документ Word, он создает документ Word. Кроме того, на этом уровне работают все службы шифрования, такие, как TLS и SSL.
Далее у нас расположен сеансовый уровень, который создает и поддерживает сеансы передачи данных. Предположим, что ваш компьютер запускает два приложения – программу Telnet и браузер IE. Оба эти приложения получают доступ к сети. Поэтому этот уровень создает 2 различные сессии и поддерживает их. Таким образом, когда сеанс веб-браузера прекращается, сеанс Telnet не оборвётся, потому что они являются отдельными сеансами. То есть этот уровень поддерживает различные сеансы.
Вы видите, что три верхних уровня 5,6,7 модели OSI и уровень 4 модели TCP/IP промаркированы одинаковым синим цветом. Как сетевой инженер, особенно сетевой инженер Cisco, я сделал это по той причине, что мы очень редко будем обращаться к уровням 5,6,7. Это связано с тем, что большинство устройств Cisco не смотрят дальше 4 уровня. Уровни 1, 2, 3 и 4 очень важны для инженера Cisco, а уровни 5,6,7 не так критичны. Вам просто нужно знать, как это работает, и вы в основном узнали, что делают эти три верхних уровня. Дело в том, что о них в основном заботится операционная система, но относительно работы уровней 1, 2, 3 и 4 вы как сетевой инженер должны знать абсолютно всё.
Теперь мы перейдём к рассмотрению транспортного уровня. Этот уровень также важен для сетевого инженера. Когда идущая сверху информация поступает на транспортный уровень, он разбивает данные на управляемые сегменты, а на обратном пути опять собирает их из сегментов. Для создания инкапсуляции транспортный уровень добавляет свой собственный заголовок каждому сегменту.
Транспортный уровень принимает два важных решения: использовать доверенное (TCP) или недоверенное (UDP) соединение, и создаёт номера портов. Когда приложениям нужно использовать доверенное соединение, применяется TCP – протокол управления передачей. Если допускается установление недоверенного соединения, транспортный уровень использует UDP – протокол пользовательских датаграмм. Когда я говорю «доверенный», это не значит, что он лучше, чем «недоверенный», единственное различие между ними состоит в том, что при установке доверенного соединения необходимо получить подтверждение для каждого отправленного пакета. В недоверенном соединении подтверждать получение каждого сегмента передачи не нужно, поэтому оно работает быстрее из-за меньших накладных расходов. Так, если у нас имеются приложения реального времени, они будут использовать UDP, потому что это быстрее, и это происходит в реальном времени. Если вы смотрели потоковое видео или прямую онлайн-трансляцию, временами на экране появляются зеленые пиксели. Это означает, что информация для этого сегмента изображения, или этого пикселя, не была получена, и принимающее устройство не имеет никакого способа известить об этом передающее устройство.
Вторая функция, о которой заботится транспортный уровень, это создание номеров портов. Номер порта — это число, которое прикрепляется к IP-адресу, чтобы определить, от какого процесса приходит информация. Транспортный уровень создает случайный номер порта источника (процесса-отправителя) и присоединяет номер порта пункта назначения (получателя). Так что если ваш трафик поступает на сервер, то сервер имеет стандартный номер порта 80. Если вы собираетесь отправить данные на IP-адрес 10.10.10.10, то транспортный уровень добавляет к этому адресу номер порта 80, в результате чего создаётся сокет 10.10.10.10.80, представляющий собой не что иное, как IP-адрес и номер порта.
Транспортный уровень создает сокет и отправляет его ниже, сетевому уровню. Он также добавляет номер порта источника. Зачем нужен этот номер? Причина в том, что если на компьютере запущено 2 приложения, и данные приходят на один и тот же IP-адрес, то транспортный уровень должен знать, какие данные передаются какому приложению. Он определит это по номеру порта источника.
Далее мы рассмотрим сетевой уровень. Когда сетевой уровень получает сегмент от транспортного уровня, он добавляет к нему заголовок сетевого уровня. Добавление заголовка превращает сегмент в пакет.
Таким образом, одна из важнейших функций сетевого уровня является перевод физических IP-адресов в логические адреса, то есть логическая адресация. О ней мы узнаем в следующем видео «День 3». Пока что просто запомните, что сетевой уровень – это уровень, на котором добавляются IP-адреса и происходит выбор оптимального пути для передачи данных. Оптимальный путь означает, что сетевой уровень сравнивает IP-адреса и проверяет, находится ли IP-адрес назначения в локальной подсети. Если он не находится в локальной подсети, то уровень найдет оптимальный путь к пункту назначения.
Далее у нас находится канальный уровень. Когда пакет поступает из сети, канальный уровень добавляет к нему канальный заголовок. В результате пакет превращается во фрейм. Канальный уровень отвечает за MAC-адресацию. MAC — это не что иное, как сокращение от Media Access Control, а MAC – адрес — это аппаратный адрес.
Это означает, что каждая сетевая карта вашего компьютера имеет собственный MAC-адрес. Он также известен как Burn-in-Address, который нельзя изменить. Существуют программные способы подмены адреса, но физически его невозможно изменить.
Это уровень, на котором происходит проверка ошибок. Поэтому, когда информация поступает с физического уровня, канальный уровень проверяет её на наличие ошибок, возникших в процессе передачи, и исправляет их. Он может использовать циклическую проверку избыточности – алгоритм вычисления контрольной суммы CRC, проверку четности или любой другой механизм проверки ошибок.
Затем следует физический уровень, где фактически происходит передача данных. Здесь данные существуют в виде битов. Этот уровень имеет дело с проводами, кабелями, аппаратными портами или разъемами и подобными вещами, которые обеспечивают процессы, происходящие на этом уровне. Когда кто-то говорит вам, что у него не работает интернет, вы как компьютерный или сетевой инженер начинаете работу с устранения неполадок на физическом уровне. В первую очередь вы проверите все разъёмы и кабели, и если они в порядке, перейдёте к поиску неполадок на 2,3,4 уровнях. Именно поэтому нам нужно знать о сетевых моделях и помнить, что любое изменение на одном из уровней не повлияет на соседние, потому что так предусмотрено стандартом.
Поэтому, если на физическом уровне вместо сетевого кабеля локальной сети я предпочту использовать беспроводную связь, это не должно никак отразиться на остальных уровнях, потому что изменение произошло только на физическом уровне. Таким образом, пока на физическом уровне получение информации происходит в штатном режиме, способ получения этой информации не имеет никакого значения.
Аналогично происходит и на сетевом уровне. Сейчас мы находимся в разгаре переходной фазы от IPv4 к IPv6, так что это изменение относится только к третьему уровню. Слой 4 и слой 2 от этого не пострадают, пока будет соблюдаться существующий стандарт и они будут получать данные так же, как это происходило ранее.
Такова красота многоуровневого подхода к организации сети. Если сравнить левую и правую половину рисунка, видно, что уровень 5,6,7 модели OSI сопоставим с уровнем 4 модели TCP / IP. Транспортный уровень выполняет аналогичные функции в обеих моделях, аналогичное соответствие имеет место на уровнях 2 и 3, а уровни 1 и 2 модели OSI по своим функциям соответствуют уровню 1 модели TCP/IP.
Далее мы рассмотрим, как функционирует модель OSI. Допустим, человечек слева собирается отправить информацию правому человечку и для этого создаёт данные. Поскольку мы условились, что три верхних уровня 5,6 и 7 нас не особо интересуют, перейдём сразу к 4 транспортному уровню, куда поступают наши данные.
Транспортный уровень принимает данные, сегментирует их и добавляет свой собственный заголовок – вы видите его на рисунке. Предположим, что здесь мы имеем дело с UDP, поэтому он не ждет подтверждений. Он отправляет сегмент 1 на сетевой уровень, тот добавляет в сегмент сетевой заголовок, и теперь он становится пакетом.
Далее сетевой уровень отправляет этот пакет 1 на канальный уровень. Тот принимает пакет и снабжает его заголовком Data Link.
Как вы видите, в отношении сегмента 2 действует та же процедура. Затем сегмент 1 переходит на физической уровень связи, который конвертирует его в последовательность битов и отсылает на физический уровень нашего адресата.
Итак, наш сегмент 1 был преобразован, и точно также в последовательность битов будет преобразован второй сегмент. К тому времени правый физический уровень уже примет предыдущий сегмент в виде физических битов и преобразует его в сегмент с соответствующим набором заголовков.
Получающие уровни на каждом шаге обрезают соответствующий заголовок и передают сегмент выше. Таким образом, когда сегмент 1 перейдёт с канального уровня на сетевой, он утратит заголовок канального уровня.
Аналогично произойдёт и со вторым сегментом. Когда сегмент 1 достигнет транспортного уровня, сетевой заголовок будет удалён. Далее транспортный уровень будет ждать, пока он не получит все переданные сегменты.
Это то, что делает транспортный уровень — ждёт, пока до него доберётся 2 сегмент.
После этого транспортный слой удалит все свои заголовки, объединит сегменты в массив данных и передаст данные верхним уровням, и правый человечек получит совершенно те же данные, что отослал ему левый человечек.
Это обобщенное представление того, как работает передача данных по сети. Это всё, что мы должны были выучить во втором видеоуроке. В последующих уроках мы изучим все остальные понятия, касающиеся сетей, и если вы чего-то не поймёте, обращайтесь ко мне на электронную почту imran.rafai@nwking.org. Благодарю за внимание.
VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps до весны бесплатно при оплате на срок от полугода, заказать можно тут.