Интернет: модель и основные принципы построения Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. Организация компьютерной сети с точки зрения приложения СПД Введение в компьютерные сети чл.корр. РАН Смелянский Р.Л. 06.09.2023 2 Примеры сетевых приложений Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. Кафедра АСВК ф-т ВМК МГУ Сетевые приложения: абстракция Internet • Чтение/запись данных через сеть Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. Web browser, Web server Skype clients, Skype server, Rendezvoused, Rely Servers Bit Torrent clients, Trecker • Основная модель: TCP поток байтов • IP – доставляет байты по возможности 06.09.2023 4 FTP = File Transfer Protocol Internet Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 5 Модель «Поток байтов» • Наиболее распространенная сегодня модель взаимодействия приложений (есть и другие: дейтаграммы, потоки реального времени и т.п.) • Это абстракция Интернета – «труба» между двумя процессами (поверх ненадежного, ‘best-effort’ Internet) • TCP протокол • Примеры разных приложений o World Wide Web o Skype o Bit Torrent Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 6 Пример: передача файла • Формат данных Разбиение на пакеты A • Надёжность и • обнаружение ошибок • Управление потоком и перегрузки • Маршрутизация пакета • Передача пакета • Кадры, сигналы и модуляция Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. B Как это все реализовать? 06.09.2023 7 Разбиение на уровни • Разделить процесс передачи на малое число небольших, хорошо определенных компонентов • Очередной компонент строиться над предыдущим – это иерархия уровней • Каждый уровень имеет: – строго определенный интерфейс с нижележащим и вышележащим уровнями – набор сервисов, которые может использовать вышележащий уровень • Каждый уровень независим от других Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 8 4-х уровневая модель Интернета Application Transport Network Link Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 9 Взаимодействие одноименных уровней A Header frame Header package Header segment B тело Application Application Transport Transport Network Network Link Network Link Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. Network Link Link 06.09.2023 10 Инкапсуляция Header frame Header package Header segment B тело Application Transport Network Network Link Link Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 11 Взаимодействие одноименных уровней A B Application Application Transport Transport Network Network Link Network Link Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. Network Link Link 06.09.2023 12 4-х уровневая модель Интернета Application Transport Network Link Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 13 4-х уровневая модель Интернета Application Application Transport Transport Network Network Link Link Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 14 Где «работают» разные уровни ? Application User space Socket API Transport Operating System Network Link Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 15 4-х уровневая модель Source End-Host Destination End-Host Application Application Transport Router Router Transport Network Network Network Network Link Link Link Link Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 16 4-х уровневая модель Интернета: summary Application • Двунаправленный надежный поток байтов между приложениями, использующий специфику приложений Transport • Гарантирует порядок доставки. Преодолевает перегрузки Network • Доставляет дейтаграммы по возможности. • Не гарантирует доставку. • Использует только протокол IP • Доставляет данные по линии между end-host и router или между routers. Link Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 17 IP – это «талия» Интернета Application Transport Network Link Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. http smtp TCP ssh ftp UDP RTP … IP Ethernet WiFi DSL 3G … 06.09.2023 18 Почему Network Layer относят к уровню 3? Application Transport Network Link 4-х уровневая модель Интернета Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. http ASCII Application Presentation Session TCP IP Transport Network Link Ethernet Physical Эталонная модель OSI ISO 06.09.2023 19 Инкапсуляция Application Presentation Session Transport Network Link Physical Как данные предоставляют на каждом уровне Данные уровня N всегда то, что должен передать уровень N-1 Пример HTTP (web): ˃ данные НТТР приложения в ˃ ТСР транспортный сегмент в ˃ IP пакет в ˃ кадр Ethernet канала Application data Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 06.09.2023 2020 Инкапсуляция: гибкость Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. • Инкапсуляция позволяет использовать уровни рекурсивно • Пример: Virtual Private Network (VPN): – данные НТТР приложения в – ТСР транспортный сегмент в – IP пакет в – безопасное представление TLS сообщения – ТСР транспортный сегмент в – IP пакет в – кадр Ethernet канала 06.09.2023 06.09.2023 2121 Инкапсуляция Application • Упрощает представление данных при переходе между уровнями • Инкапсуляция данных на каждом уровне: Presentation Session Transport Network Link Physical Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. Помогает разделению сервисов на каждом уровне Помогает строго соблюдать границы между уровнями Упрощает реализацию каждого уровня 06.09.2023 06.09.2023 2222 Принцип коммутации пакетов (Смелянский Р.Л. Компьютерные сети т.1 стр. 30 – 36, 188-193) Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. Кафедра АСВК ф-т ВМК МГУ Коммутация каналов Абонентская линия Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. Абонентская линия 06.09.2023 24 Коммутация каналов • • • • • • • У каждого соединения точкаточка своя гарантированная, Коммутация каналов: проблемы пропускная способность, доступная тому кто передает по Неэффективность: взаимодействие между ней компьютерами в сети очень не равномерно (набор текста по состоит ssh соединению Каждый звонок из трех и просмотр web фаз:страницы). Если каждая коммуникация будет использовать соединения выделенное соединение, o Установление это будет крайне не эффект ивно. точка-точка Большой разброс скоростей взаимодействия o Передача ( набираю текст или просмотрю видео с web) o Разрыв состоянием соединения взаимодействия: все Управление Во времена Александра Белла в соединении коммутаторы, задействованные соединение поддерживать представляло собойсогласованно должны провод взаимодействия состояние Сегодня, соединение – это виртуальный (псевдо) индивидуальный провод Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. Абонентская линия Абонентская линия Коммутаторы 06.09.2023 25 Коммутация каналов Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 26 Схема работы GSM-сети MSISDN-Mobile Subscriber ISDN, IMSI, IMEI и многое дру PLMN (Provider Local Mobile Network) MSC HLR VLR Наземная сеть BSC MSC MSC VLR 200 дуплексных каналов по 200 КГц в каждом направлении (124 – рабочих 76 – резерв + служебные) Доп. главы компьютерных сетей чл.-корр. РАН Смелянский Р.Л. TMSI MS (IMEI) SIM карта (PIN) (IMSI) BSC BSC 06.09.2023 27 Коммутация каналов • У каждого соединения точка-точка своя гарантированная, пропускная способность, доступная тому кто передает по ней • Каждый звонок состоит из трех фаз: o Установление соединения точка-точка o Передача o Разрыв соединения Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 28 Что такое коммутация пакетов? • Пакет – единица данных, несущая достаточно информации, чтобы быть доставленной к месту назначения • Коммутация пакетов: для каждого поступающего пакета независимо выбирается канал для отправки. Если канал свободен, то пакет отправляют, если нет – буферизуют пока канал не освободится Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 29 Коммутация пакетов Header В А S2 S1 S2 S3 S4 S3 S3 C Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. D 06.09.2023 30 Коммутация пакетов Dat DX Dat aa s Dat D tDat DD Dat aa ss s Src a tt t X D Пакетный коммутатор Dst B A Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. C 06.09.2023 31 Коммутация пакетов Коммутаторы пакетов Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 32 Коммутация пакетов: буферизация Data H Data H Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. Буфер хранит пакеты: • Два и более пакеты пришли одновременно • В период перегрузки 06.09.2023 33 Коммутация пакетов A отправител ь B R2 R4 R1 получател ь R3 • • • • • • Пакеты маршрутизируют индивидуально согласно адресам локальной таблицы маршрутизации Одна и та же линия может быть использована пакетами разных потоков в разное время Все пакеты используют полную пропускную способность линии Маршрутизаторы не поддерживают состояния каждого взаимодействия Статистическое мультиплексирование/уплотнение канала Ели какой-то канал или маршрутизатор будет разрушен/выйдет из строя, то утерянную дейтаграмму всегда можно послать еще раз другим маршрутом Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 34 Итоги • коммутация пакетов обеспечивает более эффективное использование ресурсов, чем коммутация каналов • сеть с коммутацией пакетов более живучая и устойчивая к повреждениям • пакет самодостаточен, каждый пакет маршрутизируют индивидуально на основе таблицы маршрутизатора, которую формирует сам коммутатор • каждый коммутатор работает автономно от других • состояние соединений, проходящих через коммутатор, не хранится • буфер коммутатора разделяют проходящие через него потоки пакетов динамически Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 36 Принцип: имена и адреса Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. Кафедра АСВК ф-т ВМК МГУ Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 37 Имена vs Адреса • Имя указывает что есть объект именования Кабинет Смелянского pluto.lvk.cs.msu.su list_srt • Адрес указывает где расположен объект 119899, Москва, Ленинские горы, МГУ, 2-ой учебный корпус, ком.764 IP: 171.66.3.9 0x0040005080 • Телефонный номер – это адрес или имя? Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 38 Имена • Структура имени: o одноуровневое: • имя бирж (РТС, ММВБ, NSDQ), названия аэропортов (SVO, DMV) • cервисы – http, ftp, VPN • Apple ID, Skype ID o набор (БД): пол: муж.; ФИО: Смелянский Р.Л.; должность: профессор; o иерархия: • lvk.cs.msu.su • Смелянский Руслан Леонидович, профессор ф-та ВМК, Московский Гос. Университет Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 39 Адреса • Структура адреса влияет на то, как мы можем указывать на объект o одно ранговый адрес: номер порта, адрес основной памяти o набор: координаты (x,y,z); (55°45′с.ш.:37°36′в.д. ) o иерархические адреса • адрес сегмента данных на диске (цилиндр, дорожка, сегмент) • страна, город, улица, дом, квартира • косвенный адрес • <код страны> <код региона> < номер абонента в регионе> Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 40 адреса и имена в Internet • Internet адреса: 32 IPv4; 128 IPv6 95.182.74.02 • Internet имена: система доменных имен (DNS): lvk.cs.msu.su • Имена и адреса на разных уровнях разные o имя сервиса (http), имя порта (80) o SIP (Session Initiation Protocol — протокол установления сеанса) — один из протоколов передачи голоса в сети. o SIP идентификатор (pal@a.com), е-адрес (pal@a.com) • Internet Corporation for Assigned Names and Numbers (ICANN) o Internet Assigned Number Authority (IANA) Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 43 Итог • То как Вы именуете и адресуете что-то, имеет огромное влияние на организацию сети, ее протоколов, сложность алгоритмов работы с информационными объектами • Структура имен и адресов также имеет большое влияние на простоту и удобство интеграции сетей и протоколов Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 44 Принцип Е2Е Введение в компьютерные сети чл.-корр. РАН, проф. Смелянский Р.Л. Кафедра АСВК ф-т ВМК МГУ Сеть с точки зрения приложения Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 46 Заключение • Принцип уровневости • Принцип инкапсуляции данных • Принцип коммутации пакетов • Принцип доменного именования и адресации Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 48 Литература: • Смелянский Р.Л. Компьютерные сети т.1, гл.1-2, т.2, гл.1 • Куроуз Дж., Росс К. Компьютерные сети Многоуровневая архитектура Интернет, Питер, 2004, гл.1-2 Введение в компьютерные сети чл.-корр. РАН Смелянский Р.Л. 06.09.2023 49