1

TCP как шланг и HTTP как вода, протекающая через него

Я только что прочитал и пытаюсь осмыслить разницу между TCP и HTTP. Я украл аналогию здесь http://wiki.answers.com/Q/What_is_the_difference_between_tcp_and_http

3 ответа3

1

Нет, это не очень хорошая метафора, но она вроде работает (если немного покоситься ... и повернуть голову .... и игнорировать несколько проблем ... )

HTTP - это протокол, но TCP также является другим протоколом. Протоколы - это просто правила общения друг с другом. В этом смысле несправедливо называть одного «шлангом», а другого «водой», подразумевая, что у них две разные работы.

Я думаю, что вам стоит взглянуть немного о модели OSI. http://en.wikipedia.org/wiki/OSI_model

По сути, HTTP - это набор правил между приложениями для общения друг с другом. Он определяет правила взаимодействия веб-браузеров с серверами и т.д. TCP - это набор правил для сквозной передачи и управления. Он обрабатывает связь между конечными точками и надежностью. Но есть и другие протоколы, такие как то, что происходит на физическом уровне, сетевом уровне и т.д.

Если бы я был вынужден использовать аналогию, я бы сказал, что это так. Гипотетическое здание, где никто не может покинуть свою комнату, еще нужно поговорить друг с другом. Существует протокол, который может общаться между людьми (например, писать заметки). Если я хочу отправить его в следующую комнату, мне может понадобиться положить его в конверт и отправить в соответствии с правилами почтовой рассылки офиса (т. Е. Адрес Этаж - Номер комнаты). Если бы я хотел отправить его в другое здание, мне нужно было бы отправить его через курьера через весь город (т.е. иметь адрес здания).

Внезапно, если я захочу поговорить с кем-то в другой части города, мне нужно будет написать записку (протокол 1), положить ее в конверт на мой первый этаж, где курьер заберет ее (протокол 2) и получить курьер доставит его через весь город к определенному зданию (протокол 3). На другом конце человеку на первом этаже потребуется распаковать коробку курьера и вынуть конверт (обратно к протоколу 2), доставить его на нужный этаж и номер комнаты, который откроет конверт и заберет записку (обратно к протоколу). 1).

Этот "восходящий и нисходящий уровни" - это то, что происходит в модели OSI.

1

Эта аналогия показывает зависимость, но подразумевает, что HTTP является полезной нагрузкой (или содержимым данных), когда на самом деле это другой (более высокий уровень) протокол.
А вода - плохой выбор для среды, поскольку данные не передаются в виде непрерывного потока битов. Данные Ethernet упакованы (и часто буферизируются во время передачи и приема).

Протоколы больше похожи на отправку почты или посылок.
Рассмотрим многоуровневую схему для бумажной почты:

1. intra-office mail,
2. corporate mail, and 
3. a courier service.

Вы хотите отправить связанный документ другому сотруднику в другом офисе в другом городе.
Таким образом, вы кладете документ в межведомственный конверт, и почтальон забирает его.

Ваш местный отдел почты признает, что это не для местного сотрудника, поэтому ваш документ обрабатывается как корпоративная почта.
Таким образом, чтобы отправить его в другой офис, ваш документ (в межведомственном конверте) помещается в конверт курьерской службы (например, FedEX) и отправляется.

По прибытии в другой офис конверт с курьерской службой распаковывается.
Затем межведомственный конверт доставляется адресату, и он разворачивает этот конверт, чтобы прочитать документ.

Ваш документ похож на HTML (или другие данные), используемые HTTP.
HTTP подобен межфирменному конверту, к которому вы (пользователь) относитесь.
Почтовый парень и почтовое отделение похожи на ваш веб-браузер, который оборачивает протоколы более низкого уровня, такие как TCP/IP, поверх протокола высокого уровня, такого как HTTP.
Конверт курьерской службы похож на TCP/IP.
Курьерская служба похожа на транспортную службу Ethernet, которая фактически перемещает товары.

0

TCP это как телефонный разговор, я тебе звоню, ты отвечаешь и здороваешься. (SYN)

После обмена приветствиями мы начинаем говорить. Когда я рассказываю длинную историю, вы время от времени отвечаете "вау" или «ок!"или" это отстой!». (АСК)

Разговор продолжается, пока я не скажу: «Ну, мне нужно идти». ПЛАВНИК

Что касается сравнения между TCP и HTTP, то в приведенной выше аналогии TCP - это этикет разговора, тогда как HTTP - это тип телефона, с которым вы разговариваете. Вы можете использовать мобильный телефон (HTTP) или стационарный телефон (например, FTP). Метод разговора тот же, но другой способ доступа к протоколу.

Я уверен, что кто-то может улучшить это. Это моя попытка!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .