1 курс Сети Часть 1 М.М. Степанова, каф. вычислительной физики, 2012
Литература: 1.Сидни Фейт. TCP/IP. 2-е изд. – М:Лори, Т.Ли, Дж.Дэвис. Microsoft Windows 2000.TCP/IP.Протоколы и службы.-М:ЭКОМ, Мэтью Ногл. TCP/IP. Иллюстрированный учебник. М: ДМК Пресс, В.Г. Олифер, Н.А. Олифер. Компьютерные сети. Принципы, технологии, протоколы. 4 изд. - СПб.:Питер, Межсетевое взаимодействие. Ресурсы Microsoft Windows2000 Server– М: Сети TCP/IP. Ресурсы Microsoft Windows 2000 Server. – М: Стивенс Р. Протоколы TCP/IP. – СПб:БХВ, Введение в IP-сети
Сеть – совокупность узлов, объединенных линиями связи Основное назначение: обеспечение пользователям доступа к разделяемым ресурсам всех компьютеров, объединенных в сеть Современные сети – логический результат эволюции компьютерных и телекоммуникационных технологий. Будущее – слияние не только технолгий WAN (Wide Are Network) и LAN(Local Area Network), но и любых информационных сетей – вычислительных, телефонных, телевизионных.. Введение
Немного истории Интернет 1961 Leonard Kleinrock – статья по технологии коммутации пакетов 1969 в США создана первая сеть ARPANET - интерактивная работа пользователя с удаленным узлом - передача файлов между узлами - электронная почта - протокол NCP(NetworkControlProgram) 1970 протокол TCP, Vinton Cerf & Bob Kahn ARPANET полностью переведена на TCP/IP в 1982г появилась система электронной почты , Ray Tomlinson & Larry Roberts 1983 – разработана технология Ethernet 1984 создана DNS (Domain Name System) –система преобразования IP-адресов в имена хостов и обратно UC Berkeley implements TCP/IP into Unix 4.2BSD 1984 NSFNet – создана сеть Национального научного фонда США -> Интернет В 1990г ARPANET прекратила существование Tim Berners-Lee at CERN –Протокол HTTP –Язык разметки гипертекста HTML –Опубликована первая web-страница 13 ноября 1990 –Первый web-браузер Mosaic, – папа римский Иоанн Павел II утвердил всемирный День Интернета (30 сентября) :) Get more info at:
Организация инфраструктуры Интернет Internet Backbone Maps С технической точки зрения ИНТЕРНЕТ - это объединение компьютерных сетей, которые работают по различным протоколам и используют для передачи данных все доступные типы линий связи - от телефонных до оптоволокна и спутниковых каналов. Структура: магистральная сеть (core backbone network) + автономные системы (autonomous systems, AS)
Требования к современным сетям Производительность - время реакции (отклика на запрос) - пропускная способность (бит/с, pkt/s) Надежность - интенсивность отказов и время востановления - отказоустойчивость в экстремальных условиях Расширяемость и масштабируемость Поддержка разных видов трафика Управляемость Безопасность Цель: обеспечение пользователям доступа к разделяемым ресурсам всех компьютеров, объединенных в сеть
Networking Standards Organizations Организации, которые занимаются разработкой стандартов: ISO (International Organization for Standardization) ассоциация ведущих национальных организаций разных стран IAB (Internet Architecture Board) технический контроль и координация работ IESG (Internet Engineering Steering Group ) + IETF (Internet Engineering Task Force) + IRTF (Internet Research Task Force) IEEE (Institute of Electrical and Electronic Engineers) крупнейшее инженерно- техническое общество в области электротехники и построения сетей /CSMA/CD, 802.5/Token Ring, 802.2/LLC, etc. EIA (Electronic Industries Alliance ) промышленно-торговая группа производителей сетевого оборудования TIA (Telecommunications Industry Association) - RS-232,EIA/TIA-568B etc. Стандарты – документы, содержащие технические спецификации или другие точные критерии, которые определяют, как должен быть разработан программный или аппаратный продукт
Документы RFC RFCs – Request For Comments –Большинство протоколов TCP/IP описаны в документах RFC –RFC редактируются и утверждаются Internet Engineering Steering Group (IESG) –RFC публикуются для интернет-сообщества и свободно доступны on-line Предварительными версиями документов RFC являются проекты (drafts), которые в дальнейшем могут быть утверждены в качестве стандартов. Из тысяч RFC только несколько десятков являются документами в статусе «стандарт Интернета». Список всех RFC-стандартов содержится в RFC Интернет – сеть с открытыми стандартами
Сетевое взаимодействие: процессы + хосты + сети => Нужна декомпозиция на подзадачи и реализация отдельных модулей (уровней). Конечные объекты, между которыми происходит взаимодействие по сети – процессы (или программы), работающие на разных узлах. Чтобы организовать связь двух процессов, необходимо сформировать язык их общения и определить согласованный набор правил взаимодействия (протокол). Процессы выполняются на узлах (хостах), подключенных к сети, которые могут быть расположенных далеко друг от друга. Для доставки данных между узлами нужно обеспечить единую адресацию узлов и маршрутизацию пакетов. А узлы должны выполнять доставку нужному процессу. Узлы связаны сетью, причем могут иметь подключение к сегментам с разной средой передачи. На уровне каждого физического сегмента требуется обеспечить передачу пакетов между физическими интерфейсами узлов. В целом задача организации надежной связи крайне сложна, т.к. сети содержат много различных промежуточных компонент, кроме того возможны коммуникационные проблемы (сбои, перегрузки и т.п.).
Общая концепция модели многоуровневого сетевого взаимодействия Каждый уровень несет собственную функциональную нагрузку. Для каждого уровня определены: Service: что делает уровень? - функции уровня Service interface: как получить доступ к уровню? - интерфейс для выше/ниже лежащих уровней Protocol (peer interface): как взаимодействуют одинаковые уровни разных узлов? - набор правил и форматов сообщений, которые регулируют обмен данными между двумя одинаковыми уровнями Process Transport Network Data Link Process Transport Network Data Link Interface Peer-to-peer Protocols Согласованный набор протоколов разных уровней, достаточный для организации межсетевого взаимодействия, называется стеком протоколов
OSI (Open Systems Interconnect) Reference Model (ISO 7498) Application Presentation Session Transport Network Data Link Physical Application Presentation Session Transport Network Data Link Physical Data Physical media Модель OSI – опорная база для классификации и сопоставления стеков протоколов. Разработана в 1984г Международной Организацией по стандартам (ISO). Имеет 7 уровней. Уровни могут быть реализованы в программном, программно- аппаратном и аппаратном виде. Инкапсуляция: При продвижении данных каждый уровень формирует пакет, состоящий из данных вышележащего уровня + свой заголовок. Обработка: Обратная процедура – каждый уровень обрабатывает и удаляет свой заголовок и передает пакет вышележащему уровню.
Функции уровней УровеньФункции Application Layer (Прикладной) протоколы взаимодействия прикладных процессов Presentation Layer (Преставления) обеспечивает согласование представления (форматов, кодировок) данных прикладных процессов; может выполнять шифрование/дешифрацию и сжатие данных Session Layer (Сеансовый) установка, поддержка и закрытие логического сеанса связи между удаленными процессами, поддержка сеанса во время неактивности. */ На практике этот уровень в явном виде реализуется редко. Transport Layer (Транспортный) обеспечивает обмен потоками данных между процессами с требуемой степенью надежности доставки; два типа передачи: с предварительной установкой соединения и без установки соединения Network Layer (Сетевой) служит для образования единой транспортной системы для сегментов с различными принципами передачи между узлами. адресация в сети; маршрутизация и передача дейтаграмм по сети; фрагментация и сборка передаваемых данных. Data Link Layer (Канальный) обеспечение связи между сетевым ПО и оборудованием; управление доступом к среде передачи; передача фреймов по каналу; обнаружение и коррекция ошибок в канале Physical (Физический) физический интерфейс с каналом передачи; определяет тип и характеристики среды передачи и сигналов; режим передачи (симплексный, полудуплескный или дуплексный)
Стек TCP/IP Media Access Control Ethernet 802.3, Token Ring 802.5, Wireless , X.25, PPP, etc. User Datagram Protocol (UDP) RFC 768 ~ connectionless transport ~ Transmission Control Protocol (TCP) RFC 793 ~ connection-oriented transport ~ Application-Layer Protocols ~ such as SNMP, telnet, FTP, HTTP, POP3, etc. ~ Application Transport Network Data Link ARP Internet Control Messaging Protocol (ICMP) RFC 792 Internet Protocol version 4 (IPv4) RFC 791 RARP Application Presentation Session Transport Network DataLink Physical OSITCP/IP */ Уровень доступа к среде передачи (DataLink), как и физический, формально в TCP/IP не регламентируется, но в реализациях стека поддерживаются все популярные технологии.
Инкапсуляция сетевых пакетов
Уровни адресации 3Адрес транспортного уровня Port (+ тип протокола tcp/udp) -адресует конкретный удаленный процесс на узле 443/tcp 2Адрес сетевого уровня IP узла-получателя -обеспечивает маршрутизацию и передачу в удаленные сети Адрес канального уровня MAC сетевого интерфейса - обеспечивает доставку в рамках физического сегмента (канала) 00:12:e3:7f:34:1a Для однозначной доставки дейтаграммы требуется: */ MAC адрес определяется автоматически на каждом этапе пересылки между шлюзами
Формирование пакета стеком ТСP/IP + Ethernet Header MAC_dst: 00:e0:f9:23:a8:20 MAC_src: 00:12:e3:7f:34:1a Type: 0x800(ip) + IP Header IP_dst: IP_src: Proto: 0x06(tcp) + TCP Header Port_dst: 80 Port_src: HTTP Data GET / HTTP/1.1 \r\n Host: header lines..
00e0 f923 a820 00a e c 9d bff 808f f b b e b4 Как выглядит реальный пакет? Гораздо интереснее посмотреть живьем, например, анализатором трафика Wireshark… Dump (HEX):
Next О средах передачи, типах сетевого оборудования, технологиях канального уровня LAN (Еthernet и др.) см. презентации Ethernet+TokenRing.ppt Media+HW.ppt На канальном уровне обеспечивается передача между сетевыми интерфейсами узлов, находящихся в одном физическом сегменте сети. Для адресации интерфейса используется его 48-битный MAC-адрес. Если пакет предназначен узлу, находящемуся в том же сегменте, то используется MAC этого узла. Если пакет предназначен узлу из другой сети, то пакет должен быть передан на маршрутизатор – соответственно, используется MAC интерфейса маршрутизатора. Отображение IP-адресов на MAC-адреса осуществляется с помощью протокола ARP. ( Не обязательно, но при желании с деталями работы ARP можно ознакомиться по ARP ppt ) Далее кратко рассматриваются основы работы сетевого и транспортного уровня стека TCP/IP, а также назначение базовых протоколов прикладного уровня.
Ключевые функции сетевого уровня Глобальная адресация Маршрутизация Фрагментация и сборка пакетов Все эти функции реализуются в протоколе IPv4
Уникальная адресация узлов допускает связь между конечными станциями: Выбор пути следования пакета определяется адресом узла назначения. Каждый роутер выполняет маршрутизацию пакетов на основе таблицы маршрутизации, в которой всем IP-сетям/адресам cопоставлен свой маршрут и интерфейс для передачи. Introduction to TCP/IP Addresses Host Company A Company B Internet
IP Addresses IP адрес – логический адрес (не физический, как MAC!) Каждый узел должен иметь уникальный IP адрес Выделением IP адресов в глобальном адресном пространстве занимается ICАNN (Internet Corporation for Assigned Names and Numbers), в регионах RIR (Regional Internet Registry, существует 5 штук). Россия относится к региону RIPE NCC - независимая некоммерческая организация для Европы, которая поддерживает инфраструктуру Интернет посредством технической координации. Подробнее Адрес IPv4: 32 bits Decimal: Binary: HEX: C Е. 28 IP адрес включает net ID и host ID
IP Address Classes 1 – 127 Range of first octet:
Special adresses network address (адрес сети) limited broadcast (пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета) broadcast (пакет, имеющий такой адрес рассылается всем узлам сети с заданным номером) Loopback interface: – Network Network
Broadcast Addresses (Directed broadcast) (Local network broadcast) X
Private networks Эти адреса не маршрутизируются на уровне Интернет и предназначены для использования только в пределах локальной сети: A: B: – C: – Эти адреса зарезервированы для автоматического назначения динамических приватных адресов (DHCP) : –
NAT: Network Address Translation Сетевая трансляция адресов – удобный способ обеспечить доступ к Интернет узлам LAN с приватными адресами. Обоснование: локальная сеть использует один внешний адрес для работы с внешним миром: –Нет необходимости в аренде большого количества адресов у провайдера для каждого устройства –Можно легко переходить на работу с другим провайдером, без переконфигурирования LAN –Безопасность: устройства внутренней сети не адресуются (не видимы) снаружи.
NAT: Принцип работы S: , 3345 D: , : host sends datagram to , 80 NAT translation table WAN side addr LAN side addr , , 3345 …… S: , 80 D: , S: , 5001 D: , : NAT router changes datagram source addr from , 3345 to , 5001, updates table S: , 80 D: , : Reply arrives dest. address: , : NAT router changes datagram dest addr from , 5001 to , 3345
Бесклассовая адресация. Subnetting. Mask. Причина перехода к бесклассовой адресации – неравномерность распределения IP-адресов. Потребность в небольших сетях (класса С) оказалась гораздо больше, чем предполагалось. Граница подсети может приходиться на любой из 32 бит в IP адресе Задается маской подсети В маске сетевая часть адреса заполнена единицами, узловая нулями, пример: Другой способ записи: адрес_сети / число_бит_net_ID, пример: /27 Маска: в десятичной форме : / 28 Неизменяемая часть (подсеть) Изменяемая часть (узел) Количество единиц в маске
Маршрутизация (routing) Для доставки дейтаграммы по назначению обычно требуется передать ее через несколько промежуточных узлов по тому или иному маршруту. Задача определения маршрута решается модулем IP. Процедура маршрутизации состоит в определении следующего узла в пути следования и пересылке ему дейтаграммы. ! Задачу маршрутизации решает каждый узел (не только роутер). Разница между обычным компьютером и роутером лишь в том, что последний может передавать чужие дейтаграммы с одного интерфейса на другой ! Модуль IP, на узле получившем дейтаграмму, анализирует IP-адрес назначения если этот адрес совпадает с собственным адресом узла, то дейтаграмма передается на обработку транспортному уровню; если адрес чужой, и он не попадает под правила фильтрации (firewall), то просматривается таблица маршрутизации (routing table). Из нее определяется а) следующий узел следования, которому будет передана дейтаграмма; б) интерфейс, через который она будет отправлена. Далее выясняется MAC-адрес следующего узла (с помощью ARP-протокола) и дейтаграмма передается канальный уровень для отправки.
Обработка дейтаграмм IP-модулем
IP Fragmentation & Reassembly Разные сети имеют различный максимальный размер передаваемого блока данных MTU (Max.Transfer Unit). Он определяется средой передачи и технологией канального уровня, которая используется в конкретной сети. При передаче из среды с большим MTU в среду с меньшим MTU может потребоваться фрагментация – разбиение исходного пакета на несколько мелких. Такие фрагменты передаются дальше независимо, сборка осуществляется на узле-получателе. fragmentation: in: one large datagram out: 3 smaller datagrams reassembly MTU Ethernet Hader IP HeaderTCP HeaderDATAEternet Trailer MSS
Протокол IPv6 IPv6 – следующее поколение протокола IP. Основная мотивация для его создания - 32-битное адресное пространство почти исчерпано. В IPv6 используются 128-битные адреса, что с избытком закрывает вопрос дефицита адресов Дополнительные изменения: –изменен формат заголовка, что существенно ускоряет обработку и маршрутизацию пакетов; –не будет использоваться фрагментация пакетов по пути следования – на основании алгоритма Path MTU Discovery отправитель будет изначально выяснять минимальный MTU и отправлять пакеты соответствующего размера; –Протокол содержит встроенные средства безопасности, а именно в него интегрированы AH и IPSec, что позволяет использовать механизмы аутентификации и шифрования. См. далее 2-12.ppt