Почему в основе интернета лежит ненадежный протокол без соединений?

Шпилевой Владислав Дмитриевич, 521

Научный руководитель: Волканов Дмитрий Юрьевич

План доклада

История развития интернета

  • DARPA, первое соединение
  • Коммутация каналов
  • Коммутация пакетов
  • Межсетевое взаимодействие

Internep Protocol

  • Разбиение на пакеты
  • Ненадежность
  • Выводы

Сетевые модели

  • OSI
  • TCP/IP
  • Взаимодействие уровней

DARPA, первое соединение

  • 1962г. - работа Джозефа Карла Робнетта Ликлайдера "Галактическая сеть" [1].
  • 1965г. - Томас Меррилл и Лоуренс Робертс, первое междугороднее соединение, программа DARPA [1].

dial up

Результаты: соединение возможно, но телефонная линия и коммутация каналов подходят плохо.

  1. Leiner B. M. et al. A brief history of the Internet //ACM SIGCOMM Computer Communication Review. – 2009. – Т. 39. – No. 5. – С. 22-31

Коммутация каналов

  • Нужна установка соединения
  • Соединение занимает канальную емкость даже без передачи данных
  • Использовалась в ранних телефонных сетях

Коммутация пакетов

  • Разбивка на пакеты
  • Каждый пакет по своему маршруту

Как работает?

  • Альтернатива канальной коммутации
  • Масштабируемость сети

Мотивация

Масштабируемость

Добавление узлов

Удаление узлов

Мотивация

  • Разработка военных - нужно работать даже при ядерной войне [2]
  • Простое расширение сети, автоматизация

2. Baran P. On distributed communications networks //IEEE transactions on Communications Systems. – 1964. – Т. 12. – No. 1. – С. 1-9.

Межсетевое взаимодействие

Как взаимодействовать?

ARPANET, ARPA Radio

NPL, CYCLADES

До 1977г. - каждый провайдер создает свои протоколы и соглашения:

  • сложно создавать новые сети
  • сложно взаимодействовать существующим

Решение: разработка стандартной модели взаимодействия и протоколов [3]

3. Zimmermann H. OSI reference model-the ISO model of architecture for open systems interconnection //IEEE Transactions on communications. – 1980. – Т. 28. – No. 4. – С. 425-432.

Сетевые модели: OSI

Open System Interconnection

Приложений

Представления

Сессий

Транспортный

Сетевой

Канальный

Физический

Уровень:

  • Стек протоколов = декомпозиция одной сложной задачи на много простых
  • OSI осталась теоретической моделью [4]

4. Forouzan B. A. TCP/IP protocol suite. – McGraw-Hill, Inc., 2002.

Сетевые модели: TCP/IP

Приложений

Транспортный

Сетевой

Канальный

Уровень:

​Отличия от OSI:

  • Объединены верхние три уровня и нижние два (иногда нет) [4]
  • Используется на практике

4. Forouzan B. A. TCP/IP protocol suite. – McGraw-Hill, Inc., 2002.

Сетевые модели: TCP/IP

Канальный уровень

OSI физический

OSI канальный

+

=

  • единица информации - бит
  • взаимодействие двух узлов
  • единица информации - кадры
  • выбор между физическими интерфейсами

Сетевые модели: TCP/IP

Сетевой уровень

?

Протоколы маршрутизации

  • единица информации - датаграммы
  • взаимодействие множества узлов сети
  • возможны дублирование, потеря пакетов, нарушение порядка доставки

Пример: Internet Protocol (IP)

Сетевые модели: TCP/IP

Транспортный уровень

  • единица информации - пакеты
  • разбиение пакетов на датаграммы
  • выбор степени надежности доставки
  • взаимодействие двух узлов

Пример: Transmission Control Protocol (TCP)

Надежность доставки

Сетевые модели: TCP/IP

Уровень приложений

Высокоуровневые протоколы, например:

  • SMTP (Simple Mail Transfer Protocol)
  • FTP    (File Transfer Protocol)
  • HTTP (Hypertext Transfer Protocol)
  • NTP   (Network Time Protocol)

Сетевые модели

Взаимодействие уровней

Правила разбиения [5]:

  • Без фанатизма в размножении уровней
  • Минимальные зависимости между уровнями
  • Сильно разное назначение сервисов = разные уровни
  • Похожая функциональность = один уровень
  • Абстрактность интерфейсов
  • Без "перескока" уровней

5. Zimmermann H. OSI reference model-the ISO model of architecture for open systems interconnection //IEEE Transactions on communications. – 1980. – Т. 28. – No. 4. – С. 425-432.

Сетевые модели

Взаимодействие уровней

Уровень

А

Б

Приложений

Транспортный

Сетевой

Канальный

...

Взаимодействие с тем же

уровнем другого узла сети

  • Протокол каждого уровня добавляет заголовок
  • Для обработки данных заголовок разбирается

Internet Protocol

Приложений

Транспортный

Сетевой

Канальный

Протокол маршрутизации

IP

  • Ранее был объединен с TCP [6]
  • Пакетная маршрутизация
  • Единица информации - датаграммы
  • Без установки соединения
  • Без какой-либо надежности доставки

Ключевой протокол модели TCP/IP

6. Cerf V. G., Icahn R. E. A protocol for packet network intercommunication //ACM SIGCOMM Computer Communication Review. – 2005. – Т. 35. – No. 2. – С. 71-82.

Internet Protocol

Разбиение на пакеты

Каждый пакет идет своим маршрутом

Сечас расходы на маршрутизацию в сети Интернет из миллиардов узлов на скоростях порядка Гбит/c имеют значение

Почему так?

  • исторически, IP - для объединения сетей с пакетной коммутацией с помощью шлюзов [7]
  • ранее расходы на маршрутизацию не ощущались на скоростях Кбит/с и сетях < 1000 узлов [1]
  • объективно, задача доставки и установки соединения с постоянным маршрутом - другой сетевой уровень

1. Leiner B. M. et al. A brief history of the Internet //ACM SIGCOMM Computer Communication Review. – 2009. – Т. 39. – No. 5. – С. 22-31.

7. Postel J. Internet Protocol RFC 791 //ARPANET Working Group Requests for Comments. – 1981. – No. 791.

Internet Protocol

Ненадежность доставки

Потеря или дублирование, нарушение порядка доставки датаграмм

Почему так?

  • объективно, задача надежности доставки и доставки вообще - разные сетевые уровни. Пример: DCCP, UDP, RSVP [8]
  • объективно, существуют накладные расходы на обеспечение надежности
  • исторически, IP - "спасение" от канальной коммутации, отсутствие "дорогих" соединений

Создание "непровисающих" соединений снизило бы расходы на надежность

8. Zhang L. et al. Resource ReSerVation protocol (RSVP)--version 1 functional specification //Resource. – 1997.

Internet Protocol

Выводы

  • Часть причин ненадежности и отсутствия соединений объективна, а часть сложилась исторически
  • Модификация протокола, работающего на миллиардах устройств, является чрезвычайно сложным и долгим процессом
  • Недостатки IP преодолевают более высокоуровневыми протоколами и технологиями (SDN, MPLS, QoS, Traffic Engineering ...)