728x90
TCP/IP 4계층에서 애플리케이션 계층 다음에 있는 전송 계층에는 대표적으로 TCP와 UDP가 있습니다.
TCP는 신뢰성이 있는 계층이라 하는데 TCP는 자신이 보낸 패킷을 상대방이 받았다는 의미의 응답패킷을 다시 받아야 통신이 정상적으로 되었다 판단합니다. 그래서 데이터 전송을 시작하기 전 3-way handshake
기법을 사용하여 신뢰성을 구축합니다.
3-way handshake는 아래와 같은 3단계로 구성됩니다.
1. 야 들려?
2. 응 들려! 너도 들려?
3. 응 들려!
야 들려?
는 SYN에 해당하고 응 들려!
는 ACK에 해당합니다. 질문과 응답에 해당하죠.
SYN는 synchronization로 연결 요청 메세지
를 의미하며, ACK는 acknowledgement로 응답 메세지
를 의미합니다.
ISN은 initial sequence number로 초기 시퀀스 번호입니다.
3-way handshake의 과정은 다음과 같습니다.
위의 사진에서는 임의로 클라이언트의 ISN를 100으로 설정하였습니다. 그리고 서버의 ISN은 구분하기 쉽게 500으로 지정하였습니다.
처음 클라이언트는 SYN(야 들려?)를 시퀀스 넘버 100번과 함께 보내게 됩니다. 그러면 LISTEN 상태가 되어 클라이언트의 요청을 받아드릴 준비가 된 서버가 SYN를 수신하고, 서버의 ISN을 500번으로 설정하여 SYN과 함께 보내게 됩니다. 이 때 응답인 ACK(응 들려!)도 같이 보내게 되는데 클라이언트가 보내준 ISN에 +1 한 값을 응답 값으로 설정하여 보내게 됩니다. 그래서 ACK는 101입니다.
마지막으로 클라이언트는 다시 응답(응 들려!)를 서버에 보내게 되는데 이 때는 서버가 설정한 ISN에서 +1을 하여 응답합니다. 그래서 ACK는 501입니다.
위와 같은 일련의 과정을 거친 후 TCP는 데이터를 전송할 준비를 마치게 됩니다.
TCP는 이 같은 과정이 있기 때문에 신뢰성이 있는 계층이라고 하며, UDP는 이 과정이 없어 신뢰성이 없는 계층이라 합니다.
728x90
'[Computer Science] > [컴퓨터네트워크]' 카테고리의 다른 글
[컴퓨터네트워크] IPv4 주소 대역폭 (0) | 2024.08.12 |
---|---|
[컴퓨터네트워크] 서브넷 네트워킹 문제4, 5, 6, 7, 8 (0) | 2024.07.26 |
[컴퓨터네트워크] 서브넷 네트워킹 문제2, 3 (0) | 2024.04.14 |
[컴퓨터네트워크] 서브넷 네트워킹 문제1 (0) | 2024.04.12 |
[컴퓨터네트워크] HTTP 메서드, 세션과 쿠키 (0) | 2024.02.28 |