TCP는 두 호스트들 간에 정보를 전달하기 전에 접속이 먼저 필요하다. 그 때 3Way Handshaking 이라는 방법이 필요하게 된다.

보통 위 그림과 같은 방법이다. 그림을 보면 화살표 세개가 있는 것을 알 수 가 있다. 저게 3Way Handshaking이다. 데이터를 전송하기 전에 서로 연결 설정을 해야하는데 그 때 필요하게된다. TCP 프로토콜을 사용한다면 무조건 저 방법으로 접속을 한 후 데이터 전송이 이루어지게 된다.

두 호스트가 접속을 끊을 때는 4Way Handshaking을 사용한다.

둘이 데이터를 전송하고 있었다고 가정하자. 클라이언트가 전송이 다 되었다고 FIN/ACK를 보낸다.
① B는 A에게 종료 요청의 메시지를 담은 FIN 패킷을 전송한다.
② A는 B에게 종료메시지 FIN을 주는 것이 아닌 응답을 받았다는 의미로 ACK 패킷을 보낸다. 이것은 A가 자신은 아직 끝날 준비가 되지 않았다는 것이다.
③ A는 B에게 자신도 종료할 준비가 다 됐다는 뜻으로 FIN 패킷을 보낸다.
④ B는 알았다는 의미인 ACK를 보내는데 이 후 둘의 연결은 종료된다.

'Programming > 이것저것' 카테고리의 다른 글

ASCII Table  (0) 2010.04.05
사용자 정의 exception (1)  (0) 2010.03.21
Sliding Window  (0) 2010.03.19
CISC & RISC  (0) 2010.03.18
CISC, RISC, CRISC(EPIC)  (0) 2010.03.18

+ Recent posts