-
(4) UDP & DNSCS 지식/○ Network 2021. 7. 25. 15:58
> 내글 참조
https://korshika.tistory.com/134?category=974498
https://korshika.tistory.com/136?category=974498
1. UDP 통신
1-1) UDP 통신 정의
- User Datagram Protocol의 약자
- 데이터를 데이터그램 단위로 처리하는 프로토콜
- 비연결형, 신뢰성 없는 전송 프로토콜
- Transfer layer, 전송 계층
- IP와 거의 동일하며, checksum + port 가 추가됨
- 빠른 대신, 비연결성 지향
1-2) TCP / UDP 등장 이유
- IP
- Host to Host (장치 to 장치)만을 지원
- 장치에서 장치로 이동은 IP로 해결되지만, 하나의 장비안에서 수많은 프로그램들이 통신을 할 경우
IP만으로는 한계 → TCP / UDP에 Port 포함 - 오류
- IP에서 오류가 발생한다면 ICMP에서 알려주지만 ICMP는 알려주기만 할 뿐 대처를 못함
- IP보다 위에서 처리를 해줘야 함 → 상위 프로토콜인 TCP와 UDP 오류 처리 포함
( 전송 계층의 세그먼트가 패킷에 포함되지만, TCP/UDP를 더 상위로 쳐주는 듯? )
ICMP : 인터넷 제어 메시지 프로토콜로 네트워크 컴퓨터 위에서 돌아가는 운영체제에서
오류 메시지를 전송받는데 주로 쓰임1-3) TCP / UDP 오류 해결법
TCP / UDP 공통 : checksum + port 구분
- TCP : 데이터 분식, 중복, 순서 바뀜, 서버 on 여부, 데이터 전달 여부 등을 판단하여
송수신 데이터의 정확한 전달을 확인할 수 있도록 해줌 - UDP : IP가 제공하는 수준 정도의 간단한 IP 상위 계층의 프롴토콜
어플리케이션에서 데이터 순서, missing 여부등을 체크하여 사용하는 번거로움 있음
- DNS가 UDP를 사용하는 이유
※ 이유
> DNS : Domain Name Server, Application layer영역
[DNS 추가 설명]
■ 정의 : DNS는 데이터를 교환하는 작업(장치가 송수신 한번씩 해야 함)
- 이때, TCP를 사용하게 되면
1) 데이터 송신할 때 까지, 세션 확립을 위한 처리
2) 송신한 데이터가 수신되었는지 점검과정이 필요하므로 overhead가 큼
- Request 양이 작음 -> UDP Request에 담길 수 있음
- TCP는 connection 유지를 check하는데
현재 시점에서 HTTP 지속 연결(Persisten Connections)를 기본으로 동작함(계속 연결)
참조 : https://korshika.tistory.com/143?category=974498
- 3 way handshaking으로 연결 유지 필요성 없음 + 모든 데이터 송수신 과정에서 연결 확인
(이는 오버헤드 발생) → 이 과정이 없으므로 더 빠른 데이터 전송 가능
- Request missing / 순서 등은 Application layer에서 따로 제어하면 UDP도 사용 가능
- DNS : port 35 번
- TCP를 그래도 사용하는 경우 :
- 512(UDP 크기 제한) 이 넘을 때, TCP를 사용해야 함
- Zone Transter 사용 경우 (DNS 서버간 요청을 주고 받을 때 사용하는 Transfer)
- UDP로 송신 수행하고, 응답이 돌아오지 않는 경우 TCP로 fallback
2. UDP 상세
2-1) UPD 헤더
- Source port : 시작 포트
- Destination port : 도착지 포트
- Length : 길이
- Checksum : 오류 검출
- 중복 검사의 한 형태로, 오류 정정을 통해 공간이나 시간 속에서 송신된 자료의 무결성을 보호하는 단순한 방법이다.
2-2) UDP 특징
- 간단하여 TCP 보다 용량이 가볍고, 송신 속도가 매우 빠름
- 확인 응답과정, 데이터 정합성(순서, missing 체크), 서버 On 여부 등을 체크하지 않으므로 TCP보다 신뢰성이 낮음
- UDP : 비연결성, TCP : 연결성 으로 요약될 수 있음
참조
https://gyoogle.dev/blog/computer-science/network/UDP.html
반응형'CS 지식 > ○ Network' 카테고리의 다른 글
(6) HTTP / HTTPS (0) 2021.07.27 (5) 대칭키 & 공개키(비대칭키) & SSL (0) 2021.07.27 (3) TCP/IP (흐름제어 & 혼잡제어) (0) 2021.07.23 (2) 3 way handshake - 연결 (0) 2021.07.22 (1) OSI 7 계층 (0) 2021.07.22