Образовательный комплекс Компьютерные сети Лекция 10 Обзор TCP/IP
Содержание Обзор архитектуры TCP/IP История возникновения Основные понятия Уровни архитектуры 2 из 33
TCP/IP История 1970-е гг. – группа американских исследователей предложило понятие "интерсеть" и попытались определить набор протоколов, позволяющих организовать взаимодействие приложений вне зависимости от типа физической среды, технологии передачи и операционной системы Работы проводились по заказу Defense Advanced Research Projects Agency (DARPA) и привели к созданию сети, объединяющей ряд учреждений Министерства Обороны США – ARPANET В качестве основного протокола использовался NCP 1978 г. – разработан стек протоколов TCP/IP 1980 г. – начинается перевод ARPANET на TCP/IP 1983 г. – принят стандарт для протоколов TCP/IP (военный стандарт), с этого момента все узлы ARPANET должны поддерживать стек протоколов TCP/IP в 1983 г. вышел BSD UNIX (Berkley Software Distribution), включающий в себя реализацию TCP/IP 1989 г. – ARPANET соединился с NSFNET, что и стало прообразом современного Интернета 3 из 33
TCP/IP Организационные структуры Интернет Internet Society (ISOC) Internet Architecture Board (IAB) Internet Engineering Steering Group (IESG) Internet Engineering Task Force (IETF) Internet Research Steering Group (IRSG) Internet Research Task Force (IRTF) Internet Corporation for Assigned Names and Numbers (ICANN) Internet Assigned Numbers Authority (IANA) 4 из 33
TCP/IP Организационные структуры Интернет Internet Society (ISOC) – профессиональное сообщество, которое занимается общими вопросами эволюции и роста Internet Internet Architecture Board (IAB) – техническая наблюдательная группа ISOC (координирует направление исследований и новых разработок для стека TCP/IP и является конечной инстанцией при определении новых стандартов Internet) Internet Engineering Task Force (IETF) – инженерная группа, которая занимается решением наиболее актуальных технических проблем Интернет и определяет спецификации, которые затем становятся стандартами Интернет Internet Engineering Steering Group (IESG) – управляющая структура IETF 5 из 33
TCP/IP Организационные структуры Интернет Internet Research Task Force (IRTF) – координирует долгосрочные исследовательские проекты по протоколам TCP/IP Internet Research Steering Group (IRSG) – управляющая структура IRTF Internet Corporation for Assigned Names and Numbers (ICANN) – обеспечение универсальных возможностей связи в Интернете, надзор и координация адресного пространства IP и DNS Internet Assigned Numbers Authority (IANA) – надзор за выделением IP-адресов, управление системой DNS (все доменные имена выдаются от имени IANA или делегированных регистраторов) 6 из 33
TCP/IP Стандарты Стандарты Интернет оформляются и публикуются в виде RFC (Request For Comments) В настоящее время первичную публикацию RFC выполняет IETF Рассматриваемые протоколы имеют состояние и статус Состояния: Стандартный, Предварительный, Предлагаемый, Экспериментальный, Ознакомительный, Устаревший Статус: Обязательный, Рекомендуемый, Выбираемый, Ограниченного использования, Нерекомендуемый 7 из 33
TCP/IP Архитектура TCP/IP использует 4-уровневую архитектуру и содержит следующие уровни Прикладной Хост-Хост Межсетевой Доступ к сети 8 из 33 Прикладной Хост-Хост Межсетевой Доступ к сети
TCP/IP Архитектура На рисунке представлено сравнительное местоположение уровней TCP/IP и уровней ISO/OSI Учтите, мы сравниваем местоположение уровней, а не выполняемые ими функции! 9 из 33 Прикладной Хост-Хост Межсетевой Доступ к сети Прикладной Представления Сессии Транспортный Сетевой Канальный Физический
TCP/IP Уровень доступа к сети Обе модели (TCP/IP и ISO/OSI) могут использовать различные протоколы для передачи между узлами в сети Модель TCP/IP изначально разрабатывалась для работы в сетях с различными технологиями, поэтому она определяет требования к технологии передачи Как правило, не требуется много усилий для того, чтобы реализовать поддержку TCP/IP в новой технологии Если технология поддерживает определение типа вышележащего протокола, TCP/IP может использовать ее совместно с другими протоколами 10 из 33 Доступ к сети Канальный Физический
TCP/IP Уровень доступа к сети 11 из 33 Прикладной Хост-Хост Межсетевой EthernetToken RingFDDIFrame RelaySLIPPPPATM
TCP/IP Межсетевой уровень Основная функция межсетевого уровня – доставка пакета от узла-отправителя до узла-получателя через несколько физических сетей (маршрутизация) Основным протоколом межсетевого уровня в архитектуре TCP/IP является Internet Protocol (IP) 12 из 33 Межсетевой Доступ к сети Сетевой Канальный Физический
TCP/IP Межсетевой уровень IP – это ненадежный, максимально обеспеченный, датаграммный пакетный протокол IP обеспечивает 3 важнейшие функции Определяет основную единицу передачи данных в интерсети. Любые другие данные межсетевого и вышележащих уровней инкапсулируются в IP-пакеты Выполняет функцию маршрутизации Включает правила ненадежной доставки, которые определяют, как хосты и маршрутизаторы должны обрабатывать пакеты, и при каких условиях можно уничтожать пакет IP использует IP-адреса, состоящие из двух частей: адреса сети и адреса узла в сети Адрес сети уникален и назначается IANA 13 из 33
TCP/IP Межсетевой уровень IP не ожидает от нижележащих протоколов ничего кроме возможности доставки пакетов к адресуемому узлу IP не добавляет надежности IP-пакеты (датаграммы) могут потеряться, продуплицироваться, поменять порядок следования не исправляет ошибки не выполняет контроль трафика 14 из 33
TCP/IP Межсетевой уровень 15 из 33 Прикладной Хост-Хост IP EthernetToken RingFDDIFrame RelaySLIPPPPATM
TCP/IP Уровень Хост-Хост Главная задачи транспортного уровня – обеспечение взаимодействия одной программы с другой В архитектуре TCP/IP определены два протокола уровня Хост-Хост Transmission Control Protocol (TCP) User Datagram Protocol (UDP) 16 из 33 Межсетевой Доступ к сети Сетевой Канальный Физический Хост-Хост Транспортный
TCP/IP Уровень Хост-Хост UDP – ненадежный датаграммный протокол Обеспечивает прикладным программам возможность посылать данные другим программам с минимальными накладными расходами Не добавляет надежности нижележащим уровням Не выполняет контроль трафика Приложения, требующие надежной доставки потоков данных, должны использовать TCP 17 из 33
TCP/IP Уровень Хост-Хост TCP – протокол, обеспечивающий сервис, ориентированный на соединение, для пары взаимодействующих процессов, и включающий надежность, контроль трафика и исправление ошибок 18 из 33
TCP/IP Уровень Хост-Хост Функции TCP Передача потоков данных С точки зрения взаимодействующих приложений, TCP передает непрерывный поток данных через интерсеть Надежность TCP присваивает порядковый номер каждому передаваемому байту и ожидает подтверждения приема от принимающего модуля TCP. Если в течение некоторого временного интервала подтверждение не поступает, данные посылаются повторно 19 из 33
TCP/IP Уровень Хост-Хост Функции TCP Управление потоком (контроль трафика) Принимающий модуль TCP вместе с подтверждением о приеме посылает количество байт, которое он готов принять Размер приемного буфера приемника определяется в момент установления соединения, но может быть изменен динамически Исправление ошибок При принятии пакета, содержащего ошибку, считается, что все байты, начиная с первого байта ошибочного пакета, приняты неправильно и их прием не подтверждается 20 из 33
TCP/IP Уровень Хост-Хост Функции TCP Тайм-ауты Тайм-аут – это временной интервал, по истечении которого выполняется повторная передача данных в случае отсутствия подтверждения TCP динамически корректирует величины тайм-аутов, проверяя время круговой задержки Мультиплексирование Обеспечивается посредством механизма портов Логические соединения При установлении соединения образуется сущность, включающая адреса сокетов принимающего и передающего процессов, порядковые номера и размеры окон, и называемая логическим соединением Поток данных передаются в рамках установленного логического соединения Два процесса могут создать для связи друг с другом несколько логических соединений 21 из 33
TCP/IP Уровень Хост-Хост 22 из 33 Прикладной TCP IP EthernetToken RingFDDIFrame RelaySLIPPPPATM UDP
TCP/IP Прикладной уровень Прикладные протоколы взаимодействуют с приложениями на других узлах сети и являются видимым для пользователя и прикладных программ интерфейсом к стеку протоколов TCP/IP 23 из 33 Прикладной Хост-Хост Межсетевой Доступ к сети Прикладной Представления Сессии Транспортный Сетевой Канальный Физический
TCP/IP Прикладной уровень Протоколы прикладного уровня Могут быть приложениями, разработанными пользователем или стандартными приложениями, входящими в реализацию стека TCP/IP Могут использовать в качестве транспортного механизма TCP либо UDP Большинство из них используют модель взаимодействия клиент-сервер На прикладном уровне отсутствуют прямые аналогии с уровнями сессии, представления и прикладным модели ISO/OSI 24 из 33
TCP/IP Прикладной уровень Базовые сервисы Должны быть включены в любую реализацию TCP/IP File Transfer Protocol (FTP) – протокол передачи файлов Обеспечивает возможность передавать файлы из одной системы в другую TELNET – терминальный доступ Позволяет запускать на выполнение команды на удаленной машине и взаимодействовать с ними посредством удаленного терминала Simple Mail Transfer Protocol (SMTP) – протокол передачи почты Обеспечивает обмен сообщениями между узлами TCP/IP 25 из 33
TCP/IP Прикладной уровень Дополнительные сервисы (десятки) Domain Name System (DNS) – доменная система имен Использование числовых IP-адресов для именования узлов затруднительно. Человеку гораздо удобнее использовать символьные имена В ранних версиях TCP/IP допускалось установление соответствия между именем узла и его IP-адресом, все соответствия перечислялись в файле Первоначально каждый узел содержал полный список всех имен и адресов узлов Затем соответствие поддерживалось IANA в файле, который мог быть загружен с любого узла Концепция доменов заключается в децентрализации механизма имен посредством распределения ответственности за домены и поддомены В настоящий момент соответствие имен IP-адресам поддерживается множеством независимых, но совместно функционирующих серверов имен 26 из 33
TCP/IP Прикладной уровень Дополнительные сервисы Network File System (NFS) – сетевая файловая система Позволяет выполнять доступ к удаленным файлам как к локальным Состоит из двух частей Сервер NFS предоставляет каталоги системы в совместное использование Клиент NFS – может организовать доступ к удаленным каталогам как к локальным 27 из 33
TCP/IP Прикладной уровень Дополнительные сервисы Simple Network Management Protocol (SNMP) – простой протокол управления сетью В настоящий момент сети TCP/IP отличаются высокой сложностью и требуют использования специальных средств управления. Протокол SNMP описывает способ управления сетью, основанный на совместном использовании Агентов сетевого управления, способных хранить информацию о состоянии и производительности и предоставлять ее по требованию Сетевых менеджеров, способных осуществлять мониторинг сети и конфигурировать агентов 28 из 33
TCP/IP Прикладной уровень 29 из 33 FTP TCP IP EthernetToken RingFDDIFrame RelaySLIPPPPATM UDP TELNETSMTPDNSNFSSNMP
Заключение TCP/IP – самый распространенный в настоящий момент стек протоколов Он имеет многоуровневую архитектуру и содержит 4 уровня В дальнейшем мы будем изучать принципы работы высокоуровневых протоколов на примере протоколов и стека TCP/IP 30 из 33
Тема следующей лекции Межсетевой уровень архитектуры TCP/IP и протокол IP 31 из 33
Литература В.Г. Олифер, Н.А. Олифер. Компьютерные сети. Принципы, технологии, протоколы. СПб: Питер, Новиков Ю.В., Кондратенко С.В. Основы локальных сетей. М: ИНТУИТ.ру, из 33