본문 바로가기

OSI 7계층/[LAYER 4] 전송 계층

UDP[User Datagram Protocol] WORLD!

안녕하세요!

장마가 지나가고-

오랜만에 미세먼지 없는 청량한 하늘이 보이네요 ;-D

자, 그럼 지금부터 UDP의 세상으로 들어가볼까요?

 

 

1. UDP 너란 녀석은!?

 

UDP는 전송 프로토콜입니다. PORT 이야기를 하면서 잠깐 이야기가 나온 적이 있엇는데 기억하고 계신지 모르겟네요.

 

UDP는 포트 번호를 이용데이터를 전달하는 역할을 합니다.

안정적이지 않고 패킷의 순서도 보장하지 않는 전송을 추구합니다.

즉, 최소한의 수고를 들여 데이터를 전달하는게 특징이죠!

 

TCP는 신뢰성있는 전송을 지향하기때문에 패킷 손실이 있으면 손실된 부분을 다시 전송해야하는 의무가 있는 반면,

UDP는 신뢰성있는 전송에는 신경 쓰지 않기 때문에 통신 중간에 손실에 대해서는 알지도 못하고 신경도 전혀 안쓴답니다.

 

통신 과정이 간단하기 때문에 통신 속도가 TCP에 비해 빠르다는 특징이 있죠!

그래서 단순한 요청-응답만을 필요로 하는 프로세스에 적합하구요!

 

2. UDP 프로토콜의 위치

 

 

 

위 그림에서 UDP가 어디에 위치해 있는지 찾으셨나요!?

전송계층[Transport Layer]에 위치해있습니다.

 

 

3. UDP 데이터 그램 구조 

 

 

 

 

IP 데이터그램 내에서 UDP는 8바이트의 고정 크기 헤더를 가지고 있습니다.

 

- SP [Source port number] : 송신지에서 수행되는 프로세스 포트 번호입니다.

클라이언트인 경우에는 임시 포트 번호, 서버인 경우에는 잘 알려진 포트 번호를 사용합니다.

- DP [Destination port] : 목적지에서 수행되는 프로세스 포트 번호입니다.

- UDP Length : UDP헤더와 데이터 길이를 합한 UDP 데이터그램의 전체 길이입니다.

- UDP Checksum : UDP 헤더와 데이터에 대한 오류 검사입니다. (선택사항)

 

 

4. UDP Well-Known Port

UDP Well-known port로는 다음과 같은 것들이 있습니다.

 

 

위 표에 나와있는 것들은 엔지니어 생활을 하면서 자주 접하고 사용하는 것들이니

외워놓는 것도 도움이 될 거 같습니다! :-D

 

5. UDP 실제 예시 

 

UDP를 이용하는 서비스들 중에서 DNS가 있습니다.

DNS[Domain Name System]는 도메인 이름과 IP 주소를 서로 변환하는 역할을 합니다.

다시 말하자면 우리가 인터넷을 좀 더 편하게 쓰게 도와주는 역할을 합니다.

영문이나 한글 주소를 네트워크 상에서 찾아갈 수 있는 IP로 변환해 준답니다!

 

자, 이제 아래의 통신 과정을 살펴 볼까요?

 

제 PC가 네이버로 접속을 하고 싶어합니다.

그런데, 네이버 IP를 모르네요!!

친절한 DNS 선생님에게 물어보기로 합니다. 바로 KT DNS 선생님이죠!

KT DNS선생님 주소는 다들 외우고 다니시죠!?

KT DNS 선생님 주소는 168.126.63.1 입니다. ;D

KT DNS 선생님께 네이버 IP를 물어보았습니다.

이때 DNS의 well-known port인 53번을 이용해야겠죠!?!?

조오오기 보이시나요??

User Datagram Protocol, Src Port: 65049, Dst Port: 53 

제 PC에서 네이버의 질문을 담은 패킷을 65049 포트를 통해 내보내고

KT DNS 서버의 53번 포트로 날아가라고 되어있습니다!

 

 

드디어 KT DNS 선생님께서 친절히 응답을 해주셨네요!

응답 패킷의 제일 아랫 부분, Answers!! 찾으셨나요~!?

거기에 네이버의 주소가 담겨있답니다. :-D

 

 

이제 본격적인 무더운 여름이 시작될 거 같네요, 모두들 여름 감기 조심하시구요!

다음주에 뵈어요~^^

 

 

 

'OSI 7계층 > [LAYER 4] 전송 계층' 카테고리의 다른 글

DNS[Domain Name Service]  (0) 2018.10.07
TCP[Transmission Control Protocol]의 세계  (0) 2018.07.01
TCP와 UDP  (1) 2018.06.24
포트[PORT]에 대하여  (1) 2018.06.17