TCP와 HTTP의 관계를 설명하는 다음과 같은 비유가 올바른가?


1

호스 파이프로서의 TCP 및 흐르는 물로서의 HTTP

방금 일부를 읽고 TCP와 HTTP의 차이점을 개념화하려고했습니다. http://wiki.answers.com/Q/What_is_the_difference_between_tcp_and_http 에서 비유를 훔쳤습니다 .


1
아니요, 이는 다른 (상위 레벨) 프로토콜 인 HTTP가 페이로드 (또는 데이터 내용)임을 의미합니다. 그리고 데이터는 연속 스트림이 아닌 패킷 화되고 전송 중에 버퍼링되기 때문에 물이 유추되지 않습니다.
톱밥

알았어 고마워. 더 잘 설명해 줄 수 있습니까?
Erik

운영 체제와 응용 프로그램의 차이점과 같은 것입니까?
Erik

답변:


1

아니요, 특히 좋은 은유는 아니지만 다소 효과가 있습니다.

HTTP는 프로토콜이지만 TCP도 다른 프로토콜입니다. 프로토콜은 단순히 서로 대화하는 규칙입니다. 그런 의미에서 하나를 '호스'라고하고 다른 하나를 '물'이라고 부르는 것은 불공평하다.

OSI 모델에 대해 조금 아는 것이 좋을 것 같습니다. http://en.wikipedia.org/wiki/OSI_model

기본적으로 HTTP는 서로 통신하는 응용 프로그램 간의 규칙 집합입니다. 웹 브라우저가 서버와 통신하는 규칙을 정의합니다. TCP는 종단 간 전송 및 제어를위한 일련의 규칙입니다. 엔드 포인트와 신뢰성 간의 연결을 처리합니다. 그러나 물리 계층, 네트워크 계층 등에서 발생하는 것과 같은 다른 프로토콜이 있습니다.

내가 유추를 강요 받았다면 나는 이것을 더 많이 넣을 것이다. 아무도 방을 떠날 수는 있지만 서로 대화 할 필요가없는 가상의 건물. 사람들간에 의사 소통 할 수있는 프로토콜이 있습니다 (예 : 메모 작성). 다음 방으로 보내려면 봉투에 넣고 사무실 우편 규칙에 따라 보내야합니다 (예 : 층-방 번호). 다른 건물로 보내려면 도시 전역의 택배를 통해 보내야합니다 (예 : 건물 주소).

갑자기 도시 반대편에있는 누군가와 대화하고 싶다면 쪽지 (프로토콜 1)를 작성하고 택배가 집어 올리는 (프로토콜 2) 내 1 층 주소 봉투에 넣어야합니다. 택배로 마을을 가로 질러 특정 건물로 가져갑니다 (프로토콜 3). 다른 쪽에서 1 층에있는 사람은 택배 상자를 풀고 봉투를 꺼내고 (프로토콜 2로 다시) 봉투를 열고 메모를 가져 오는 오른쪽 층과 방 번호로 전달해야합니다 (프로토콜로 돌아 가기) 1).

이 "상승 및 하강 계층"은 OSI 모델에서 발생합니다.


당신이 비유를 강요하도록 응원합니다
Erik

1

그 비유는 종속 관계를 보여 주지만 실제로는 다른 (상위 레벨) 프로토콜 일 때 HTTP가 페이로드 (또는 데이터 내용)임을 암시합니다.
데이터는 연속 비트 스트림으로 전송되지 않기 때문에 물은 매체에 적합하지 않습니다. 이더넷 데이터는 패킷 화 되며 전송 및 수신 중에 버퍼링 되기도 합니다.

프로토콜은 메일이나 패키지를 보내는 것과 비슷합니다.
종이 메일에 대한 계층 구조를 고려하십시오.

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

다른 도시의 다른 사무실에있는 동료 직원에게 바운드 문서를 보내려고합니다.
따라서 문서를 사무실 간 봉투에 넣고 메일 담당자가 가져 오도록합니다.

지역 우체국에서는 이것이 현지 사무실 직원을위한 것이 아니라는 것을 인식하므로 문서는 회사 우편으로 처리됩니다.
따라서 다른 사무실로 보내려면 문서 (사무실 봉투에 있음)가 택배 봉투 (FedEX라고 생각)에 채워져 발송됩니다.

다른 사무실에 도착하면 택배 봉투가 풀립니다.
그런 다음 사무실 간 봉투가 수취인에게 전달되고 해당 봉투를 풀고 문서를 읽습니다.

문서는 HTTP에서 사용하는 HTML (또는 다른 데이터)과 같습니다.
HTTP는 사용자 (사용자)와 관련된 회사 간 봉투와 같습니다.
mail guy와 mailroom은 HTTP와 같은 고급 프로토콜보다 TCP / IP와 같은 하위 수준 프로토콜을 래핑하는 웹 브라우저와 같습니다.
택배 봉투는 TCP / IP와 같습니다.
택배 서비스는 실제로 물품을 옮기는 이더넷 전송 서비스와 같습니다.


0

TCP는 전화 대화와 같습니다. 전화를해서 "hello"라고 말합니다. (SYN)

인사를 나누고 나면 대화를 시작합니다. 긴 이야기를 할 때마다 "wow"또는 "ok!"로 답장을합니다. 또는 "그거 짜증나!" (ACK)

"잘 가야겠다"고 말할 때까지 대화가 계속됩니다. 지느러미

TCP와 HTTP를 비교할 때, 위의 비유에서 TCP는 대화의 예절 인 반면, HTTP는 통화중인 전화 유형입니다. 휴대 전화 (HTTP) 또는 유선 (예 : FTP)을 사용할 수 있습니다. 대화 방법은 동일하지만 프로토콜에 액세스하는 방법이 다릅니다.

누군가 그것을 향상시킬 수 있다고 확신하십시오. 그게 내 시도 야!


게다가 HTTP는 전화 (유선, 휴대폰, Skype 등)를 통해 대화하는 프로토콜입니다. 영어 나 스페인어로 대화하는 것에 동의하는 사람들과 비슷합니다. 그것은 상호 작용하는 자체 방식을 가지고 있습니다 (무엇을 요구하고, 얻고, 요청하고, 데이터를 보내십시오 ...).
vonbrand
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.