본문 바로가기
카테고리 없음

데이터 통신과 컴퓨터 네트워크의 주소의 표현 - 2

by 데이터 석사 2024. 12. 10.

저번 시간에는 주소와 이름까지 알아보았다. 이번 글은 호스트 이름 등에 대하여 살펴보자.

인터넷에서 특정 호스트와 연결하려면 무조건 해당 호스트의 IP 주소를 알아야 하고, 인터넷 내부의 네트워크 계층은 호스트를 IP 주로 구별한다. 그런데 보통 이용자는 숫자로 된 IP주소를 기억하기 어렵다. 따라서 이용자들은 의미 파악이 간단한 문자로 된 호스트 이름을 이용하는 것이 보통이다.

데이터 통신과 컴퓨터 네트워크의 주소의 표현 - 2

 

호스트 이름

DNS 서비스는 호스트 이름을 <호스트>, <단체 종류>, <단체 이름>, <국가 도메인>라는 네 계층 구조로 할당하고, 이들을 점으로 구별해서 표현한다. 예시를 들면, www/korea/co/kr과 같은 호스트 이름은 대한민국(kr)에 있는 일반 회사(co) 중에서 korea라는 이름의 회사에 소속된 www라는 호스트를 의미한다.

 

네트워크 계층의 IP 프로토콜은 호스트를 구별하는 용도로 IP주소만 이용한다. 그에 비해 보통 이용자는 IP 주소보다는 문자로 된 호스트 이름을 이용하기 때문에 중간 계층에서 이를 변환하는 기능을 실행해야 한다. 보통 FTP, 텔넷과 같은 네트워크 응용 프로그램은 실행 과정에서 이용자로부터 호스트 이름을 명령어 인수로 입력받는다. 그러므로 가장 먼저 실행할 작업은 DNS라는 이름과 주소 변환 기능을 활용하여 IP 주소를 얻는 것이다. 이후 변환된 IP 주소의 호스트에 연결 설정이나 전송 데이터가 포함된 패킷을 보낸다.

 

<국가 도메인>은 <호스트>가 위치한 국가의 이름을 두 글자의 약자로 표시한다. 나라마다 고유한 <국가 도메인>이 존재한다. <단체 종류>는 기관의 성격에 따라 주어진다. <단체 이름>은 보통 단체를 상징하는 이름을 활용한다. 예시를 들면, 회사는 회사명을, 학교는 학교 이름을 이용한다. 마지막으로 <호스트>는 소속 단체의 네트워크 관리자가 내부 규율에 따라 개별 호스트에게 주어진 이름을 활용한다.

 

주소 정보의 관리

보통 이용자가 호스트를 지칭할 때 이용하는 호스트 이름을 도메인 이름이라 하며, 인터넷에서는 www/korea/co/kr과 같은 도메인 이름을 IP 주소로 변환하는 작업이 필수이다. 초기 인터넷에서는 아주 쉬운 수단으로 호스트 이름과 IP 주소를 변환하였으나, 지금은 DNS라는 분산 데이터베이스 시스템을 이용해서 보다 체계적인 방법으로 관리하고 있다.

호스트 파일

네트워크 관리자는 관리 대상이 되는 모든 호스트의 이름. 주소 정보를 주기적으로 갱신하고, 이 정보를 네트워크에 연결된 모든 호스트가 복사하도록 함으로써 정보의 일관성을 지켜야 한다. 네트워크 관리자가 호스트 정보를 갱신할 때 갱신된 정보를 다른 4개의 호스트가 복사하여 저장하는 등 호스트 파일을 갱신하고 복사하는 작업은 보통 시스템 관리자가 수작업으로 했었다.

 

호스트가 추가되거나 제거되면 우선 네트워크 관리자의 호스트에서 갱신 작업이 이루어진다. 그런데 인터넷이 처음 보급되던 시기에는 호스트 파일 갱신이 생각보다 자주 일어나지 않았기 때문에 호스트 파일을 복사하는 작업도 흔치 않았다. 그리고 시스템 관리자가 잦은 변경을 원하지 않아서 급하지 않은 갱신은 부분적으로 늦추기도 했다. 하지만 지금은 DNS 서비스가 대중적으로 이용되고 있어 이처럼 호스트 파일로 관리하는 방식은 보조적으로 이용되고 있다.

 

호스트 이름과 IP 주소를 변환하는 간편한 수단은 특정 파일에 호스트 이름과 IP 주소의 조합을 메모하여 관리하는 것이다. 네트워크 응용 프로그램에서는 이용자가 입력한 호스트 이름을 이 파일에서 탐색하여 일대일로 대응된 IP 주소 정보를 간단히 얻을 수 있다. 호스트 파일은 한 줄에 하나의 호스트 정보가 기록되며, 일반 텍스트 문서 형식으로 저장된다.

 

DNS

네트워크가 켜지면 네임 서버에 저장되는 정보의 양도 자연스럽게 많아진다. DNS는 하나의 집중화된 네임 서버가 전체 호스트의 정보를 관리하지 않고, 여러 네임 서버에 분산하여 관리하도록 설계되었다. 계층 구조로 연결된 네임 서버는 자신이 관리하는 영역에 위치한 호스트 정보만 관여하며, 정보를 상호 교류하는 협력 관계를 통해서 전체 호스트 정보를 일관성 있게 지킨다.

 

호스트 파일로 주소와 이름 정보를 관리하는 것은 간편하지만 대부분 수동으로 작업해야 한다는 단점이 있다. 인터넷이 확산하면서 호스트 수가 늘어날수록 네트워크 관리자가 호스트 파일을 갱신하고 복사하는 작업에 많은 시간과 노력을 들여야 한다. 특히 지금과 같이 전 세계 컴퓨터가 연결된 네트워크 환경에서는 호스트 파일로 주소와 이름을 변환하는 작업이 사실상 불가능하다고 볼 수 있다.

 

DNS는 이러한 문제점을 해결하기 위하여 고안된 것으로, 주소와 이름 정보를 자동으로 유지하고 관리하는 분산 데이터베이스 시스템이다. 호스트 주소와 이름 정보는 네임 서버라는 특정한 관리 호스트가 유지하고, 주소 변환 작업이 필수인 클라이언트는 네임 서버에 요구해서 IP 주소를 받는다.

 

기타 주소

네트워크에서 이용하는 주소는 이를 활용하는 환경에 따라 다양하다. OSI 7계층 모델의 각 계층에서도 목적엗 따라 여러 형태의 주소가 활용된다. 인터넷에서 보통 이용자가 접할 수 있는 대표적인 주소는 다음과 같다

 

- 포트 주소

포트 주소는 전송 계층에서 이용하며, 호스트에서 수행되는 프로세스를 구별해준다. 인터넷에서 연결의 완성은 호스트와 호스트 사이가 아닌, 네트워크 응용 프로세스와 네트워크 응용 프로세스 사이이다. 예시를 들면, 내 스마트폰의 메신저 앱과 상대방 스마트폰의 메신저 앱 사이의 연결이 필수이다. 이때 하나의 IP 주소를 갖는 스마트폰에서 수행되는 여러 네트워크 응용 앱들을 구별하는 주소가 포트 주소이다. 인터넷의 전송 계층 프로토콜인 TCP와 UDP가 독립적으로 포트 주소를 관리하며, 포트 번호 또는 소켓 주소라는 용어를 이용하기도 한다.

 

- 메일 주소

메일 주소는 응용 계층의 메일 시스템에서 이용자를 구별하려고 이용한다. 이용자 이름과 호스트 이름을 @ 문자로 구분해 표기한다.

 

- MAC 주소

MAC 주소는 계층 2의 MAC 계층에서 이용하며, 일반적으로 LAN 카드에 내장되어 있다. 물리 계층을 통해 데이터를 전송할 때는 MAC 주소를 활용해서 호스트를 구별한다. 그러므로 네트워크 계층이 하위의 데이터 링크 계층에 데이터 전송을 요구하면 먼저 IP 주소를 MAC 주소로 변환하는 작업이 이루어지고, 이후 MAC 계층이 상대방 MAC 계층에 데이터를 보낼 수 있다.

 

- IP 주소

IP 주소는 인터넷에서 네트워크 계층의 기능을 실행하는 IP 프로토콜에서 이용되며, 송신자 IP 주소와 수신자 IP 주소로 구별된다. 수신자 IP 패킷이 지나가는 경로를 선택하는 라우팅의 기준이 된다.

 

요약 및 결론

• IP 주소 대신 사용 편의성을 위한 호스트 이름 사용이 일반적이며, DNS는 호스트 이름과 IP 주소를 변환하는 분산 데이터베이스 시스템이다. 

• 초기 호스트 파일 방식은 관리의 어려움으로 DNS가 대체되었고,  포트, 메일, MAC 주소 등 다양한 네트워크 주소가 존재한다.