CS/Computer Network

[Network] Transport layer ( handshake ~ disconnection )

KimBangg 2021. 4. 30. 15:05

 

<TCP Connection Mangement>

 

1) 클라이언트 쪽의 TCP -> 서버 쪽 TCP에게 SYN packet를 전송한다.

SYN Packet : appplication layer data를 포함하지 않았지만, flag에 있던 SYN이 0 -> 1로 전환

무작위로 첫 seq# number ( client_isn)을 선택하고, 이 숫자를 SYN필드에 올린다.

이 패킷은 IP datagram 으로 합쳐진 후에 서버로 전송된다.

 

2)SYN 패킷을 포함한 Datagram이 도착하게 되면, SYN 패킷 + seq = 무작위 서버 숫자 +

ack = client_isn(클라이언트의 seq +1 한 수) 를 다시 클라이언트에게 보낸다.

 

3) 클라이언트는 SYN을 0으로 변환 한 후에, ACK, Seq#을 다시 서버에게 재 전송하게 되면 TCP Connection !

이후, 데이터를 자유롭게 전송 할 수 있다 ! :)

 

대표사진 삭제

사진 설명을 입력하세요.

 

< Tcp Close Mangement >

1) Client TCP Send FIN packet to Server TCP ( set to 1 )

2) Server receives this packet and send ack & send its own shutdown segment( FIN bit to 1)

3) client ack shutdown seg => 클로징

 

 

 

 

< 클라이언트와 서버의 TCP 순환 주기 >

 

1) 클라이언트

 

2) 서버

 

 

대표