728x90

UDP 소켓과 TCP소켓의 데이터 송수신 비교

flow control이 없음

ip와 크게 다르지 않다.

데이터 분실 및 손실 위험이 있다.

전송이 빠르다.

 

코드레벨에서의 TCP와 UDP의 차이점

tcp는 연결과 해제의 개념이 있음

udp는 연결 개념이 없다. 때문에 보낼 때 마다 목적지 정보를 담아서 보내야 함.

udp는 서버 소켓(listen socket)과 클라이언트 소켓의 구분이 없다.

 

주요 함수

sendto(+주소포함)

recvfrom(+주소정보확인)

 

데이터 경계가 있기 때문에 recvfrom 과 sendto 함수 호출이 1대1이다.

 

unconnected udp 소켓의 sendto 함수 호출 과정

1단계 : UDP 소켓에 목적지 IP와 port번호 등록

2단계 : 데이터 전송

3단계 : UDP 소켓에 등록된 목적지 정보 삭제

매번 반복적인 1,3단계가 발생하기 때문에 이를 줄이기 위해 connected UDP 소켓 등장

 

connected udp 소켓

connected UDP 소켓은 TCP 처럼 실제 연결을 의미 하지 않는다. (connect 함수 호출로 주소등록 가능(실제 접속은 아님))

단순히 목적지 정보를 등록해서 이후에는 read, write를 통해 데이터 송신을 가능하게 한다.

 

 

728x90

+ Recent posts