TCP/UDP Socket Protocol 흐름

Socket Interface 를 통해 TCP, UDP 통신 프로토콜을 사용할 수 있다.

Socket Interface 는 특정 OS 및 프로그램 언어에 종속돼서 제공된다.

 

TCP Socket Programming 흐름

서버는 Socket을 생성하고 주소를 할당(Bind)한다. 그 후 연결 요청을 기다리고(Listen) 연결을 허용(Accept)한다. 연결은 유지되며 통신하다가 로직에 따라 연결을 해제한다.

 

UDP Socket Programming 흐름

TCP와 다르게 Listen(), Accept() 가 없다.

UDP는 연결된 채로 sendto() 를 실행하지 않기에 하나의 sendto()에 하나의 recvfrom()이 호출된다.

예시로 Server의 recvfrom()이 동작하기 전에 3개의 sendto()가 쌓였다면 TCP의 경우 1번의 recvfrom()으로 데이터를 처리하지만 UDP는 3번의 recvfrom()이 동작한다.

 

UDP 소켓이 전송하는 패킷을 가리켜 데이터 그램이라 하는데 TCP 패킷과 달리 데이터의 일부가 아닌 하나의 데이터로 의미를 가질 때 데이터 그램이라 표현한다.

 

참고 자료

https://andjjip.tistory.com/281

 

[Socket 프로그래밍] 4. TCP 기반 서버/클라이언트 1

TCP 기반 서버/클라이언트 1 TCP와 UDP에 대한 이해 인터넷 프로토콜 기반 소켓의 경우, 데이터 전송방법에 따라서 TCP 소켓과 UDP 소켓으로 나뉘고, 특히 TCP 소켓의 경우 연결을 지향하기 때문에 '스

andjjip.tistory.com

https://andjjip.tistory.com/283

 

[Socket 프로그래밍] 6. UDP 기반 서버/클라이언트

UDP 기반 서버/클라이언트 UDP 소켓의 특성 UDP를 편지로 예시로 동작원리를 설명하고자 한다. 편지를 보내기 위해서는 편지봉투에다가 보내는 사람과 받는 사람의 주소 정보를 써야한다. 그리고

andjjip.tistory.com

http://www.ktword.co.kr/test/view/view.php?m_temp1=5829 

 

소켓 인터페이스

소켓 호출, 소켓 시스템 호출, socket(), bind()

www.ktword.co.kr

 

'CS,네트워크' 카테고리의 다른 글

Stomp protocol  (0) 2024.01.02
교착상태 Deadlock  (0) 2023.09.18
stack/heap memory  (0) 2023.09.16