티스토리 뷰
*공부 기록용으로 하는 블로그입니다.잘못된 개념이나 오타가 있을 수 있습니다. 잘못된 정보알려주시면 수정하겠습니다!*
UDP 프로토콜이란?
-UDP는 데이터를 신속하고 간편하게 보내는 프로토콜입니다. TCP처럼 데이터를 안정적이고 신뢰성있게 보내진않지만 빠르게 응답하고 보낼 수 있는 장점이 있습니다. 다음은 UDP의 특징입니다.
1.빠른 속도 : UDP는 TCP에 비해 전송 신뢰성이 떨어지지만 TCP보다 빠른 속도와 적은 오버헤드를 가지고 있습니다.
2.비연결 지향 :UDP는 데이터를 주고받을 때 연결 절차를 거치지않고 일방적으로 데이터 전송만 합니다.
3.데이터 신뢰성X : 흐름제어 혼잡제어 같은 기능이 없이 일방적으로 데이터 전송만 하기에 데이터가 유실되거나 순서가 꼬일 수 있습니다. TCP는 세그먼트 넘버를 통해 분할되어 있는 데이터를 순차적으로 전달 하는것을 보장합니다.
4.작은 헤더 사이즈 : UDP데이터를 보내기위한 헤더에 필요한 정보가 거의없어 작은 헤더 사이즈를 가지고 있습니다.
TCP 프로토콜 기본 구조
Source port
-UDP 세그먼트를 보내는 송신 측의 포트번호 (보내는 포트)
Destination port
-UDP 세그먼트를 받는 수신 측의 포트번호 (받는 포트)
Length
-UDP 헤더와 보낼 데이터의 크기를 합친 길이
UDP Checksum
- UDP의 전송되는 데이터들의 비트를 더한값, 수신측에선 전송된 체크섬 값 계산후 수신된 체크섬값과 비교후 같지않으면 손상되었음을 알고 재전송 요청합니다.
UDP server-client 통신 과정
서버 소켓과정
- socket()
-소켓을 생성 - bind()
-생성된 소켓에 IP주소, 포트넘버등의 정보를 설정 - recvfrom() recv()함수와 다름
-서버 소켓에 들어온 데이터들을 받음 - sendto() send()함수와 다름
-클라이언트 소켓에 데이터를 보냄 - closesocket()
-소켓 삭제
클라이언트 소켓과정
- socket()
-소켓을 생성 - recvfrom() recv()함수와 다름
-서버 소켓에 들어온 데이터들을 받음 - sendto() send()함수와 다름
-클라이언트 소켓에 데이터를 보냄 - closesocket()
-소켓 삭제
'네트워크' 카테고리의 다른 글
MAC주소와 ARP (0) | 2023.05.02 |
---|---|
멀티플렉싱 개념(select,epoll) (0) | 2023.05.02 |
멀티 쓰레드(세마포어,뮤텍스) , 멀티플렉싱이란? (0) | 2023.04.11 |
시그널(Signal)이란? (0) | 2023.04.03 |
TCP 통신이란? (0) | 2023.03.27 |