나의 공부기록

03. 서브넷팅(Subnetting) & 정적 라우팅(Static Routing) 본문

CS/네트워크

03. 서브넷팅(Subnetting) & 정적 라우팅(Static Routing)

나의 개발자 2024. 12. 31. 01:40

 

서브넷팅(Subnetting)

  • 서브넷팅을 할 때, 되도록이면 서브넷의 가용 IP 중 첫 번째와 두 번째, 마지막 IP는 사용하지 않는 걸 권유
    ➡️ 가상 네트워크에서 사용하는 IP이기 때문에 배제하고 사용하는 걸 추천

[ 하나의 옥텟에서 1의 갯수에 따른 서브넷 마스크 ]

  • 0 = 0
  • 1 = 128
  • 11 = 192
  • 111 = 224
  • 1111 = 240
  • 11111 = 248
  • 111111 = 252
  • 1111111 = 254
  • 11111111= 255

➡️기억하고 있는 것이 좋음

 

Q. 10.10.0.0 / 24 라는 네트워크에서 서브넷팅을 해서 아래 [그림]과 같은 토폴로지를 구성하시오.

 

대표주소 : 10.10.0.0, 서브넷 마스크 : 11111111. 11111111. 11111111.00000000 = 255.255.255.0 = prefix : 24

필요한 네트워크가 3개 -> 2^1 < 3 < 2^2

2비트 이동 => prefix : 26 = 11111111.11111111.11111111.11000000 = 255.255.255.192

256 - 서브넷마스크 = 규모 = 256 - 192 = 64

 

A : 10.10.0.0 / 26

B : 10.10.0.64 / 26

C : 10.10.0.128 / 26

D : 10.10.0.192 / 26

 

  • 가용 IP : 서브넷에서 대표주소와 브로드캐스트 주소 2개를 제외한 IP
  • R1에서 PC A에 ping을 보낼 때, 첫 패킷이 실패하는 이유
    • 패킷을 보낼 때, ARP(Address Resolution Protocol)을 사용하는데, 처음에는 Mac 주소를 알지 못하기 때문에 실패가 뜨는 것
    • 두 번째 ping 요청에는 IP주소와 Mac 주소를 기록하는 테이블(ARP)을 가지고 있기 때문에, 패킷 실패가 없음
  • ARP(Address Resolution Protocol) : IP를 통해 상대 장비의 Mac 주소를 알아내는 프로토콜
    • ARP는 확정적인 계층이 없음(특이케이스)

 

네트워크가 적절하게 구성되었는지 확인하는 방법

1. 적절한 대역(IP) 사용

  • 논리적으로 설정이 되어있어야 함
  • 네트워크의 가용 IP 범위를 벗어나면 안됨

 

2. 적절한 장비에 연결되어있어야 함

  • 인접한 장비와 연결되지 않고 다른 네트워크의 장비와 연결될 수 없음


라우팅(Routing)

  • 경로를 알려주는 행위
    • Route = 경로
    • Router = 경로를 알려주는 것
  • 다른 네트워크와 통신을 하려면, 가는 방법을 알아야 함

 

라우팅 종류 - 정적(Static) 라우팅

  • 수동 + 불변
  • 정적 라우팅하는 방법
    • Router(config)# ip route <목적지 대표주소> <목적지 서브넷 마스크> <Next-Hop(방향)>
      = ip route 10.10.0.128 255.255.255.192 10.10.0.120
  • Next-Hop
    • 속한 네트워크를 빠져나가기 위한 출구
    • 가장 첫 번째 Port
    • 전제조건 : 무조건 같은 네트워크의 IP여야 함
    • R1의 역할은 10.10.0.128인 네트워크 C를 찾아가기 위한 방향인 R2의 Port 위치를 알려주는 것
  • 네트워크가 N개로 구성되면 N개의 네트워크에 대한 라우팅 정보(라우팅 테이블)를 모두 알고 있어야 함
    • 네트워크가 3개로 구성되면, 각 라우터는 3개의 라우팅 정보를 가지고 있어야 함
    • ping = ICMP라는 왕복 프로토콜 메시지를 보내는 행위
      • 메세지를 보냈지만, 응답을 받지 못하는 경우가 발생할 수 있음
        ➡️ R1에서는 목적지까지 가는 라우팅 정보를 알지만, R2에서는 응답하기 위한 라우팅 정보를 가지고 있지 못한 경우, 응답을 받지 못할 수 있음

 

Q. 172.16.30.160/27인 네트워크를 서브넷팅하여 아래 토폴로지를 구성하고, PC A와 R2가 통신되도록 하시오.

💡내가 헷갈린 부분

  • 서브넷 마스크가 /27이면 규모가 32인데, 2^5를 16으로 잘못 계산해서 틀렸음
    ➡️ 서브넷팅할 때, 주의하기

 

Q. 위와 같은 네트워크에서 PC A가 R3(라우터)로 대체했을 때, R2와 새로 추가한 R3가 통신이 되는지?

     (R3의 라우팅 설정을 안 했음)

  • R2에서는 네트워크 A로 가는 정보라우팅 테이블에 존재해서 ping을 전달할 수 있지만, R3는 네트워크 B로 가는 정보라우팅 테이블에 존재하지 않아서 R2와 R3는 통신할 수 없음
  • PC는 따로 라우팅을 하지 않아도 통신이 가능한지?
    • PC는 ip를 설정할 때, Default Gateway를 설정하는데, 통신을 하기 위해서는 무조건 Default Gateway를 통해 나가야 하기 때문에, 따로 설정할 필요가 없음
    • Default Gateway라우팅 테이블(Routing Table)과 같은 역할을 함

 

라우터의 Default Route

  • 어디를 가던 가장 첫 번째로 빠져나가야 하는 넥스트홉(Next-Hop)
    • 어디든지 = 모든 네트워크 = 0.0.0.0/0 = 하나의 네트워크
prefix의 변화
prefix /0 ... /23 <- /24 -> /25 /26 ... /32
규모 2^32   2^9   2^8   2^7 2^6   1 = 2^0
비고 네트워크 개수가 1개로, Host가 2^32
-> 0.0.0.0/0 = 모든 네트워크(All Network)
규모가 1이므로, Host가 1
-> 1.1.1.1/32 = 단일호스트
  • 목적지가 불분명할 때, 0.0.0.0/0(모든 네트워크)로 가면 됨 = last resort = 최후의 보루
  • 가장 느슨한 라우팅으로 가고자 하는 경로가 아무것도 없을 때, 마지막에 선택하는 경로
    • ↔️ 목적지에 부합하는 경로가 여러 개 존재한다면 좀 더 타이트하게(길게) 매칭되는 경로를 선택(=롱기스트매치룰)

 

Q. 192.168.10.128/25인 네트워크가 있을 때, A, B 네트워크 각각에 8 host가 필요하고, 균일하고 가장 타이트하게 서브넷팅하시오. 단, PC A와 PC B가 통신되도록

  • 각 네트워크에는 8개의 host와 2개의 대표주소&브로드캐스트 주소의 host가 필요 = 최소 10개의 IP가 필요
  • 2^3 = 8개 < 10 < 2^4 = 16개
    --> 규모가 16인 네트워크로 서브넷팅해야 함(32 - 4비트 = prefix : 28)
  • 라우팅 테이블에서 리스트업 되는 것은 IP의 크기 순으로 나열
    • 단, 같은 IP의 경로에서는 C -> S 우선순위