======================================== RIP (Routing Information Protocol) ======================================== 1. RIP란? ---------------------------- RIP(Routing Information Protocol)는 가장 오래된 동적 라우팅 프로토콜 중 하나이다. - Distance Vector 방식 사용 - Metric은 Hop Count(홉 수)만 사용 - 인접(Neighbor) 라우터를 신뢰하고 전달받은 정보를 그대로 믿는다. - 최대 15 Hop까지만 정상 경로로 인정 - 16 Hop = 도달 불가능(Unreachable) => 관리자가 직접 모든 경로를 입력하지 않아도 라우터끼리 라우팅 정보를 주고받는다. ======================================== RIP 버전 ======================================== RIPv1 ---------------------------- - Classful Routing - 서브넷 마스크 전송 안 함 - VLSM 지원 안 함 - CIDR 지원 안 함 - Broadcast 사용 - 현재는 거의 사용하지 않음 RIPv2 ---------------------------- - Classless Routing - 서브넷 마스크 함께 전송 - VLSM 지원 - CIDR 지원 - Multicast(224.0.0.9) 사용 - 인증(Key Chain) 지원 - 현재 RIP를 사용할 경우 대부분 RIPv2 사용 ======================================== Distance Vector ======================================== Distance Vector Routing 라우터는 "내가 목적지까지 몇 Hop인지" 만 알고 있으며, 이웃 라우터에게 "나는 여기까지 몇 Hop이다." 라는 정보만 전달한다. 즉, - 링크 속도 - 대역폭 - 지연시간 - 품질 등은 고려하지 않는다. 오직 Hop Count만 Metric으로 사용한다. ======================================== Hop Count ======================================== Hop Count 목적지까지 가기 위해 거쳐야 하는 라우터 개수 예) A → B → C → D A에서 D까지 Hop = 3 RIP에서는 Hop Count가 Metric이다. Hop이 적을수록 좋은 경로이다. ======================================== 16 Hop의 의미 ======================================== RIP에서는 15 Hop까지 정상 경로 16 Hop은 Unreachable(도달 불가능) 이라고 정의한다. 이유 초창기 인터넷에서는 15개의 라우터 정도면 거의 대부분의 네트워크에 도달 가능하다고 판단하였다. 그래서 16 Hop 이상이면 경로가 없다고 처리한다. ======================================== Neighbor(네이버) 관계 ======================================== Neighbor 관계 서로 직접 연결된 라우터들이 라우팅 정보를 주고받는 관계 RIP는 Neighbor가 광고한 정보를 그대로 신뢰한다. 즉 "옆 라우터가 알려준 정보는 맞다." 라고 가정한다. ======================================== Autonomous System (AS) ======================================== AS (Autonomous System) 하나의 조직이나 ISP가 관리하는 라우터들의 집합 AS Number 각 AS를 구분하는 번호 예) AS65001 AS65002 AS15169(Google) IGP는 동일 AS 내부에서 사용된다. EGP는 서로 다른 AS 사이에서 사용된다. ======================================== IGP / EGP ======================================== IGP (Interior Gateway Protocol) 동일한 AS 내부에서 사용하는 라우팅 프로토콜 대표 - RIP - OSPF - EIGRP - IS-IS EGP (Exterior Gateway Protocol) 다른 AS와 통신할 때 사용하는 프로토콜 대표 - BGP ======================================== Classful / Classless ======================================== Classful - CIDR 사용 안 함 - 서브넷 마스크 광고 안 함 - 8 / 16 / 24 기준으로만 동작 대표 - RIPv1 Classless - CIDR 사용 - 서브넷 마스크 포함 - VLSM 가능 대표 - RIPv2 - OSPF - EIGRP - BGP ======================================== Major Network ======================================== Major Network 기본 클래스 경계 Class A x.0.0.0/8 Class B x.x.0.0/16 Class C x.x.x.0/24 Auto Summary는 이 Major Network 단위로 축약한다. ======================================== Summary (축약) ======================================== Route Summary 여러 개의 네트워크를 하나의 큰 네트워크로 묶어서 광고하는 것 = Supernetting 장점 - 라우팅 테이블 감소 - 광고량 감소 - CPU 절약 단점 잘못 축약하면 다른 위치에 존재하는 네트워크까지 같은 네트워크로 인식하여 블랙홀(Black Hole)이나 통신 장애가 발생할 수 있다. ======================================== Auto Summary ======================================== Auto Summary RIPv2의 기본 기능 Major Network 단위로 자동 축약해서 광고한다. 문제 다른 위치에서도 같은 대역을 사용하면 잘못된 축약이 발생할 수 있다. 그래서 대부분 no auto-summary 를 사용한다. ======================================== Manual Summary ======================================== 자동 축약을 끄더라도 관리자가 직접 원하는 대역으로 수동 축약하여 광고할 수 있다. 이를 Manual Summary 라고 한다. ======================================== Convergence Time ======================================== Convergence 네트워크가 변경되었을 때 모든 라우터가 동일한 라우팅 정보를 가지게 될 때까지 걸리는 시간 변경 예 - 링크 장애 - 라우터 다운 - 새로운 네트워크 추가 RIP는 30초마다 업데이트하므로 Convergence가 매우 느린 편이다. ======================================== Full Update ======================================== Full Update 자신이 알고 있는 모든 라우팅 정보를 Neighbor에게 전송한다. 여기에는 직접 연결된 네트워크뿐 아니라 다른 라우터에게 배운 정보도 포함된다. ======================================== RIP Timer ======================================== 1. Update Timer 기본 30초 전체 라우팅 테이블을 광고한다. ---------------------------------------- 2. Invalid Timer 기본 180초 180초 동안 업데이트를 받지 못하면 해당 경로를 Invalid 상태로 변경한다. 아직 삭제되지는 않는다. ---------------------------------------- 3. Possibly Dead Invalid가 된 상태 즉 "죽었을 수도 있다." 라고 판단하는 상태 하지만 Flush Timer가 지나기 전까지는 완전히 삭제하지 않는다. ---------------------------------------- 4. Hold Down Timer 기본 180초 경로가 죽었다는 정보를 받으면 일정 시간 동안 새로운 경로 정보를 믿지 않는다. 이유 루프 방지 잘못된 정보가 다시 살아나는 것을 막는다. ---------------------------------------- 5. Flush Timer 기본 240초 Update를 계속 받지 못하면 라우팅 테이블에서 완전히 삭제한다. ---------------------------------------- 6. Sleep Timer (Jitter) 모든 라우터가 정확히 30초마다 동시에 광고하면 트래픽이 몰릴 수 있다. 그래서 랜덤 시간(약 ±5초)을 추가하여 조금씩 다른 시점에 Update를 보낸다. ======================================== Loop 방지 기법 ======================================== 1. Split Horizon 특정 인터페이스로 들어온 정보는 다시 그 인터페이스로 광고하지 않는다. 즉 "네가 알려준 정보는 다시 너에게 말하지 않는다." ---------------------------------------- 2. Route Poisoning 네트워크가 Down되면 Metric을 16 Hop 으로 변경하여 도달 불가능하다고 광고한다. ---------------------------------------- 3. Poison Reverse Route Poisoning 정보를 받은 라우터는 Split Horizon을 일시적으로 무시하고 다시 16 Hop으로 광고한다. 즉 "나도 이 경로 죽은 거 확인했다." 라는 의미의 ACK 역할을 한다. ---------------------------------------- 4. Hold Down Timer 죽은 경로를 일정 시간 동안 다시 믿지 않는다. ---------------------------------------- 5. Triggered Update 30초 Update Timer를 기다리지 않고 즉시 변경 사항을 광고한다. 사용 시점 - 링크 다운 - 링크 복구 - 토폴로지 변경 Convergence를 크게 향상시킨다. ======================================== Key Chain ======================================== Key Chain Neighbor 간 인증 기능 라우팅 정보를 주고받기 전에 미리 약속된 Key를 확인한다. 목적 - 허가되지 않은 라우터 차단 - 위조된 RIP 정보 방지 ======================================== Offset List ======================================== Offset List 특정 경로의 Metric(Hop Count)을 인위적으로 증가시키는 기능 목적 특정 경로를 덜 선호하도록 만들기 즉 경로를 막는 것이 아니라 우선순위를 낮춘다. ======================================== Distribute List ======================================== Distribute List 특정 경로를 광고하거나 수신하지 못하도록 제한한다. ACL과 함께 사용하는 경우가 많지만 ACL과는 별개의 RIP 기능이다. ======================================== Route Redistribution ======================================== Redistribution 하나의 라우팅 프로토콜에서 배운 경로를 다른 라우팅 프로토콜로 변환하여 광고하는 기능 예) EIGRP → RIP OSPF → RIP Connected → RIP Static → RIP 즉 경로 정보는 유지하면서 프로토콜 형식만 변환하여 전달한다. ======================================== 핵심 암기 ======================================== - RIP = Distance Vector - Metric = Hop Count - 최대 15 Hop - 16 Hop = Unreachable - Neighbor 정보를 그대로 신뢰 - Full Update 사용 - 기본 Update = 30초 - Invalid = 180초 - Hold Down = 180초 - Flush = 240초 - Triggered Update = 즉시 광고 - Split Horizon = 들어온 곳으로 다시 광고 안 함 - Route Poisoning = 16 Hop 광고 - Poison Reverse = 16 Hop 재광고 - Auto Summary = Major Network 기준 자동 축약 - no auto-summary = 자동 축약 비활성화 - Key Chain = Neighbor 인증 - Offset List = Metric 증가 - Distribute List = 광고 제한 - Redistribution = 라우팅 프로토콜 간 경로 변환