IPv4 주소
1) 인터넷에 연결된 각 장치의 연결을 식별하기 위해 TCP/IP 프로토콜 그룹의 IP계층에서 사용되는 식별자는
인터넷 주소 혹은 IP 주소라고 한다.
2) IPv4 주소는 32비트 주소로 라우터나 호스트의 인터넷 연결을 범용적으로 유일하게 만들어 준다.
3) IP 주소는 장치가 다른 네트워크로 이동하면 변경되기 떄문에 라우터나 호스트가 아닌 연결의 주소이다.
4) IP 주소는 ICANN에서 관리한다.
IPv4 주소 방식
1) 주소 공간은 프로토콜에서 사용 가능한 전체 주소의 수이다.
2) 만약 프로토콜이 주소를 정의하기 위해 b비트를 사용한다면 각 비트가 다른 두 값(0, 1)을 가지기 때문에 주소 공간은 2^b가 된다.
3) IPv4는 32비트의 주소를 사용하므로 주소 공간은 2^32 혹은 40억 이상이 된다.
*2진수 표기법, 점 10진수 표기법 16진수 표기법
IPv4 주소 지정
IPv4는 두 부분으로 구분되는 계층구조: 접두사(네트워크), 접미사(노드)
클래스 기반 주소지정(Classful Addressing)
1) 인터넷이 시작될 당시 IPv4 주소는 소규모 및 대규모 네드워크를 지원하기 위해 한 가지가 아닌 세 가지의 고정된 접두사(Prefix: n = 8, n = 16, n = 24)로 설계되었다.
2) 전체 주소 공간은 5개의 클래스(A, B, C, D, E)로 구분된다.
3) 클래스 A에서 네트워크의 길이는 8 비트지만, 0으로 고정된 첫 번째 비트가 클래스를 지정하기 때문에 네트워크 식별자로 7비트만 사용이 가능하다. 이는 전세계에서 오직 27 = 128개의 네트워크만 클래스 A 주소를 갖을 수 있다.
4) 클래스 B에서 16비트중 14비트만 네트워크 식별자로 사용이 가능하다. 214=16,384개의 네트워크만 클래스 B의 주소를 갖을 수 있다.
5) 클래스 C는 221=2,097,152개의 네트워크만 클래스 C의 주소를 갖을 수 있다.
6) 클래스 D는 접두사와 접미사를 구분하지 않고 멀티캐스트 주소로 사용한다.
7) 클래스 E는 1111로 시작하며 접두사와 접미사를 구분하지 않고 예약된 주소이다.
*클래스 기반의 주소가 더 이상 사용되지 않는 이유: 주소 고갈
1) 클래스 A: 대부분 소진
2) 클래스 B: 대부분 소진
3) 클래스 C: 사용 가능한 주소가 너무 적어 사용하는데 불편함
4) 클래스 E: 거의 사용되지 않음
클래스 없는 주소 지정(Classless Addressing)
1) 주소 고갈을 해결하기 위해 클래스 권한이 제거 되었다.
2) 클래스에 속하지 않는 가변 길이의 블록이 사용된다.
3) 1주소블록, 2주소블록, 4주소블록, 128주소블록 혹은 그 이상이다.
4) 전체 주소 공간은 가변 길이의 블록으로 나뉘어 진다.
5) 주소의 접두사는 블록(네트워크)을 지정하고, 접미사는 노드(장치)를 지정한다.
6) 기관은 주소의 한 블록을 사용할 수 있다.
7) 블록에 사용되는 숫자는 2의 거듭제곱으로 사용되어야 한다.
8) 슬래시 표기법: 접두사의 길이(n)를 슬래시(/)로 구분하여 주소에 추가
9) 블록에서 어떤 주소가 주어지면, 주소가 소속된 블록에 대한 주소의 수, 블록의 첫 번째 주소, 블록의 마지막 주소의 3가지 정보를 알아야 한다.
* 첫번째 주소: 제일 왼쪽의 n개 비트는 유지, 제일 오른쪽의 (32-n)개의 비트는 0으로 설정한다.
마지막 주소: 제일 왼쪽의 n개 비트는 유지, 제일 오른쪽의 (32-n)개의 비트는 1로 설정한다.
예시) 167.199.170.82/27이 클래스 없는 주소로 주어졌다. 위에서 언급한 세 가지 정보를 아래와 같이 찾을 수 있다.
네트워크 내의 주소수는 2^(32-n) = 2^5 =32이다.
첫 번째 주소는 처음 27개의 비트를 유지하고 나머지 비트를 0으로 변경
마지막 주소는 처음 27개의 비트를 유지하고 나머지 비트를 1로 바꾸어 찾음
네트워크 주소(Network Address)
1) 네트워크 주소인 첫 번째 주소는 패킷을 목적지로 라우팅하는데 사용되기 때문에 특히 중요하다.
2) 네트워크 주소를 알고 나면 라우터는 포워딩 테이블을 참조하여 패킷이 전송될 인터페이스를 찾는다.
서브네팅(Subnetting)
1) 서브네팅을 사용하여 더 많은 계층을 만들 수 있다.
2) 일정 범위의 주소를 가진 기관(혹은 ISP)은 범의를 부 범위로 나누고, 이를 서브 네트워크(혹은 서브넷)에 할당할 수 있다.
3) 서브넷 설계
3-1) 기관에 할당된 전체 주소의 수를 N, 접두사의 길이를 n, 각 서브넷에 할당된 주소의 수를 Nsub, 각 서브넷의 접두사의 길이를 nsub로 가정
3-2) 각 서브네트워크의 주소의 수는 2의 제곱승이어야 함
3-3) 각 서브네트워크의 접두사의 길이는 nsub = 32 - log2Nsub로 구할 수 있음
3-4) 각 서브네트워크의 첫 주소는 서브네트워크의 주소 수로 나눌 수 있어야 한다.
주소 집단화(address aggregation)
1) 주소의 블록을 더 큰 블록으로 만들기 위해 조합할 때 더 큰 블록의 접두사를 통해 라우팅이 수행될 수 있다.
*예제) 그림은 ISP가 어떻게 4개의 작은 블록을 4대의 기관에 할당하는지 보여준다.
1) ISP는 이 4개의 블록(/26)을 하나의 큰 블록(/24)으로 합치고 이를 다른 네트워크에게 알린다.
2) 이 큰 블록을 향해 오는 모든 패킷은 이 ISP로 전달된다. ISP는 패킷을 적합한 기관으로 전달해야 한다.
3) 이는 우체국에서 찾을 수 있는 라우팅과 유사하다. 해외에서 오는 모든 수하물은 우선 수도로 모인 다음 각 목적지로 분배된다.
모든 내용은 '데이터 통신과 네트워킹 6판' 책을 공부하여 작성 하였습니다.
'데이터 통신' 카테고리의 다른 글
데이터 통신과 네트워킹 Chapter7 ICMPv4 (0) | 2022.05.22 |
---|---|
데이터 통신과 네트워킹 Chapter7 요약3 (0) | 2022.05.15 |
데이터 통신과 네트워킹 Chapter7 요약1 (0) | 2022.05.07 |
데이터 통신과 네트워킹 Chapter6 요약 (0) | 2022.04.28 |
데이터 통신과 네트워킹 6판 Chapter 5 기본 연습문제 풀이 (0) | 2022.04.19 |