В основном в сети Интернет используется семейство
протоколов TCP/IP. Рассмотрим более подробно структуру протоколов TCP/IP с точки
зрения модели OSI.
На канальном и физическом уровнях модели OSI TCP/IP
поддерживает многие из существующих стандартов, определяющих среду передачи
данных. Это могут быть, например, технологии Ethernet и FDDI для локальных
компьютерных сетей или Х.25 и ISDN для организации крупных территориальных
сетей. На этом уровне также могут использоваться протоколы РРР и SLIP,
предназначенные для установления соединения с использованием аналоговых линий
связи.
Основой семейства протоколов TCP/IP является сетевой уровень,
представленный протоколом IP, а также различными протоколами маршрутизации. Этот
уровень предоставляет адресное пространство, обеспечивает перемещение пакетов в
сети, а также управляет их маршрутизацией.
Размеры пакета, параметры
передачи, контроль целостности осуществляются на транспортном уровне протоколом
TCP. Протокол UDP работает на том же уровне, но применяется в том случае, когда
требования к надежности передачи данных менее жесткие.
Прикладной уровень
объединяет все службы, которые система предоставляет пользователю. К наиболее
важным прикладным протоколам относятся протокол удаленного управления telnet,
протокол передачи файлов FTP, протокол передачи гипертекста HTTP, протоколы для
работы с электронной почтой: SMTP, POP, ШАР и MIME. На этом уровне работает
система доменных имен DNS, отвечающая за преобразование числовых IP-адресов в
имена. Кроме того, следует отметить протокол SNMP, предназначенный для
управления сетевыми устройствами.
11.2.1 . Адресация в сети
Интернет
Каждый компьютер, включенный в сеть Интернет, имеет
уникальный IP-адрес, на основании которого протокол IP передает пакеты в сети.
IP-адрес состоит из четырех байтов и записывается в виде четырех десятичных
чисел, разделенных точками, например:
194.85.120.66
IP-адрес состоит из
двух логических частей: номера сети и номера узла в сети. Если сеть, в которую
включен компьютер пользователя, является частью Интернета, то номер сети выдает
специальное подразделение Интернета - InterNIC (Internet Network Information
Center) или его представители. Номер узла определяет администратор сети.
В
зависимости от того, какое количество байтов в IP-адресе выделяется для номера
сети и номера узла, выделяют несколько классов IP-адресов.
Если номер сети
занимает один байт, а номер узла три байта, то такой адрес относится к классу А.
Количество узлов в сети класса А может достигать 224, или 16 777 216. Номер сети
класса А меняется в диапазоне от 1.0.0.0 до 126.0.0.0. Если под номер сети и
номер узла отводится по два байта, то адрес принадлежит к классу В. Количество
возможных узлов в сети класса В составляет 216, или 65536 узлов. Номер сети
класса В меняется от 128.0.0.0 до 191.255.0.0.
Если под номер сети отводится
три байта, то адрес принадлежит к классу С. Количество узлов в сети класса С
ограничено 28, или 256. Номер сети меняется от 192.0.1.0 до
223.255.255.0.
Например, в IP-адресе 194.85.120.66, 0.0.0.66 - это номер узла
в сети класса С с номером 194.85.120.0.
Существует несколько специальных
IP-адресов. Так, например, адрес 127.0.0.1 определяет локальную машину
пользователя и используется для тестирования различных программ. При этом данные
по сети не передаются.
11.2.2. Протокол IP
Протокол
IP представляет собой основу протоколов TCP/IP. Протокол IP относится к типу
протоколов без установления соединения, то есть - никакой управляющей информации
кроме той, что содержится в самом IP-пакете, по сети не передается. Кроме того,
протокол IP не гарантирует надежной доставки сообщений.
Поток данных протокол
IP разбивает на определенные части - дейтаграммы и рассматривает каждую
дейтаграмму как независимую единицу, не имеющую связи с другими дейтаграммами.
Дейтаграмма - общее название единицы данных, которыми оперируют протоколы без
установления соединения. Основной задачей протокола IP является передача
дейтаграмм между сетями. Часто дейтаграммы, передаваемые с помощью протокола IP,
называют IP-пакетами.
11.2.3. Протокол TCP/IP
Так
как протокол IP не гарантирует надежную доставку сообщений, эту задачу решает
протокол TCP. В отличие от протокола IP, протокол TCP устанавливает логическое
соединение между взаимодействующими процессами. Перед передачей данных
посылается запрос на начало сеанса передачи, получателем посылается
подтверждение.
Надежность протокола TCP заключается в том, что источник
данных повторяет их посылку в том случае, если не получит в определенный
промежуток времени от адресата подтверждения их успешного получения. Части, на
которые протокол TCP разбивает поток данных, принято называть
сегментами,
Каждый сегмент предваряется заголовком. В заголовке сегмента
существует поле контрольной суммы. Если при пересылке данные повреждены, то по
контрольной сумме протокол TCP может это определить. Поврежденный сегмент
уничтожается, а источнику ничего не посылается. Если данные не были повреждены,
то они пропускаются на сборку сообщения приложения, а источнику отправляется
подтверждение.
Для транспортировки сегментов протокол TCP использует протокол
IP. Перед отправкой протокол TCP помещает сегменты в оболочку IP-пакета.
11.2.4. Порты и
соединения
Задача протокола TCP заключается в передаче данных
между любыми прикладными процессами, выполняющимися на компьютерах в сети. На
каждом компьютере может выполняться одновременно несколько процессов. Для того
чтобы доставить сообщение определенному процессу, необходимо каким-то образом
идентифицировать его среди других. Идентификатор процесса носит название номера
порта. Номер порта и IP-адрес компьютера однозначно определяют процесс,
работающий в сети. Набор этих параметров называется сокет.
За некоторыми
процессами номера портов закреплены. Так, например, порт 21 закреплен за службой
удаленного доступа к файлам FTP, порт 23 - за службой удаленного управления
telnet.
Для организации надежной передачи данных предусматривается
установление логического соединения между прикладными процессами, которое
определяется парой сокетов взаимодействующих процессов. В процессе соединения
осуществляется подтверждение правильности приема сообщений и при необходимости
выполняется повторная передача.
11.2.5. Система доменных имен
DNS
Человеку крайне неудобно использовать числовые IP-адреса,
поэтому логичным представляется создание механизма', позволяющего ставить в
соответствие IP-адресам символьные имена. В сети Интернет для этой цели
используется система доменных имен (DNS), которая имеет иерархическую структуру.
Младшая часть доменного имени соответствует конечному узлу сети. Составные части
отделяются друг от друга точкой. Например, mail.econ.pu.ru. У одного узла может
быть несколько имен.
Совокупность имен, у которых несколько старших частей
доменного имени совпадают, называется доменом. Например, имена mail.econ.pu.ru и
www.econ.pu.ru принадлежат домену econ.pu.ru.
Самым главным является корневой
домен. Далее следуют домены первого, второго и третьего уровней. Корневой домен
управляется InterNIC. Домены первого уровня назначаются для каждой страны, при
этом принято использовать трехбуквенные и двухбуквенные аббревиатуры. Так,
например, для России домен первого уровня - ru, для США - us. Кроме того,
несколько имен доменов первого уровня закреплено для различных типов
организаций:
com - коммерческие организации (например, ibm.com);
edu -
образовательные организации (например, spb.edu);
gov - правительственные
организации (например, loc.gov);
org - некоммерческие организации (например,
w3.org);
net - организации, поддерживающие сети (например, ripn.net);
Для
каждого имени домена создается свой DNS-сервер, который хранит базу данных
соответствий IP-адресов и доменных имен, расположенных в данном домене, а также
содержит ссылки на DNS-серверы доменов нижнего уровня. Таким образом, для того
чтобы получить адрес компьютера по его доменному имени, приложению достаточно
обратиться к DNS-серверу корневого домена, а тот, в свою очередь, перешлет
запрос DNS-серверу домена нижнего уровня. Благодаря такой организации системы
доменных имен нагрузка по разрешению имен равномерно распределяется среди
DNS-серверов.