2012 11 09_computer_networks_lecture15
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

2012 11 09_computer_networks_lecture15

  • 1,029 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,029
On Slideshare
435
From Embeds
594
Number of Embeds
1

Actions

Shares
Downloads
20
Comments
0
Likes
0

Embeds 594

http://compscicenter.ru 594

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Александр Масальских rusalmas@gmail.comКОМПЬЮТЕРНЫЕ СЕТИЛекция №15IPv6. Глобальные сети. Интернет. DNS.WWW Санкт-Петербург, 2012
  • 2. NETWORK ADDRESS TRANSLATION 31 января 2011 года последние два незарезервированные IANA блока адресов были выделены APNIC в соответствии со стандартными процедурами выделения адресов региональным интернет-регистраторам. Осталось пять зарезервированных и потому нераспределѐнных блоков. В соответствии с правилами ICANN, IANA приступила к распределению каждого из этих блоков каждому из региональных интернет-регистраторов после пресс-конференции 3 февраля 2011 года, что привело к окончанию запаса адресов IANA. Различные самостоятельные адресные блоки, исторически используемые отдельно от региональных интернет-регистраторов, были распределены региональным интернет-регистраторам в феврале 2011 года. APNIC является первым региональным интернет-регистратором, который прекратил свободно выделять IPv4 адреса. Это произошло 15 апреля 2011 года. С этой даты начался период, когда уже не каждый локальный интернет-регистратор (LIR) может получить IPv4- адреса в нужном ему количестве. Как следствие этого истощения, требуемые многими приложениями соединения точка-точка не будут всегда доступны в IPv4-Интернете до тех пор, как IPv6 будет полностью внедрѐн.
  • 3. NETWORK ADDRESS TRANSLATION
  • 4. NETWORK ADDRESS TRANSLATION Региональный интернет-регистратор (англ. Regional Internet Registry) — организация, занимающаяся вопросами адресации и маршрутизации в сети Интернет.
  • 5. NETWORK ADDRESS TRANSLATION NAT (Network Address Translation — «преобразование сетевых адресов») — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов. Также имеет названия IP Masquerading, Network Masquerading и Native Address Translation.
  • 6. NETWORK ADDRESS TRANSLATION Существует 3 базовых концепции трансляции адресов:  статическая (Static Network Address Translation),  динамическая (Dynamic Address Translation),  маскарадная (NAPT, NAT Overload, PAT).
  • 7. NETWORK ADDRESS TRANSLATION Статический NAT — Отображение незарегистрированного IP-адреса на зарегистрированный IP-адрес на основании один к одному. Особенно полезно, когда устройство должно быть доступным снаружи сети. Динамический NAT — Отображает незарегистрированный IP-адрес на зарегистрированный адрес от группы зарегистрированных IP- адресов. Динамический NAT также устанавливает непосредственное отображение между незарегистрированным и зарегистрированным адресом, но отображение может меняться в зависимости от зарегистрированного адреса, доступного в пуле адресов, во время коммуникации. Перегруженный NAT (NAPT, NAT Overload, PAT, маскарадинг) — форма динамического NAT, который отображает несколько незарегистрированных адресов в единственный зарегистрированный IP-адрес, используя различные порты. Известен также как PAT (Port Address Translation). При перегрузке каждый компьютер в частной сети транслируется в тот же самый адрес, но с различным номером порта. Механизм NAT определѐн в RFC 1631, RFC 3022.
  • 8. NETWORK ADDRESS TRANSLATION
  • 9. NETWORK ADDRESS TRANSLATION Позволяет сэкономить IP-адреса (только в случае использования NAT в режиме PAT) Позволяет предотвратить или ограничить обращение снаружи ко внутренним хостам, оставляя возможность обращения изнутри наружу. При инициации соединения изнутри сети создаѐтся трансляция. Ответные пакеты, поступающие снаружи, соответствуют созданной трансляции и поэтому пропускаются. Если для пакетов, поступающих снаружи, соответствующей трансляции не существует (а она может быть созданной при инициации соединения или статической), они не пропускаются. Позволяет скрыть определѐнные внутренние сервисы внутренних хостов/серверов. По сути, выполняется та же указанная выше трансляция на определѐнный порт, но возможно подменить внутренний порт официально зарегистрированной службы (например, 80-й порт TCP (HTTP-сервер) на внешний 54055-й). Повышение безопасности и скрытие «непубличных» ресурсов.
  • 10. NETWORK ADDRESS TRANSLATION Не все протоколы могут «преодолеть» NAT. Некоторые не в состоянии работать, если на пути между взаимодействующими хостами есть трансляция адресов. Некоторые межсетевые экраны, осуществляющие трансляцию IP-адресов, могут исправить этот недостаток, соответствующим образом заменяя IP-адреса не только в заголовках IP, но и на более высоких уровнях (например, в командах протокола FTP). Application-level gateway. Из-за трансляции адресов «много в один» появляются дополнительные сложности с идентификацией пользователей и необходимость хранить полные логи трансляций. DoS со стороны узла, осуществляющего NAT — если NAT используется для подключения многих пользователей к одному и тому же сервису, это может вызвать иллюзию DoS-атаки на сервис (множество успешных и неуспешных попыток). Частичным решением проблемы является использование пула адресов (группы адресов), для которых осуществляется трансляция. В некоторых случаях, необходимость в дополнительной настройке при работе с пиринговыми сетями и некоторыми другими программами, в которых необходимо не только инициировать исходящие соединения, но также принимать входящие.
  • 11. INTERNET PROTOCOL VERSION 6 Основные цели:1. Поддержка миллиардов хостов2. Уменьшение размера таблиц маршрутизации3. Ускорение обработки пакетов маршрутизаторами за счѐт упрощения протокола4. Более продуманная система обеспечения безопасности5. Необходимость учитывать тип сервиса6. Упрощение работы многоадресных рассылок с помощью указания областей рассылки7. Мобильность хостов8. Задел на развитие протокола9. Возможность сосуществования с IPv4
  • 12. INTERNET PROTOCOL VERSION 6 Существуют различные типы адресов IPv6:  одноадресные (Unicast),  групповые (Anycast)  многоадресные (Multicast). Адреса типа Unicast хорошо всем известны. Пакет, посланный на такой адрес, достигает в точности интерфейса, который этому адресу соответствует. Адреса типа Anycast синтаксически неотличимы от адресов Unicast, но они адресуют группу интерфейсов. Пакет, направленный такому адресу, попадѐт в ближайший (согласно метрике маршрутизатора) интерфейс. Адреса Anycast могут использоваться только маршрутизаторами.
  • 13. INTERNET PROTOCOL VERSION 6 Адреса типа Multicast идентифицируют группу интерфейсов. Пакет, посланный на такой адрес, достигнет всех интерфейсов, привязанных к группе многоадресного вещания. Широковещательные адреса IPv4 (обычно xxx.xxx.xxx.255) выражаются адресами многоадресного вещания IPv6. Адреса разделяются двоеточиями (напр. fe80:0:0:0:200:f8ff:fe21:67cf). Большое количество нулевых групп может быть пропущено с помощью двойного двоеточия (fe80::200:f8ff:fe21:67cf). Такой пропуск должен быть единственным в адресе.
  • 14. INTERNET PROTOCOL VERSION 6 Фиксированный заголовок IPv6-пакета состоит из 40 октетов (320 бит) и имеет следующий формат:
  • 15. INTERNET PROTOCOL VERSION 6 Version: версия протокола; для IPv6 это значение равно 6 (значение в битах — 0110). Traffic Class: приоритет пакета (8 бит). Это поле состоит из двух значений. Старшие 6 бит используются DSCP для классификации пакетов. Оставшиеся два бита используются ECN для контроля перегрузки. Flow Label: метка потока. Payload Length: в отличие от поля Total Length в протоколе IPv4 данное поле не включает фиксированный заголовок пакета (16 бит).
  • 16. INTERNET PROTOCOL VERSION 6 Next Header: задаѐт тип расширенного заголовка (англ. IPv6 extension), который идѐт следующим. В последнем расширенном заголовке поле Next Header задаѐт тип транспортного протокола (TCP, UDP и т. д.) Hop Limit: аналог поля time to live в IPv4 (8 бит). Source Address и Destination Address: адрес отправителя и получателя соответственно; по 128 бит. С целью повышения производительности и с расчѐтом на то, что современные технологии канального уровня обеспечивают достаточный уровень обнаружения ошибок, заголовок не имеет контрольной суммы.
  • 17. INTERNET PROTOCOL VERSION 6 Расширенные заголовки содержат дополнительную информацию и размещены между фиксированным заголовком и заголовком протокола более высокого уровня. Тип первого расширенного заголовка указывается в поле Next Header фиксированного заголовка, а каждый расширенный заголовок имеет аналогичное поле в котором хранится тип следующего расширенного заголовка. В поле Next Header последнего заголовка находится тип протокола более высокого уровня, находящегося в качестве полезных данных. Каждый расширенный заголовок должен иметь размер в октетах, кратный 8. Некоторые заголовки необходимо расширить до нужного размера.
  • 18. Расширенный заголовок Тип Описание Параметры которые должны быть обработаны каждымHop-by-Hop Options 0 транзитным узлом. INTERNET PROTOCOL VERSION 6 Параметры которые должны быть обработаны толькоDestination Options 60 получателем. Позволяет отправителю определять список узлов,Routing 43 которые пакет должен пройти. Заголовок содержит информацию по фрагментацииFragment 44 пакета. Содержит информацию используемую дляAuthentication Header (AH) 51 аутентификацию большей части пакета. См. IPsec.Encapsulating Security Payload Осуществляет шифрование данных для безопасных 50(ESP) подключений. См. IPsec. Параметры которые должны быть обработаны толькоDestination Options 60 получателем.
  • 19. INTERNET PROTOCOL VERSION 6 Обычная длина полезных данных: Поле фиксированного заголовка Payload Length имеет размер 16 бит, поэтому максимально возможный размер полезных данных и расширенных заголовков равен 65535 октетам. Максимальный размер фрейма многих протоколов канального уровня гораздо меньше. Джамбограммы IPv6-пакет может нести больше данных с помощью опции jumbo payload в расширенном заголовке Hop-By-Hop Options. Эта опция позволяет обмениваться пакетами с размером полезных данных на 1 байт меньшим чем 4Гбайт (232 − 1 = 4294967295 байт). Пакет с таким содержимым называют джамбограммой. Так как протоколы TCP и UDP оба имееют поля длины, ограниченные 16 битами, для поддержки джамбограмм требуется реализация модифицированных протоколов транспортного уровня. Джамбограммы могут работать только на подключениях с MTU, большим чем 65583 октетов (более 65 535 октетов для полезных данных, 40 октетов для фиксированного заголовка и 8 октетов для расширенного заголовка Hop- By-Hop Options).
  • 20. INTERNET PROTOCOL VERSION 6 Фрагментация: IPv6-пакеты никогда не фрагментируются маршрутизаторами. Пакеты, чей размер превышает MTU сетевого подключения уничтожаются и отправителю посылается сообщение Packet too Big (ICMPv6 тип 2). Подобное поведение в IPv4происходит если установлен бит Don‟t Fragment. Ожидается, что конечные IPv6-узлы выполнят Path MTU discovery для определения максимально-допустимого размера отправляемых пакетов и протокол более высокого уровня ограничит размер пакета. Однако если протокол более высокого уровня не в состоянии сделать этого, отправитель может использовать расширенный заголовок Fragment для выполнения фрагментации IPv6-пакетов. Все протоколы, передающие через себя IPv6-пакеты, должны иметь MTU равный или больший 1280 октетов. Протоколы, не способные передать пакет длиной 1280 октетов одним блоком, должны произвести фрагментацию и сборку самостоятельно, не затрагивая уровень IPv6.
  • 21. INTERNET PROTOCOL VERSION 6 Фрагментирование: Пакет, содержащий фрагмент оригинального (большого) пакета, состоит из двух частей: нефрагментируемая часть оригинального пакета, одинаковая для всех фрагментов, и фрагментируемая часть, идентифицируемая по смещению фрагмента. Нефрагментируемая часть пакета состоит из фиксированного заголовка и расширенных заголовков оригинального пакета (опционально). Значение поля Next Header последнего заголовка нефрагментируемой части должно быть равным 44, обозначающее, что следующим заголовком будет Fragment. В заголовке Fragment поле Next Header должно быть равно типу первого заголовка фрагментируемой части. После заголовка Fragment следует фрагмент оригинального пакета. Размер каждого фрагмента фрагментируемой части должен быть кратен 8, исключение составляет последний фрагмент.
  • 22. INTERNET PROTOCOL VERSION 6 Сборка фрагментов: Принимающий узел, собрав все фрагменты, отбрасывает расширенный заголовок Fragments и размещает фрагменты по смещениям, указанным в поле Fragment Offset, умноженным на 8. Пакеты, содержащие фрагменты, не обязаны приходить в правильном порядке, и они будут переставлены принимающим узлом, если потребуется. Если спустя 60 секунд после получения первого фрагмента были собраны не все фрагменты, то сборка оригинального пакета отменяется и все полученные фрагменты отбрасываются. Если при этом получен первый фрагмент (с полемFragmant Offset равным нулю), то отправителю фрагментированного пакета посылается сообщение Fragment Reassembly Time Exceeded (ICMPv6 тип 3 код 1). Максимальный размер оригинального пакета не должен превышать 65 535 октетов, а если после сборки оригинальный пакет оказывается больше, то он должен быть отброшен.
  • 23. 6TO4 6to4 это переходный механизм, позволяющий передавать IPv6 пакеты через IPv4 сети, и не требующий создания двусторонних туннелей. Это, как правило, используется, когда конечный пользователь или сайт хотят получить соединение с IPv6 Интернетом, но не могут получить его от провайдера. 6to4 может использоваться как отдельным узлом, так и целой IPv6 сетью. При этом нужен как минимум один «белый» IPv4 адрес для шлюза, на каждый IPv4 адрес выделено до 1 208 925 819 614 629 174 706 176 (280) IPv6 адресов или до 65536 (216) подсетей.
  • 24. 6TO4 Выделение блока адресов Для каждого глобального адреса IPv4, выделена 48-битная 6to4 IPv6 приставка. Она может быть создана на основе IPv4 адреса. При этом адрес IPv4 ставится позади 2002::/16 приставки, но в шестнадцатеричном виде. Так IPv6 приставка для IPv4 адреса 192.0.2.4 будет равна 2002:C000:0204::/48. Любой адрес IPv6 с приставкой 2002::/16, известен как 6to4 адрес. Инкапсуляция 6to4 хост вкладывает пакет IPv6 в пакет IPv4 с типом протокола 41 ("IPv6 (encapsulation)"). Перед тем как отправить пакет 6to4 хост проверяет адрес назначения на принадлежность к 6to4 сети и если это адрес соответствует 6to4, то он извлекает IPv4 адрес из 6to4 адреса и отправляет пакет по полученному адресу. Маршрутизация между 6to4 и другими IPv6 сетями Для того чтобы 6to4 хосты могли отправлять пакеты в другие IPv6 сети, были созданы 6to4 ретрансляторы, которые подключены как к IPv4 сети, так и к IPv6 сети. Когда 6to4 хосту нужно отправить IPv6 пакет, он отправляет его по anycastадресу 192.88.99.1. Ретранслятор, получив 6to4 пакет, извлекает IPv6 пакет и отправляет его по IPv6 сети. Для IPv6 хостов 6to4 хосты выглядят, как обычные IPv6 хосты и IPv6 пакет будет передан на ближайший 6to4 ретранслятор, анонсирующий префикс 2002::/16.
  • 25. TEREDO Teredo — сетевой протокол, предназначенный для передачи IPv6 пакетов через сети IPv4, в частности через устройства, работающие по технологии NAT, путѐм их инкапсуляции в UDP дейтаграммы Стандартные средства инкапсуляции IPv6 в IPv4 требуют, чтобы как сервер, так и клиент имели собственный IP-адрес. Однако, в настоящее время многие устройства присоединены к Интернету IPv4 через одно или несколько устройствNAT, как правило из-за нехватки IPv4 адресов. В такой ситуации единственный доступный IPv4 адрес принадлежит устройству NAT. Протокол Teredo даѐт возможность доступа к IPv6 сетям при такой конфигурации сети. В настоящее время активно обсуждается безопасность применения протокола Teredo. Основной угрозой является то, что на данный момент не все межсетевые экраны способны фильтровать Teredo трафик, что может сделать возможным несанкционированное проникновение в IPv6 сеть.
  • 26. HISTORY OF THE INTERNETWeeSan Lee weesan@cs.ucr.edu
  • 27. # of hosts 100 120 140 160 180 200 0 20 40 60 80Dec-69Dec-70Dec-71Dec-72Dec-73Dec-74 Internet HostsDec-75Dec-76Dec-77Dec-78Dec-79
  • 28. Internet Hosts 200 1969 ARPANET was born. 4 180 nodes were inter-connected: 160 UCLA,SRI,UCSB, U. of Utah 140 Charley Kline from UCLA# of hosts 120 sent 1st packet. 100 First RFC by Steve Crocker. 80 60 40 20 0 Dec-69 Dec-70 Dec-71 Dec-72 Dec-73 Dec-74 Dec-75 Dec-76 Dec-77 Dec-78 Dec-79
  • 29. Internet Hosts 200 1970 RFC maintained by Jon 180 Postel (the RFC-editor). 160 ARPANET used NCP 140 (Network Control Protocol),# of hosts 120 first end-to-end protocol 100 80 60 40 20 0 Dec-69 Dec-70 Dec-71 Dec-72 Dec-73 Dec-74 Dec-75 Dec-76 Dec-77 Dec-78 Dec-79
  • 30. Internet Hosts 200 1971 15 nodes were connected. 180 Ray Tomlinson of BBN 160 invented email program. 140# of hosts 120 100 80 60 40 20 0 Dec-69 Dec-70 Dec-71 Dec-72 Dec-73 Dec-74 Dec-75 Dec-76 Dec-77 Dec-78 Dec-79
  • 31. Internet Hosts 200 1972 @ was chosen by Ray 180 Tomlinson to separate the 160 userid and hostname. 140# of hosts 120 First computer-to-computer 100 chat program at UCLA. 80 60 40 20 0 Dec-69 Dec-70 Dec-71 Dec-72 Dec-73 Dec-74 Dec-75 Dec-76 Dec-77 Dec-78 Dec-79
  • 32. Internet Hosts 200 1973 Ethernet was invented by 180 Bob Metcalfes (Harvard PhD 160 Thesis) 140# of hosts 120 100 80 60 40 20 0 Dec-69 Dec-70 Dec-71 Dec-72 Dec-73 Dec-74 Dec-75 Dec-76 Dec-77 Dec-78 Dec-79
  • 33. Internet Hosts 200 1974 TCP (Transmission Control 180 Protocol) was invented by 160 Vint Cerf and Bob Kahn. 140# of hosts 120 100 80 60 40 20 0 Dec-69 Dec-70 Dec-71 Dec-72 Dec-73 Dec-74 Dec-75 Dec-76 Dec-77 Dec-78 Dec-79
  • 34. Internet Hosts 200 1975 First mailing list was created 180 by Steve Walker. 160 140# of hosts 120 100 80 60 40 20 0 Dec-69 Dec-70 Dec-71 Dec-72 Dec-73 Dec-74 Dec-75 Dec-76 Dec-77 Dec-78 Dec-79
  • 35. Internet Hosts 200 1976 Queen Elizabeth II sent out 180 an email. 160 140# of hosts 120 100 80 60 40 20 0 Dec-69 Dec-70 Dec-71 Dec-72 Dec-73 Dec-74 Dec-75 Dec-76 Dec-77 Dec-78 Dec-79
  • 36. # of hosts 100 120 140 160 180 200 0 20 40 60 80Dec-69Dec-70 1978Dec-71Dec-72Dec-73Dec-74 Internet Hosts TCP splited into TCP and IP.Dec-75Dec-76Dec-77Dec-78Dec-79
  • 37. Internet Hosts 200 1979 3Com was co-founded by 180 Bob Metcalfe. 160 140# of hosts 120 100 80 60 40 20 0 Dec-69 Dec-70 Dec-71 Dec-72 Dec-73 Dec-74 Dec-75 Dec-76 Dec-77 Dec-78 Dec-79
  • 38. Internet Hosts 180000 1981 160000 BITNET (Because It‟s Time NETwork) was started. 140000 120000# of hosts 100000 80000 60000 40000 20000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87
  • 39. Internet Hosts 180000 1982 160000 DoD used TCP/IP to inter- connect networks. Thus, the 140000 Internet!!! 120000# of hosts 100000 80000 60000 40000 20000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87
  • 40. Internet Hosts 180000 1983 160000 NCP → TCP/IP. ARPANET was split into 140000 ARPANET and MILNET. 120000 BSD included TCP/IP.# of hosts 100000 80000 60000 40000 20000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87
  • 41. Internet Hosts 180000 1984 160000 DNS (Domain Name System) was introduced. 140000 120000 > 1000 hosts.# of hosts 100000 80000 60000 40000 20000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87
  • 42. Internet Hosts 180000 1986 160000 NSFNET was created, connecting 5 super- 140000 computers. 120000 IETF was formed.# of hosts 100000 NNTP was created. 80000 60000 40000 20000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87
  • 43. Internet Hosts 180000 1987 160000 > 10,000 hosts. 140000 120000# of hosts 100000 80000 60000 40000 20000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87
  • 44. Internet Hosts 180000 1988 160000 First Internet Worm released by Morris. 140000 CERT (Computer Emergency 120000 Response Team) was formed# of hosts 100000 as a result. 80000 IRC was created. 60000 40000 20000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87
  • 45. Internet Hosts 180000 1989 160000 > 100,000 hosts 140000 120000# of hosts 100000 80000 60000 40000 20000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87
  • 46. Internet Hosts 25000000 1990 ARPANET ceased. 20000000 AOL, CompuServe provided dial-up service.# of hosts 15000000 10000000 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 47. Internet Hosts 25000000 1991 WWW was created by 20000000 Tim Berners-Lee from CERN. Linux was released by Linus Torvalds.# of hosts 15000000 10000000 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 48. Internet Hosts 25000000 1992 > 1,000,000 hosts. 20000000 MBONE was created.# of hosts 15000000 10000000 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 49. Internet Hosts 25000000 1993 Network Solution, Inc was 20000000 chosen to provide domain name registration. www.whitehouse.gov online.# of hosts 15000000 Mosaic was created. 10000000 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 50. Internet Hosts 25000000 1994 NSFNET was transformed to 20000000 commercial network. Shopping mall. Can order pizza online.# of hosts 15000000 10000000 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 51. Internet Hosts 25000000 1995 NSFNET was reverted back 20000000 to research-only network. Realaudio started.# of hosts 15000000 Netscape IPO. Win95 released. Bob Metcalfe predicted the 10000000 Internet would collapse. 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 52. Internet Hosts 25000000 1996 Browser war (Netscape vs. 20000000 IE) began. tv.com sold to CNET for $15,000.# of hosts 15000000 10000000 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 53. Internet Hosts 25000000 1997 www.whitehouse.com online. 20000000 business.com sold for $150,000# of hosts 15000000 10000000 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 54. Internet Hosts 25000000 1998 2M domain names registered. 20000000 Compaq bought altavista.com for $3.3M. Google founded.# of hosts 15000000 Jon Postel (RFC-editor) died. 10000000 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 55. Internet Hosts 25000000 1999 First online banking. 20000000 business.com sold for $7.5B Napster released. Al Gore invented the# of hosts 15000000 Internet??? 10000000 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 56. Internet Hosts 25000000 2000 Millennium bug. 20000000 Dotcom → dotgone. Clinton made first webcast.# of hosts 15000000 10000000 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 57. # of hosts 10000000 15000000 20000000 25000000 5000000 0Dec-69Dec-71Dec-73 2001Dec-75Dec-77Dec-79Dec-81 Wikipedia launched. Internet HostsDec-83Dec-85Dec-87Dec-89Dec-91Dec-93Dec-95
  • 58. # of hosts 10000000 15000000 20000000 25000000 5000000 0Dec-69Dec-71Dec-73 2002Dec-75Dec-77Dec-79Dec-81 Myspace launched. Internet HostsDec-83Dec-85Dec-87Dec-89Dec-91Dec-93Dec-95
  • 59. # of hosts 10000000 15000000 20000000 25000000 5000000 0Dec-69Dec-71Dec-73 2003Dec-75Dec-77Dec-79Dec-81 Facebook launched. Internet HostsDec-83Dec-85Dec-87Dec-89Dec-91Dec-93Dec-95
  • 60. # of hosts 10000000 15000000 20000000 25000000 5000000 0Dec-69Dec-71Dec-73 2005Dec-75Dec-77Dec-79Dec-81 Internet HostsDec-83 Vint Cerf joined Google.Dec-85Dec-87Dec-89Dec-91Dec-93Dec-95
  • 61. Internet Hosts 25000000 2006 > 439M hosts. 20000000 10 new computers joined the Internet every second.# of hosts 15000000 10000000 5000000 0 Dec-69 Dec-71 Dec-73 Dec-75 Dec-77 Dec-79 Dec-81 Dec-83 Dec-85 Dec-87 Dec-89 Dec-91 Dec-93 Dec-95
  • 62. INTERNET MAPhttp://en.wikipedia.org/wiki/Image:Internet_map_1024.jpg
  • 63. REFERENCE The History of the Internet  http://www.isoc.org/internet/history/cerf.shtml  http://www.walthowe.com/navnet/history.html Timeline  http://www.zakon.org/robert/internet/timeline/  http://www.isoc.org/internet/history/2002_0918_Intern et_History_and_Growth.ppt Al Gore invented the Internet?  http://www.eecs.umich.edu/~fessler/misc/funny/gore, net.txt  http://sethf.com/gore/ Who is managing the Internet?  http://www.acm.org/ubiquity/views/v6i5_simoneli.html
  • 64. WORLD WIDE WEB Всемирная паутина(англ. World Wide Web) — распределенная система, предоставляющая доступ к связанным между собой документам, расположенным на различных компьютерах, подключенных к Интернету. Всемирную паутину образуют миллионы веб-серверов. Большинство ресурсов всемирной паутины представляет собой гипертекст. Гипертекстовые документы, размещаемые во всемирной паутине, называются веб-страницами. Несколько веб-страниц, объединенных общей темой, дизайном, а также связанных между собой ссылками и обычно находящихся на одном и том же веб-сервере, называются веб-сайтом. Для загрузки и просмотра веб- страниц используются специальные программы — браузеры. Всемирная паутина вызвала настоящую революцию в информационных технологиях и бум в развитии Интернета. Часто, говоря об Интернете, имеют в виду именно Всемирную паутину, однако важно понимать, что это не одно и то же. Для обозначения Всемирной паутины также используют слово веб (англ. web) и аббревиатуру WWW.
  • 65. WORLD WIDE WEB Всемирную паутину образуют миллионы веб-серверов сети Интернет, расположенных по всему миру. Веб-сервер является программой, запускаемой на подключѐнном к сети компьютере и использующей протокол HTTP для передачи данных. Для идентификации ресурсов (зачастую файлов или их частей) во Всемирной паутине используются единообразные идентификаторы ресурсов URI (англ. Uniform Resource Identifier). Для определения местонахождения ресурсов в сети используются единообразные локаторы ресурсов URL (англ. Uniform Resource Locator). Такие URL-локаторы сочетают в себе технологию идентификации URI и систему доменных имѐн DNS (англ. Domain Name System) — доменное имя (или непосредственно IP-адрес в числовой записи) входит в состав URL для обозначения компьютера (точнее — одного из его сетевых интерфейсов), который исполняет код нужного веб- сервера.
  • 66. WORLD WIDE WEB Для обзора информации, полученной от веб-сервера, на клиентском компьютере применяется специальная программа — веб-браузер. Основная функция веб-браузера — отображение гипертекста. Всемирная паутина неразрывно связана с понятиями гипертекста и гиперссылки. Большая часть информации в Вебе представляет собой именно гипертекст. Для облегчения создания, хранения и отображения гипертекста во Всемирной паутине традиционно используется язык HTML (англ. HyperText Markup Language), язык разметки гипертекста. После того, как HTML-файл становится доступен веб-серверу, его начинают называть «веб-страницей». Набор веб-страниц образует веб-сайт. В гипертекст веб-страниц добавляются гиперссылки. Гиперссылки помогают пользователям Всемирной паутины легко перемещаться между ресурсами (файлами) вне зависимости от того, находятся ресурсы на локальном компьютере или на удалѐнном сервере. Гиперссылки веба основаны на технологии URL.
  • 67. URN URN (англ. Uniform Resource Name) — единообразное название (имя) ресурса. URN — это постоянная последовательность символов, идентифицирующая абстрактный или физический ресурс. URN является частью концепции URI (англ. Uniform Resource Identifier) — единообразных идентификаторов ресурса. Имена URN призваны в будущем заменить локаторы URL (англ. Uniform Resource Locator) — единообразные определители местонахождения ресурсов. Но имена URN, в отличие от URL, не включают в себя указания на местонахождение и способ обращения к ресурсу. Стандарт URN специально разработан так, чтобы он мог включать в себя другие пространства имѐн.
  • 68. URN Единообразные имена ресурсов имеют следующую структуру: <URN> ::= "urn:" <NID> ":" <NSS> В этой записи: <NID> идентификатор пространства имѐн (англ. Namespace Identifier), представляет собой синтактическую интерпретацию NSS; не чувствителен к регистру. <NSS> строка из определѐнного пространства имѐн (англ. Namespace Specific String); если в этой строке содержатся символы не из набора ASCII, то они должны быть закодированы в Юникоде (UTF-8) и предварены (каждый из них) знаком процента «%». Подробнее см. URL. При этом начальная последовательность символов "urn:" не чувствительна к регистру. А идентификаторы пространства имѐн «urn» и «URN» запрещены вообще, чтобы не возникло путаницы с этой начальной строкой "urn:".
  • 69. INTRODUCTION TO THE DNS SYSTEM Olaf M. Kolkman Okolkman@ripe.netslideset 1 February 2003
  • 70. PURPOSE OF NAMING Addresses are used to locate objects Names are easier to remember than numbers You would like to get to the address or other objects using a name DNS provides a mapping from names to resources of several types
  • 71. NAMES AND ADDRESSES IN GENERAL An address is how you get to an endpoint  Typically, hierarchical (for scaling):  950 Charter Street, Redwood City CA, 94063  204.152.187.11, +1-650-381-6003 A “name” is how an endpoint is referenced  Typically, no structurally significant hierarchy  “David”, “Tokyo”, “itu.int”
  • 72. NAMING HISTORY 1970‟s ARPANET  Host.txt maintained by the SRI-NIC  pulled from a single machine  Problems  traffic and load  Name collisions  Consistency DNS reated in 1983 by Paul Mockapetris (RFCs 1034 and 1035), modified, updated, and enhanced by a myriad of subsequent RFCs
  • 73. DNS A lookup mechanism for translating objects into other objects A globally distributed, loosely coherent, scalable, reliable, dynamic database Comprised of three components  A “name space”  Servers making that name space available  Resolvers (clients) which query the servers about the name space
  • 74. DNS FEATURES: GLOBAL DISTRIBUTION Data is maintained locally, but retrievable globally  No single computer has all DNS data DNS lookups can be performed by any device Remote DNS data is locally cachable to improve performance
  • 75. DNS FEATURES: LOOSE COHERENCY The database is always internally consistent  Each version of a subset of the database (a zone) has a serial number  The serial number is incremented on each database change Changes to the master copy of the database are replicated according to timing set by the zone administrator Cached data expires according to timeout set by zone administrator
  • 76. DNS FEATURES: SCALABILITY No limit to the size of the database  One server has over 20,000,000 names  Not a particularly good idea No limit to the number of queries  24,000 queries per second handled easily Queries distributed among masters, slaves, and caches
  • 77. DNS FEATURES: RELIABILITY Data is replicated  Data from master is copied to multiple slaves Clients can query  Master server  Any of the copies at slave servers Clients will typically query local caches DNS protocols can use either UDP or TCP  If UDP, DNS protocol handles retransmission, sequencing, etc.
  • 78. DNS FEATURES: DYNAMICITY Database can be updated dynamically  Add/delete/modify of any record Modification of the master database triggers replication  Only master can be dynamically updated  Creates a single point of failure
  • 79. DNS CONCEPTS Next slides are about concepts After this set of slides you should understand  How the DNS is built  Why it is built the way it is  The terminology used throughout the course
  • 80. CONCEPT: DNS NAMES 1 The namespace needs to be made hierarchical to be able to scale. The idea is to name objects based on  location (within country, set of organizations, set of companies, etc)  unit within that location (company within set of company, etc)  object within unit (name of person in company)
  • 81. CONCEPT: DNS NAMES 2HOW NAMES APPEAR IN THE DNSFully Qualified Domain Name (FQDN) WWW.RIPE.NET. labels separated by dots Note the trailing dot DNS provides a mapping from FQDNs to resources of several types Names are used as a key when fetching data in the DNS
  • 82. CONCEPT: RESOURCE RECORDS The DNS maps names into data using Resource Records. Resource Record www.ripe.net. … A 10.10.10.2 Address Resource More detail later
  • 83. CONCEPT: DNS NAMES 3  Domain names can be ws1 ws2 ftp mapped to a tree. •www disi www •  New branches at the „dots‟ • sun ripe isi tislabs • moon  No restriction to the amount of • • branches. google net educom •
  • 84. CONCEPT: DOMAINS Domains are “namespaces” Everything below .com is in the com domain. Everything below ripe.net is in the ripe.net domain and in the net domain. • com doma net edu com • • • google ripe.net domain ripe isi sun tislabs • moon • www disinet domain ftp • www ws2 ws1
  • 85. DELEGATION Administrators can create subdomains to group hosts  According to geography, organizational affiliation or any other criterion An administrator of a domain can delegate responsibility for managing a subdomain to someone else  But this isn‟t required The parent domain retains links to the delegated subdomain  The parent domain “remembers” who it delegated the subdomain to
  • 86. CONCEPT: ZONES AND DELEGATIONS Zones are “administrative spaces” Zone administrators are responsible for portion of a domain‟s name space Authority is delegated from a parent and to a child • net zone ne ed co net domain m • t • u • google ripe.net zone rip is sun tislab • e i moons • ww disdisi.ripe.net zone ww w ft i • p ws ws w 2 1
  • 87. CONCEPT: NAME SERVERS Name servers answer „DNS‟ questions. Several types of name servers  Authoritative servers  master (primary)  slave (secondary)  (Caching) recursive servers  also caching forwarders  Mixture of functionality
  • 88. CONCEPT: NAME SERVERSAUTHORITATIVE NAME SERVER Give authoritative answers for one or more zones. The master server normally loads the data from a zone file A slave server normally replicates the data from the master via a zone transfer slave master slave
  • 89. CONCEPT: NAME SERVERSRECURSIVE SERVER Recursive servers do the actual lookups; they ask questions to the DNS on behalf of the clients. Answers are obtained from authoritative servers but the answers forwarded to the clients are marked as not authoritative Answers are stored for future reference in the cache
  • 90. CONCEPT: RESOLVERS Resolvers ask the questions to the DNS system on behalf of the application. Normally implemented in a system library (e.g, libc) gethostbyname(char *name); gethostbyaddr(char *addr, int len, type);
  • 91. CONCEPT: RESOLVING PROCESS & CACHE Question: www.ripe.net A www.ripe.net A ? root-server Ask net server @ X.gtld-servers.net (+ glue) www.ripe.net A ?Resolver Caching 192.168.5.10 forwarder www.ripe.net A ? (recursive) gtld-server Ask ripe server @ ns.ripe.net (+ glue) Add to cache www.ripe.net A ? 192.168.5.10 ripe-server
  • 92. CONCEPT: RESOURCE RECORDS (MOREDETAIL) Resource records consist of it‟s name, it‟s TTL, it‟s class, it‟s type and it‟s RDATA TTL is a timing parameter IN class is widest used There are multiple types of RR records Everything behind the type identifier is called rdata www.ripe.net. 3600 IN A 10.10.10.2 ttl rdata Label type class
  • 93. EXAMPLE: RRS IN A ZONE FILE ripe.net. 7200 IN SOA ns.ripe.net. olaf.ripe.net. ( 2001061501 ; Serial 43200 ; Refresh 12 hours 14400 ; Retry 4 hours 345600 ; Expire 4 days 7200 ; Negative cache 2 hours ) ripe.net. 7200 IN NS ns.ripe.net. ripe.net. 7200 IN NS ns.eu.net. pinkje.ripe.net. 3600 IN A 193.0.1.162 host25.ripe.net. 2600 IN A 193.0.3.25Label ttl class type rdata
  • 94. RESOURCE RECORD: SOA AND NS The SOA and NS records are used to provide information about the DNS itself. The NS indicates where information about a given zone can be found: ripe.net. 7200 IN NS ns.ripe.net. ripe.net. 7200 IN NS ns.eu.net. The SOA record provides information about the start of authority, i.e. the top of the zone, also called the APEX.
  • 95. RESOURCE RECORD: SOA Master server Contact addressnet. 3600 IN SOA A.GTLD-SERVERS.net. nstld.verisign-grs.com. ( 2002021301 ; serial 30M ; refresh 15M ; retry 1W ; expiry Version number 1D ) ; neg. answ. ttl Timing parameter
  • 96. CONCEPT: TTL AND OTHER TIMERS TTL is a timer used in caches  An indication for how long the data may be reused  Data that is expected to be „stable‟ can have high TTLs SOA timers are used for maintaining consistency between primary and secondary servers
  • 97. PLACES WHERE DNS DATA LIVES Changes in DNS do not propagate instantly! Slave Might take up to refresh to get data from master Not going to net if TTL>0 Cache serverUpload of zonedata is local policy Master Registry DB Slave server
  • 98. TO REMEMBER...  Multiple authoritative servers to distribute load and risk:  Put your name servers apart from each other  Caches to reduce load to authoritative servers and reduce response times  SOA timers and TTL need to be tuned to needs of zone. Stable data: higher numbers
  • 99. WHAT HAVE WE LEARNEDWHAT ARE WE ABOUT TO LEARN We learned about the architecture:  resolvers,  caching forwarders,  authoritative servers,  timing parameters
  • 100. КОРНЕВЫЕ СЕРВЕРА DNS Корневые серверы DNS — DNS-серверы, содержащие информацию о доменах верхнего уровня, указывающую на DNS-серверы, поддерживающие работу каждого из этих доменов. Основные корневые серверы DNS размещены в домене root-servers.net и обозначаются латинскими буквами от A до М. Они управляются различными организациями, действующими по согласованию с ICANN. Количество серверов ограничено в связи с максимальным объѐмом UDP-пакета (большее количество серверов потребовало бы перехода на TCP-протокол для получения ответа, что существенно бы увеличило нагрузку). У многих корневых серверов DNS существуют зеркала. В частности, российское зеркало сервера F расположено в РосНИИРОС в Москве, а сервера K в Новосибирске. Из-за существовавших в прошлом ограничений на размеры DNS- пакета (512 байт) в DNS-ответ могло быть помещено всего 13 серверов (от A до M — тринадцатой буквы в алфавите), сейчас за этими 13 именами стоят более 200 серверов. Ближайший (к пользователю) адрес «зеркала» корневого сервера выбирается автоматически благодаря IP AnyCast. Так, при обращении к K.root- servers.net, пользователь из Новосибирска скорее всего обратится к новосибирскому серверу (в NSK-IX).
  • 101. КОРНЕВЫЕ СЕРВЕРА DNS Географическое распределение корневых серверов DNS (2006) Функционирование корневых серверов критично для функционирования сети Интернет в целом. Опровержение распространѐнных заблуждений :  Не весь интернет-трафик проходит через корневой сервер;  Не каждый DNS-запрос обрабатывается корневым сервером;  Корневые серверы обслуживаются не добровольцами в качестве хобби, а профессионалами, и хорошо финансируются;  Ни одна организация (коммерческая или правительственная) не контролирует всю систему.  По разным оценкам, только от 18 до 32 % разрешений доменных имен приводит к обращению непосредственно к одному из корневых серверов, остальные запросы используют кэшированные DNS-записи о TLD NS.
  • 102. КОРНЕВЫЕ СЕРВЕРА DNS