티스토리 뷰

 

표기

- 32비트 (4바이트) 2진수

- 인간이 볼때는 편의성을 위해 점으로 구분된 4개의 10진수 값으로 표현

- (0~255).(0~255).(0~255).(0~255)

 

 

 

3가지 유형

1. 유니캐스트

- 1:1 통신

 

2. 멀티캐스트

- 1:n 통신

- IPTV (IPTV 망 내에서만 사용)

 

3. 브로드캐스트

- 일반적으로 서브넷 내부에서만 쓰이도록 국한.

- DHCP

 

* MAC 주소에도 3가지 유형의 주소가 있는데 이들과 IP주소를 혼동하면 안됨!

(다만 각 유형과 대응관계를 가짐)

 

 

클래스

A,B,C : 유니캐스트
D : 멀티캐스트
E : 미래를 위해 쓰지 않고 남겨둠.

 

분배되는 블록의 크기를 뜻함 (덩치의 개념인 군사 용어에서 유래)

 

인터넷의 초기 설계)

인터넷이 이렇게 커질 줄 몰랐음. ip는 32비트 (43억개)면 차고 넘칠 것이다 생각.

유니캐스트 IP주소 단위를 세종류로 구분해 놓고, 인터넷에 연결하기 위해 ip주소 배분을 신청하는 기관에 있는 컴퓨터의 대수를 참고해 셋 중 한 단위를 줌.

 

네트워크 주소 (같은 기관이면 동일), 호스트 구분

A - 10.0.0.4

B - 154.3.7.25

C - 192.34.67.3

 

예_ 인터넷 초기 가입자는 큰 덩어리 (클래스A) 크게 뚝뚝 가져감.

MIT, 스탠포드 대학, Apple등 (기관하나)이 2^24개 묶음의 주소를 가져감

 

인터넷 가입자가 많아지면서...)

A - 너무 큼.

B - 대부분 컴퓨터 대수가 여기에 해당. 그러나 2^14개의 기관한테만 부여 가능하므로 금방 동날 것. (클래스 B 고갈 현상)

C - 너무 작음.

 

결국.. 클래스 없는 주소 체계로~ 🚀)

- 새로운 인터넷 가입 기관에 A,B는 잘라서, C는 묶어서 준다는 아이디어.

 

 

 

 

유니캐스트 주소 구조

- [네크워크 ID].[호스트ID] 두 부분으로 이루어짐.

- 개별 네트워크 (=같은 기관 =같은 네트워크ID)들이 모여 느슨한 연합을 형성하는 인터넷의 형성 구조를 반영.

- 주어진 네트워크 안에 있는 어떤 호스트냐를 지목

- 목적지가 가리키는 인터페이스가 위치한 네트워크에 도착할 때까지는 오직 네트워크 ID만을 서서 라우팅이 됨.
해당 망 안쪽에 들어와서야 호스트ID를 사용하여 목적지로.

 

 

classless 주소 체계로 바뀌며 보완

(1) CIDR 표기법

- 더이상 네트워크ID의 길이가 8,16,24 중 하나가 아님. 따라서 네트워크ID 길이도 같이 표시해주어야 함.

- (예) 36.0.1.0/24)  

 

(2) 주소 집속 aggregation (=supernetting =route summary)

- C를 묶어서 나눠줄 때 라우팅 테이블 엔트리 수가 급격하게 증가하는 부작용. (라우팅이 느려짐)

 

- 라우터에서 같은 출력 인터페이스와 다음 홉을 공유하는 엔트리들이 네트워크ID들에서 공통부분이 있다면 한 엔트리로 합쳐버리는 것.

-(예) 222.0.0.0/24 ~ 222.0.31.0/24 까지 32개의 C클래스를 발해 대학에 배분. => 222.0.0.0/19)

 

- 서로 다른 기관이라도 어떤 라우터에서는 다음 홉 주소가 같다면 같은 엔트리로 합쳐질 수도 있음.

     - 이렇게 집속이 일어나려면 비슷한 지역에 있는 기관들이 인접한 블록을 배분 받았어야 함.

     - 그래서 인터넷 초기에 아무렇게나 배분 받았던 192, 193 블록은 지금까지도 집속이 안되고 있음. (클래스 c의 늪이라 불림)

 

 

 

IP 배급 체계

- 비영리 법인 ICANN 내의 한 기능인 IANA가 이 업무를 수행.

- IPv4 주소는 이미 완전히 소진됨

- 그러나 NAT (네트워크 주소 번역)이 너무 잘 동작해주고 있어서 아직 IPv6 기술이 인터넷 전면에 등장 x

 

 

 

서브넷

- 2계층 주소체계는 호스트 부분이 너무 길다 ( [네트워크ID].[호스트ID] )

- 마치 우편 주소가 '대한민국 홍길동'으로 되어 있는 것과 비슷.

- 호스트 ID 부분도 계층화하여 사용하자는 아이디어 => 목적지 네트워크 내부를 작은 네트워크들로 세분하고 난 뒤 이를 호스트 ID 부분에 반영하는 서브네팅

- 네트워크 -> 서브넷 -> 호스트

 

 

멀티캐스트 IP주소

- 클래스D 주소.

- 용도가 정해진 몇몇 특수 멀티캐스트 주소를 제외하고는 누구나 자유롭게 사용 가능 (유니캐스트 주소처럼 분배해주는 주체가 있지 x)

쓰임에 따른 클래스D 주소 공간 구분

멀티캐스트 MAC 주소

- 01-00-5e 라는 OUI로 시작 (IANA가 IEEE로 부터 할당 받은 값)

- 멀티캐스트 IP주소 => 멀티캐스트 MAC주소로 매핑할 때 32개의 ip 멀티캐스트 주소가 같은 MAC 주소로 번역됨.. (모호성)

- 잘못 배달될 수도 있지만 일단 IP계층으로 올려보내서 맞는 목적지로 왔는지 거기서 판단.

 

*OUI (organization unique identifier)
MAC주소의 앞 3바이트 prefix. 네트워크 장치를 제조한 조직, 회사를 나타냄 (예) 00:1A:2B:3C:4D:5E)
IANA가 할당받은 OUI는 

 

 

브로드캐스트 주소

2가지 타입

1. limited

- 같은 링크에 있는 인터페이스들에만 배달됨

- ip: 255.255.255.255

- mac: ff-ff-ff-ff-ff-ff-ff

 

2. directed

- 브로드캐스팅이 실행될 한 네트워크 (혹은 서브넷)을 지정하여 전송할 때 사용

- 지목된 네트워크나 서브넷의 ID까지는 그대로 쓰고, 브로드캐스트의 범위가 되는 ID부분은 모든 비트를 1로 설정하면 됨.

예) 123.45.6.255/24

- 보안 우려 때문에 오늘날의 인터넷에서는 거의 허용되지 않음.

 

 

특별한 IP 주소

1. 0.0.0.0 : me (DHCP등에서 사용)

2. 255.255.255.255 : limited 브로드캐스팅 주소

3. 사설 주소

    - 모든 네트워크가 자기 망 내부에서만 사용하는 주소

    - 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16

    - 사설IP 사용 + NAT (네트워크 주소 번역)으로 ip주소 부족 문제를 효과적으로 해결

4. 링크 로컬 주소

   - 정상적인 인터넷 사용은 불가능한 상황이지만, 같은 물리적 링크를 사용하는 인터페이스들 끼리 통신하기 위해 사용

   - 169.254.0.0/16

   - 이 영역대 중 하나의 ip 자동 할당하고 ACD(주소 충돌 탐지)를 거치게 함

5. 127.0.0.1 : local loopback interface

 

 

 

IPv6 주소

Ipv4 주소 고갈 대비책

1. 장기적 대책 : Ipv6

2. 중단기적 임시 대책 : NAT (네트워크 주소 번역) -> 너무 잘 동작하여 IPv4의 인터넷상 수명이 늘어나고 있음.

 

 

Ipv4의 다음과 같은 문제 해결

- 주소 고갈 문제 : 128비트로 대폭 늘림

- 라우터에서 ip 데이터그램 마다 체크섬을 하는 오버헤드

- ip 분할을 해야하는 오버헤드

- QoS에 대한 지원

 

 

유형

- 유니캐스트

- 멀티캐스트 (브로드캐스트 x)

- 애니캐스트

    - 어떤 (any) 인터페이스건 그 주소를 가진 발신자로부터 가장 가까운 인터페이스 중 하나로 배달해달라

    - Ipv6에서 처음 도입되었지만 Ipv4로도 구현 가능.

    - 많이 쓰이는 서버의 (주로 DNS 서버 등..) 로드 밸런싱을 위해 여러 지방에 서버를 두고 같은 ip를 쓰게 하는 예시 

 

 

 

주소구조

global 유니캐스트는 앞 3비트가 001로 시작하도록 약속

 

인터페이스ID부분은 MAC주소로부터 자동으로 만들기.

(중간 두 바이트는 0xfffe를 채워넣음)

 

- IPv6주소만 보고도 MAC주소를 추정할 수 있다는 것은 장점일 수도 있지만 (ARP 테이블에 ip-mac 주소 매핑 정보를 기록할 필요가 없다) 보안, 프라이버시 측면에서는 약점일 수 있음.

(네트워크를 옮겨도 같은 기기라면 인터페이스ID는 변하지 않을 것이므로)

- 그래서 최근에는 무작위로 64비트 인터페이스ID를 채워넣는 경우가 훨씬 많다고 함.

 

 

 

 

표기법

- 16진수로 표현

- 2바이트씩 묶어서 : (colon) 으로 구분

- 예) 2001:0db8:85a3:0000:0000:8a2e:0370:7334

- leading 0는 생략 가능

- 연속되는 0000도 :: 로 생략 가능

 

 

 

Ipv6 멀티캐스트

- 첫 바이트가 0xff 로 시작한다면 멀티캐스트 주소

- SNM 주소 (solicited-node multicast)

    - ARP와 같은 역할을(=다음홉 ip주소를 mac주소로 번역) 하는 ND (neighbor discovery) 요청을 위해 필요한 주소 

    ( ipv6에서는 ARP를 없애고 ICMPv6를 통해 구현.)

    - 브로드캐스트를 사용하는 ARP를 다르게 IPv6에서는 오직 요청의 타겟인 인터페이스만 SNM 요청을 알아듣고 응답함.

 

    - 예) mac주소를 알고 싶은 대상 다읍홉 ipv6 주소가 805b:2d9d:dc28:0:0:fc57:d4c8:1fff 이라면

      SNM주소는 ff02:0:0:0:0:1:ff 라는 prefix + c8:1fff

      멀티캐스트 주소이지만 가입자 인터페이스는 1개뿐. 이 호스트만 ND 요청 수령하고 응답으로 자기 mac주소 알려주는 방식.

 

 

댓글
공지사항
최근에 올라온 글