Как работают протоколы. Виртуальные локальные сети. Схема передачи данных по протоколу TCP-IP

Протокол TCP/IP (Transmission Control Protocol/Internet Protocol ) представляет собой стек сетевых протоколов, повсеместно используемый для Интернета и других подобных сетей (например, данный протокол используется и в ЛВС). Название TCP/IP произошло от двух наиболее важных протоколов:

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

Основные характеристики TCP/IP:

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

Принцип работы стека протоколов TCP/IP такой же как и в модели OSI, данные верхних уровней инкапсулируются в пакеты нижних уровней.

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

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

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

Пример инкапсуляции можно представить следующим образом:

Рассмотрим каждые функции уровней

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

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

Распространенными примерами приложений являются программы:

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

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

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

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

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

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

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

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

Сетевой (межсетевой) уровень

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

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

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

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

  • Уничтожит дейтаграмму;
  • Отправить ее дальше к месту назначения, определив маршрут следования, так поступают промежуточные станции – маршрутизаторы .

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

Также протокол IP может отправлять сообщения – уведомления с помощью протокола ICMP , например, в случае уничтожения дейтаграммы. Более никаких средств контроля корректности данных, подтверждения или доставки, предварительного соединения в протоколе нет, эти задачи возложены на транспортный уровень.

Уровень доступа к среде

Функции этого уровня следующие:

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

Рассмотрим инкапсуляцию на примере перехвата пакета протокола HTTP с помощью сниффера wireshark, который работает на прикладном уровне протокола TCP/IP:


Помимо самого перехваченного протокола HTTP, на основании стека TCP/IP сниффер описывает каждый нижележащий уровень. HTTP инкапсулируется в TCP, протокол TCP в IPv4, IPv4 в Ethernet II.

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

Мало кто знает, что простой процесс посещения веб-страничек подразумевает незаметную для пользователя, сложную систему действий. Каждый переход по ссылке активирует сотни различных вычислительных операций в сердце компьютера. В их числе передачи запросов, прием ответов и многое другое. За каждое действие в сети отвечают так называемые протоколы TCP/IP. Что они собой представляют?

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

Понятие стека протоколов

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

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

Принципы использования адресов в стеке протоколов

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

  • Адреса различного типа, должны быть согласованы. Например преобразование домена сайта в IP адрес сервера и обратно, или преобразование имени узла в адрес и обратно. Таки образом становится возможен доступ к точке не только с помощью IP адреса, но и по интуитивному названию.
  • Адреса должны быть уникальны. Это вызвано тем, что в некоторых частных случаях пакет должен попасть только в одну конкретную точку.
  • Необходимость конфигурирования локальных вычислительных сетей.

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

Именно поэтому для сетей TCP/IP был изобретен специальный подход, который и стал отличительной чертой стека протоколов. Было введено понятие - масштабируемость.

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

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

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

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

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

Данный уровень, предоставляет вышестоящему (прикладному) два типа сервиса:

  • Осуществляет гарантированную доставку, с помощью протокола ТСР.
  • Осуществляет доставку по возможности по протоколу UDP.

Чтобы обеспечить гарантированную доставку, согласно протоколу TCP устанавливается соединение, которое позволяет выставлять на пакетах нумерацию на выходе и подтверждать их прием на входе. Нумерация пакетов и подтверждение приема - это так называемая служебная информация. Этот протокол поддерживает передачу в режиме "Дуплекс". Кроме того, благодаря продуманному регламенту протокола, он считается очень надежным.

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

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

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

На этом уровне используются следующие сетевые протоколы TCP/IP: ICMP, IP, RIP, OSPF. Основным, и наиболее популярным на сетевом уровне, конечно же является протокол IP (Internet Protocol). Основной его задачей является передача пакетов от одного роутера к другому до тех пор, пока единица данных не попадет на сетевой интерфейс узла назначения. Протокол IP разворачивается не только на хостах, но и на сетевом оборудовании: маршрутизаторах и управляемых коммутаторах. Протокол IP работает по принципу негарантированной доставки с максимальными усилиями. Т. е., для отправки пакета нет необходимости заранее устанавливать соединение. Такой вариант приводит к экономии трафика и времени на движении лишних служебных пакетов. Пакет направляется в сторону назначения, и вполне возможно, что узел останется недоступным. В таком случае возвращается сообщение об ошибке.

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

  • Кодирование пакета в единицу данных промежуточной сети.
  • Преобразование информации о месте назначения в стандарты необходимой подсети и отправка единицы данных.

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

Единицы передаваемых данных

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

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

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

Типы адресов стека протоколов TCP/IP

Любой протокол передачи данных TCP/IP для идентификации узлов использует один из следующих типов адресов:

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

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

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

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

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

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

IP-адрес. Формат. Составляющие. Маска подсети

IP адрес - 32-битное число, которое в традиционном представлении записывается в виде чисел, от 1 до 255, разделенных между собой точками.

Вид IP адреса в различных форматах записи:

  • Десятичный вид IP адреса: 192.168.0.10.
  • Двоичный вид того же IP адреса: 11000000.10101000.00000000.00001010.
  • Запись адреса в шестнадцатеричной системе счисления: C0.A8.00.0A.

Между ID сети и номером точки в записи нет разделительного знака, но компьютер способен их разделять. Для этого существует три способа:

  1. Фиксированная граница. При этом способе весь адрес условно делится на две части фиксированной длины побайтно. Таким образом, если под номер сети отдать один байт, тогда мы получим 2 8 сетей по 2 24 узлов. Если границу сдвинуть еще на байт вправо, тогда сетей станет больше - 2 16 , а узлов станет меньше - 2 16 . На сегодняшний день подход считается устаревшим и не используется.
  2. Маска подсети. Маска идет в паре с IP адресом. Маска имеет последовательность значений "1" в тех разрядах, которые отведены под номер сети, и определенное количество нулей в тех местах IP адреса, которые отведены на номер узла. Граница между единицами и нулями в маске - это граница между идентификатором сети и ID узла в IP-адресе.
  3. Метод классов адресов. Компромиссный метод. При его использовании размеры сетей не могут быть выбраны пользователем, однако есть пять классов - А, В, С, D, Е. Три класса - А, В и С - предназначены для различных сетей, а D и Е - зарезервированы для сетей специального назначения. В классовой системе каждый класс имеет свою границу номера сети и ID узла.

Классы IP адресов

К классу А относятся сети, в которых сеть идентифицируется по первому байту, а три оставшихся являются номером узла. Все IP адреса, которые имеют в своем диапазоне значение первого байта от 1 до 126 - это сети класса А. Количественно сетей класса А получается совсем мало, зато в каждой из них может быть до 2 24 точек.

Класс В - сети, в которых два высших бита равны 10. В них под номер сети и идентификатор точки отводится по 16 бит. В результате получается, что количество сетей класса В в большую сторону отличается от количества сетей класса А количественно, но они имеют меньшее количество узлов - до 65 536 (2 16) шт.

В сетях класса С - совсем мало узлов - 2 8 в каждой, но количество сетей огромно, благодаря тому, что идентификатор сети в таких структурах занимает целых три байта.

Сети класса D - уже относятся к особым сетям. Он начинается с последовательности 1110 и называется групповым адресом (Multicast adress). Интерфейсы, имеющие адреса класса А, В и С, могут входить в группу и получать вдобавок к индивидуальному еще и групповой адрес.

Адреса класса Е - в резерве на будущее. Такие адреса начинаются с последовательности 11110. Скорее всего, эти адреса будут применяться в качестве групповых, когда наступит нехватка IP адресов в глобальной сети.

Настройка протокола TCP/IP

Настройка протокола TCP/IP доступна на всех операционных системах. Это - Linux, CentOS, Mac OS X, Free BSD, Windows 7. Протокол TCP/IP требует только наличия сетевого адаптера. Разумеется, серверные операционные системы способны на большее. Очень широко, с помощью серверных служб, настраивается протокол TCP/IP. IP адреса в в обычных настольных компьютерах задаются в настройках сетевых подключений. Там настраивается сетевой адрес, шлюз - IP адрес точки, имеющий выход в глобальную сеть, и адреса точек, на которых располагается DNS сервер.

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

TCP/IP Протокол разрешения адресов

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

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

ARP таблица

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

Стек протоколов TCP/IP – это альфа и омега Интернета, и нужно не только знать, но также понимать модель и принцип работы стека.

Мы разобрались с классификацией, стандартами сетей и моделью OSI. Теперь поговорим о стеке, на базе которого построена всемирная система объединенных компьютерных сетей Интернет.

Модель TCP/IP

Изначально данный стек создавался для объединения больших компьютеров в университетах по телефонным линиям связи соединения «точка-точка». Но когда появились новые технологии, широковещательные (Ethernet) и спутниковые, возникла необходимость адаптировать TCP/IP, что оказалось непростой задачей. Именно поэтому наряду с OSI появилась модель TCP/IP.

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

В таблице представлено сравнение моделей OSI и TCP/IP. Последняя включает в себя 4 уровня:

  1. Самый нижний, уровень сетевых интерфейсов , обеспечивает взаимодействие с сетевыми технологиями (Ethernet, Wi-Fi и т. д.). Это объединение функций канального и физического уровней OSI.
  2. Уровень интернет стоит выше, и по задачам перекликается с сетевым уровнем модели OSI. Он обеспечивает поиск оптимального маршрута, включая выявление неполадок в сети. Именно на этом уровне работает маршрутизатор.
  3. Транспортный отвечает за связь между процессами на разных компьютерах, а также за доставку переданной информации без дублирования, потерь и ошибок, в необходимой последовательности.
  4. Прикладной объединил в себе 3 уровня модели OSI: сеансовый, представления и прикладной. То есть он выполняет такие функции, как поддержка сеанса связи, преобразование протоколов и информации, а также взаимодействие пользователя и сети.

Иногда специалисты пытаются объединить обе модели в нечто общее. Например, ниже приведено пятиуровневое представление симбиоза от авторов «Компьютерные сети» Э. Таненбаума и Д. Уэзеролла:

Модель OSI обладает хорошей теоретической проработкой, но протоколы не используются. С моделью TCP/IP все иначе: протоколы широко используются, но модель подходит исключительно для описания сетей на базе TCP/IP.

Не путайте их:

  • TCP/IP – это стек протоколов, представляющий собой основу Интернета.
  • Модель OSI (Базовая Эталонная Модель Взаимодействия Открытых Систем) подходит для описания самых разных сетей.

Стек протоколов TCP/IP

Рассмотрим каждый уровень более подробно.

Нижний уровень сетевых интерфейсов включает в себя Ethernet, Wi-Fi и DSL (модем). Данные сетевые технологии формально не входят в состав стека, но крайне важны в работе интернета в целом.

Основной протокол сетевого уровня – IP (Internet Protocol). Это маршрутизированный протокол, частью которого является адресация сети (IP-адрес). Здесь также работают такие дополнительные протоколы, как ICMP, ARRP и DHCP. Они обеспечивают работу сетей.

На транспортной уровне расположились TCP – протокол, обеспечивающий передачу данных с гарантией доставки, и UDP – протокол для быстрой передачи данных, но уже без гарантии.

Прикладной уровень – это HTTP (для web), SMTP (передача почты), DNS (назначение IP-адресам понятных доменных имен), FTP (передача файлов). Протоколов на прикладном уровне стека TCP/IP больше, но приведенные можно назвать самыми значимыми для рассмотрения.

Стек протоколов TCP/IP

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

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

Соединение и взаимодействие в рамках одной мощной компьютерной сети явилось целью проектирования и создания семейства протоколов, названных в дальнейшем стеком протоколов TCP/IP (Transmission Control Protocol / Internet Protocol ) . Главной идеей стека является создание механизма межсетевого обмена.

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

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

История создания стека протоколов TCP/IP началась с момента, когда Министерство обороны США столкнулось с проблемой объединения большого числа компьютеров с различными операционными системами. Для этого в 1970 году был составлен набор стандартов. Протоколы, разработанные на базе этих стандартов, получили обобщенное название TCP/IP.

Стек протоколов TCP/IP был изначально предназначен для сети Advanced Research Project Agency Network (ARPANET ). ARPANET рассматривалась как экспериментальная распределенная сеть коммутации пакетов. Эксперимент по применению стека протоколов TCP/IP в этой сети закончился с положительными результатами. Поэтому стек протоколов был принят в промышленную эксплуатацию, а в дальнейшем был расширен и усовершенствовался в течение нескольких лет. Позже стек адаптировали для использования в локальных сетях. В начале 1980 года протокол стал использоваться как интегральная часть операционной системы Вег kley UNIX v 4.2. В этом же году появилась объединенная сеть Internet . Переход к технологии Internet был завершен в 1983 году, когда Министерство обороны США установило, что все компьютеры, присоединенные к глобальной сети, используют стек протоколов TCP/IP.

Стек протоколов TCP/IP предоставляет пользователям два основных сервиса , которые используют прикладные программы:

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

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

Основными преимуществами стека протоколов TCP/IP являются:

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

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

Межконцевые подтверждения. Протоколы стека TCP/IP обеспечивают подтверждение правильности прохождения информации при обмене между отправителем и получателем.

Стандартные прикладные протоколы. Протоколы TCP/IP включают в свой состав средства для поддержки наиболее часто встречающихся приложений, таких как электронная почта, передача файлов, удаленный доступ и т.д.

Резкий рост сети Internet и, естественно, ускоренное развитие стека протоколов TCP/IP потребовали от разработчиков создания серии документов, которые способствовали бы дальнейшему упорядоченному развитию протоколов. Организация Internet Activities Board (IAB ) разработала серию документов, называемых RFC (Request For Comments ). Некоторые RFC описывают сетевые сервисы или протоколы и их реализацию, другие документы описывают условия их применения. В том числе в RFC опубликованы стандарты стека протоколов TCP/IP. При этом следует иметь в виду, что стандарты TCP/IP всегда публикуются в виде документов RFC , но не все RFC определяют стандарты.

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

1.Состояние стандартизации. Протокол может иметь несколько состояний:

стандарт на протокол утвержден;

стандарт на протокол предлагается к рассмотрению;

предлагается экспериментальный протокол;

протокол устарел и в настоящее время не используется.

2.Статус протокола. Протокол может иметь несколько статусов:

протокол требуется для внедрения;

протокол может внедряться производителем по выбору;

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

распознавать сбои в сети и восстанавливать ее работоспособность;

распределять пропускную способность сети и знать способы уменьшения потока данных при перегрузке;

распознавать задержки и потери пакетов, знать способ уменьшения ущерба от этого;

распознавать ошибки в данных и информировать о них прикладное программное обеспечение;

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

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

Так как стек протоколов TCP/IP был разработан до появления эталонной модели OSI , то соответствие его уровней уровням модели OSI достаточно условно. Структура стека протоколов TCP/IP приведена на рис. 1.1.

Рис. 1.1. Структура стека протоколов TCP/IP .

Рис. 1. 2. Путь передачи сообщений .

Теоретически посылка сообщения от одной прикладной программы к другой означает последовательную передачу сообщения вниз через соседние уровни стека у отправителя, передачу сообщений по уровню сетевого интерфейса (уровню IV ) или, в соответствии с эталонной моделью OSI , по физическому уровню, прием сообщения получателем и передачу его вверх через соседние уровни протокольного программного обеспечения. На практике взаимодействие уровней стека организовано гораздо сложнее. Каждый уровень принимает решение о корректности сообщения и производит определенное действие на основании типа сообщения или адреса назначения. В структуре стека протоколов TCP/IP имеется явный «центр тяжести» - это сетевой уровень и протокол IP в нем. Протокол IP может взаимодействовать с несколькими модулями протоколов более высокого уровня и несколькими сетевыми интерфейсами. То есть на практике процесс передачи сообщений от одной прикладной программы к другой будет выглядеть следующим образом: отправитель передает сообщение, которое на уровне III про токолом IP помещается в дейтаграмму и посылается в сеть (сеть 1). На промежуточных устройствах, например маршрутизаторах , дейтаграмма передается вверх до уровня протокола IP , который отправляет ее обратно вниз, в другую сеть (сеть 2). Когда дейтаграмма достигает получате ля, протокол IP выделяет сообщение и передает его на верхние уровни. Рис. 1.2 иллюстрирует данный процесс.

Структуру стека протоколов TCP/IP можно разделить на четыре уровня . Самый нижний - уровень сетевого интерфейса (уровень IV ) -соответствует физическому и канальному уровню модели OSI . В стеке протоколов TCP/IP этот уровень не регламентирован. Уровень сетево го интерфейса отвечает за прием дейтаграмм и передачу их по конкрет ной сети. Интерфейс с сетью может быть реализован драйвером уст ройства или сложной системой, которая использует свой протокол ка нального уровня (коммутатор, маршрутизатор ). Он поддерживает стан дарты физического и канального уровня популярных локальных сетей: Ethernet , Token Pang , FDDI и т.д. Для распределенных сетей поддержи ваются проколы соединений РРР и SLIP , а для глобальных сетей - протокол Х.25. Предусмотрена поддержка использования развивающейся технологии коммутации ячеек - ATM . Обычной практикой стало вклю чение в стек протоколов TCP/IP новых технологий локальных или рас пределенных сетей и регламентация их новыми документами RFC .

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

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

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

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

На этом уровне функционирует протокол управления передачей данных TCP (Transmission Control Protocol ) и протокол передачи при кладных пакетов дейтаграммным методом UDP (User Datagram Protocol ). Протокол TCP обеспечивает гарантированную доставку данных за счет образования логических соединений между удаленными прикладными процессами. Работа протокола UDP аналогична работе протокола IP , но основной его задачей является выполнение функций связующего звена между сетевым протоколом и различными приложениями.

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

Рассмотрение принципов функционирования стека протоколов TCP/IP целесообразно проводить, начиная с протоколов третьего уров ня. Это связано с тем, что протоколы более высоких уровней в своей работе опираются на функциональные возможности протоколов нижних уровней. Для понимания проблем маршрутизации в распределен ных сетях изучение протоколов рекомендуется проводить в следующей последовательности: IP , ARP , ICMP , UDP и TCP . Это связано с тем, что для доставки информации между удаленными системами в распределенной сети используется в той или иной степени все семейство сте ка протоколов TCP/IP.

Стек протоколов TCP/IP включает в свой состав большое число протоколов прикладного уровня. Эти протоколы выполняют различные функции, в том числе: управление сетью, передачу файлов, оказание распределенных услуг при использовании файлов, эмуляцию термина лов, доставку электронной почты и т.д. Протокол передачи файлов (File Transfer Protocol - FTP ) обеспечивает перемещение файлов между ком пьютерными системами. Протокол Telnet обеспечивает виртуальную тер минальную эмуляцию. Простой протокол управления сетью (Simple Network Management Protocol - SNMP ) является протоколом управле ния сетью, используемым для сообщений об аномальных условиях в сети и установления значений допустимых порогов в сети. Простой протокол передачи почты (Simple Mail Transfer Protocol - SMTP ) обеспечивает механизм передачи электронной почты. Эти протоколы и другие прило жения используют услуги стека TCP/IP для обеспечения пользователей базовыми сетевыми услугами.

Более подробно протоколы прикладного уровня стека протоколов TCP/IP в рамках данного материала не рассматриваются.

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


Рис. 1. 3. Обозначение фрагментов информации на уровнях стека TCP/IP.

Очень важно дополнить описание уровней стека протоколов TCP/IP описанием различия между передачей от отправителя непосредственно к получателю и передачей через несколько сетей. На рис. 4 показано различие между этими видами передач.


Рис. 1.4. Способы передачи информации.

При доставке сообщения через две сети с применением маршрутизатора оно использует два разных сетевых кадра (кадр 1 и кадр 2). Кадр 1 - для передачи от отправителя до маршрутизатора , кадр 2 - от маршрутизатора до получателя.

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

Введение в TCP/IP

Работа сети Internet основана на использовании семейства коммуникационных протоколов TCP/IP, что расшифровывается как Transmission Control Protocol/Internet Protocol (Протокол управления передачей данных/Протокол Internet). TCP/IP используется для передачи данных как в глобальной сети Internet, так и во многих локальных сетях. В этой главе кратко рассматриваются протоколы TCP/IP и применяемые в них способы управления передачей данных.

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

Что такое TCP/IP

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

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

Термин TCP/IP включает названия двух протоколов - Transmission Control Protocol (TCP) и Internet Protocol (IP). TCP/IP не является одной программой, как ошибочно полагают многие пользователи. Напротив, TCP/IP относится к целому семейству связанных между собой протоколов, разработанных для передачи информации по сети и одновременного обеспечения информацией о состоянии самой сети. TCP/IP является программным компонентом сети. Каждая часть семейства TCP/IP решает определенную задачу: отправление электронной почты, обеспечение удаленного обслуживания входа в систему, пересылку файлов, маршрутизацию сообщений или обработку сбоев в сети. Применение TCP/IP не ограничено глобальной сетью Internet. Это наиболее широко используемые во всем мире сетевые протоколы, применяемые как в крупных корпоративных сетях, так и в локальных сетях с небольшим числом компьютеров.

Как только что говорилось, ТСР/IР - не один протокол, а их семейство. Почему иногда употребляют термин ТСР/IР, хотя имеется в виду сервис, отличный от TCP или IP? Обычно общее название используют при обсуждении всего семейства сетевых протоколов. Однако некоторые пользователи, говоря о TCP/IP, имеют в виду лишь некоторые из протоколов семейства: они предполагают, что другая сторона в диалоге понимает, о чем конкретно идет речь. В действительности лучше называть каждый из сервисов своим именем, чтобы внести большую ясность в предмет разговора.

Компоненты TCP/IP

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

Транспорт н ые протоколы управляют передачей данных между двумя машинами.

TCP (Transmission Control Protocol). Протокол, поддерживающий передачу данных, осно­ванную на логическом соединении между посылающим и принимающим компьютерами.

UDP (User Datagram Protocol). Протокол, поддерживающий передачу данных без установ­ления логического соединения. Это означает, что данные посылаются без предварительного установления соединения между компьютерами получателя и отправителя. Можно провести аналогию с отправлением почты по какому-то адресу, когда нет никакой гарантии, что это сообщение прибудет к адресату, если он вообще существует. (Две машины соединены в том смысле, что обе подключены к Internet, но они не поддерживают связь между собой через логическое соединение.)

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

IP (Internet Protocol). Обеспечивает фактическую передачу данных.

ICMP (Internet Control Message Protocol). Обрабатывает сообщения состояния для IP, например, ошибки и изменения в сетевых аппаратных средствах, которые влияют на маршрутизацию.

RIP (Routing Information Protocol). Один из нескольких протоколов, которые определяют наилучший маршрут доставки сообщения.

OSPF (Open Shortest Path First). Альтернативный протокол для определения маршрутов.

Поддержка сетевого адреса - это способ идентификации машины с уникальным номером и именем. (Более подробно об адресах см. ниже в этой главе.)

ARP (Address Resolution Protocol). Определяет уникальные числовые адреса машин в сети.

DNS (Domain Name System). Определяет числовые адреса по именам машин.

RARP (Reverse Address Resolution Protocol). Определяет адреса машин в сети, но способом, обратным ARP.

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

ВООТР (Boot Protocol) загружает сетевую машину, читая информацию для начальной загрузки с сервера.

FTP (File Transfer Protocol) передает файлы между компьютерами.

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

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

EGP (Exterior Gateway Protocol) служит для передачи маршрутизационной информации для внешних сетей.

GGP (Gateway-to-Gateway Protocol) служит для передачи маршрутизационной информации между шлюзами.

IGP (Interior Gateway Protocol) служит для передачи маршрутизационной информации для внутренних сетей.

NFS (Network File System) позволяет использовать каталоги и файлы удаленного компьютера так, как если бы они существовали на локальной машине.

NIS (Network Information Service) поддерживает в сети информацию о пользователях не­скольких компьютеров, упрощая вход в систему и проверку паролей.

RPC (Remote Procedure Call) позволяет удаленным прикладным программам связываться друг с другом простым и эффективным способом.

SMTP (Simple Mail Transfer Protocol) - это протокол, который передает сообщения электронной почты между машинами. SMTP обсуждается более подробно в гл. 13 "Как работает электронная почта в Internet."

SNMP (Simple Network Management Protocol) - протокол для администрирования, который посылает сообщения о состоянии сети и подключенных к ней устройств.

Все эти виды сервиса в совокупности составляют TCP/IP - мощное и эффективное семейство сетевых протоколов.

Числовой адрес компьютера

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

В Internet компьютеры сети идентифицируются путем назначения Internet-адреса или, более правильно, IP-адреса. IP-адреса всегда имеют длину 32 бита и состоят из четырех частей по 8 бит. Это значит, что каждая часть может принимать значение в пределах от 0 до 255. Четыре части объединяют в запись, в которой каждое восьмибитовое значение отделяется точкой. Например, 255.255.255.255 или 147.120.3.28 - это два IP-адреса. Когда речь идет о сетевом адресе, то обычно имеется в виду IP-адрес.

Если бы использовались все 32 бита в IP-адресе, то получилось бы свыше четырех миллиардов возможных адресов - более чем достаточно для будущего расширения Internet! Однако некоторые комбинации битов зарезервированы для специальных целей, что уменьшает число потенциальных адресов. Кроме того, 8-битные четверки сгруппированы специальными способами в зависимости от типа сети, так что фактическое число возможных адресов еще меньше.

IP-адреса назначаются не по принципу перечисления хостов в сети -1, 2, 3, ... На самом деле IP-адрес как бы состоит из двух частей: адреса сети и адреса хоста в этой сети. Благодаря такой структуре IP-адреса компьютеры в разных сетях могут иметь одинаковые номера. Поскольку адреса сетей различны, то компьютеры идентифицируются однозначно. Без такой схемы нумерация быстро становится очень неудобной.

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

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

Адреса класса А - числа между 0 и 127

Адреса класса В - числа между 128 и 191

Адреса класса С - числа между 192 и 223

Если IP-адрес вашей машины - 147.14.87.23, то вы знаете, что ваша машина находится в сети класса В, сетевой идентификатор - 147.14, а уникальный номер вашей машины в этой сети - 87.23. Если IP-адрес - 221.132.3.123, то машина находится в сети класса С с сетевым идентификатором 221.132.3 и идентификатором хоста 123.

Всякий раз, когда посылается сообщение какому-либо хост-компьютеру в Internet, IP-адрес используется для указания адреса отправителя и получателя. Конечно, вам не придется самому запоминать все IP-адреса, так как для этого существует специальный сервис TCP/IP, называемый Domain Name System (Доменная система имен).

Доменные имена

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

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

Чтобы получить один из этих уникальных идентификаторов, называемых доменным именем, ком­пания или организация посылает запрос в орган, который контролирует подключение к Internet - Network Information Center (InterNIC). Если InterNIC утверждает имя компании, то оно добавляется в базу данных Internet. Доменные имена должны быть уникальны, чтобы предотвратить коллизии.

Последняя часть доменного имени называется идентификатором домена верхнего уровня (например, .corn). Существуют шесть доменов верхнего уровня, установленных InterNIC:

Агра Идентификатор сети ARPANET

Corn Коммерческие компании

Edu Образовательные учреждения

Gov Правительственные учреждения или организации

Mil Военные учреждения

Org Организации, которые не относятся ни к одной из перечисленных категорий

Сервис WWW

World Wide Web (WWW, Всемирная паутина) - это новейший вид информационных услуг Internet, основанный на архитектуре клиент-сервер. В конце 80-х годов в CERN (Европейский центр физики элементарных частиц) начались работы по созданию информационного сервиса, который позволил бы любому пользователю легко найти и прочитать документы, размещенные на серверах в любой части Internet. Для этого был разработан стандартный формат документов, позволяющий наглядным образом представить информацию на дисплее компьютера любого типа, а также обеспечить возможность установки внутри одних документов ссылок на другие документы.

Хотя WWW был разработан с целью применения сотрудниками CERN, после того как этот вид сервиса был обнародован, его популярность стала расти необычайно быстро. Было разработано множество прикладных программ, используемых в качестве WWW-клиентов, т. е. обеспечивающих доступ к WWW-серверам и представление документов на экране. Имеется клиентское программное обеспечение, основанное как на графическом интерфейсе пользователя (одной из наиболее популярных является программа Mosaic), так и на эмуляции алфавитно-цифрового терминала (примером является программа Lynx). Большинство WWW-клиентов позволяют использовать их интерфейс и для доступа к другим видам сервиса Internet, таким как FTP и Gopher.

Документы, расположенные на WWW-серверах, представляют собой не просто текстовые документы в стандарте ASCII. Это ASCII-файлы, содержащие команды специального языка, названного HTML (HyperText Markup Language, Язык разметки гипертекста). Команды HTML позволяют структурировать документ, выделяя в нем логически различающиеся части текста (заголовки разных уровней, абзацы, перечисления и т. д.). В результате каждая из клиентских программ просмотра WWW может форматировать текст документа таким образом, чтобы наилучшим способом отобразить его на конкретном дисплее. Для придания документам большей выразительности текст обычно форматируется с использованием увеличенных размеров шрифта заголовков, применением полужирного и курсивного начертаний для важных терминов, выде­лением пунктов перечислений и т. д. Язык HTML позволяет также включать в документы иллюстративную графику, которая может быть отображена программами просмотра, основанными на использовании графического интерфейса пользователя.

Одним из самых важных свойств HTML является возможность включения в документ гипер­текстовых ссылок. Эти ссылки позволяют пользователю загрузить новый документ на свой компьютер, просто щелкнув указателем мыши в том месте экрана, где расположена ссылка. Любой документ может содержать ссылки на другие документы. Документ, на который указывает ссылка, может находиться как на том же WWW-сервере, что и исходный документ, так и на любом другом компьютере в Internet. Областью документа, используемой в качестве ссылки, может служить слово, группа слов, графическое изображение или даже заданный фрагмент изображения. Большинство программ просмотра WWW могут также обращаться к ресурсам других информационных сервисов, таких как FTP и Gopher. В дополнение к этому программы просмотра WWW позволяют работать с файлами мультимедиа, содержащими видео и звук, посредством использования программ поддержки мультимедиа, инсталлированных на локальном компьютере.