Протоколы TCP, UDP, HTTP, HTTPS, FTP
Новые протоколы для Интернета. Рассмотрение системы классификации сетевых соединений. Основные условия подключение портов к сети. Исследование принципов работы протоколов TCP, UDP, HTTP, HTTPS, FTP. Таблица классов кодов состояния их короткое описание.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 15.05.2020 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http: //www. allbest. ru/
Тема: «Протоколы TCP, UDP, HTTP, HTTPS, FTP»
Введение
Новые протоколы для Интернета утверждаются IETF (Internet Engineering Task Force - Специальная комиссия инженерии Интернета), а прочие протоколы -- IEEE (nstitute of Electrical and Electronics Engineers - Институт инженеров по электротехнике и радиоэлектронике) или ISO - (International Organization for Standardization - Международная организация по стандартизации). ITU-T (Международный союз электросвязи) занимается телекоммуникационными протоколами и форматами.
Наиболее распространённой системой классификации сетевых протоколов является так называемая модель OSI. В соответствии с ней протоколы делятся на 7 уровней по своему назначению:
Прикладной уровень (Application layer). Верхний (7-й) уровень модели, обеспечивает взаимодействие сети и пользователя. Уровень разрешает приложениям пользователя доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты. Также отвечает за передачу служебной информации, предоставляет приложениям информацию об ошибках и формирует запросы к уровню представления. Пример: HTTP, POP3, SMTP.
Уровень представления (Presentation layer). 6-й уровень отвечает за преобразование протоколов и кодирование/декодирование данных. Запросы приложений, полученные с уровня приложений, он преобразует в формат для передачи по сети, а полученные из сети данные преобразует в формат, понятный приложениям. На уровне представления может осуществляться сжатие/распаковка или кодирование/декодирование данных.
Сеансовый уровень (Session layer). 5-й уровень модели отвечает за поддержание сеанса связи, что позволяет приложениям взаимодействовать между собой длительное время. Сеансовый уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений.
Транспортный уровень (Transport layer). 4-й уровень модели, предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, как они были переданы.
Сетевой уровень (Network layer). 3-й уровень сетевой модели OSI, предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и заторов в сети.
Уровень звена данных (Data Link layer). Часто это уровень называется канальным. Этот уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Данные, полученные с физического уровня, он упаковывает во фреймы, проверяет на целостность, если нужно исправляет ошибки и отправляет на сетевой уровень. Спецификация IEEE 802 разделяет этот уровень на 2 подуровня -- MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня.
Физический уровень (Physical layer). Самый нижний уровень модели, предназначен непосредственно для передачи потока данных. Осуществляет передачу электрических или оптических сигналов в кабель или в радиоэфир и соответственно их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов. На этом уровне работают концентраторы (хабы), повторители (ретрансляторы) сигнала и медиаконверторы.
1. Основная часть
Любое действие в интернете -- это обмен данными. Каждый раз, когда вы запускаете видеоролик, посылаете сообщение в социальной сети или открываете любимый сайт, ваш компьютер отправляет запрос к нужному серверу и получает от него ответ.
В основе функционирования Интернет положена работа нескольких протоколов, которые располагаются один поверх другого.
Сетевым протоколом называется набор правил, позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть компьютерами.
Фактически разные протоколы зачастую описывают лишь разные стороны одного типа связи; взятые вместе, они образуют так называемый стек протоколов. Названия «протокол» и «стек протоколов» также указывают на программное обеспечение, которым реализуется протокол.
TCP -- Transfer Control Protocol. Протокол управления передачей. Он служит для обеспечения и установление надежного соединения между двумя устройствами и надежную передачу данных. При этом протокол TCP контролирует оптимальный размер передаваемого пакета данных, осуществляя новую посылку при сбое передачи.
Протокол TCP требует, чтобы перед отправкой сообщения было открыто соединение. Серверное приложение должно выполнить так называемое пассивное открытие (passive open), чтобы создать соединение с известным номером порта, и, вместо того чтобы отправлять вызов в сеть, сервер переходит в ожидание поступления входящих запросов. Клиентское приложение должно выполнить активное открытие (active open), отправив серверному приложению синхронизирующий порядковый номер (SYN), идентифицирующий соединение. Клиентское приложение может использовать динамический номер порта в качестве локального порта.
Сервер должен отправить клиенту подтверждение (ACK) вместе с порядковым номером (SYN) сервера. В свою очередь клиент отвечает АСК, и соединение устанавливается.
После этого может начаться процесс отправки и получения сообщений. При получении сообщения в ответ всегда отправляется сообщение АСК. Если до получения АСК отправителем истекает тайм-аут, сообщение помещается в очередь на повторную передачу.
Протокол TCP имеет встроенную возможность надежной доставки. Если сообщение не отправлено корректно, мы получим сообщение об ошибке.
Установление соединения TCP
Давайте теперь посмотрим, как устанавливается TCP-соединения. Предположим, что процесс, работающий на одном хосте, хочет установить соединение с другим процессом на другом хосте. Напомним, что хост, который инициирует соединение называется «клиентом», в то время как другой узел называется «сервером».
Перед началом передачи каких-либо данных, согласно протоколу TCP, стороны должны установить соединение. Соединение устанавливается в три этапа (процесс «трёхкратного рукопожатия» TCP).
§ Запрашивающая сторона (которая, как правило, называется клиент) отправляет SYN сегмент, указывая номер порта сервера, к которому клиент хочет подсоединиться, и исходный номер последовательности клиента (ISN).
§ Сервер отвечает своим сегментом SYN, содержащим исходный номер последовательности сервера. Сервер также подтверждает приход SYN клиента с использованием ACK (ISN + 1). На SYN используется один номер последовательности.
§ Клиент должен подтвердить приход SYN от сервера своим сегментов SYN, содержащий исходный номер последовательности клиента (ISN+1) и с использованием ACK (ISN+1). Бит SYN установлен в 0, так как соединение установлено.
После установления соединения TCP, эти два хоста могут передавать данные друг другу, так как TCP-соединение является полнодуплексным, они могут передавать данные одновременно.
User Datagram Protocol (UDP) -- это простой, ориентированный на дейтаграммы протокол без организации соединения, предоставляющий быстрое, но необязательно надежное транспортное обслуживание. Он поддерживает взаимодействия "один со многими" и поэтому часто применяется для широковещательной и групповой передачи дейтаграмм.
Ниже вкратце определим основные термины, связанные с UDP:
Пакеты. В передаче данных пакетом называется последовательность двоичных цифр, представляющих данные и управляющие сигналы, которые передаются и коммутируются через хост. Внутри пакета эта информация расположена в соответствии со специальным форматом.
Дейтаграмма -- это отдельный, независимый пакет данных, несущий информацию, достаточную для передачи от источника до пункта назначения, поэтому никакого дополнительного обмена между источником, адресатом и транспортной сетью не требуется.
MTU (Maximum Transmission Unit). MTU характеризует канальный уровень и соответствует максимальному числу байтов, которое можно передать в одном пакете. Другими словами MTU -- это самый большой пакет, который может переносить данная сетевая среда. Например, Ethernet имеет фиксированный MTU, равный 1500 байтам. В UDP, если размер дейтаграммы больше MTU, протокол IP выполняет фрагментацию, разбивая дейтаграмму на более мелкие части (фрагменты) так, чтобы каждый фрагмент был меньше MTU.
Порты. Чтобы поставить в соответствие входящим данным конкретный процесс, выполняемый в компьютере, UDP использует порты. UDP направляет пакет в соответствующее место, используя номер порта, указанный в UDP-заголовке дейтаграммы. Порты представлены 16-битными номерами и, следовательно, принимает значения в диапазоне от 0 до 65 535. Порты, которые также называют конечными точками логических соединений, разделены на три категории:
· Хорошо известные порты - от 0 до 1023
· Регистрируемые порты -- от 1024 до 49151
· Динамические / частные порты -- от 49152 до 65535
Заметим, что порты UDP могут получать более одного сообщения в каждый промежуток времени. В некоторых случаях сервисы TCP и UDP могут использовать одни и те же номера портов, например 7 (Echo) или 23 (Telnet).
Групповая рассылка -- это открытый, базирующийся на стандартах, метод одновременного распространения идентичной информации нескольким пользователям. Групповая рассылка является основным средством протокола UDP, она невозможна для протокола TCP. Групповая рассылка позволяет добиться взаимодействия одного со многими, например, делает возможными такие использования, как рассылка новостей и почты нескольким получателям, интернет-радио или демонстрационные программы реального времени. Групповая рассылка не так сильно нагружает сеть, как широковещательная передача, поскольку данные отправляются сразу нескольким пользователям:
Принцип работы UDP
Когда приложение, базирующееся на UDP, отправляет данные другому хосту в сети, UDP дополняет их восьмибитным заголовком, содержащим номера портов адресата и отправителя, общую длину данных и контрольную сумму. Поверх дейтаграммы UDP свой заголовок добавляет IP, формируя дейтаграмму IP:
На предыдущем рисунке указано, что общая длина заголовка UDP составляет восемь байтов. Теоретически максимальный размер дейтаграммы IP равен 65 535 байтам. С учетом 20 байтов заголовка IP и 8 байтов заголовка UDP длина данных пользователя может достигать 65 507 байтов. Однако большинство программ работают с данными меньшего размера. Так, для большинства приложений по умолчанию установлена длина приблизительно 8192 байта, поскольку именно такой объем данных считывается и записывается сетевой файловой системой (NFS). Можно устанавливать размеры входного и выходного буферов.
Преимущества UDP
· Нет установки соединения.
· Скорость. UDP работает быстрее TCP.
· Топологическое разнообразие. UDP поддерживает взаимодействия "один с одним" и "один с многими", в то время как TCP поддерживает лишь взаимодействие "один с одним".
· Накладные расходы
· Размер заголовка. Для каждого пакета заголовок UDP имеет длину всего лишь восемь байтов
HTTP -- широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).
Характеристики HTTP протокола:
1. HTTP протокол работает по технологии клиент-сервер.
2. HTTP протокол относится к седьмому уровню модели OSI.
3. HTTP протокол относится к семейству протоколов TCP/IP.
4. Для передачи данных по протоколу HTTP используется порт 80 TCP или 8080.
5. Спецификация протокола RFC 2616.
6. Для идентификации ресурса HTTP протокол использует URI (читай про URI в HTTP).
7. HTTP протокол не имеет промежуточных состояний между запросом и ответом, конечно, клиент может получить ответ с кодом 100, но это ведь уже ответ, а не промежуточное состояние.
8. HTTP протокол синхронный, но позволяет клиенту отправлять несколько запросов подряд, не дожидаясь ответа сервера, при условии, что сервер даст ответы на запросы в том порядке, как они приходили.
Серверы HTTP протокола можно условно разделить на два вида: исходные сервера и прокси-сервера. К исходным серверам относятся те сервера, к которым непосредственно обращается клиент, прокси-сервера HTTP - это транзитные сервера между клиентом и тем сервером, к которому он желает обратиться. Зачастую бывает так, что HTTP сервер выполняет одновременно функцию и конечного сервера, и прокси-сервера, а иногда и клиента.
Методы в HTTP протоколе определяет способ обращения клиента к серверу и, соответственно, какую информацию хочет получить или передать клиент серверу. HTTP сервер можно настроить так, чтобы он выполнял некоторые методы, а некоторые игнорировал, это сделано в целях безопасности. Такие настройки можно производить, как для сервера целиком, так и для отдельных ресурсов на HTTP сервере.
Методы в HTTP протоколе делятся на безопасные и идемпотентные. К безопасным относятся методы GET и HEAD, потому что они используются лишь для получения содержимого или его характеристик от сервера, а идемпотентные методы, это такие методы HTTP протокола, которые в случае своего многократного использования к ресурсу на одном и том же URI от одного и того же клиента будут давать такую же нагрузку, как будто этот метод выполнился только один раз, к идемпотентным методам HTTP протокола относятся: GET, HEAD, PUT, DELETE, OPTIONS и TRACE
Коды состояния в HTTP протоколе говорят клиенту о том, что произошло с его запросом, как сервер понял запрос и нужно ли делать что-нибудь клиенту, чтобы запрос был выполнен корректно. Коды состояния - это три цифры, например, 100, 301, 404, 503. Коды состояния в HTTP протоколе делятся на пять классов состояния: информационные коды (они начинаются с единицы), успешные коды (начинаются с двойки), коды перенаправления (начинаются с тройки), коды ошибок клиента (начинаются с четверки), коды ошибок сервера (начинаются с пятерки). Ниже приведена таблица классов кодов состояния их короткое описание.
Номер |
Класс кода состояния в HTTP протоколе и его описание |
|
1 |
HTTP коды состояний 1xx: информационные Такой код состояния сервер высылает в том случае, когда запрос получен, но еще не обработан. |
|
2 |
HTTP коды состояний 2xx: успешные Сервер отправит вам такой код в том случае, когда он успешно принял и обработал HTTP сообщение клиента. |
|
3 |
HTTP коды состояний 3xx: перенаправление Если вы получили от сервера код состояния, начинающийся на тройку, то это означает, что нужны дополнительные действия, чтобы завершить процесс обработки HTTP запроса. |
|
4 |
HTTP коды состояний 4xx: ошибка клиента Если вы увидели код состояния, который начинается с четверки, то это означает, что произошла ошибка по вине клиента. |
|
5 |
HTTP коды состояний 5xx: серверная ошибка Код состояния, начинающийся с пятерки, говорит о том, что произошла ошибка на стороне сервера. |
Работает это следующим образом.
1 этап. Клиент (браузер) отправляют строку запроса (HTTP-запрос), которая создается по определенным правилам, и запрашивает нужную веб-страничку на сервере.
2 этап. Сервер принимает запрос и ищет у себя эту веб-страницу. По результатам этого поиска создается ответ клиенту (HTTP-ответ). Этот ответ тоже оформляется по определенным правилам.
Если все прошло успешно и страница найдена, то в этом ответе будет передан код нужной веб-страницы + дополнительная служебная информация.
Если произошел, какой-то сбой, то будет передан код ошибки и дополнительная служебная информация.
При всём удобстве и популярности HTTP у него есть один недостаток: данные передаются в открытом виде и никак не защищены. На пути из точки А в точку Б информация в интернете проходит через десятки промежуточных узлов, и, если хоть один из них находится под контролем злоумышленника, данные могут перехватить. То же самое может произойти, когда вы пользуетесь незащищённой сетью Wi-Fi, например, в кафе. Для установки безопасного соединения используется протокол HTTPS с поддержкой шифрования.
Схема http:
Схема https:
FTP (англ. File Transfer Protocol) -- протокол передачи файлов по сети. В отличие от TFTP, гарантирует передачу (либо выдачу ошибки) за счёт применения квитируемого(гл. квитировать; подтверждение приёма-передачи структурной единицы информации) протокола TCP. Стандартный порт управления FTP-соединением -- 21. Типичное применение FTP-протокола -- загрузка сайтов и других документов с частного устройства разработки на общедоступные сервера хостинга.
В зависимости от способа установления соединения для передачи данных различают активный и пассивный режимы работы FTP. В активном режиме сервер сам устанавливает соединение передачи данных к клиенту, в пассивном наоборот. Рассмотрим эти режимы более подробно.
Активный режим
В активном режиме клиент устанавливает управляющее соединение на порт 21 сервера и передает специальную команду PORT, в которой указывает свой адрес и порт для передачи данных. Получив данную команду, сервер устанавливает соединение с 20 порта на указанный в команде порт клиента.
Недостаток данного метода: для работы в активном режиме клиенту требуется выделенный IP-адрес. Также определенные сложности будут возникать при нахождении клиента за брандмауэром или NAT'ом.
Пассивный режим
Для установления соединения в пассивном режиме клиент передает серверу команду PASV. В ответ сервер передает адрес и порт, на который следует устанавливать соединение для передачи данных. Получив эту информацию, клиент устанавливает подключение к серверу и начинает передачу данных.
Как видим, в пассивном режиме все соединения инициирует клиент и поэтому к нему нет никаких требований, он может находиться за NAT и брандмауэром, а также не иметь выделенного IP-адреса. Поэтому на сегодняшний день основным режимом работы FTP является пассивный.
Заключение
Все эти протоколы обеспечивают налаженную работу Интернет, которым мы пользуемся каждый день. Понимание работы сетей на базовом уровне очень важно для каждого администратора сервера или веб-мастера. Это используется для правильной настройки ваших сервисов в интернет, а также легкого обнаружения возникших проблем и решения неполадок.
Итак, модель OSI содержит 7 уровней:
· прикладной уровень (application layer), это седьмой уровень;
· представительский или уровень представления (presentation layer);
· сеансовый уровень (session layer);
· транспортный уровень (transport layer);
· сетевой уровень (network layer);
· канальный уровень (data link layer);
· физический уровень (physical layer).
Также стоит отметить, что условно уровни эталонной модели делятся на верхние и нижние:
· физический, канальный и сетевой уровни можно отнести к нижним уровням или уровням среды передачи данных, в английской литературе это называется media layers;
· а вот транспортный, сеансовый, представительский и уровень приложений относятся к host layers или к верхним уровням, ну или к уровням хоста.
Уровень приложений (7) (прикладной уровень) - это отправная и в то же время конечная точка данных, которые Вы хотите передать по сети. Этот уровень отвечает за взаимодействие приложений по сети. На этом уровне работают такие протоколы как: HTTP, POP3, SMTP, FTP, TELNET и другие.
Уровень представления (6) - этот уровень отвечает за кодирование данных, для того чтобы их потом можно было передать по сети и соответственно преобразует их обратно, для того чтобы приложение понимало эти данные.
На этом уровне работают такие протоколы как: RDP, LPP, NDR и другие.
Сеансовый уровень (5) - отвечает за поддержание сеанса между передачей данных.
Транспортный уровень (4) - отвечает за надежность передачи данных. Он также разбивает данные на сегменты и собирает их обратно, так как данные бывают разного размера. Существует два известных протокола этого уровня -- это TCP и UDP.
Сетевой уровень (3) - он предназначен для определения пути, по которому должны пройти данные. RIP, OSPF, IP.
Канальный уровень (2) - он обеспечивает взаимодействие на физическом уровне, на этом уровне определяются MAC адреса сетевых устройств, также здесь ведется контроль ошибок и их исправление, т.е. посылает повторный запрос поврежденного кадра.
Физический уровень (1) - это уже непосредственно преобразование всех кадров в электрические импульсы и обратно. Другими словами, физическая передача данных.
протокол интернет сеть порт
Протокол TCP - протокол управления передачей
Протокол UDP - протокол дейтаграмм пользователя
Протокол HTTP/HTTPS - протокол передачи гипертекста (защищенный)
Протокол FTP - передача файлов по сети
Использованная литература
Интернет ресурс
1. www.wikipedia.com
2. https://hyperhost.ua/info/osnovnyie-protokolyi-seti/
3. https://webonto.ru/protokolyi-tcp-ip-prostyim-yazyikom/
Размещено на Allbest.ru
Подобные документы
Протокол как набор соглашений и правил, определяющих порядок обмена информацией в компьютерной сети. Краткое описание и характеристика некоторых протоколов используемых в работе Интернет: TCP/IP, POP3, IMAP4, SMTP, FTP, HTTP, WAIS, TELNET, WAP.
презентация [2,9 M], добавлен 27.04.2011Услуги Интернета: электронная почта, передача файлов. Получение услуг сети через удаленный компьютер. Протоколы сети Internet: HTTP, FTP, Telnet, WAIS, Gopher, SMTP, IRC. Цели Внедрения видео-конференции-связи. Организация и проведение телеконференций.
курсовая работа [64,3 K], добавлен 20.12.2016Работы по созданию сети ARPANET, протоколы сетевого взаимодействия TCP/IP. Характеристика программного обеспечения для TCP/IP. Краткое описание протоколов семейства TCP/IP с расшифровкой аббревиатур. Архитектура, уровни сетей и протоколы TCP/IP.
реферат [15,7 K], добавлен 03.05.2010Описание принципов функционирования протоколов, используемых во всемирной сети. Характеристика структуры и особенностей работы Интернета. Преимущества использования электронной почты, IP-телефонии, средств мгновенного обмена сообщениями (ICQ, Skype).
реферат [1,2 M], добавлен 23.04.2011Просмотр сведений о сетевых подключениях компьютера с помощью ОС Windows. Установление параметров сетевых протоколов (команда ipconfig), отчет об использовании. Разрешение имен NetBios. Проверка IP-адресов, трассировка маршрутов, команды сети NET.
лабораторная работа [1,6 M], добавлен 11.09.2013Виды протоколов - стандартов, определяющих формы представления и способы пересылки сообщений, процедуры их интерпретации, правила совместной работы оборудования в сетях. Корневые серверы DNS, обеспечивающие работу системы доменных имен Интернета.
презентация [1,4 M], добавлен 14.05.2017Модели и протоколы передачи данных. Эталонная модель OSI. Стандартизация в области телекоммуникаций. Стеки протоколов и стандартизация локальных сетей. Понятие открытой системы. Internet и стек протоколов TCP/IP. Взаимодействие открытых систем.
дипломная работа [98,9 K], добавлен 23.06.2012Особенности проектирования и анализ современных информационных локальных и глобальных вычислительных сетей. Проведение настройки виртуальной локальной вычислительной сети (VLAN), HTTP и DNS серверов, сетевых протоколов OSPF, RIP, STP, технологий NAT.
курсовая работа [182,1 K], добавлен 16.01.2014Компьютерные сети и их классификация. Аппаратные средства компьютерных сетей и топологии локальных сетей. Технологии и протоколы вычислительных сетей. Адресация компьютеров в сети и основные сетевые протоколы. Достоинства использования сетевых технологий.
курсовая работа [108,9 K], добавлен 22.04.2012Разработка серверной программы, которая позволяет удаленно наблюдать за компьютером, работающим под управлением Linux. Условия, необходимые для решения данной задачи: используемые протоколы передачи данных, программные средства, динамические библиотеки.
курсовая работа [133,7 K], добавлен 18.06.2009