TCP/IP Illustrated Vol.1 Ch.10 : Dynamic Routing Protocls ( 수 ) 안 진 섭
10.2 Dynamic Routing (1/2) Dynamic Routing 각 router 와 연결되어 있는 network 정보를 인접한 라우터들과 교환 Routing Protocol 인접한 라우터들과 routing information 을 교환하기 위한 통신 규약 Routing Daemon 인접 라우터로 부터 받은 routing information 을 이용하여 kernel 내의 routing table 을 update routing policy
10.2 Dynamic Routing (2/2) AS(Autonomous System) 인터넷을 구성하는 기본 집합 독자적인 관리구조와 routing information 을 구성 ex> IGP(Interior Gateway Protocol) AS 내부에서 라우터들간에 routing information 을 교환하는데 사용하는 프로토콜 ex> Hello, RIP, OSPF EGP(Exterior Gateway Protocol) 서로 다른 AS 들간에 routing information 을 교환하는데 사용 ex> EGP, BGP KT, DACOM InterNOC, ICANN 기업, 대학 캠퍼스
10.3 Unix Routing Daemons Figure 10.1 Routing protocols supported by routed and gated routed TCP/IP 기반 RIPv1 지원 (for small to medium-size network) gated : IGP, BGP 모두 지원 Linux – Zebra : BGP-4, RIPv1/v2, OSPFv2 지원
10.4 RIP : Routing Information Protocol RFC 1058,1988 UDP 로 전달 (well-known Port :520) Figure 10.2 RIP message encapsulated within a UDP program
10.4 RIP : Routing Information Protocol Figure 10.3 Format of a RIP message Command Request(1), reply(2), * poll(5), * poll-entry(6) Metric : 16 = infinity RIP message 당 25 개의 route 전달 4+20*25 = 504 byte
10.4 RIP : Routing Information Protocol Normal operation Initialization request(1), address family(0), metric(16) Request received specified address 에 대한 metric 을 갖고 있을 경우 routing table 을 참조하여 set. ( 없을 경우 16) Response received 새로운 entry 의 추가 기존 entry 의 수정 및 제거 Regular routing updates 매 30 초마다 전송 (broadcast) Triggered update routing table 의 metric 변경시 해당 entry 에 부분만 전송 3 분 (6 번 ) 동안 update 가 안될경우 metric = 16(inf), 60 초간 entry 유지 후 삭제
10.4 RIP : Routing Information Protocol Figure 10.4 Example routers and networks
10.4 RIP : Routing Information Protocol Problem Subnet mask 표현 불가능 CIDR 지원안됨 Router/Link 의 failure 후에 stabilize 에는 상당한 시간소요 Loop 발생 가능성 Metric 에 hop count 만 사용 Metric 의 최대값 (15) 으로 인해 RIP 를 적용할 수 있는 network 규모 제한 Update/request message 는 모두 broadcast 네트워크의 각 node 들의 load 증가
10.4 RIP : Routing Information Protocol Example Sun 에서 ‘netb’ 에 대한 routing information 얻기 (poll) Figure 10.5 Two routers netb and gateway that we’ll query for their routing tables poll 에 대한 응답이 5 초 이내에 없음 Entire routing table 을 얻기 위한 poll message
10.5 RIP Version 2 Figure Format of a RIP-2 message Multicast 지원 : RIP 라우터만 rounting information 송 / 수신 Route tag : EGP, BGP 지원 (AS number) Submask, nexthop IP address 추가 Simple authentication scheme 적용
10.6 OSPF : Open Shortest Path First (1/5) RIP 의 단점을 보완 Link-state protocol (OSPFv2 : RFC 1247) Router 는 link-state 를 통해 routing table 생성 네트워크의 link 변화에 distance-vector protocol 보다 convergence 가 빠름
10.6 OSPF : Open Shortest Path First (2/5) OSPF header Version Packet type Length Router id Area id Checksum Authentication type & data Contents OSPF message type #neighbor listed and/or LSA type Protocol field = 89 in IP header
10.6 OSPF : Open Shortest Path First (3/5) OSPF Router types ASBR(AS Boundary Router) ABR(Area Border Router) DR(Designated Router) BDR(Backup DR)
10.6 OSPF : Open Shortest Path First (4/5) ‘Hello’ packet // : all OSPF routers
10.6 OSPF : Open Shortest Path First (5/5) ‘Area1’ 과 link 를 해제했을 때 DR X ‘Area 1’ 과 link 해제 시점 Dead time interval (40sec) 의 주기적인 Hello pkt. Router #1 의 연결 해제를 알림 LSU 에 대한 ACK
10.7 BGP : Border Gateway Protocol(1/3) 서로 다른 AS 간의 routing information 을 교환하는데 사용하는 protocol(EGP 대체 ) BGPv3 (RFC 1267), BGPv4 (RFC 1467) Network reachability 정보를 다른 BGP system 과 교환 Traffic 이 네트워크에 도달하기 위해 거쳐야 하는 AS 의 full path AS 연결 그래프 구성 Routing loop 제거
10.7 BGP : Border Gateway Protocol(2/3) IP datagram 의 분류 local traffic: 그 AS 안에서 시작해서 끝나는 트래픽. Source 와 dest 가 그 AS 안에 존재 transit traffic: local traffic 이외의 traffic BGP 의 주요한 목적은 transit traffic 을 줄이는 것 BGP 의 특징 policy-based routing RIP 와 OSPF 와 다르게 TCP 를 사용 distancd-vector protocol AS number 를 이용 keepalive 메시지를 보냄으로서 링크나 호스트의 결함을 발견 (30 초 간격 )
10.7 BGP : Border Gateway Protocol(3/3) ‘Singly homed’ AS subscriber may not need BGP ‘Multi-homed’ AS
10.8 CIDR : Classless Interdomain Routing IP address 낭비 방지 및 과도한 Routing table 의 크기를 줄임 (CIDR 을 사용하지 않는다면 class C network 마다 하나의 routing table entry 필요 ) Supernetting (RFC 1518, 1519) 연속된 class C IP address 를 묶어서 사용 Summarization 여러 개의 IP address 들이 동일한 high-order bit 를 공유 Routing table 은 32bit IP address 와 32bit subnet mask 를 사용할 수 있도록 확장 Ex> / / ~