01. 식별자(identifier)
- 식별자의 4가지 특징
- 유일성: 서로 다른 시스템은 같은 식별자를 가질 수 없음
- 확장성: 시스템의 최대 수용 규모의 예측과 이를 지원할 수 있는 최대 한계 설정(예 - IPv4에서 IPv6로 전환)
- 편리성: 내부 처리를 효율적으로 할 수 있어야 하며, 숫자로 구성된 주소와 문자로 구성된 이름 사이의 매핑 필요(예 - 지역번호)
- 정보 함축: 다양한 정보 내포(예 - 주민등록번호가 생년월일, 성별, 지역 정보 내포)
02. 네트워크 주소
- 주소(address)
- 기계가 처리하기 쉬운 구조
- 식별자의 일종으로, 동일한 주소를 가진 시스템은 1개여야 함
- 이름(name)
- 사용자 편의성을 위해 인간이 기억하기 쉬운 문자열로 구성
- 일반적인 이름은 식별자가 아님(예 - 동명이인)
- 호스트 이름은 계층적 구조를 가졌고, 유일한 도메인이며, 유일한 이름이기 때문에 식별자에 해당함
참고) 호스트 네임 vs 도메인 네임 차이
blog.naver.com 일 때, blog가 호스트 네임이고 naver.com이 도메인 네임이다. 호스트 네임과 도메인 네임을 합치면 FQDN(Fully Qualified Domain Name)이 된다.
도메인은 그룹 개념이고 호스트는 그룹에 속한 컴퓨터나 시스템을 의미한다. 쉽게 말해 호스트 네임은 이름, 도메인 네임은 성이다.
- IP 주소
- IPv4
- 32비트(4바이트) 크기의 주소 체계
- IP 주소는 4개의 10진수와 .(dot)으로 표현 (예 - 127.0.0.1)
- IPv6에서는 128비트로 확장
- IPv4 주소 고갈이 코앞인데 아직도 쓰는 이유는 기존 인프라와 장비가 IPv4 기준으로 설계되었기 때문
- IPv4 주소 클래스
- Class A: 첫 번째 byte의 첫 번째 bit가 0인 클래스. 처음에 인터넷을 구축했던 미국 방송, 주요 대학 및 연구소가 Class A IP 주소를 사용. 2^24-1 즉 3바이트만큼 hostID를 사용
- Class B: 10으로 시작하는 클래스. 일찍 인터넷을 구축한 일부 대학, 연구소에서 사용. 2^16-1 즉 2바이트만큼 hostID를 사용
- Class C: 110으로 시작하는 클래스. 2^8-1 즉 1바이트만큼 hostID 사용
- Class D: 1110으로 시작하는 클래스. Class A~C까지가 unicast 클래스인 반면 Class D는 multicast 클래스다. 그룹을 형성해 그 그룹에 데이터를 보내는 용도로, 방송국에서 실황 중계를 할 때 multicast 방식을 사용
- Class E: 11110으로 시작하는 클래스
- Reserved IP address (지정된 IP 주소)
- 0.0.0.0: 모든 IP를 의미
- x.y.z.255: x.y.z 서브망의 모든 호스트
- 127.0.0.1: 로컬호스트, 즉 자기 자신을 가리키는 IP 주소(loopback). 네트워크가 아니라 PC 자체의 연결만을 수신
- 라우터에서의 경로 선택
- IP 주소를 기반으로 경로 선택
- IPv4
03. 호스트 이름
인간이 기억하기 어려운 IP 주소 대신 호스트 이름을 주로 이용
- 호스트 이름
- 사람이 이해하기 쉽도록 .(dot)으로 구분된 레이블로 구성
- 레이블은 1개에서 53개까지 영문자와 숫자, 하이픈으로 구성할 수 있는데, 반드시 영문자로 시작해야 함
- 호스트 이름은 대소문자 구분이 없음
- 클라이언트에서 호스트 이름으로 서비스를 요청하면 상위계층에서 DNS(Domain Name System)로 요청해 IP 주소를 받아온다. 이 IP 주소로 네트워크 계층에 서비스를 요청하는 방식
- 일반적인 국가 도메인 호스트 이름 구성
- {호스트}.{단체}.{단체 종류}.{국가 도메인} (예 - zebra.korea.co.kr)
- 국가 도메인
- ISO 3166에서 정의한 두 글자 국가 코드 이용 (예 - 아랍에미레이트는 ae, 짐바브웨는 zw)
- 한글 호스트 네임도 가능
04. 주소 정보의 관리
- 도메인 이름: 인간이 지칭하는 호스트 이름
- FQDN(Fully Qualified Domain Name)
- 호스트 이름과 도메인 이름을 함께 표기한 것을 의미 (www가 호스트 이름이고 naver.com이 도메인 이름이라면 www.naver.com는 FQDN이 됨)
- 호스트 파일
- 과거에 호스트 이름이 몇 개 되지 않았을 때 호스트 이름과 주소를 파일에 보관했음
- 현재는 UNIX 기반 OS에서 이러한 흔적만 발견할 수 있음 (/etc/hosts)
- DNS(Domain Name System)
- 웹브라우저에서 특정 호스트 이름을 입력하면 DNS 서비스를 요청해 일련의 과정 진행
- 분산 데이터베이스 시스템
05. 그 외 주소
- MAC(Medium Access Control) 주소
- IP 주소를 로컬에서 사용하기 위해 MAC 주소로 변환하는 과정 필요(ARP: Address Resolution Protocol)
- 포트 번호
- 전송 계층에서 사용하며, 서비스(프로세스)를 구분 (예 - 웹 서비스면 80번 포트)
- 80번 포트 같이 표준 정의 포트 번호를 Well-known port라고 함
'CS > 네트워크' 카테고리의 다른 글
라우팅 알고리즘 - 벨만포드 (Bellman-Ford), 다익스트라 (Dijkstra) (2) | 2024.10.02 |
---|---|
네트워크 모델 - OSI 참조 모델 (0) | 2024.09.30 |
소켓 시스템 - 네트워크 프로그래밍 (0) | 2024.09.30 |
데이터 링크 계층 (1) - 프로토콜의 기초 (0) | 2024.09.30 |
IP와 IP 주소 / 서브넷 (Subnet) 개념 (0) | 2024.09.24 |