Record

네트워크 실습 ( cisco packet tracer, 동적라우팅(RIP) ) 본문

CS/네트워크 실습 (cisco packet tracer)

네트워크 실습 ( cisco packet tracer, 동적라우팅(RIP) )

now-record 2025. 11. 26. 16:02
반응형

이전 시간에는 static routing으로 우리가 한 ip를 알기 위해 모든 라우터에 정보를 입력했다.

 

사실 라우터가 2개정도면 양옆을 써주면 되는데 라우터가 늘면 늘 수록 라우터가 관리해야 할 정보가 많아지고, 입력해주기 굉장히 불편하다. 그리고 중간에 라우터가 사라지면 그 ip로는 못보내는 불상사가 일어난다. 

 

그림 

 

그래서 나온게 동적 라우팅이다. 

 

동적 라우팅이란? 라우터가 스스로 “길 찾기”를 하면서 라우팅 테이블을 자동으로 업데이트하는 방식

 

동적 라우팅 프로토콜이 하는 핵심 일

  1. 라우터끼리 인사(Neighbor 형성)
    • “나 여기 있어!” 하고 서로를 이웃으로 등록.
  2. 경로 정보 교환
    • “내가 알고 있는 네트워크 목록 + 거기까지 가는 비용(metric)”을 서로 주고받음.
  3. 가장 좋은 경로 선택 & 테이블 반영
    • 받은 정보 중에서 비용(메트릭) 이 제일 좋은 경로를 선택해서
      라우팅 테이블에 넣음.

링크가 끊기면, 그 정보도 서로 알려줘서 다른 길로 경로를 바꿈 → 이걸 수렴(convergence) 이라고 함 

 

 

동적 라우팅은 이런 느낌이고 실제 실습으로 들어가서 보겠다. 

 

현재 왼쪽의 ip는 192.168.53.0 /24 를 쓰고 있다. 

오른쪽의 경우 192.168.54.0 /24를 쓰고 있고 

라우터간의 대역은 172.16.0.0 /16을 쓰고 있다. 

 

각 gateway는 첫번째 ip를써서 왼쪽의 gateway gig0/1에는 192.168.53.1을 주입해주고 

오른쪽의 gig0/1에는 192.168.54.1을 주입한다. 물론 no shudown으로 꺼주고 

똑같이 양옆의 gig0/0에도 ip를 주입해준다.

 

 

불이 다들어왔고 

 

 

pc0에서 172.16.0.1로 ping을 보내면 잘받는것을 확인할 수 있다. 

 

이제 pc1로 보내기 위해 라우팅을 해야하는데 오늘은 동적라우팅 방법중 하나인 rip프로토콜을 진행한다. 

 

rip란? -> 여기 따로 공부한거 링크달것 

 

 

router에서 router의 rip를 지정하기 위해 들어간다. 

no auto summary와 version 2를 선택해준다. 

 

왜 ? auto summary와 version 2일까? 

 

클래스풀 자동 요약(automatic summarization)의 경우 세부 서브넷(/24 같은 거) 말고
큰 클래스 단위(/8, /16, /24 같은 기본값)로 묶어서 광고한다는 뜻이다. 

 

예시로 라우터 A가 이런 두 네트워크를 가지고 있을때 

  • 10.1.1.0/24
  • 10.2.2.0/24

그리고 이걸 다른 쪽 라우터 B에게 RIP으로 광고한다고 했을 때,

  • auto-summary 켜져 있으면
    → 둘 다 클래스 A 10.0.0.0/8으로 요약해서 보낸다.
  • no auto-summary 설정하면
    각각 10.1.1.0/24, 10.2.2.0/24 그대로 광고한다. 

RIPv2

 

  • 클래스리스
     “IP/프리픽스(/24 등)를 항상 같이 써서, 마스크 마음대로 쪼갤 수 있는 방식(기존의 클래스 풀 24, 16, 8 만쓰는 것이 아닌 ) 
  • 멀티캐스트 장점
     “필요한 애들만 받게 해서 네트워크 덜 시끄럽고, 라우터가 더 똑똑하게 뿌릴 수 있는 방식”을 가지고 있다. 

 

만약에 version 2를 명시 안해주면 서브넷을 못읽기 때문에 서브넷간 라우팅이 잘못될 수 있다. 거의 v2를 쓴다고 생각하자

 

 

rip한테 network주소를 알려주기 위해 network <ip> 를 주면 된다. 내가 홍보할 ip와 홍보를 할 양옆 대역 정보를 적어준다. 지금은 옆에만 있기 때문에 옆 ip만 적어준다. 

 

 

 

pc 0 에서 pc1의 ip인 192.168.54.2에 ping을 보내면 가는 것을 확인할 수 있다. 

기존의 static보다는 훨신 편하게 연결할 수 있는걸 확인할 수 있다. 

 

이런식으로 만들 면 본인이 홍보할 ip와 양옆의 ip를 라우터에 적어주면 쉽게 연결할 수 있다. 

 

근데 그런 궁금증이 생긴다. rip를 통해서 서로의 ip를 주고 받다보면 무한루프가 생길 수 있다. 그걸 어떻게 해결할까? 스위치에서는 STP라는 방식으로 해결했다. rip는 어떻게 해결할까? 

 

1) 최대 홉 수 15 (16 = 무한대)

  • RIP 메트릭 = 홉 수.
  • 15홉까지는 정상 경로,
    **16홉부터는 “도달 불가(infinity)”**로 취급.
  • 그래서 count-to-infinity가 끝없이 가지 않고
    **최대 16까지 가면 “망했다, 끊어졌다”**로 정리됨.

2) Split Horizon (스플릿 호라이즌)

어떤 인터페이스로 배운 경로는, 그 인터페이스로 다시 광고하지 마라.

R1 — R2 — R3 구조에서

  • R2는 “R1 쪽 인터페이스에서 10.0.0.0/24를 배웠다면”
  • 다시 R1 쪽으로 “10.0.0.0/24 있어요~” 라고 광고하지 않음.
  • 이렇게 하면
    “너한테서 배운 길을 다시 너한테 팔아먹는” 식의 루프를 많이 막을 수 있음 

3) Route Poisoning + Poison Reverse

링크가 끊겼을 때:

  • Route Poisoning
    • “그 네트워크는 이제 메트릭 16(무한대) 이다!”
    • 라고 아예 독(poison)를 묻혀서 광고해 버림.
  • Poison Reverse
    • split horizon 때문에 원래라면 안 보내야 하는 쪽에도“야, 이 경로는 이제 16이야. 너도 없다고 알고 있어라.”
      라고 일부러 알려줌.

4) Hold-down Timer / Triggered Update

  • Hold-down Timer
    • 어떤 경로가 죽었다고 판단되면, 일정 시간 동안은 “좋은 소식”을 무시하면서 , 진짜 죽은 거 맞는지” 안정화 시간을 줌.
  • Triggered Update
    • 30초 기다리지 않고,경로에 변화가 생기면 즉시 업데이트 한 번 더 쏨 → 변동 사항을 빨리 퍼뜨려서 루프를 줄임.

 

 

또한 이런 pc2에서 pc1로 ping을 보내는 상황에서는 홉(라우터를 거치는 수)가 2개로 동일할때 라우터는 어디로 보낼까? 현재 그림에서는 172.19.0.0으로 보내거나 172..18.0.0으로 보낸다. 이는 로드밸런싱과 관련이있다. 

 

로드밸런싱

 

  • ECMP(동일 비용 경로) 감지
    • RIP/OSPF가 “목적지 X까지 가는 길이 2개고, 비용이 같다”는 걸 앎.
    • 예: 192.168.54.0/24까지
      • via 172.17.0.2 (metric 2)
      • via 172.18.0.2 (metric 2)
  • 라우팅 테이블에 둘 다 올림
    • 라우팅 테이블에 next-hop이 2개 등록.
  • 포워딩 엔진이 트래픽 분산
    • 패킷이 들어올 때마다
      • 목적지/소스/포트 조합으로 해시를 돌려서 A or B로 보내거나(per-destination)
      • 진짜로 패킷 하나씩 번갈아 보내거나(per-packet)