7 장. IP 프로토콜의 이해 (2) - 라우팅 컴퓨터네트워크 1
이번시간의학습목표 라우팅기능을이해하고관련프로토콜을알아본다. 간단한라우팅프로토콜 거리-벡터프로토콜 RIP(Routing Information Protocol) 링크상태프로토콜 OSPF(Open Shortest path First) 외부라우팅프로토콜 BGP(Border Gateway Protocol) 2
간단한라우팅프로토콜 (1) 최단경로라우팅 거리기준은다양하지만중간에거쳐가는홉 (hop) 수로판단 패킷이목적지로가는동안거치는라우터수가최소가되도록경로를선택 기타거리기준 패킷의전송지연, 전송대역폭, 통신비용등 3
간단한라우팅프로토콜 (2) 플러딩 (Flooding) 라우터가입력된패킷을출력가능한모든경로로중개하는방식 네트워크에패킷이무한개만들어질위험 홉수를일정범위로제한하고, 제거 중요한데이터를모든호스트에게동시에전달하는환경에서제한적으로사용 4
거리 - 벡터프로토콜 (1) 라우터가자신과직접연결된주변라우터에게라우팅정보를교환하는방식 전체네트워크에대한지식 이웃라우터에게만전달 일정한주기로정보공유 교환정보는전체네트워크에속하는개별네트워크까지걸리는거리정보 개별라우터에서유지하는필수정보 링크벡터 : 직접연결된네트워크에대한연결정보 거리벡터 : 전체개별네트워크에대한거리정보 다음홉벡터 : 개별네트워크로가기위한다음홉정보 5
거리 - 벡터프로토콜 (2) 링크벡터 링크벡터 L(x) = [ 포트 (1), 포트 (2),. 포트 (M)] L(R1) = [1, 3, -, -, -] L(R2) = [1, -, -, 8, -] L(R3) = [-, 2, -, 6, -] 거리벡터 거리벡터 D(x) = [ 거리 (1), 거리 (2),. 거리 (N)] D(R1) = [1, 1, 2, 2, 2] D(R2) = [1, 2, 2, 1, 2] D(R3) = [2, 1, 2, 1, 2] 다음홉벡터 다음홉벡터 H(x) = [ 홉 (1), 홉 (2),. 홉 (N)] H(R1) = [-, -, R4, R3, R6] H(R2) = [-, R1, R5, -, R8] 6
거리 - 벡터프로토콜 (3) RIP(Routing Information Protocol) 거리벡터방식 소규모네트워크환경에적합 주변라우터가제공하는거리벡터정보가임의의짧은시간내에모두도착해야 현실적으로구현이어려움 (UDP 사용 패킷손실가능성 ) 라우팅정보수정하는경우 거리벡터정보가새로운네트워크주소면적용 목적지까지의지연이더적으면기존경로를대체 거리벡터정보가입력되면등록정보를수정 도착정보 R2 = [1, 2, 2, 1, 2] R3 = [2, 1, 2, 1, 2] R4 = [2, 1, 1, 2, 2] R5 = [2, 1, 2, 2, 1] 7
거리 - 벡터프로토콜 (4) RIP ( 계속 ) 임의의시점에다음정보도착 R2 = [1, 2, 2, 1, 2] R3 = [2, 1, 2, 1, 2] R4 = [2, 1, 1, 2, 2] R5 = [2, 1, 2, 2, 1] 각라우터까지거리 + 도착한값과기존값비교 R2 까지거리 1 + 도착한값 1 < 기존값 3 R3 까지거리 1 + 도착한값 1 < 기존값 3 8
거리 - 벡터프로토콜 (4) RIP( 계속 ) 수정후테이블 9
거리 - 벡터프로토콜 (5) RIP( 계속 ) 패킷구조 Command 1 이면요구 0 이면응답 초기에요구를받으면즉시응답해야함 IP Address 네트워크지칭 Metric 목적지까지의거리 10
링크상태프로토콜 거리-벡터프로토콜의단점개선 주변상황에변화가있을때 주변라우터까지의정보를 모든라우터에게전달 플러딩 (Flooding) 방식을사용해서정보전달 OSPF(Open Shortest Path First) 프로토콜 11
OSPF 토폴로지 (1) 5 개의 OSPF 라우터 (R1 ~ R5) 가존재 라우터간연결링크에대한 IP 주소와 OSPF Cost 및각라우터의 Loopback 주소 ( 예. R1 의경우 10.1.0.1) 가표시 12 파란색줄 ( 링크 ) 가 OSPF 가 enable 되어있음을표시
OSPF 토폴로지 (2) R1 이자신의링크정보를다른 OSPF 라우터들로전파 이를수신한 R2, R3 는 Router-LSA 가수신된링크를제외한나머지링크로 Router-LSA 를 flooding R4 와 R5 는동일한 Router-LSA 를 2 개씩수신 LSA 식별자에해당하는 {LS Type, Link State ID, Advertising Router} 가동일한경우두번째수신한 LSA 를폐기 13
OSPF 토폴로지 (3) R2 가자신의링크정보를다른 OSPF 라우터들로전파 이를수신한 R1, R4, R5 는 Router-LSA 가수신된링크를제외한나머지링크로 Router-LSA 를 flooding R3 는동일한 Router-LSA 를 3 개수신 14
OSPF 토폴로지 (4) R3 가자신의링크정보를다른 OSPF 라우터들로전파 이를수신한 R1, R4, R5 는 Router-LSA 가수신된링크를제외한나머지링크로 Router-LSA 를 flooding 15
OSPF 토폴로지 (5) R4 가자신의링크정보를다른 OSPF 라우터들로전파 이를수신한 R2, R3 는 Router-LSA 가수신된링크를제외한나머지링크로 Router-LSA 를 flooding 16
OSPF 토폴로지 (6) R5 가자신의링크정보를다른 OSPF 라우터들로전파 이를수신한 R2, R3 는 Router-LSA 가수신된링크를제외한나머지링크로 Router-LSA 를 flooding 17
OSPF 토폴로지 (7) 각라우터에서 OSPF Topology 그림그리기 18
OSPF 토폴로지 (8) Shortest Path Tree 구성하기 19
OSPF 토폴로지 (9) Shortest Path Tree 구성하기 ( 계속 ) 그림출처 : OSPF 쉽게이해하기 (1 편 : Shortest Path Tree 토폴로지생성절차 ) http://www.netmanias.com/ko/?m=view&id=blog&no=5476 20
외부라우팅프로토콜 외부라우팅프로토콜에서사용하는경로벡터 (Path Vector) 는경로에관한거리정보값이필요없는방식 내부라우팅프로토콜과의차이 거리 ( 비용 ) 에대한처리과정이없음 목적지네트워크에도착하기위한자율시스템에대한내용만포함 BGP(Border Gateway Protocol) 인터넷에서많이사용 서로다른종류의자율시스템간정보교환가능 TCP 를이용하여정보교환 메시지종류 Open 연관 (Relationship) 생성 Update 경로관련정보전달 KeepAlive Open 에대한응답기능과주기적인연관확인기능 Notification 오류상태통보 21
BGP (1) 계층적라우팅필요성 평면적라우팅은확장이어려움 저장공간, 합의에도달하는시간, 통신 목적지에이르는거리가멀수록더적은정보를이용하는것이타당 해결방안 : 영역계층구조 (Area Hierarchy) 영역 (area) 망을영역들로분할 각영역에서브 - 영역존재가능 망노드는계층적주소부여 Area-Border Router Backbone Areas Lower-level Areas 영역내부 각노드는다른노드로가는경로보유 영역외부 각노드는다른 top-level 영역으로가는경로만보유 영역간패킷은적절한 border router 에게전달 22
BGP (2) 1 2 1.1 2.1 2.2 2.2.2 1.2.1 1.2 2.2.1 1.2.2 3 3.1 3.2 1 2 1.1 1.2 1.2.1 start end 2.1 2.2 2.2.1 3 hop red path vs. 2 hop green path 3 3.2.1 3.1 3.2 23
BGP (3) Logical View of the Internet After looking a RIP/OSPF descriptions End-hosts connected to routers ISP R R R ISP R Routers exchange messages to determine connectivity R NOT TRUE! 24
BGP (4) 인터넷의영역계층구조 자율시스템 (AS: Autonomous System) 하나의기술적관리하에있는라우터들의집합 AS 안에서는 IGP(interior gateway protocol) 와패킷을전달하기위한공통메트릭이용 다른 AS 로전달하기위해서는 EGP(exterior gateway protocol) 사용 가끔하나의 AS 안에서여러 IGP 를이용할수도있지만, 외부에는하나의 AS 로만인식됨 각 AS 는유일한 ID 할당 16 bit values 64512 through 65535 are private 예 : MIT: 3 JANET: 786 AT&T: 7018, 6341, 5074, Sprint: 1239, 1240, 6211, 6242, AS 는피어 (peer) 역할 25
BGP (5) 예 1 2 1.1 1.2 IGP EGP IGP 2.1 2.2 2.2.1 IGP EGP EGP EGP 3 3.1 3.2 IGP EGP 4.1 4.2 IGP 4 26 5.1 5.2
BGP (6) Logical View of the Internet ( 계속 ) RIP/OSPF not very scalable area hierarchies ISP R ISP R R R NOT TRUE EITHER! R ISP s aren t equal Size Connectivity 27
BGP (7) Logical View of the Internet ( 계속 ) Tier 1 ISP Default-free with global reachability info Tier 2 ISP Regional or countrywide Tier 3 ISP Local Tier 3 Tier 2 Customer Provider Tier 2 Tier 1 Tier 1 Tier 2 28
BGP (8) Transit vs. Peering Transit ($$ 1/2) ISP P Transit ($$$) ISP Y Transit ($) Transit ($$$) ISP Z Peering ISP X Transit ($) Transit ($$) Transit ($$) 29
BGP (9) Choices Link state or distance vector? No universal metric policy decisions Problems with distancevector: May not converge Problems with link state: Metric used by routers not the same loops LS database too large entire Internet May expose policies to other AS s Solution: Distance Vector with Path Each routing update carries the entire path Loops are detected as follows: When AS gets route check if AS already in path If yes, reject route If no, add self and (possibly) advertise route further Advantage: Metrics are local - AS chooses path, protocol ensures no loops 30
BGP (10) Interconnecting BGP Peers BGP uses TCP to connect peers Advantages: Simplifies BGP No need for periodic refresh - routes are valid until withdrawn, or the connection is lost Incremental updates Disadvantages Congestion control on a routing protocol? Poor interaction during high load Hop-by-hop Model BGP advertises to neighbors only those routes that it uses Consistent with the hop-by-hop Internet paradigm e.g., AS1 cannot tell AS2 to route to other AS s in a manner different than what AS2 has chosen (need source routing for that) 31