Слайд 2
Транспортный уровень
Назначение: обеспечение единообразной инфраструктуры для обмена данными
между программами
Порт (port) – 16-ти битовый идентификатор конкретной программы,
работающей на вышележащем уровне (уровень прикладных процессов в модели DoD)
Порты в рамках каждого протокола должны быть уникальны: невозможно одновременно запустить две и более программы, использующие один и тот же порт!
Слайд 3
Транспортный уровень
Порты разных протоколов не конфликтуют, так как:
1.
Протокол вышележащего уровня «знает», в сообщение какого транспортного уровня
инкапсулировать свои данные.
2. В заголовке сообщения на нижележащем уровне есть специальный признак, данные какого транспортного протокола инкапсулированы (поле Protocol для IPv4 или Next Header для IPv6)
Слайд 4
Протокол UDP
UDP (User Datagram Protocol – протокол пользовательских
дейтаграмм):
наиболее простой протокол (RFC768, описание занимает всего 2 страницы);
не
обеспечивает надежной доставки:
принцип fire-n-forget – «пальнул и забыл»;
используется в службе DNS;
широко применяется в системах сетевого вещания.
Слайд 5
Протокол TCP
TCP (Transmission Control Protocol – протокол управления
передачей):
сложный протокол (RFC793, описание – около 90 страниц);
обеспечивает надежную
доставку:
до передачи данных происходит установка логического канала (сеанса) между отправителем и получателем;
при передаче учитывается каждый байт;
байты, чей прием не был подтвержден в течении определенного интервала времени, передаются отправителем повторно.
Слайд 6
Протокол TCP
Применение TCP – большинство служб Интернет: всемирная
паутина, эл. почта, передача файлов…
Достоинства:
встроенная надежность доставки;
самосинхронизация –
отправитель и получатель постепенно выходят на наиболее удобную для них обоих скорость передачи данных;
Недостатки:
сложность и избыточность для LAN;
отсутствие поддержки реального времени;
Слайд 7
Порты
Все пространство портов как для TCP, так и
для UDP, делится на 3 диапазона:
системные (System Ports), от
0 до 1023. Их использование строго регламентировано для серверов стандартных служб Интернет;
пользовательские (User Ports), от 1024 до 49151. Применяются для идентификации серверных программ таких разработчиков, как Microsoft, Oracle и т.д.
динамические (Dynamic Ports), от 49152 до 65535. Используются для динамического выделения операционной системой по запросу или «простыми» разработчиками.
Слайд 8
Сокеты
Сокет (Socket) – основной инструмент сетевого программиста
Представляет собой
совокупность порта соответствующего транспортного протокола и IP-адреса:
IP-адрес идентифицирует сеть
в масштабе Интернет и хост в масштабе этой сети;
Порт идентифицирует конкретную программу на этом хосте;
TCP-сокеты и UDP-сокеты взаимонезависимы;
Практически все современные системы программирования поддерживают работу с сокетами.
Слайд 9
Служба доменных имен (DNS)
Служба DNS (от англ.
Domain Name Service) значительно облегчает процесс обращения к хостам
в Интернет либо интранет для человека. Как мы знаем, для идентификации хоста используется IP-адрес, не зная которого, работа с данным хостом невозможна. Однако, запомнить и удержать в памяти много таких 12-значных чисел человек просто не в состоянии.
Выйти из положения позволяет применение символьных имен, построенных по иерархическому принципу, изложенному далее. В настоящее время нормально работать с Интернет, если эта служба на рабочем месте не настроена, практически невозможно.
Слайд 10
Служба доменных имен (DNS)
Вводится понятие домена (от англ.
domain – область), который представляет собой логическую совокупность компьютеров
(хостов), имеющую свое собственное имя. Система доменов иерархична, один домен подчинен другому; на самом верхнем уровне иерархии расположены т.н. домены верхнего уровня (часто обозначаются аббревиатурой TLD – от англ. Top Level Domain), число которых ограничено.
Полное доменное имя (обозначается FQDN от англ. Full Qualified Domain Name) хоста строится слева направо таким образом: сперва указывается собственное имя хоста, затем указываются имена всех доменов, к которым относится этот хост с учетом всей иерархии между доменами; разделителем между именами является точка “.” Очевидно, что самым правым фрагментом полного доменного имени будет имя некоторого домена верхнего уровня. Любой фрагмент полного доменного имени (от точки до точки) именуется меткой (label) и может включать до 63 символов. Длина FQDN ограничена 254 символами.
Слайд 11
Служба доменных имен (DNS)
Рассмотрим реальный пример. Пусть даны
два домена с именами mephi и yandex, оба подчинены
домену верхнего уровня, который имеет имя ru. В каждом из доменов имеется хост с собственным именем www, тогда для этих хостов полные доменные имена будут иметь вид www.mephi.ru и www.yandex.ru соответственно. Таким образом, полное доменное имя хоста также позволяет уникально опознать хост, и к тому же является достаточно удобным для человека, если при назначении для имен хостов доменов использовать понятные обозначения, что и делается на практике. Обычно Web-серверу назначают собственное имя www, FTP-серверу – имя ftp и так далее.
Слайд 12
Служба доменных имен (DNS)
Таким образом, возникает две системы
для обозначения одного и того же хоста: по полному
доменному имени и по IP-адресу. Первая удобна для человека, вторая – для вычислительных систем, остается лишь установить между ними строгое соответствие, что и делается посредством серверов имен.
Сервер имен (NS – от Name Server) или DNS-сервер – содержит базу данных, в которой указаны доменные имена и соответствующие им IP-адреса для тех хостов, за которые отвечает данный сервер.
Зона (zone) – домен, в котором имеется свой собственный сервер имен
каждая зона является доменом, обратное верно не всегда
Слайд 14
Домены верхнего уровня
Имеется корневой сервер имен, зона для
которого не имеет специального обозначения, по сути дела, такой
сервер – один на весь мир (реально их порядка десятка, каждый хранит копию базы данных имен для этой корневой зоны). В корневой зоне прописаны те хосты, которые порождают домены верхнего уровня. Домены верхнего уровня можно разделить на три группы. Самыми первыми (исторически) являлись домены: GOV (хосты правительственных учреждений), EDU (хосты образовательных учреждений), COM (хосты коммерческих организаций), MIL (хосты военных организаций), NET (хосты компаний, ведающих разработкой и развитием сетей) и ORG (хосты прочих организаций).
Эти шесть доменов удовлетворяли всех, пока масштабы Интернет были небольшими, но как только начался бурный рост этой глобальной сети, было решено ввести еще одну группу доменов, по одному домену на все хосты каждой страны. На рисунке выше эта новая группа доменов обозначена CON, реально домен для каждой страны обозначается двумя буквами согласно стандарту ISO 3166, например, RU – Россия, DE – Германия, CH – Швейцария и т.д. Полный список обозначений для каждой из стран можно найти на сайтах координирующих органов Интернет, например, на сайтах www.iana.org и www.ripe.net Все домены верхнего уровня являются зонами.
Слайд 15
Домены верхнего уровня
Таким образом, принцип формирования доменов
верхнего уровня сперва был функциональным, затем – географическим. В
начале 2000-х годов перечень доменов верхнего уровня был пополнен (вновь обратились к функциональному принципу) дополнительными доменами: AERO – для авиатранспортных компаний, BIZ – для сферы бизнеса, INFO – для информационных компаний, COOP – для кооперативных ассоциаций, MUSEUM – для музеев, NAME – для физических лиц, PRO – для профессиональных объединений, INT – для организаций, созданных в рамках межправительственных соглашений.
Слайд 16
Домены верхнего уровня
Таким образом, принцип формирования доменов
верхнего уровня сперва был функциональным, затем – географическим. В
начале 2000-х годов перечень доменов верхнего уровня был пополнен (вновь обратились к функциональному принципу) дополнительными доменами: AERO – для авиатранспортных компаний, BIZ – для сферы бизнеса, INFO – для информационных компаний, COOP – для кооперативных ассоциаций, MUSEUM – для музеев, NAME – для физических лиц, PRO – для профессиональных объединений, INT – для организаций, созданных в рамках межправительственных соглашений.
Слайд 18
Принцип работы DNS
Исходными данными (нулевой этап), которые поступают
определителю DNS от других программ, является доменное имя целевого
хоста, в данном случае пусть будет www.ibm.com Далее происходит следующее:
Определитель проверяет, не является ли введенное имя именем самого клиентского компьютера либо именем localhost – специальное внутреннее имя, с которым автоматически связывается IP-адрес 127.0.0.1 (напомним, что этот адрес назначается любому компьютеру, на котором установлено семейство протоколов TCP/IP, см). Если это так, сам определитель отвечает запрашивающей программе данным IP-адресом, и процесс на этом завершается. (Отметим, что такая ситуация достаточно редкая и имеет место, как правило, при отладке Интернет-программ.) В противном случае продолжаем.
Определитель запрашивает у «своего» DNS-сервера IP-адрес нужного хоста (www.ibm.com)
«Свой» DNS-сервер (для зоны mephi.ru) анализирует, известен ли ему требуемый IP-адрес. Если известен, клиент получает ответ и передает его соответствующему приложению, иначе (как в нашем случае, поскольку целевой хост не относится к зоне mephi.ru) –
запрос перенаправляется корневому серверу имен.
Корневой DNS-сервер проверяет, известен ли ему запрашиваемый IP-адрес. Если нет, он отыскивает в своей базе данных имен IP-адрес хоста, на котором функционирует сервер имен зоны-домена верхнего уровня (в данном случае, зоны/домена com).
Этот IP-адрес передается запрашивающему DNS-серверу.
Слайд 19
Принцип работы DNS
Запрос перенаправляется серверу имен зоны/домена верхнего
уровня (у нас – com)
DNS-сервер зоны com пытается
отыскать у себя адрес целевого хоста, это ему не удается, зато ему известен адрес сервера имен дочерней зоны ibm.com
адрес DNS-сервера зоны ibm.com передается запрашивающему серверу (серверу имен зоны mephi.ru)
Запрос перенаправляется серверу имен зоны ibm.com
DNS-сервер зоны ibm.com отыскивает в своей базе данных имен IP-адрес хоста www.ibm.com
Найденный IP-адрес передается серверу имен зоны mephi.ru, после чего
возвращается клиенту (определителю) и, наконец,
передается запрашивающей программе, например, браузеру.
Как видно из схемы, имеет место несколько различных запросов, в связи с чем делается следующая их классификация. Запросы типа «клиент-сервер» называются рекурсивными, а запросы «сервер-сервер» - итеративными. Такая терминология связана с тем, что один рекурсивный запрос порождает заранее неизвестное количество итеративных запросов.
Слайд 20
Всемирная паутина (WWW)
Web-сервер – программа, выполняющаяся на
хосте и обслуживающая запросы клиентов на доступ к ресурсам
Web – Web-страницам и объектам, с ними связанных. Среди последних могут быть различные графические изображения, элементы мультимедиа (аудио- и видеоклипы, анимация) и др. Как правило, Web-сервер функционирует на хосте, имеющем постоянное соединение с Сетью.
Web-страница – документ на языке HTML, размещенный на Web-сервере. Совокупность взаимосвязанных Web-страниц именуется Web-сайтом.
Web-браузер – программа, выполняющаяся на клиентском хосте, запрашиваюшая у сервера Web-страницы и представляющая их содержимое пользователю.
Сценарий или скрипт (script) – программа на специализированном языке программирования, выполняющаяся в режиме интерпретации. Сценарий, выполняемый под управлением Web-браузера, именуется клиентским, выпол¬ня¬емый под управлением Web-сервера – серверным. Клиентский сценарий может находиться непосрдственно в тексте самой страницы, либо в отдельном файле – в последнем случае ссылка на него указывается в специальном теге.
Приложение – программа в виде загрузочного модуля, выполняемая либо под управлением браузера (клиентское Web-приложение), либо под управлением Web-сервера (серверное Web-приложение).
Слайд 21
Всемирная паутина (WWW)
Web-сервер – программа, выполняющаяся на
хосте и обслуживающая запросы клиентов на доступ к ресурсам
Web – Web-страницам и объектам, с ними связанных. Среди последних могут быть различные графические изображения, элементы мультимедиа (аудио- и видеоклипы, анимация) и др. Как правило, Web-сервер функционирует на хосте, имеющем постоянное соединение с Сетью.
Web-страница – документ на языке HTML, размещенный на Web-сервере. Совокупность взаимосвязанных Web-страниц именуется Web-сайтом.
Web-браузер – программа, выполняющаяся на клиентском хосте, запрашиваюшая у сервера Web-страницы и представляющая их содержимое пользователю.
Сценарий или скрипт (script) – программа на специализированном языке программирования, выполняющаяся в режиме интерпретации. Сценарий, выполняемый под управлением Web-браузера, именуется клиентским, выпол¬ня¬емый под управлением Web-сервера – серверным. Клиентский сценарий может находиться непосрдственно в тексте самой страницы, либо в отдельном файле – в последнем случае ссылка на него указывается в специальном теге.
Приложение – программа в виде загрузочного модуля, выполняемая либо под управлением браузера (клиентское Web-приложение), либо под управлением Web-сервера (серверное Web-приложение).
Слайд 22
WWW. Классика
Этапы:
1. Пользователь передает браузеру адрес URL (от
Uniform Resource Locator, единообразное определение местоположения ресурса) необходимой ему
Web-страницы.
2. Браузер обращается к серверу за нужной страницей.
3. Присходит загрузка страницы и ее содержимое отображается на экране пользовтеля (3а).
4. В процессе интерпретации страницы браузер запрашивает объекты, ссылки на которые та содержит (рисунки, аудиофайлы, видеоклипы и т.п.)
5. Запрошенные объекты передаются с сервера и отображаются браузером перед пользователем.
Слайд 23
WWW. Современность
Действия, выполняемые на этапах 1-5 аналогичны таковым
в ранее рассмотренной схеме.
6. Пользователь вводит необходимую информацию посредством элементов
пользовательского интерфейса, расположенных на текущей Web-странице.
7. Введенные данные пересылаются браузером серверу.
8. На стороне сервера исполняется серверный сценарий либо серверное приложение.
9. Результат работы приложения/сценария пересылается браузеру, и затем
10. отображается на экране пользователя.
Слайд 24
Литература
Основная литература:
1. L. Hughes. The Second Internet. –
InfoWeapons, 2010 (книга доступна к загрузке из Интернет по
бесплатной лицензии)
2. Ногл М. TCP/IP. Иллюстрированный учебник – М.:ДМК Пресс, 2001. – 480 с.: ил.
Интернет-ресурсы:
1. Материалы сайта рабочей группы по развитию Интернет IETF - http://www.ietf.org
2. Материалы сайта IANA - http://www.iana.org
3. Материалы сайта Консорциума WWW – http://w3.org