본문 바로가기

IT/Infra

프로토콜과 포트, DNS

안녕하세요. 잇킹 시도르입니다.

인프라 학습을 한다고 했는데, 자꾸 다른 것을 본다고 요즘 못했네요. 오늘은 포트와 프로토콜, DNS에 대해 학습했던 것을 정리하도록 하겠습니다.

 

프로토콜

컴퓨터 데이터 통신은 송신 시에는 패킷으로 분할하고, 수신 측은 송신된 패킷을 원래대로 되돌려서 읽습니다. 

이때 패킷을 어디서부터 어디까지 보낼지, 해당 패킷은 전체에서 몇 번째에 해당하는지 등의 패킷을 다루는 절차를 상세히 정해야 합니다. 이런 데이터 통신 절차가 프로토콜입니다.

 

포트

컴퓨터에서 통신에 사용하는 프로그램을 식별하는 번호입니다. 포트는 1~2^16까지 사용할 수 있으며, 0~1023이 시스템이 사용하는 포트라고 합니다. 이 포트를 잘 알려진 포트라고 합니다.

 

TCP vs UDP

OSI 참조 모델에서 계층 4(전송계층)의 프로토콜에는 TCP/UDP가 있습니다.

TCP는 재전송 제어 등을 수행하여 통신 신뢰성이 높습니다. 그래서 일반적으로 더 많이 사용한다고 합니다. 반면에 UDP는 재전송 제어 등의 기능이 없어서 상대적으로 신뢰성이 떨어지고요

반면에 TCP는 연결형 프로토콜로 시간이 걸리고 RTT(Round-Trip-Delay Time : 통신 상대에게 신호를 발신하고 응답이 돌아올 때까지 걸리는 시간)가 커지면 통신 속도가 저하됩니다. UDP는 비연결형 프로토콜로 처리가 가볍고 지연 시간이 적어서 DNS, 음성통화, 실시간 게임 통신 및 고속 파일 전송 등에 많이 사용된다고 합니다.

TCP UDP
통신 신뢰성이 높음(제어 기능) 통신 신뢰성이 낮음
연결형 프로토콜로 상대적으로 소요시간이 많음 비연결형 프로토콜로 소요시간이 적음
일반적으로 많이 사용 DNS, 음성통화, 실시간 게임 통신, 고속 파일 전송

 

DNS(Domain Name System)

네트워크는 IP 주소로 통신이 이루어집니다. 그러나 이는 사람이 기억하거나 다루기 어려우므로 호스트 이름을 붙여서 사용합니다. 컴퓨터는 IP, 사람은 호스트 이름을 사용하므로 서로 용도에 맞게 변환하는 것을 이름 분석(Name Resolution)이라고 하며, 이름 주소 해석을 실행하는 서비스를 네임 서비스라고 합니다. 네임 서비스 중 현재 인터넷이 사용하는 것이 DNS라고 합니다.

 

DNS는 인터넷의 이름 공간(도메인)을 계층화하고 분산 관리해줍니다. 

 

※ 도메인, 도메인 트리
도메인
이란 네트워크 상에서 자원의 위치를 표현할 때 사용됩니다.

예를 들어서 sidorl.tistory.com은 .을 기준으로 3개로 나눌 수 있으며, 점으로 구분되는 부분을 레이블이라고 합니다.

도메인 이름은 오른쪽부터 최상위 레벨 도메인으로 시작합니다.
com : 최상위 레벨 도메인(Top Level Domain : TLD)
tistory : 2 레벨 도메인(2nd Level Domain : 2ndLD)
sidorl : 3 레벨 도메인(3ndLD)
로 도메인이 계층화된 것입니다.
이처럼 나무 모양의 구조로 형상화된다고 하여 도메인 트리라고 부릅니다.

상위 도메인에서 볼 때 한 단계 아래의 도메인을 서브 도메인라고 하며, 서브 도메인의 상위 도메인에 포함됩니다. 예를 들어 2ndLD는 TLD에 포함되는 거죠.

그리고 도메인 이름은 인터넷 상에서 유일해야 하며, 이는 IP 주소와 동일합니다.

 

이상입니다!!!