2012-11-30 9 views
-1

TCP에 대한 높은 수준의 이해를 얻으려고 노력 중이며 혼란스러운 점이 있습니다.메시지 전송 교착 상태에 대한 TCP 사양

서버 S와 클라이언트 C가 연결되어 있다고합시다. S는 C에 메시지를 푸시 및 C가 실현되기 전에 메시지가 이제도 S.

향해

메시지를 푸시 전송 S가 대기하는 상태에있다가 ACK 및 C는 또한 메시지의 있었다 있었다면

ACK를 기다리는 중입니다.

사양이 이러한 종류의 교착 상태를 어떻게 피할 수 있습니까? 많은 온라인 리소스가 특정 구현 세부 사항에 빠르게 포함되지만 이러한 교착 상태가 어떻게 처리되는지에 대한 높은 수준의 설명을 찾으려고합니다.

(나는 버퍼링 할 답을했다 가정하고 있지만, 주제에 대한 구체적인 정보를 발견했다.)

+0

응용 프로그램 수준 확인 또는 TCP의 기본 제공 ACK에 대해 이야기하고 있습니까? – Barmar

+0

TCP의 기본 제공 ACK를 말합니다. –

+1

세그먼트를 수신 할 때마다 ACK가 전송되며, 응용 프로그램이 메시지를 보낼 때까지 기다릴 필요가 없습니다. – Barmar

답변

1

무엇 교착 상태? 전이중 (양방향) 프로토콜입니다. 특히, 양측이 ACK를 보내지 못하게하는 상황에는 아무 것도 없습니다. 행동은 완전히 RFC 793에 지정되어 있으며 생각보다 더 정교합니다.

+0

나는 그것이 훨씬 더 복잡하다는 것을 안다. 나는 개인적인 이해를 위해 최대한 단순하게하려고 노력하고있다. 따라서 채널면에서 전이중을 설명한다면 TCP 구현에는 두 개의 채널이 필요합니까? 또는 단일 채널을 사용하여 구현할 수도 있습니다. –

+0

@Alex 단일 전이중 채널입니다. '단순화'하는 것이 좋지만 실제로하고있는 일은 '물건 만들기'로 더 잘 묘사됩니다. – EJP

관련 문제