해당 포스팅은 한양대학교 이석복 교수님의 컴퓨터네트워크 강의를 정리한 글입니다.
http://www.kocw.net/home/search/kemView.do?kemId=1169634

2. IP Address (IPv4)
- 32-bit number이다.
- network interface를 지칭하는 구분자이다.
-
Internet은 "inter-network"이다.
-
아래 그림과 같이 router안의 LAN과 router끼리의 WAN으로 구성

-
만약 LAN을 구성하는 host들이 임의로 정해진다면?
-> 포워딩 테이블이 굉장히 커져서 라우터가 필요한 정보들이 많아질 수 밖에 없다.
2) Hierarchical Addressing: IP Prefixes
- 12.34.159.0/24 라고 쓰면 24-bit의
prefix와 8-bit의 Host로 나뉘어진다.
-> 이때, 앞의 prefix는 network ID와 같은 역할을 한다.

- Subnet Mask -> 어디까지가 NetworkID인지 나타내주는 마스킹 비트이다, 항상 IP 주소와 함께 다닌다.
3) Scalability Improved
- 네트워크는 자기 자신의 prefix를 가져야한다.
- 즉 아래 그림에서
1.2.3.0/24는 왼쪽의 LAN, 5.6.7.0/24는 오른쪽의 LAN이다.

- 위와 같이 구성된다면, 새로운 호스트를 추가하는 것도 쉽다.
-> router를 업데이트 할 필요 없이, 5.6.7.213의 호스트가 추가된다면 오른쪽 LAN에 추가해버리면 된다.
3. Addressing Methods
1) Classful Addressing
- 예전에 사용하던 방식으로 Class별로 할당하는 host bit의 개수를 차등을 주었던 방식이다.
- Class A: 8개의 bit를 network로 사용, 즉 2^8개의 기관에서 각각 2^24개의 host를 가질 수있는 것이다.
- Class B: 16개의 bit를 network로 사용
- Class C: 24개의 bit를 network로 사용
2) Classless Inter-Domain Routing
-
현재 사용하는 방식으로 IP 주소와 Mast를 통해서 Network number를 표현하는 방식이다
-
Mask를 통해서 자유롭게 Network prefix가 만들어진다.
-
각 prefix를 보고 라우터에서 forwarding table을 따라가면 된다.
a) Longest Prefix Match Forwarding
- destination과 forwarding table을 비교하여, 매칭되는 것 중에 가장 긴 것으로 매칭을 해서 포워딩 한다.
4. Subnets
- 같은 prefix를 갖는 집합
- 여러 subnet에 라우터가 속해 있다. (라우터는 각각 서브넷에 이동시켜주는 역할을 하기 때문이다.)
- 서브넷 안에서는 router를 통하지 않더라도 서로 도달할 수 있다.

NAT(Network Address Translation)
- 네트워크 공간 부족을 위한 해결 책이지만 근본적인 해결책이 아닌 일종의 트릭이다.
- NAT라는 곳에서, 각각의 서브넷의 호스트에게는 내부에서만 사용할 수 있는 IP주소를 할당한다, 하지만 네트워크 상의 사용할 수 있는 주소는 NAT에 묶여있는 IP주소 하나이다.