Computer Science/CS 네트워트 편

[Network] 11. TCP 프로토콜 추가 정리

미스터로즈 2021. 8. 13. 08:14

네트워크 관련된 유튜브 강의 정리 내용입니다.

정확한 내용을 학습하고 싶으면 네트워크 기초를 참고하시면 됩니다.


TCP를 이용한 통신과정

연결 수립 과정

TCP를 이용한 데이터 통신을 할 때 프로세스와 프로세스를 연결하기 위해 가장 먼저 수행되는 과정입니다.

1. 클라이언트가 서버에게 요청 패킷을 보내고

2. 서버가 클라이언트의 요청을 받아들이는 패킷을 보내고

3. 클라이언트는 이를 최종적으로 수락하는 패킷을 보내줍니다.

 

위 3개의 과정을 3Way Handshake라고 부릅니다.

 

 

3Way Handshake


데이터 송수신 과정

 

TCP를 이용한 데이터 통신을 할 때 단순히 TCP 패킷만을 캡슐화해서 통신하는 것이 아닌 페이로드를 포함한 패킷을 주고 받을 때의 일정한 규칙을 가지게 됩니다.

 

1. 보낸 쪽에서 또 보낼 때는 SEQ 번호와 ACK 번호가 그대로입니다.

2. 받는 쪽에서 SEQ 번호는 받는 ACK 번호가 됩니다.

3. 받는 쪽에서 ACK 번호는 받는 SEQ 번호 + 데이터 크기 입니다.

 

 

데이터가 함께 붙어서 날라옵니다.


TCP 연결 상태의 변화

TCP의 여러가지 상태 변화

중요하게 봐야 하는 2가지 LISTEN 과 ESTABLISHED

 

1. LISTEN 상태는?

포트번호를 열어놓고 있는 상태, 프로그램이 서버에서 포트번호를 사용하고 있는 상태

 

2. ESTABLISHED 상태는?

데이터를 주고 받을 수 있는 상태