서브네팅 / 슈퍼네팅

728x90

연결형 서비스

데이터 전송 전에 데이터의 전송 경로를 미리 결정

비연결형 서비스

데이터의 전송 경로를 사전에 결정하지 않고 패킷 단위로 결정

  • 패킷이 서로 다른 경로로 전송 -> 도착시간이 일정하지 않음
  • 패킷의 100% 도착을 보장하지 않음

라우팅

라우팅 테이블

라우터가 패킷의 적절한 경로를 찾기 위한 가장 기본적인 도구
목적지 호스트와 다음 홉에 대한 정보가 필요

  • 최종 목적지가 되는 호스트 주소
  • 목적지 호스트까지 패킷을 전달하기 위한 인접 경로

라우팅 정보의 처리

  • 소스 라우팅 : 전송 경로를 헤더에 담아 전달 경로를 결정하는 방식
  • 분산 라우팅 : 라우팅 정보를 분산하여 관리하는 방식 -> 호스트가 많을수록 효과적
  • 중앙 라우팅 : RCC가 모든 라우팅 정보 관리.
    송신 호스트는 패킷 전송전에 RCC에게 경로 정보를 얻어 전송
    호스트의 개수가 많아질수록 비효율적
  • 계층 라우팅 : 분산 라우팅 + 중앙 라우팅
    네트워크 규모가 클수록 매우 효과적

최단 경로 라우팅

거치는 라우터의 수가 최소화 되도록 라우팅

플러딩

  • 어떤 노드에서 온 하나의 패킷을 라우터에 접속되어 있는 다른 모든 노드로 전달
  • 패킷이 무한으로 만들어질 수 있으므로 생존 시간으로 제한

거리 벡터 프로토콜

이웃하게 직접 연결된 라우터간에 라우팅 정보를 교환
개별 네트워크까지 패킷을 전송하는데 걸리는 거리 정보

필수 정보

  • 링크 벡터 : 이웃하게 직접 연결된 네트워크에 대한 연결 정보
  • 거리 벡터 : 전체 개별 네트워크에 대한 거리 정보
  • 다음 홉 벡터 : 개별 네트워크로 가기 위한 다음 홉 정보

RIP

거리 벡터 프로토콜을 사용하는 내부 라우팅 프로토콜

  • 거리 벡터 정보가 새로우면 적용
  • 목적지까지 지역이 더 적다으면 기존 경로 대체
  • 거리 벡터 정보가 입력되면 등록 정보 수정

링크 상태 프로토콜

거리 벡터 프로토콜과 반대 원리로 동작
네트워크에 연결된 모든 라우터간에 라우팅 정보를 교환
개별 라우터에서 주변 라우터까지 패킷을 전송하는데 걸리는 거리 정보

거리벡터 : 주기적으로 전달
링크 상태 : 주변 상황에 변화가 생기는 경우

혼잡 제어

  • 혼잡 제어 : 네트워크에서의 전송 능력 문제
  • 흐름 제어 : 송수신 호스트 사이의 전송 속도 문제

혼잡의 원인

타임 아웃 기능에 의한 패킷의 재전송으로 혼잡도 증가

  • 초기 혼잡 과정에서 타임 아웃 시간이 작으면 혼잡도가 급격히 증가
  • 패킷 도착 순서가 다를 때, 패킷을 분실 처리하면 타임아웃 증가
  • 의도적으로 피기배킹을 사용하면 응답 시간이 느려져 타임아웃 증가
  • 패킷 생존 시간을 작게 하면 패킷이 강제로 제거되어 타임아웃 증가

타임 아웃 기능이란? 클라이언트에서 서버에게 패킷을 전송 시, 서버는 패킷을 정상적으로 수신하면 ARK라는 응답신호를 클라이언트를 보냄. 클라이언트는 이 신호를 받아야 다음 패킷을 전송할 수 있음. 클라이언트는 ARK가 올때까지 기다리고 ARK를 받지 못한다면 재송신하는 기능이 타임 아웃 기능

피기배킹이란? 부정 인증을 이용한 출입 방법의 하나로, 제한된 구역에 대한 출입 권한이 없는 사람이 의도적으로 출입 권한을 가진 사람과 함께 진입하는 것

트래픽 성형

  • 패킷 발생 정도를 예측 가능한 정도로 조절하는 기능이 필요 -> 리키 버킷 알고리즘

혼잡 제거

  • 호스트와 서브넷이 미리 네트워크 자원의 사용 정도를 협상
    초크 패킷을 보내고 지연시키기 -> 송신량을 줄여라

IP(Internet Protocol)

인터넷에 연결되어 있는 모든 컴퓨터에게 부여한 고유의 주소
8비트 크키의 필드 네 개를 이용해 32비트 논리 주소로 구성

클래스 타입네트워크 주소호스트 주소

  • 네트워크 주소 각 호소트가 속한 네트워크를 대표하는데 사용
    8비트, 16비트, 24비트 크기로 분류
  • 호스트 주소
    네트워크 내부에서 각 호스트의 주소를 표현
    전체 32비트에서 네트워크 주소를 제외한 나머지에 해당

IP 주소의 효율적인 배정을 위해 클래스라는 개념을 도입

A 클래스

네트워크 주소클래스 주소

8비트 24비트

가장 왼쪽비트가 0

0.0.0.0 : 사용하지 않는 주소
127.x.x.x 가상으로 할당한 인터넷 주소라 사용하지 않음

B 클래스

네트워크 주소클래스 주소

16비트 16비트

가장 왼쪽비트가 10

C 클래스

네트워크 주소클래스 주소

24비트 8비트

가장 왼쪽비트가 110

D 클래스

멀티 클래스 용도로 사용

E 클래스

미래를 위해 남겨놓은 주소

2를 빼는 이유 : 모든 네트워크 구간에서는 항상 2개의 주소가 실제사용가능 주소에서 제외
가장 앞은 네트워크 주소, 가장 뒤는 브로드 캐스트 주소로 사용하기 때문

사설 IP 주소

IP 주소 부족을 해결하는 방안

비유

서울시 서울구 서울동 서울아파트 101동 202호에 홍길동이라는 사람이 산다고 가정을 한다면, 이 주소에서 '서울시 서울구 서울동 서울아파트'에 해당하는 부분이 공인 IP, '101동 202호'에 해당하는 부분이 사설 IP가 된다. 이 홍길동이라는 사람이 같은 서울아파트에 사는 친구에게 101동 202호로 오라고 말하면서 초대한다면 그 친구는 당연히 서울아파트 101동 202호라고 생각하고 홍길동의 집을 찾을 수 있다. 그러나 이 홍길동이라는 사람이 부산시 부산구 부산동 부산아파트에 사는 사람한테 101동 202호라고 말해주면 그 사람은 홍길동의 의도와는 다르게 부산아파트 101동 202호로 가려고 할 것이고 당연히 그 곳에 홍길동이 있을 리 없으니 찾을 수 없다. 마찬가지로 어떤 사설망에서 A라는 컴퓨터에 할당된 사설 IP 주소가 192.168.1.2라고 가정한다면, 같은 사설망 내의 다른 컴퓨터를 이용하여 192.168.1.2로 접속을 시도하면 A라는 컴퓨터로 접속할 수 있지만, 다른 사설망 내의 컴퓨터를 이용하여 192.168.1.2로 접속을 시도하면 A라는 컴퓨터로 접속할 수 없다.

서브넷 마스크

IP 주소 체계의 network id와 host id를 서브넷 마스크를 통해 변경하여 네트워크를 분리 또는 합체 시키는 개념

Prefix

IP 주소에서 (네트워크 ID)에 해당하는 선두 상위 비트들의 집합을 의미

**prefix 별 호스트 수 : 2^(32-prefix) - 2

**prefix 별 네트워크 수 : 2^(prefix - default prefix)

**default prefix

A 클래스 : /8
B 클래스 : /16
C 클래스 : /24

서브넷팅

네트워크를 필요한 만큼 분할하여 상호 연결 망을 구축할 수 있게 해주는 것
서브넷팅을 하면 게이트웨이가 꼭 필요함

서브네팅은 사설 Ip 에 적용한다.

prefix 별 호스트 수 : 2^(32-prefix) - 2
prefix 별 네트워크 수 : 2^(prefix - default prefix)

 

default prefix

A 클래스 : /8
B 클래스 : /16
C 클래스 : /24

 

192.168.30.0 /24 => 11111111.11111111.11111111.00000000

 

즉, 프리픽스가 24일 경우에는 실제 사용 가능한 호스트의 범위는 2^(32-24)-2 = 254 이다. 2를 뺀 이유는 가장 처음은 네트워크 주소, 가장 마지막은 브로드 캐스트 주소로 사용하기 때문이다.

 

여기서 192.168.30.0 과 192.168.30.255 는 이미 네트워크 주소, 브로드 캐스트 주소로 할당됐다.

그래서 192.168.30.5/24 과 192.168.30.240/24 은 같은 네트워크로 라우터 없이 통신이 가능하다.

 

만약 192.168.30.0 /25 => 11111111.11111111.11111111.10000000 이라면

 

네트워크 수는 2^(25-24) = 2
호스트 수는 2^(32-25)-2 = 126

 

192.168.30.0 ~ 192.168.30.127
192.168.30.128 ~ 192.168.30.255

 

로 구분되며 192.168.30.5/25 과 192.168.30.240/25 은 다른 네트워크로 인식하게 된다. 그래서 라우터가 없으면 통신을 할 수 없다.

이렇게 IPv4 / 24 ~ 32 에 이르기까지 프리 픽스에 따라 네트워크를 구분시킬 수 있다.

 

192.168.30.0 /26 => 11111111.11111111.11111111.11000000

 

프리픽스가 26일 경우 아래와 같이 네트워크와 호스트가 구성된다.

 

네트워크 수는 2^(26-24) = 4
호스트 수는 2^(32-26) - 2 = 62

 

192.168.30.0 ~ 192.168.30.63
192.168.30.64 ~ 192.168.30.127
192.168.30.128 ~ 192.168.30.191
192.168.30.192 ~ 192.168.30.255

 

호스트 숫자      프리 픽스
256 -2               /24
128 -2                /25
64 -2                  /26
32 -2                  /27
16 -2                  /28
8 -2                    /29
4 -2                    /30
2 -2                     /31
1 -2                     /32

슈퍼넷팅

서브넷팅의 반대개념으로 네트워크를 필요한 만큼 합치는 것

VLSM (Variable Length Subnet Mask)

가변 길이 서브넷마스크를 사용한 서브넷팅

 

서브네팅 문제

1. 192.168.30.0 => 사용을 할 수 없는 서브넷팅의 prefix 는 어떤 것이 있는가?

/31 2^(32-31) = 2^1 = 2
/32 2^(32-32) = 2^0 = 1

 

31, 32

2. 172.168.100.5/22 => 네트워크 구간을 적어보시오.

2^(22-16) = 2^6 = 64
256/64 = 4

 

172.168.0.0 ~ 172.168.3.255
4
8
.
.
172.168.100.0 ~ 172.168.103.255

3. 170.100.112.0/20 은 호스트 주소로 사용할 수 있는가?

2^(20-16) = 2^4 =16
256/16=16

 

170.100.0.0 ~ 170.100.15.255
170.100.16.0 ~ 170.100.31.255
32 ~ 47
48 ~ 63
64 ~ 79
80 ~ 95
96 ~ 111
170.100.112.0 ~ 170.100.127.255

 

네트워크 주소이기 때문에 호스트주소로 사용 불가

4. 11.168.100.0/8 일때 사용자가 1000명이 사용할 수 있도록 서브넷팅 하시오

/24 256-2
/23 512-2
/22 1024-2

 

2^(22-16) = 2^6 = 64
256/64 = 4

 

11.0.0.0 ~ 11.0.3.255
11.0.4.0 ~ 11.0.7.255
.
.
11.0.252.0 ~ 11.0.255.255

11.1.0.0 ~ 11.1.3.255
11.1.4.0 ~ 11.1.7.255
.
.
11.1.252.0 ~ 11.1.255.255

11.2.0.0 ~ 11.2.3.255
11.2.4.0 ~ 11.2.7.255
.
.
11.2.252.0 ~ 11.2.255.255
.
.
.

11.168.100.0 ~ 11.168.103.255

5. 192.168.100.0/24 일때 사용자가 40명인 네트워크를 몇 개를 만들 수 있습니까? 그리고 각 네트워크의 네트워크 주소와 브로드케스트 주소는 무엇입니까?

/24           256-2
/25           128-2
/26           64-2
/27           32-2

2^(26-24) = 2^2= 4
256/4  = 64

 

192.168.100.0 ~ 192.168.100.63
192.168.100.64 ~ 192.168.100.127
192.168.100.128 ~ 192.168.100.191
192.168.100.192 ~ 192.168.100.255

6. 161.111.100.0/19 일때 네트워크 주소와 브로드캐스트 주소를 적으시오.

2^(19-16)=2^3=8
256/8 =32

 

161.111.0.0 ~ 161.111.31.255
32 ~ 63
64 ~ 95
161.111.96.0 ~ 161.111.127.255
128 ~ 159

7. 192.168.100.0/24 => 4100명 의 사람이 사용할 수 있도록 슈퍼넷팅하시오.

프리픽스   호스트 수

/24           256-2
/23           512-2
/22           1024-2
/21            2048-2
/20           4096-2
/19            8192-2

 

2^(19-16) = 2^3 =8
256/8=32

 

192.168.0.0 ~ 192.168.31.255
192.168.32.0 ~ 192.168.32.255
192.168.64.0 ~ 192.168.32.255
192.168.96.0 ~ 192.168.123.255 => 192.168.96.0 /19


124

8. 171.100.0.0 /16 네트워크를 4000명 1개, 2000명 1개, 500명 2개, 260명 3개 사용할 수 있도록 서브넷팅 해보시오.그리고 8000명 사용할 수 있는 네트워크를 추가하시오.

프리픽스    호스트 수

/24            256-2
/23            512-2
/22            1024-2
/21            2048-2
/20            4096-2
/19            8192-2

 

2^(20-16) = 2^4 =16
256/16=16

171.100.0.0 ~ 171.100.15.255 => 4000명

 

2^(21-16) = 2^5 = 32
256/32 =8

171.100.16.0 ~ 171.100.23.255 => 2000명

 

2^(23-16) = 2^7 = 128
256/128=2

171.100.24.0 ~ 171.100.25.255 => 500명
171.100.26.0 ~ 171.100.27.255 => 500명

171.100.28.0 ~ 171.100.29.255 => 260명
171.100.30.0 ~ 171.100.31.255 => 260명
171.100.32.0 ~ 171.100.33.255 => 260명

 

2^(19-16) = 2^3 =8
256/8 = 32

171.100.0.0 ~ 171.100.31.255
171.100.32.0 ~ 171.100.63.255 => 이미 사용중인 host 주소가 존재함
171.100.64.0 ~ 171.100.95.255 => 다음 주소로 넘겨야 함.

171.100.64.0 ~ 171.100.95.255

서브네팅 문제 2

host 갯수 : 2^(32-prefix)

network 갯수 : 2^(prefix-default prefix)

256/2^(prefix-기준 prefix) = 네트워크 구간

1. 9.95.255.255 / 10 은 호스트 주소 사용 가능?

2^(10-8)=2^2=4
256/4=64

 

9.0.0.0 ~ 9.63.255.255
9.64.0.0 ~ 9.127.255.255

9.95.255.255 /10 주소는 호스트로 사용 가능

 

9.95.255.255 /11 일경우에는

2^(11-8) = 2^3 =8
256/8=32

 

9.0.0.0 ~ 9.31.255.255
32 63
9.64.0.0 ~ 9.95.255.255
96 127

9.95.255.255 는 브로드케스트 주소이기 때문에 사용 불가

2. 172.100.0.0 / 16을 130명씩 그룹을 나눌 수 있도록 서브넷팅하고 172.100.40.5 주소가 속한 네트워크 구간을 작성하시오.

/24 256-2
/25 128-2

172.100.0.0 /24

172.100.0.0 ~ 172.100.0.255
172.100.1.0 ~ 172.100.1.255
.
.
.
172.100.255.0 ~ 172.100.255.255

172.100.40.5가 속한 네트워크 구간은

172.100.40.0 ~ 172.100.40.255

3. 128.10.0.30 / 15 가 속한 네트워크 구간을 작성하시오.

2^(15-8)=2^7=128
256/128 = 2

 

128.0.0.0 ~ 128.1.255.255
128.2.0.0 ~ 128.3.255.255
.
.
128.10.0.0 ~ 128.11.255.255

4. 8.0.0.0 / 11 의 모든 네트워크 구간을 적으시오.

2^(11-8)=2^3=8
256/8 = 32

 

8.0.0.0 ~ 8.31.255.255
32 65
64 95
96 127
128 159
160 191
192 223
224 255

5. 192.168.100.0 / 24 => 4090명 의 사람이 사용할 수 있도록 슈퍼넷팅하시오.

/24 256-2
/23 512-2
/22 1024-2
/21 2048-2
/20 4096-2

2^(20-16) = 2^4 =16
256/16 = 16

0
16
32
.
.
96

192.168.96.0 ~ 192.168.127.255 /20

6. 100.0.0.0 / 24 인 경우 100.100.30.20의 네트워크 구간은?

100.100.30.0 ~ 100.100.30.255

7. 172.100.0.0 /16 를 8100 명이 쓸수 있는 네트워크 하나 2000 명이 쓸 수 있는 네트워크 2개 120명이 쓸 수 있는 네트워크 4개를 만들어 보시오.

/25           128-2
/24           256-2
/23           512-2
/22           1024-2
/21           2048-2
/20           4096-2
/19           8192-2

 

2^(19-16)=2^3=8
256/8=32

172.100.0.0 ~ 172.100.31.255

 

2^(21-16)=2^5=32
256/32=8

172.100.32.0 ~ 172.100.39.255
172.100.40.0 ~ 172.100.47.255

 

2^(25-24) = 2^1 =2
256/2=128

172.100.48.0 ~ 172.100.48.127
172.100.48.128 ~ 172.100.48.255
172.100.49.0 ~ 172.100.49.127
172.100.49.128 ~ 172.100.49.255

728x90