본문 바로가기
네트워크

6. UDP & 기타 프로토콜

by Testengineer 2021. 10. 16.
반응형

UDP

사용자 데이터그램 프로토콜(UDP)은 비연결의 비전송 보장 프로토콜이다. UDP에서는 데이터를 전송하기 전에 SYN 플래그로 이뤄지는 연결 단계가 필요 없다. 그리고 상대방이 UDP 패킷을 받았는지 확인할 수도 없고, 송신 순서대로 수신 순서가 지켜지지도 않는다. 그래서 UDP는 중요도가 낮은 단문 형태의 데이터를 상대방에게 일방적으로 보낼 때 사용하는 프로토콜이다. TCP에 비해 안정성은 떨어지지만 속도는 빠르고 오버헤드가 적다.

UDP는 신뢰성은 떠러지지만 DNS, IPTV, VoIP, TFTP, IP Tunneling 등 다양한 곳에서 활용되고 있다. UDP 사용 시 운영체제에 설정된 UDP 송수신 버퍼 크기를 초과하는 데이터를 전송하면 제대로 수신되지 않는다.

 

기타 프로토콜

DNS

인터넷은 IP 주소를 통해 컴퓨터 간에 통신이 이뤄진다. 그런데 쇼핑몰, 포털, 정부기관 등 인터넷 서비스를 제공하는 모든 IP주소를 외워서 사용한다면 불편함이 많아서 IP주소를 대신해 쉽게 외울 수 있고 인터넷 서비스를 제공하는 조직명을 알면 유추할 수 있는 도메인명 체계를 제공함으로써 편리하게 인터넷 서비스를 사용할 수 있게 하고 있다.

브라우저에서 https://www.tistory.com/ 을 입력하면 인터넷 통신을 하기 위해 IP주소로 바꾸는 과정이 필요한데, 이 과정에 사용되는 프로토콜이 바로 DNS(Domain Name System)이다.

DNS 프로토콜은 크게 조회(query)와 응답(response)으로 구성된다. 조회는 도메인명에 대한 IP주소 조회를 DNS 서버에 보내는 것이다. 그러면 DNS 서버는 응답으로 해당 도메인명에 해당하는 IP주소를 보낸다. 

윈도우와 유닉스에서 DNS가 정상적으로 작동하는지는 nslookup 명령을 이용해 확인할 수 있다.

 

FTP

FTP(File Transfer Protocol)는 서버와 클라이언트 간에 파일을 전송하기 위한 프로토콜로서 TCP/IP를 기반으로 동작한다. FTP는 동작할 때 두 개의 네트워크 연결을 사용한다. 하나는 FTP 서버가 TCP 21번 포트를 사용하는 명령 연결(FTP)로서 인증과 제어에 사용되고, 다른 하나는 실제 파일을 전송할 때 만들어지는 파일 전송 연결(FTP-DATA)이다. FTP 연결에 대해 방화벽을 열 때 21번 포트만 TCP로 여는 경우 파일 송수신이 정상적으로 이뤄지지 않는다. FTP-DATA 포트가 열리지 않았기 때문으로 프로토콜을 FTP로 지정해야 동적으로 할당되는 FTP-DATA 포트가 방화벽에 의해 자동으로 허용된다.

파일 전송용 연결을 맺을 때는 능동 모드(Active mode)와 수동 모드(Passive mode)라는 두 가지 방식으로 나뉜다.

능동 모드는 클라이언트가 접속 포트를 서버에 알려주면 서버가 클라이언트로 접속해 파일을 전송한다. 따라서 서버가 공인 IP 주소를 사용하고 클라이언트가 사설 IP 주소를 사용한다면 접속이 되지 않는 문제가 발생한다.

수동 모드는 능동 모드와 반대로 서버가 클라이언트에 접속 포트를 알려주면 클라이언트가 서버에 접속하는 방식이다. 따라서 서버는 21번 포트 이외에 일정 구간의 포트에 대해 추가로 연결될 수 있게 열어줘야 한다.

 

출처: 권문수, [실무로 배우는 시스템 성능 최적화], 위키북스, 2016, 765~770p 

반응형

댓글