-
TCP의 연결성립(3웨이 핸드셰이크, 4웨이 핸드셰이크, TIME_WAIT)CS지식의 정석/네트워크 2023. 10. 22. 03:19
TCP의 연결
3-웨이 핸드셰이크
1. SYN 단계 : 서버에 클라이언트의 ISN을 담아 SYN을 보낸다
2. SYN + ACK 단계 : 서버는 SYN을 수신하고 서버의 ISN을 보내며, 승인번호로 클라이언트의 ISN+1을 보낸다
3. ACK 단계 : 클라이언트는 서버의 ISN+1한 승인번호를 담아 ACK를 보낸다.
*ISN : Initial Sequence Number(초기 순서 번호), 이 값을 통해 데이터 스트림의 시작 위치를 식별
*SYN : TCP에서 사용되는 통신 시작을 나타내는 플래그(Flag) 중 하나
*ACK : TCP에서 사용되는 데이터를 성공적으로 수신받았음을 나타내는데 사용하는 플래그
*ISN을 1씩 증가시키는 이유 : 보안과 예측 불가능성을 높이기 위함TCP가 신뢰성 있는 이유이다.
TCP의 연결해제
4-웨이 핸드셰이크
1. 클라이언트가 FIN으로 설정된 세그먼트를 날리고 FIN_WAIT_1 상태가 되고 기다림
2-1. 서버는 ACK라는 승인 세그먼트를 보내고 CLOSE_WAIT 상태가 된다.
2-2 클라이언트가 세그먼트를 받으면 FIN_WAIT_2 상태가 된다.
3. 서버는 LAST_ACK 상대가 되며 일정시간 이후 클라이언트에 FIN 세그먼트를 날린다.
4-1. 클라이언트는 TIME_WAIT 상태가 되고 다시 서버로 ACK를 보낸다
4-2. 서버는 ACK를 받고 CLOSED 상태가 되고 클라이언트는 TIME_WAIT의 시간이 지난 후 연결이 닫힌다.
TIME_WAIT
지연 패킷 등이 발생했을 때 데이터 무결성을 해결하기 위해 패킷을 기다리는
시간'CS지식의 정석 > 네트워크' 카테고리의 다른 글
MAC주소, ARP, RARP (0) 2023.10.22 라우팅 (0) 2023.10.22 TCP/IP 인터넷 계층 (0) 2023.10.22 TCP/IP 전송계층(TCP, UDP) (0) 2023.10.22 TCP/IP 응용계층(MTU, HTTP, SSH, FTP, SMTP) (0) 2023.10.22