2024/10/29 2

TCP 연결종료와 상태변화

TCP 연결종료 과정은 4-way handshaking으로 연결할 때보다 조금 더 복잡하다.   한 가지 대전제는 특별한 이유가 없다면 클라이언트 행동이 Active하다. 즉 연결을 맺고, 끊음이 모두 클라이언트이다. (서버가 연결을 끊을 경우는 특수한 경우)   1) 연결이 되어 있는 상태에서 클라리언트는 서버로 FIN + ACK 를 보내어 연결 끊을 것을 알린다.2 ) 그리고 클라이언트는 ACK 가 오기를 기다린다.  3) 이 후 서버도 FIN+ACK 를 보내고, 4) ACK가 오기를 기다린다.  이 과정이  4-way handshaking 이다. 여기서 중요한 상태 개념은 TIME_WAIT 상태이다. 서버로 부터 FIN+ACK 가 오면 클라이언트는 TIME_WAIT 상태가 된다. 이는 누군가 연결을..

네트워크 2024.10.29

TCP 연결과정과 3-way handshaking

3-way handshaking은 TCP 연결 과정으로 늘 등장해왔다.     클라이언트가 접속 대기중인 서버 (192.168.0.20:80)에 접속을 할 때, 클라이언트는 소켓 하나 열어서 접속을 시도할 것이다. 이 때 Round Trip Time (갔다가 돌아오는 시간)이 50ms가 소요된다고 가정하자.  Syn, Ack 통신되는 단위는 세그먼트이다. 기본적인 세그먼트라면 헤더와 페이로드로 구성되어 있지만, 연결 과정에서의 세그먼트는 IP 헤더와 TCP 헤더만 존재한다. 단순 내부 연결, 즉 관리 목적의 세그먼트가 왔다갔다 한다.   1) Syn 을 할 때, 클라이언트 쪽에서 Sequence Number를 랜덤으로 생성한다. (예를들어 1000을 생성했으면 Syn을 할 때 서버에게 1000을 보내게 ..

네트워크 2024.10.29