
DNS는 TCP인가요, UDP인가요
DNS는 기본적으로 UDP 프로토콜 (UDP/53)을 이용하여 빠른 속도를 추구하지만, 안정성이 요구되는 특수한 상황에서는 TCP (TCP/53)를 이용한다.
UDP가 사용되는 경우
- 용도 : 짧고 빠른 쿼리 처리가 요구될 때 (DNS 쿼리는 보통 짧고 빠르게 처리되야 하기 때문에 일반적)
- 예시: 512 byte 이하의 일반적인 DNS 질의 및 응답
TCP가 사용되는 경우
- 용도 : 신뢰성 있고 보장된 전송이 우선시될 때
- 예시 1: 메시지 크기가 512 byte를 넘는 경우
- 네이버, 구글 같이 www로 매핑된 서버가 많은 경우 메시지 사이즈가 512 bytes를 넘을 수 있으며, 그 경우 tcp로 재질의하여 응답을 받는다.
- 예시 2: Zone transfer
- 안정성을 위해 두 개 이상의 DNS 서버를 이용할 경우 혹은 master에서 slave로 zone 정보를 보낼 경우, 안정성을 위해 tcp를 이용한다.
※ Zone Transfer
트랜잭션 유형 중 하나로 다수의 DNS 서버 간 데이터베이스를 복제하는데 사용하며, 전체 전송과 증분 전송으로 나뉜다.
- 전체 전송 (AXFR) : 전체 레코드를 복제하는 방법
- 증분 전송 (IXFR) : 바뀐 레코드만 복제하는 방법
참고 자료
- DNS에서 TCP와 UDP 포로토콜 동작 차이점 : 네이버 블로그
- DNS는 TCP 및 UDP 모두에서 작동합니다. - Windows Server | Microsoft Learn
'Old > 지식 단락' 카테고리의 다른 글
| OSI 7 계층 (1) | 2024.11.25 |
|---|---|
| Signature 란? (0) | 2024.11.05 |