정리/CS

Network

kimddakki 2022. 5. 30. 14:06

23. 서브네팅

복습 : IP 주소는 클래스에 따라 네트워크 번호와 호스트 번호로 구성되어 있고 조직의 규모에 따라

           네트워크 번호의 비트 수가 결정된다.

 

 - 클래스 A의 경우 호스트 번호의 비트 수가 24 비트이므로 16,772,214대 호스트를 소유할 수 있다.

   이 주소를 1부터 ~~ 매기면 3478번 호스트를 찾는 데 어려움이 있다.

  => IP는 계층형이다!! 

     ==> 커다란 네트워크 몇 개를 맻 개의 네트워크로 작게 분할하는 형식!

 

※ 서브 네트워크

 - 계층형 IP의 특성으로 분할된 작은 네트워크를 말한다.

   작은 네트워크가 서브 네트워크로 큰 네트워크를 작게 분할해서 쉽게 관리할 수 있게 된다.

 - IP 주소는 32비트로 고정되어 있기에 호스트 번호의 비트를 서브넷 번호와 호스트 번호로 분할 한다.

 

즉, 호스트 번호의 일부를 줄여서 서브넷 번호를 만든다.

Ex) 172.16.0.0의 호스트 번호 16bit를 서브넷 번호 6bit와 호스트 번호 10bit로 분할한다고 할 때, 1번째 서브넷의 1번째 호스트의 IP 주소는 다음과 같다.

 => 4번 서브넷의 1번 컴퓨터가 아니다!! 비트!! 비트를 꼭 기억해야 한다.

제1옥텟
제2옥텟
제3옥텟
제4옥텟
네트워크 번호
호스트 번호
172
16
4
1
10101100
00010000
000001
00
00000001
네트워크 번호
서브넷 번호
호스트 번호

23 - 1 서브넷 마스크

 - 호스트 번호는 네트워크 관리자가 관리한다. 서브넷 네트워크 번호 또한 ICANN에 관계 없이 관리자가 관리한다.

   서브넷은 할당된 네트워크 내부에서 임의로 쪼개는 것이기에 해당 네트워크 내부에서만 유효하다!

Ex ) 외부에서 볼 때 네트워크 A내의 서브넷 1 서브넷 2모두 네트워크 A이기에 관심 없다.

 

 - 네트워크를 서브넷화 하는 것을 서브네팅 ( Subnetting )이라고 한다!

 

※ 컴퓨터가 어느 네트워크에 소속되어 있는지를 알지 못하면 즉 IP 주소의 어디까지가 네트워크 주소인지 모르면 그것이

    자신과 동일한 네트워크 인지 아니면 다른 네트워크 인지 모르게 된다!!

 

 - 서브넷 마스크 ( Subnetmask )

   => IP 주소에서 서브넷의 범위를 나타내기 위해 네트워크 번호, 서브넷 번호의 자리에 해당하는 비트는 1,

        호스트 번호의 바리에 해당하는 비트는 0으로 나타낸 비트열

IP 주소

제1옥텟
제2옥텟
제3옥텟
제4옥텟
172
16
4
1
10101100
00010000
000001
00
00000001
네트워크 번호
서브넷 번호
호스트 번호

IP 주소에 대응한 서브넷마스크

제1옥텟
제2옥텟
제3옥텟
제4옥텟
네트워크 번호
서브넷 번호
호스트 번호
11111111
11111111
111111
00
00000000
255
255
252
0

 - 서브넷 마스크의 비트가 1인 부분이 네트워크 번호가 된다.

   서브넷 마스크와 IP 주소를 조합하면 그 IP 주소의 네트웤트 번호와 서브넷 번호의 비트 수를 알게 된다

   => IP 주소와 서브넷 마스크는 반드시 세트로 기술해야 한다!!!

 

네트워크를 작은 네트워크 ( 서브넷 )으로 나눈다.
서브 네트워크를 사용할 경우 IP 주소는 네트워크 번호, 서브넷 번호, 호스트 번호가 된다.
네트워크 번호, 서브넷 번호의 비트수를 나타내기 위해 서브넷 마스크를 사용한다.

24. 클래스리스 어드레싱

복습 : IP 주소는 32 비트이며 서브네팅을 한 경우 네트워크 번호, 서브넷 번호, 호스트 번호가 된다.

           네트워크 번호는 ICANN이 서브넷, 호스트 번호는 관리자가 정한다.

           IP주소는 논리주소로 컴퓨터의 위치 정보를 담고 있는데 ' 네트워크 번호 '와 ' 컴퓨터 번호 '를 조합한 것이다.

 클래스풀

현재는 클래스로 IP 주소를 할당하는 클래스풀 어드래싱은 하지 않는다. (과거의 이야기이다.)

인터넷이 급속히 보급되면서 IP 주소를 필요로 하는 조직이 늘어나면서,
IP 주소의 낭비가 늘었다. 이를 보완하기 위해 클래스리스 어드레싱(Classless Addressing)이 등장했다.

A 클래스: 약 16,000,000개의 호스트
B 클래스: 약 65,000개의 호스트
C 클래스: 256개의 호스트

만일 특정 조직이 3,000개의 IP 주소를 요구한다면, B 클래스를 할당해야 한다. 
그런데, 이렇게 되면 약 62,000개의 IP 주소가 낭비된다.

24 - 1 클래스리스 어드레싱

 - 클래스라는 구분을 없앤 어드레싱이다!

   클래스리스 어드레싱 ( Classless Addressing )은 클래스를 사용하지 않고 필요에 따른 비트 수로 할당할 네트워크의

   크기를 결정한다.

 

Ex ) 네트워크 번호가 18 비트 필요하고 그 번호를 ' 1010 0000 0000 0001 01 ' 로 지정한다!

 

 - 특정 네트워크에서 요구하는 IP 개수를 호스트 범위로 계산 한 후 가장 적게 낭비되는 호스트 번호의 비트 수를 계산해

   네트워크 번호를 결정하는 방식이다.

 - 원래 클래스에 의한 할당하는 클래스풀 어드레싱을 해왔기 때문에 그 클래스를 통합해 1개로 만드는 것도 가능하게 되고

   이것을 슈퍼넷 ( Super Network )라고 부른다.

+ 슈퍼넷(Super Network): 동일한 크기의 연속된 네트워크 2^n개를 모아서 더 거대한 네트워크로 통합하는 것.

  => 클래스 C 네트워크를 통합해 1개의 네트워크로 운용!!

     => 2,000 개의  IP 주소가 필요한 경우 C 클래스 네트워크를 8개 통합하여 하나로 관리하는 슈퍼넷을 만들 수 있다.

 

※ 클래스리스의 서브넷 마스크

 - 서브넷 마스크는 어띠까지가 네트워크 번호인지 알려주는 것

 - 클래스리스의 경우 어디까지가 클래스인지 모르기 때문에 어디까지가 네트워크 번호인지 나타내는 값을 부여할

   필요가 있다.

 

 - 서브넷 마스크는 클래스풀 네트워크 서브네팅에서 사용하는 것이다.

 

  프리픽스 길이 ( Prefix - Length )

 - 프리픽스 길이는 네트워크 번호의 길이를 나타내는 값이다.

 + 프리픽스 길이(Prefix-Length): 클래스리스 어드레싱에서 네트워크 번호의 길이를 나타내는 값이다. CIDR(Classless Inter-Domain Routing)이라고도 한다.

(사실, 서브넷마스크와 거의 비슷한 역할이다.)

IP 주소

: 11000000.10100000.00100000.00000000

: 192.168.32.0 / 21

주소 뒤에 슬레시를 넣고 그 뒤에 네트워크 번호 비트수 (프리픽스 길이 )를 기술한다!

 

서브넷마스크

: 11111111.11111111.11111000.00000000

: 255.255.248.0

 

클래스를 사용하지 않는 할당 방식이 클래스리스 어드레싱이다.
클래스리스에서는 프리픽스 길이로 네트워크 번호의 비트 수를 나타낸다!

25. DHCP

복습 : IP는 송신처와 수신처를 지정하기 위해 필요하다!

          IP 주소는 IP 헤더에 ' 송신처 IP 주소 ' 와 ' 수신처 IP 주소 ' 로 기술 된다. 

 

25 - 1 송신처의 IP 주소와 MAC 주소

 

 - 이더넷을 사용해 IP 데이터그램을 송수신하기 위해서는 4개의 주소가 필요하다

1. 수신처 MAC 주소

2. 송신처 MAC 주소

3. 수신처 IP 주소

4. 송신처 IP 주소

 

송신처 MAC 주소 => 송실할 인터페이스의 MAC 주소 사용

송신처의 IP 주소 => 송신할 인터페이스에 설정되어 있는 IP 주소 사용

1. 정적인 방법 : 수동으로 IP주소 설정

2. 동적인 방법 : DHCP ( Dynamic Host Configuration Protocol )

 

DHCP

 - 할당할 IP 주소를 관리하고, 실제로 할당 작업을 수행하는 서버 ( Server )와 할당받는 클라이언트 ( Client )로 구성된다.

   DHCP 서버를 DHCP 서버라고 부르는 데 DHCP 서버 소프트웨어 라는 전용 소프트웨어를 실행한다.

   클라이언트는 DHCP 클라이언트라 불리고 DHCP 클라이언트 소프트웨어를 실행한다.

 => 클라이언트가 IP 주소를 ' 요청 ' 하면 IP 주소를 ' 할당 ' 하여 준다.

● IP 주소 풀 : 사전에 관리자가 할당한 주소의 범위 관리자는 호스트에게 할당해도 되는 범위를 설정한다.

 Ex ) 192.168.1.1 ~ 192.168.1.254 범위의 주소를 할당해도 된다고 설정해 둔다.

   => 즉 DHCP 서버는  설정된 IP 주소 풀에서 요청한 클라이언트에게 각각 유일한 것이 되도록 주소를 할당한다!

   => 관리자가 범위만 할당해주면 서버가 자동적으로 할당한다!

 

대여 기간

 - 대여 기간을 설정해 놓지 않을 경우, 한 번 IP 주소를 할당 받은 뒤 해당 기기가 더 이상 접속하지 않거나 파괴되면 IP

   주소를 더 이상 영구적으로 사용할 수 없게 되기 때문에 대여 기간을 정해 놓게 된다.

   계속해서 IP 주소를 사용하고 싶다면 주기적으로 기간 연장을 신청해야 한다.

 

DHCP 옵션

 - DHCP는 서로 DHCP 메시지를 주고 받는다.

   DHCP 옵션을 사용해 IP 주소뿐 아니라 다른 네트워크의 설정 정보도 보낼 수 있다.

    => 하여 호스트 설정 프로토콜이라 불린다.

 Ex ) 서브넷 마스크, 디폴트 게이트웨이, DNS 서버, 대여 기간 ....

 

이더넷 헤더
IP 헤더
UDP 헤더
DHCP 메시지

DHCP 메시지 구성표

옥텟
이름
설명
1
오퍼레이션 코드
클라이언트 >> 서버: 1 서버>> 클라이언트: 2
4
클라이언트 IP 주소
현재의 클라이언트 주소 (재 대여 시에만)
4
할당 IP 주소
서버가 할당한 주소
4
서버 IP 주소
서버 주소
16
클라이언트
하드웨어 주소
클라이언트의 MAC 주소
가변
옵션
메시지 타입과 클라이언트 설정 (서브넷마스크, 디폴트게이트웨이, DNS 서버 주소, 대여 기간)
​DHCP의 동작

1. 클라이언트는 DHCP DISCOVER 메시지를 브로드캐스트 한다.
2. DISCOVER를 받은 서버는 할당 IP 주소를 풀에서 선택해 클라이언트에게 브로드 캐스트 해서 통지한다.
( DHCP OFFER)
3. 클라이언트는 OFFER에서 받은 IP 주소가 문제 없을 시 DHCP REQUEST를 서버에 브로드 캐스트 한다.
4. REQUEST를 받은 서버는 문제가 없으면 DHCP ACK를 보낸다.
이 때 서브넷 마스크 등 옵션 설정도 ACK에 넣어서 보낸다.

 - 컴퓨터가 가동하는 시점에는 클라언트는 누구에게 메시지를 보내면 좋을지 모르기 때문에 브로드 캐스트로 보낸다.

   메시지를 어디로 보내야 할 지 어느 네트워크에 소속되어 있는지를 모르니 전체에게 보내는 것!

 

송신처 MAC 주소는 송신할 인터페이스에 고정 주소를 사용한다.
각 클라이언트는 DHCP 서버가 가지고 있는 어드레스 풀로부터 IP 주소를 할당 받는다.

26. ARP

복습 : 송신처의 MAC 주소는 자신의 인터페이스 주소 송신처 IP 주소는 DHCP!

 

26 - 1. 주소 해결 프로토콜

 - ARP는 이 IP 주소의 호스트님 당신의 MAC 주소를 알려주세요 라고 질문하는 프로토콜이다.

   MAC 주소를 모르는 상태에서 해결하는 것이라 주소 해결 프로토콜이라고 한다!

 

26 - 2. ARP 테이블과 ARP

 - ARP 테이블은 IP 주소와 MAC 주소의 대응표를 말한다.

 

1. 송신 호스트는 수신처 IP 주소를 사용해 자신의 ARP 테이블을 참조한다.
1_1. 자신의 ARP 테이블에 수신처에 대한 대응표가 있다면, 수신처의 MAC 주소를 얻을 수 있다.

2. 없는 경우에는, ARP를 사용해서 수신처 IP에 해당하는 호스트의 MAC 주소를 요청하는 ARP 요청을 한다.
이때, ARP 요청은 브로드캐스트를 사용한다.

3. ARP 요청을 받은 호스트들 중에서 IP 주소에 대응한 호스트만이 ARP 응답을 보낸다.

4. 송신 호스트가 ARP 응답을 수신하면, 결과를 자신의 ARP 테이블에 기재한다.

 - 하지만 ARP 테이블 내의 IP 주소와 MAC 주소의 대응은 일정 시간이 지나면 파기 된다. 약( 300초 )

Ex) MAC 주소를 얻어 ARP 테이블에 기재하였는데, 해당 기기의 인터페이스가 교체되었다면, MAC 주소도 변경된다. 이 경우, ARP 테이블이 영구적이었으면 MAC 주소가 변경된 시점에서 IP 주소와 MAC 주소의 대응이 잘못되게 된다.

수신처 MAC 주소를 알기 위해서 ARP를 사용한다.
IP 주소와 MAC 주소의 대응표인 ARP 테이블을 가진다.
ARP 테이블의 대응은 일정 기간 경과되면 파기된다.

27. DNS

복습 : 인터페이스에 고정된 것이 MAC 주소, 수동 또는 DHCP로 입수하는 것이 송신처 IP 주소 ARP로 수신처 MAC 주소!

 

 - 수신처의 IP 주소 알아내기

1. IP 주소를 외우기

2. 도메인 이름을 사용하기.

 

27 - 1 DNS

 - 인간이 단순한 숫자의 배열을 암기하는 게 어려워 고한된 방법

   도메인 명은 송신하고 싶은 상대의 컴퓨터 이름을 말하는 것이다.

  => http:// 뒤에 오는 문자열이 컴퓨터의 이름이 된다! 네이버의 경우 : www.naver.com이다!  

 

 - 도메인 이름은 다른 컴퓨터와 구별되기 위해 유일한 이름을 가져야 한다!

 - 도메인 이름의 경우 IP 주소와 마찬가지로 ICANN이 관리하게 된다.

   DNS는 도메인 명과 IP 주소를 대응시킨 시스템으로 DNS 서버는 각 조직에 1개씩 있고 그 조직의 도메인 명만 관리한다.

   도메인 명과 IP 주소의 대응 데이터베이스를 가진 DNS 서버에 문의해 수신처의 IP 주소를 얻을 수 있게 된다.

   다른 조직의 도메인 명에 대응하는 IP 주소는 그 조직의 DNS 서버에 문의해서 입수한다

 => 즉, DNS는 전 세계의 도메인 명, 호스트 명을 관리하는 일종의 분산형 데이터베이스이다.

 

4개의 주소-완결 편

1. 송신처 MAC 주소는 연결된 인터페이스를 통해 알 수 있다.
2. 송신처 IP 주소는 수동으로 설정하거나, DHCP 서버에 요청해서 얻는다.
3. 수신처의 IP 주소는 그 자체를 외우거나, 도메인 명을 DNS 서버에 전달해서 대응되는 IP 주소를 얻는다.
4. 수신처의 MAC 주소는 자신의 ARP 테이블에서 얻거나, 없는 경우에는 ARP를 통해 상대방에게 요청해서 받아온다.

 

하루 3분 네트워크 교실_2: 신호의 전송과 충돌

1계층의 역할과 개요 전기/기계적인 전송 > 1계층은 케이블이 연결되어 있는 기기에 신호를 전달한다. &...

blog.naver.com

 

하루 3분 네트워크 교실

하루 3분이면 OK! 네트워크 왕초보 넷군에게 인터넷 박사가 알려주는 세상에서 가장 쉬운 네트워크 수업! 어려운 용어와 개념이라는 장벽에 초보자는 쉽게 접근하지 못하는 네트워크. 이 책은 네

book.naver.com