본문 바로가기
⭐ Group_Study/Networking

[4주차] TCP: Connection Management

by 포스트쉐이크 2022. 10. 14.

TCP: Connection Management

3 - way handshake (Connection Establish)

✔ 세그먼트를 주고 받기 전에 sender와 receiver 간의 연결(connect) 해야 한다.
✔ 서로의 seq#, buffer 상태 등등...

image
  1. client가 server한테 tcp connection 연결 요청을 보낸다.
    ✔ tcp segment를 SYNbit = 1로 해서 보낸다.(평소에는 0)
    client의 첫 seq#를 보낸다.
  2. server는 client한테 SYNACK를 보낸다.
    ✔ client가 보내온 seq#+1을 ACKnum으로 한다.
    server의 첫 seq#를 보낸다.
  3. client는 SYNACK에 대한 ACK를 보낸다.
    ✔ SYNbit는 다시 0이 된다.
    여기서부터는 패킷에 데이터 포함 가능

Closing TCP Conncection

image
  1. client가 sever에 FIN control segment를 보낸다.
  2. sever가 FIN을 받으면 ACK를 보내고 server도 FIN을 보낸다.
  3. client가 FIN을 받고 ACK를 보낸다.
    ✔ ACK가 확실히 전달되도록 'timed wait'
  4. server가 ACK을 받으면 연결이 종료된다.

TCP server & client lifecycle

image

'⭐ Group_Study > Networking' 카테고리의 다른 글

[5주차] Network Layer : Intro  (0) 2022.10.20
[4주차] TCP: Congestion Control  (0) 2022.10.15
[4주차] TCP: Flow Control  (0) 2022.10.13
[3주차] TCP: Reliable Data Transfer  (0) 2022.10.06
[3주차] TCP의 Segment Structure  (0) 2022.10.05

댓글