109. Протокол HTTP. Форматы сообщений HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов). Основой HTTP является технология «клиентсервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом. Сообщения состоят из 3 частей: 1. Стартовая строка – определяет тип сообщения 2. Заголовки – характеризуют тело сообщения, параметры передачи и прочие сведения; представляют собой строки, содержащие разделенную двоеточием пару параметр:значение. 3. Тело сообщения – непосредственно данные. 110. Система электронной почты. Протоколы. Сетевая почтовая служба – это распределенное клиент-серверное приложение главной функцией которого является предоставление пользователям сети обмениваться электронными сообщениями. Почтовый клиент – это программа позволяющая оформить и отправить сообщение. Электронное сообщение – это сообщение содержащее, заголовок и тело сообщения. Протоколы: SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты) — это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP. SMTP используется для отправки почты от пользователей к серверам и между серверами для дальнейшей пересылки к получателю. Для приёма почты почтовый клиент должен использовать протоколы POP3 или IMAP. Сервер SMTP — это конечный автомат с внутренним состоянием. POP3 (Post Office Protocol Version 3 — протокол почтового отделения, версия 3) используется почтовым клиентом для получения сообщений электронной почты с сервера. Обычно используется в паре с протоколом SMTP. POP3 сессия состоит из нескольких режимов. Как только соединение с сервером было установлено и приглашение было отправлено, сессия переходит в режим авторизации. В этом режиме клиент должен идентифицировать себя на сервере. После успешной идентификации сессия переходит в режим передачи. В этом режиме клиент запрашивает сервер выполнить определённые команды. Когда клиент отправляет команду QUIT, сессия переходит в режим обновления. В этом режиме POP3 сервер освобождает все занятые ресурсы и завершает работу. После этого TCP соединение закрывается. IMAP предоставляет пользователю обширные возможности для работы с почтовыми ящиками, находящимися на центральном сервере. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Электронными письмами можно манипулировать с компьютера пользователя (клиента) без постоянной пересылки с сервера и обратно файлов с полным содержанием писем 111. Транспортный уровень модели OSI. Назначение, протоколы Транспортный уровень Предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, в которой они были переданы. Назначение: 1. Отслеживание отдельных коммуникаций 2. Сегментация и повторная сборка данных Введение в протоколы TCP и UDP TCP – транспортный протокол, предоставляющий поток данных с предварительной установкой соединения, за счет этого дающий уверенность в достоверности доставляемых данных, осуществляет повторный запрос данных в случае потери и устраняет дублирование. UDP – транспортный протокол передачи данных в сети IP без установления соединения. Не гарантирует доставку пакетов. 112. Протокол UDP.Сравнение с TCP, псевдозаголовок UDP (англ. User Datagram Protocol — протокол пользовательских датаграмм) — это транспортный протокол для передачи данных в сетях IP без установления соединения. Он является одним из самых простых протоколов транспортного уровня модели OSI. Его IP-идентификатор — 0x11. В отличие от TCP, UDP не гарантирует доставку пакета, поэтому аббревиатуру иногда расшифровывают как Unreliable Datagram Protocol (протокол ненадёжных датаграмм). Это позволяет ему гораздо быстрее и эффективнее доставлять данные для приложений, которым требуется большая пропускная способность линий связи, либо требуется малое время доставки данных. Псевдозаголовок UDP-заголовок не содержит информации об адресе отправителя и получателя, поэтому даже при совпадении порта получателя нельзя с точностью сказать, что сообщение пришло в нужное место. Для проверки того, что UDP-сообщение достигло пункта своего назначения, используется дополнительный псевдозаголовок: Поле «протокол» содержит в себе значение 17 (00010001 в двоичном виде, 0x11 — в шестнадцатеричном) — идентификатор UDP-протокола. Поле «длина UDP-датаграммы» содержит в себе длину UDP-сообщения (UDP-заголовок + данные; длина псевдозаголовка не учитывается) в октетах, то есть совпадает с одноименным полем в UDP-заголовке. Псевдозаголовок не включается в UDP-сообщение. Он используется для расчета контрольной суммы перед отправлением сообщения и при его получении (получатель составляет свой псевдозаголовок, используя адрес хоста, с которого пришло сообщение, и собственный адрес, а затем считает контрольную сумму). 113. Протокол TCP. Назначение, формат пакета. Transmission Control Protocol – протокол, основанный на логическом соединении, что позволяет осуществлять гарантированную доставку данных, используя в качестве инструмента ненадежный дейтаграммный сервис. Используется в почтовых программах, веб-браузерах. Формат пакета: Порт источника Порт назначения Номер последовательности Номер подтверждения Длина заголовка Зарезерв. Флаги Размер окна Контрольная сумма Указатель важности Опции Данные 114. Логическое соединение. Установка и завершение логического соединения. Устраняет: Потери Искажения Дублирование Нарушение порядка Всегда дуплексное. Установка соединения называется тройным рукопожатием: 1) Клиент, который намеревается установить соединение, посылает серверу сегмент с номером последовательности и флагом SYN. Сервер получает сегмент, запоминает номер последовательности и пытается создать сокет (буфера и управляющие структуры памяти) для обслуживания нового клиента. В случае успеха сервер посылает клиенту сегмент с номером последовательности и флагами SYN и ACK, и переходит в состояние SYNRECEIVED. В случае неудачи сервер посылает клиенту сегмент с флагом RST. 2) Если клиент получает сегмент с флагом SYN, то он запоминает номер последовательности и посылает сегмент с флагом ACK. Если он одновременно получает и флаг ACK (что обычно и происходит), то он переходит в состояние ESTABLISHED. Если клиент получает сегмент с флагом RST, то он прекращает попытки соединиться. Если клиент не получает ответа в течение 10 секунд, то он повторяет процесс соединения заново. 3) Если сервер в состоянии SYN-RECEIVED получает сегмент с флагом ACK, то он переходит в состояние ESTABLISHED. В противном случае после тайм-аута он закрывает сокет и переходит в состояние CLOSED. Завершение соединения можно рассмотреть в три этапа: 1) Посылка серверу от клиента флагов FIN и ACK на завершение соединения. 2) Сервер посылает клиенту флаги ответа ACK , FIN, что соединение закрыто. 3) После получения этих флагов клиент закрывает соединение и в подтверждение отправляет серверу ACK , что соединение закрыто. 115. Метод скользящего окна. В этом методе для повышения скорости передачи данных источнику разрешается передать некоторое количество кадров в непрерывном режиме, то есть в максимально возможном для источника темпе без получения на эти пакеты квитанций. Количество пакетов, которые разрешается передавать таким образом, называется размером окна. 116. Типы IP-адресов. 1) Unicast(уникальный). Используется при идентификации отдельных интерфейсов и служит для однонаправленной передачи данных. 2) Broadcast(широковещательный). 3) Multicast(групповой). Идентифицирует группу сетевых интерфейсов(IGMP). 4) Anycast(произвольной рассылки). Задает группу адресов, но данные должны быть доставлены не всем, а любому из адресатов. 117. Формат адреса IPv4. Разграничение номеров сети и узла. IPv4 использует 32-битные (четырёхбайтные) адреса, ограничивающие адресное пространство 4 294 967 296 (232) возможными уникальными адресами. Удобной формой записи IP-адреса (IPv4) является запись в виде четырёх десятичных чисел (от 0 до 255), разделённых точками, например, 192.168.0.1. (или 128.10.2.30 — традиционная десятичная форма представления адреса). Класс A B C D E Первые биты 0 10 110 1110 11110 Начало диапазона 1.0.0.0 128.0.0.0 192.0.0.0 224.0.0.0 240.0.0.0 Конец диапазона 126.0.0.0 191.255.0.0 223.255.255.0 239.255.255.255 247.255.255.255 Количество Количество сетей хостов 126 16 777 214 16384 65 534 2 млн. 254 Групповые адреса Резерв 118. Классовая адресация. Организации, выделяющие адреса Классовая адресация — метод IP-адресации. Использование этого метода не позволяет экономно использовать ограниченный ресурс IP-адресов, поскольку невозможно применение различных масок подсетей к различным подсетям. Класс 1 1 октет2 Адреса Маска количество октет10 А 1 – 127 00000001N.H.H.H 255.0.0.0 Сетей – 128 01111111 Хостов - 16777214 B 128 – 10000000N.N.H.H 255.255.0.0 Сетей – 16384 191 10111111 Хостов – 65534 С 192 – 11000000N.N.N.H 255.255.255.0 Сетей – 2097150 223 11011111 Хостов – 254 D 224 11100000Multicast 239 11101111 E 240 – 11110000Experimental 255 11111111 Уникальный IP-адрес назначается каждому сетевому интерфейсу специальной организацией, Internet Network Information Center (InterNIC), которая отвечает за выделение адресов сетям, объединенным в мировую сеть Internet. До 1 апреля 1993 г. (дата создания InterNIC) регистрационное обслуживание для Internet (назначение IPадресов и имен доменов DNS) выполнялось организацией Network Information Center (NIC). В настоящее время NIC выполняет запросы только для сети DDN (Defеnse Data Network). Всех остальных пользователей Internet обслуживает регистрационный сервис InterNIC. Нетрудно посчитать, что всего в пространстве адресов IP - 128 сетей по 16 777 216 адресов класса A, 16384 сети по 65536 адресов класса B и 2 097 152 сети по 256 адресов класса C, а также 268 435 456 адресов многоадресной рассылки и 134 317 728 зарезервированных адресов. С ростом сети Интернет эта система оказалась неэффективной и была вытеснена CIDR (бесклассовой адресацией). 119. Особые IPv4-адреса. В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов: если весь IP-адрес состоит только из двоичных нулей, то он обозначает адрес того узла, который сгенерировал этот пакет; этот режим используется только в некоторых сообщениях ICMP; если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast); если в поле номера узла назначения стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, в сети 192.190.21.0 с маской 255.255.255.0 пакет с адресом 192.190.21.255 доставляется всем узлам этой сети. Такая рассылка называется широковещательным сообщением (broadcast) 120. Формат адреса IPv6. Описание полей: Version: версия протокола; для IPv6 это значение равно 6 (значение в битах — 0110). Traffic class: приоритет пакета (8 бит). Это поле состоит из двух значений. Старшие 6 бит используются DSCP для классификации пакетов.[4][5] Оставшиеся два бита используются ECN для контроля перегрузки.[6] Flow label: метка потока (см. метки потоков). Payload length: в отличие от поля Total length в протоколе IPv4 данное поле не включает заголовок пакета (16 бит). Максимальный размер, определённый размером поля, — 64 Кбайта. При большем размере может использоваться Jumbo payload[7]. Next header: задаёт тип расширенного заголовка (англ. IPv6 extension), который идёт следующим. В последнем расширенном заголовке поле Next header задаёт тип транспортного протокола (TCP, UDP и т. д.) Hop limit: аналог поля time to live в IPv4 (8 бит). Source Address и Destination Address: адрес отправителя и получателя соответственно; по 128 бит. Увеличение адреса с 32 бит до 128 по логике увеличит и таблицы маршрутизации. Чтобы такого не произошло, надо строить иерархическую систему адресации 1) Основная форма: x:x:x:x:x:x:x:x Здесь x - это шестнадцатеричное 16-битное число (т.е. имеющее в себе максимум 4 символа в шестнадцатеричной системе). Примеры: fabc:de12:3456:7890:ABCD:EF98:7654:3210 108b:0:0:0:8:800:200C:417A 2)Сжатая форма. Здесь, для уменьшения длинны адреса, в котором присутствует несколько групп, содержащих в себе только нулевые биты, применяется сокращение "::" оно означает, что на его месте находится какое-то количество групп с нулевыми битами. Выглядеть этот тип записи будет следующим образом: Примеры: (1 форма) 108b:0:0:0:8:800:200C:417A (2 форма) 108b::8:800:200C:417A 3) Альтернативная форма. Очевидно, что переход на IPv6 будет плавным: одновременно перевести на новую инфраструктуру все подключённые к Сети устройства невозможно (куда проще было в своё время перейти на IPv4). Специально для «смутного времени» в IPv6 предусмотрено два типа «переходных» адресов. Первые выдаются узлам, ответственным за туннелирование трафика между IPv6 и IPv4, и состоят из 96 нулевых бит и привычного адреса IPv4. Вторые предназначены узлам, которые не поддерживают новую систему адресации: 80 нулевых бит плюс 16 единичных бит, а потом — адрес IPv4(RFC 2373). Пример: 0:0:0:0:0:0:13.1.68.3 0:0:0:0:0:FFFF:129.144.52.38