UDP
사용자 데이터그램 프로토콜 (User Datagram Protocol)
특징
- 기능이 거의 없음
- 연결 지향, 데이터 전달 보증, 순서 보장 모두 안됨
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
- IP와 거의 같지만 Port와 checksum 정도만 추가되어 있다고 생각하면 됨
- 사용하는 이유?
- TCP는 연결을 먼저 하고 데이터를 전송하기 때문에 속도가 UDP보다는 느림
- 조금 더 최적화를 하고 싶은 경우 TCP는 그대로 쓰고 UDP에 관련해서 애플리케이션 레벨에서 추가 작업을 하면 가능.
💡 OS가 있고 OS위에 응용 애플리케이션(예를들면 브라우저)이 있고
웹 개발자는 이 응용 애플리케이션 위에서 작동하는 프로그램을 만듦.
브라우저의 기본 동작을 웹 개발자가 변경할 수 없기에 TCP/UDP에 대한 제어를 개발자가 할 순 없음.
직접 응용 애플리케이션을 제작한다면 이런 한계를 넘어 마음대로 사용할 수 있음.
💡 현재 UDP가 각광 받는 중. HTTP/3의 경우도 UDP를 사용.
PORT
- 같은 IP 내에서 프로세스를 구분하게 하는 것
- 0 ~65535 까지 할당할 수 있음
- 0 ~ 1023번은 잘 알려진 포트이기 때문에 사용하지 않는 것이 좋음.
- FTP - 20, 21
- TELNET - 23
- HTTP - 80
- HTTPS - 443
DNS
도메인 네임 시스템 (Domain Name System)
- IP는 기억하기 어렵기도 하고 변경될 수 있기도 함.
- 도메인 명을 IP 주소로 변환.
- DNS 서버에 도메인을 등록
- DNS 서버에는 도메인 명과 IP 주소를 연관지어서 저장하고 있음
- 클라이언트에서 도메인 주소를 입력하면 DNS 서버에서는 IP 주소를 응답해줘서 클라이언트가 맞는 서버를 찾아갈 수 있도록 해줌