Network Layer

[ Logical Addressing ]

[ 1. IPv4 Address ]

인터넷에 붙어있는 각각의 커넥션을 유일하게 식별하기 위해 사용

the connection of a device : 커넥션당 IP는 하나씩 할당

 

# ICANN (Internet Corporation for Assigned Names and Addresses) 라는 미국 기관에서 IP 주소를 관리

# 한국인터넷진흥원(KISA(Korea Internet & Security Agency)) : 국내 도메인, IP 주소 관리

 

dotted-decimal notation 

 

[ Classful addressing ]

Class A~E

Class A~C : unicast communication(1:1 통신) 에서 사용 (컴퓨터에 할당되는 IP)

Class D : multicast comm(1:N 통신) 에서 사용

Class E : 아직 미사용 (Reserved)

 

* 규모가 큰 네트워크엔 Class A , 규모가 작은 네트워크엔 Class C 부여

 

# Class A

Class A

73 netid 사용시, 시작점인 73.0.0.0(라우팅목적으로 사용) 과 73.255.255.255(broadcast용으로 사용)는 사용하지 않음.

 

# Special addresses

eg. 

Network address : 134.75.0.0 (Class B) 네트워크 주소

Direct broadcast address : eg 134.75.255.255 자신이 속한 네트워크가 아닌 특정 네트워크(134.75.*.*) 네트워크 전체에 전송

Limited broadcast address : eg 255.255.255.255 자신(134.75.*.*인 경우)이 속한 네트워크 전체(134.75.으로 시작하는 IP )에 전송 용도로 사용

Loopback address : 127.0.0.1 localhost

 

[ # Subnetting ]

- Hostid 의 일부를 Subnetid 로 사용하여 ip table 를 관리

subnet 사용과 subnet 미사용의 차이.
subnetting의 예

141.14.0.* 

141.14.64.*

141.14.192.*

141.14.128.*

hostip를 subnetip로 사용하여(ip 대역을 나눠), ip table 을 관리한다. (위 4개 대역으로 구분하여 관리)

 

[ # Mask ]

- 어디까지가 subnet인지 구분하기 위함. (network 와 host 를 구분)

- Mask 표기하는 방법은 아래 두가지 방법이 존재

DDN(Dotted-Decimal Notation)

slash notation(=Classless Interdomain Routing(CIDR) notation)

 

각 class의 Default mask

- 1로 채워진 부분은 network , 0으로 채워진 부분은 host 부분으로 구분

- Class A의 경우, DDN 방식은 255.0.0.0, CIDR 방식은 /8 (좌측기준으로 1이 채워진 갯수)이 Default mask.

eg. 내 IP 주소가 141.14.5.6 이고 Mask 는 255.255.255.0 인 경우, 해당 네트워크는 subnetting이 되어있다고 할 수 있다. (내 IP 주소 141.14.5.6 은 class B이며, class B의 default Mask 는 255.255.0.0 이므로) 

* 255.255.255.255 : 내 IP주소가 속한 141.14.5.* 에게 broadcast

 

Subnet Mast 예. hostip 중 앞의 3bit를 subnet mask 로 사용.

 

[ Classless addressing ]

- class 구분 없이 ip 를 사용

- 필요한 ip address 갯수만큼만 ip 부여

- Variable-length blocks (가변길이블럭) 을 가짐

* Classful addressing 은 네트워크 규모에 따라 class A~C 를 부여하며, 각 class 의 ip 갯수는 고정적으로 정해져 있음.

 

[ # classless addressing 의 규칙 ]

1) 연속적인 주소

2) address 갯수가 2의 배수

3) address 시작 주소가 address 갯수로 나누어 떨어지는가

classless addressing의 예

1) 32부터 47까지로 연속적인 주소 

2) 총 16개의 address 로 2의 배수

3) 시작주소 (32)가 갯수(16)로 나누어 떨어짐

* 시작주소인 205.16.37.32, 마지막주소인 205.16.37.47 은 hostip로 부여 불가

 

[ # classless address 에서의 mask ]

- mask 는 보통 slash notation만 사용

* subnet mask 부여방법 : 16개 주소 할당(우측부터 4비트 사용), 나머지 좌측bit 는 모두 1, subnet mask는 /28 (CIDR)

* 17.12.14.0/26 은 64개의 ip 주소가 할당 되어있는 셈 (맨앞(네트워크)과 맨뒤(broadcast) address 를 빼면 실제론 62개)

=> /26은 00000000.00000000.00000000.00xxxxxx 를 의미하므로..

 

classless addres 에서의 subnet mask

00001110.00000000 /27 : 노랑색영역 ~.0/27

00001110.00100000 /28 : 초록색영역 ~.32/28

00001110.00110000 /28 : 핑크색영역 ~.48(32+16)/28

* 영역 한개를 더 늘리고 싶을경우 비트 한개를 더 사용해야 함

 

 

[ # NAT (Network Address Translation) ]

주소 한개를 내부적으로 여러개로 사용가능케 함.

 

Class A,B,C 의 NAT

* 10.x.x.x, 172.16.x.x, 192.168.x.x 로 시작하는 공인IP는 없다.

 

NAT router는 외부로 나갈때 공인IP로 변환, 내부로 들어올때 NAT IP로 변환한다

1) Static NAT

사설 IP와 공인 IP를 1:1로 매핑

시스템 내의 실제 IP를 외부에 노출하지 않기 위해 사용

* 시스템 내의 real IP를 노출하지 않기 위해, 공인망의 서버는 사설망 서버에 연결할 때 NAT IP를 사용하여 붙이고, 사설망 내의 서버끼리의 연결은 real IP를 사용.

2) Dynamic NAT

IP테이블에 비어있는 주소를 부여

3) PAT (Port Address Translation)

ip와 port 를 모두 사용

프로그램을 구분하기 위해 port 사용

PAT 의 예

eg. 동일한 공인IP를 사용하는 PC1(NAT 172.18.3.1), PC2(NAT 172.18.3.2) 외부 서버(공인 IP 25.8.3.2)에 접속시

외부 서버는 PC1, PC2 의 접속을 port 로 구분. (PC1, PC2의 공인 IP는 동일)

 

[ 2. IPv6 Address ]

등장배경

- IPv4 주소 부족

- IPv4 audio/video 실시간 전송의 한계

- IPv4는 보안 기능이 없음

128 bits(16bytes)를 사용하는 IPv6

- 16진수를 사용

- DDN(dotted)표기법이 아닌, 콜론을 사용하여 표기

 

# IPv6 생략가능한 표기법

IPv6 의 표기법

1) 0000 -> 0 으로 줄임 -> 0은 생략하여 표기 생략 가능

2) 0074 -> 74 : 앞자리 0은 생략

 

 

※ KOCW 성균관대학교 안성진 교수님의 컴퓨터네트워크 강의 참고

NAT IP 에 대해 보다 자세히 쓰여있는 글 : NAT 설명1, NAT 설명2

 

 

 

 

반응형

+ Recent posts