Сетевое взаимодействие на основе протоколов семейства TCP/IP Протоколы IP и TCP разработаны при построении исследовательской сети ARPANET (1969 г.). ARPANET была построена управлением перспективного планирования научно исследовательских работ DARPA (Defense Advanced Research Project Agency) финансируемым министерством обороны США. В 70-х годах сеть в основном использовалась для пересылки электронной почты, организации новостных групп и досок объявлений. В 1973 году к сети были первые иностранные организации из Великобритании и Норвегии. TCP/IP – Transmission Control Protocol/Internet Protocol.
C 1983 г. IP стал единственным официальным протоколом ARPANET (до этого также использовался протокол NCP). В 1984 году была разработана система доменных имён. В 70-х годах, Национальный научный фонд США (NFS) на базе ARPANET профинансировал создание сети NSFNET (National Science Foundation) объединявшей сети крупнейших университетов США. Причина создания сети – контроль ARPANET министерством обороны США. В 1989 г. британский учёный Тим Бернерс-Ли разработал концепцию WWW, он же разработал первые спецификации протокола HTTP и языка HTML. В 1990 г. сеть ARPANET перестала существовать став частью NSFNet. В 1993 г. появился первый веб-браузер NCSA Mosaic. В 1997 г. к Интернет подключено ~ компьютеров.
Рунет В 1990 г. научная сеть Института атомной энергии им. И. В. Курчатова и ИПК Минавтопрома подсоединена к сетью Интернет. В 1990 года в InterNIC зарегистрирован домен первого уровня su. В 1994 года в InterNIC зарегистрирован российский домен ru.
Технические спецификации и стандарты Интернет описываются в документах называемых Запрос на обсуждение (Request For Comments, RFC). Принятие стандартов и их публикацию контролирует инженерная группа по развитию интернета (Internet Engineering Task Force, IETF). RFC публикуются в репозитариях InterNIC и RIPE. Ссылки: База данных RFC: Cтатус стандартизации RFC: Стандарты Интернет
Прикладной Транспортный Сетевой Прикладной Транспортный Сетевой Уровень сетевых интерфейсов Модель стека протоколов TCP/IP Уровень сетевых интерфейсов
Уровень сетевых интерфейсов обеспечивает объединение в составную сеть сетей, построенных на локальных технологиях. Основная функция этого уровня: упаковка IP-пакетов в кадры технологий локальных и глобальных сетей. Уровень сетевых интерфейсов
Межсетевой уровень (Интернет- уровень) Межсетевой уровень отвечает за выбор маршрута продвижения пакетов и передачу пакетов без установления соединения (дейтаграммным способом). Виды протоколов: 1. Основной протокол IP – обеспечивает передачу пакетов между узлами составной сети дейтаграммным способом; 2. Протоколы маршрутизации – предназначены для обмена маршрутизаторами информацией о конфигурации сети. Примеры: BGP, EIGRP, IS-IS, OSPF, RIP; 3. Межсетевой протокол управления группами IGMP; 4. Межсетевой протокол передачи управляющих сообщений ICMP;
В настоящее время наиболее распространенным протоколом для организации межсетевого взаимодействия является IP (Internet Protocol) протокол версии 4 (IPv4). Постепенно внедряется IP протокол версии 6 (IPv6)
Транспортный (основной) уровень Транспортный уровень предназначен для передачи данных между прикладными процессами. В зависимости от требований предъявляемых к качеству передачи, протоколы транспортного уровня могут обеспечивать доставку данных или дейтаграммным способом или с использованием механизмов надежной доставки. Протоколы: 1. Протокол управления передачей TCP (Transmission Control Protocol) – обеспечивает надежную передачу сообщений между удаленными прикладными процессами. Для реализации надежной доставки используются логические соединения, контроль целостности передаваемых данных, контроль доставки данных и управление потоком передаваемых данных (RFC 793); 2. Протокол пользовательских дейтаграмм UDP (User Datagram Protocol) – обеспечивает передачу данных дейтаграммным способом, выполняет функции связующего звена между сетевым уровнем и прикладными процессами.
Прикладной уровень предоставляет приложениям высокоуровневые протоколы обеспечивающие преобразование форматов передаваемых данных, поддержку сессий взаимодействия прикладных процессов, доступ к стандартным сетевым службам и.т.д. Сетевые службы строятся на основе архитектуры клиент-сервер. Примеры протоколов: : DNS, FTP, HTTP, IMAP, POP3, SNMP, SMTP, SSH, Telnet, LDAP. Прикладной уровень
IP-протокол Основная функция IP-протокола – передача пакетов между узлами составной сети дейтаграммным способом. Протокол обеспечивает доставку пакетов между узлами сети без установления соединения, контроля доставки, контроля целостности данных и управления потоком пакетов (протокол не гарантирует надежную доставку пакета). Единицей передачи данных в IP-протоколе является IP-пакет. IP- пакет состоит из заголовка и поля данных. Заголовок может иметь размер от 20 до 60 байт и содержит служебную информацию IP- протокола. Поле данных содержит передаваемые данные.
Формат заголовка IP-пакета Версия (4 бит) Длина (4 бит) Диф. обслуживание (8 бит) Длина пакета (16 бит) Идентификатор пакета (16 бит) Флаги (3 бита) Смещение фрагмента (13 бит) Время жизни (8 бит) Протокол (8 бит) Контрольная сумма заголовка (16 бит) IP-адрес источника (32 бита) IP-адрес получателя (32 бита) Опции (переменная длина) Заполнение (переменная длина)
Версия (4 бита) - указатель версии IP–протокола. В настоящее время наибольшее распространение получил протокол IP версии 4 (IPv4). Длина (4 бита) - длина заголовка пакета, измеренная в 32 битных словах. Обычно заголовок имеет длину 20 байт, но может быть увеличен до 60 байт. Дифференцированное обслуживание(8 бит) – поле предназначено для указания приоритета пакета и критерия выбора маршрута. В соответствии с RFC 791 до 1998 г. это поле называлось Тип сервиса, в RFC 2474 было принято новое название Дифференцированное обслуживание.
Длина пакета (2 байта) - общая длина пакета => длина пакета ограничена байтами. В большинстве сетей используются пакеты длиной 1500 байт (максимальный размер поля данных кадра Ethernet). Идентификатор пакета (2 байта) - используется для указания IP- пакетов, являющихся фрагментами некоторого исходного IP-пакета. Все фрагменты одного пакета имеют одинаковое значение этого поля. Флаги - используется для указания признаков фрагментации пакета. Длина поля 3 бита Смещение фрагмента (13 бит)- используется для указания смещения поля данных пакета, являющегося фрагментом другого пакета. Смещение указывается от начала поля данных исходного пакета.
Время жизни (8 бит) - в этом поле указывается максимальное время перемещения пакета по сети. Время жизни измеряется в секундах и определяется источником пакета. Протокол (8 бит) - указатель на протокол верхнего уровня, которому должны быть переданы данные из поля данных пакета. Контрольная сумма заголовка (16 бит) - значение контрольной суммы заголовка пакета, контрольная сумма пересчитывается каждым маршрутизатором. IP адрес источника (32 бита) - адрес узла, отправившего пакет.
IP адрес получателя (32 бита) - адрес узла, которому предназначен пакет. Опции - это поле предназначено для указания дополнительных параметров передачи пакета или для записи информации об маршруте прохождения пакета. Поле является необязательным и используется, обычно, только при отладке сети. Выравнивание - используется для выравнивания заголовка пакета по 32-битной границе (поле заполняется нулями).
Адресация в IP сетях В стеке протоколов TCP/IP используются три типа адресов: Локальные (аппаратные) – адреса, используемые локальными технологиями для доставки пакетов в пределах подсети. IP-адреса – адреса межсетевого уровня, используемые для идентификации сетевых интерфейсов интерсети. Символьные доменные адреса - используются для присвоения сетевым интерфейсам легко запоминаемых символьных имен.
IP-адреса – адреса межсетевого уровня, используемые для идентификации сетевых интерфейсов интерсети. На основе IP- адресов организуется универсальная, не зависящая от локальных технологий идентификация сетевых интерфейсов интерсети. В заголовке IP пакета для IP-адресов выделяется 32 бита (4 байта). Примеры записи IP адресов: Десятичная: (байты адреса разделяют точкой) Двоичная: Шестнадцатеричная: DB11199D Замечание: IP-адреса назначаются не узлам сети, а сетевым интерфейсам, например, если узел имеет несколько сетевых интерфейсов, ему будут соответствовать несколько IP-адресов. IP - адреса
IP-адреса состоят из двух частей – номера сети и номера узла. Номер сети идентифицирует в интерсети подсеть, к которой принадлежит узел, номер узла однозначно определяет узел внутри подсети. Для разделения IP-адреса на части используют две схемы: 1.на основе классов адресов, 2.на основе масок. Разделение IP-адреса на номер сети и номер узла
Первый бит равен 0: адрес класса A, первый байт адреса - номер сети, остальные три - номера узла (кол-во адресов в сети 2 24 ). Адреса: – Первые биты равны 10: адрес класса В, первые два байта - номер сети, остальные - номер узла (кол-во адресов в сети 2 16 ). Адреса: Первые биты равны 110: адрес класса C, первые три байта - номера сети, последний байт - номера узла (кол-во адресов в сети 2 8 ). Адреса: – Первые биты равны 1110 – адреса мультикаст (multicast), предназначены для адресации группы узлов. Адреса: – Традиционная схема разделения IP адреса на номер сети и номер узла основана на понятии класса, определяемого значениями нескольких первых бит адреса. Разделение IP-адреса на номер сети и номер узла, на основе на классов
В записи номера (адреса) сети, соответствующие номеру узла биты заменяют нулями. В записи номера узла, нулями заменяют биты, соответствующие номеру сети. Пример 1 IP-адрес ( ) Поскольку первые биты = 110, следовательно это адрес класса C. Номер сети , Номер узла Пример 2 IP-адрес ( ) Поскольку первый бит = 0, следовательно это адрес класса A, Номер сети Номер узла Запись номера сети и номера узла
Номеру сети соответствует блок адресов с одинаковым префиксом (одинаковой старшей частью) определяемым классом. Пример 1 Номер сети Этот номер соответствует классу C, соответствующий блок адресов – Пример 2 Номер сети Этот номер класса A, соответствующий блок адресов – Соответствие номерам сетей блоков адресов
IP-адреса назначаются не узлам сети, а сетевым интерфейсам, например, если узел имеет несколько сетевых интерфейсов, ему будут соответствовать несколько IP-адресов. Способы назначения адресов интерфейсам: 1.Администратором (вручную) с помощью утилит конфигурирования ОС (в Windows XP - утилита netsh, в *nix системах - утилита ifconfig) ; 2.Автоматически с помощью протокола динамического конфигурирования хостов DHCP (Dynamic Host Configuration Prorocol, RFC 2131). Назначение IP-адресов
Интерфейсам подсети (локальной сети) назначаются адреса имеющие одинаковый номер сети. коммутатор 1 маршрутизатор коммутатор N 1 = N 2 = Две локальных сети Lan1 и Lan2 соединены с помощью маршрутизатора. В Lan1 используются адреса с номером сети N 1 = (класс C), в Lan2 используются адреса с номером сети N 2 = (класс C). LAN1 LAN2
Неэффективность адресации на основе классов Для большинства средних организаций блок адресов класса C (256 адресов) слишком мал, а блок класса B (65534 адресов) слишком велик. Как показали исследования, в большинстве организаций которым выделены блоки адресов класса B, для адресации узлов используются менее половины адресов. Возможные пути решения проблемы: 1.Увеличить кол-во бит выделяемых для номера сети в классах A, B. Например в классе B выделить под номер сети бит. 2.Использовать схему адресации в которой для номера сети можно использовать произвольное кол-во бит.