반응형


안녕들 하시죠 !


이번시간에는 TCP 와 UDP에 대해 알아보겠습니다.

TCP와 UDP 둘다 OSI 7계층중에 전송에 관련된 4계층( Transport Layer )에 속해있는데요.


TCP( Transmission Control Protocol )란?


TCP란 전송제어프로토콜의 약자로서 기본적으로 IP와 함께 쓰이며, 데이터의 송수신을 위하여 사용되고 있는 프로토콜이다.

통신이 연결된 호스트간에 신뢰성을 보장받으며 데이터를 주고 받을때 사용한다. 

연결 ( 3 Way HandShaking )과 해제 ( 4 Way HandShaking ) 방식이 있으며, 수신측이 데이터를 받았는지 확인한다.

수신측에서 한번에 받을 수 있는 데이터의 버퍼량을 조절해주는 흐름제어 기능과,

수신측의 상태에 따라 데이터의 전송량을 조절해주는 혼잡제어 기능을 지원한다.


3 Way HandShaking


TCP/IP를 이용하여 데이터를 전송하기전, 신뢰성을 보장하기위하여 상호간에 연결하는 과정이다.

우선 SYN과 ACK에 대해 알아보겠습니다.


SYN ( synchronize sequence numbers ) : 세션을 성립할때 가장 먼저 보내는 패킷이며, 연결 요청 신호이다.


ACK ( Acknowledgement ) : 상대방으로부터 패킷을 받았다는 응답 신호이다.


     출처 [ Wikipedia ]

왼쪽이 클라이언트, 오른쪽이 서버입니다.


1. 클라이언트는 서버에게 접속요청을 하며 SYN 패킷을 보낸다.

   그러면서 클라이언트는 SYN-ACK를 기다리는 SYN_SENT상태가 된다.


2. 서버는 클라이언트의 SYN요청을 받고 수락한다는 SYN-ACK 패킷을 보내고 난뒤, SYN_RECEIVED상태가 된다.


3.  클라이언트는 서버에게 ACK 를 보내고 연결이 이루어져 데이터를 주고 받을수 있게 되며 양측 모두 ESTABLISHED상태가 된다.



4 Way HandShaking


3 Way HandShaking과 비슷하지만 연결을 해제하는 과정이다.


     출처 [ Wikipedia ]

번에도 왼쪽이 클라이언트, 오른쪽이 서버입니다.


1. 클라이언트가 서버에게 연결을 종료하겠다는 FIN을 전송한다. 


2. 서버는 일단 알겠다며 클라이언트에게 ACK 메시지를 보내고 자신의 통신이 종료될때까지 대기하는상태 (CLOSE_WAIT)가 된다.


3. 연결이 종료되면 서버는 클라이언트에게 FIN 메시지를 보내며 LAST_ACK 상태가 된다.


4. 클라이언트는 서버에게 확인 메시지를 보내며 통신을 종료한다.


UDP( User Datagram Protocol )란? 


비연결형 서비스를 제공하는 사용자 데이터그램 프로토콜이다.

TCP와는 다르게 수신측이 데이터를 받았는지 확인하지 않고 일방적으로 보낸다.

TCP보다 속도가 빠르지만 비신뢰성 프로토콜이다.



오늘은 여기까지입니다 감사합니다 !

'Network' 카테고리의 다른 글

Wireshark 패킷 스니핑  (0) 2018.11.18
Wireshark란? / 설치법  (2) 2018.11.16
네트워크 스캐닝 / WPScan  (0) 2018.11.09
네트워크 해킹  (0) 2018.11.09
OSI 7 Layer & TCP/IP  (0) 2018.11.05

+ Recent posts