TCP/IP 네트워크 제 10장 동적 라우팅 프로토콜 정보통신연구실
Introduction Static routing 어떤 interface가 구성될 때 디폴트로 라우팅 테이블 엔트리가 생성(route 명령어 또는 ICMP redirect에 의해) 네트워크가 작고, 다른 네트워크에 대한 연결점이 하나이고, 다른 여분의 route (backup route)가 없을 경우 사용 위의 경우와 어느 하나가 다른 경우는 주로 dynamic routing이 사용 됨 정보통신연구실
Introduction (cont.) Dynamic routing protocols RIP(Routing Information Protocol) OSPF(Open Shortest Path First) BGP(Border Gateway Protocol) CIDR(Classless InterDomain routing) class B 네트워크 수를 보존하기 위하여 Internet상에서 구현되기 시작한 새로운 라우팅 기술 정보통신연구실
Dynamic Routing Dynamic Routing Routing Protocol Routing Daemon 각 라우터에 연결되어 있는 네트워크 정보를 인접한 라우터들과 주고 받음 Routing Protocol 인접한 라우터와 통신하기 위한 통신 규약 Routing Daemon 라우팅 프로토콜을 기동하기 위한 라우터상의 프로세스 이웃 라우터들로 부터 받은 정보를 이용하여 커널내의 라우팅 테이블을 업데이트 routing policy 정보통신연구실
Dynamic Routing(Cont.) Autonomous systems(AS) 인터넷을 구성하는 집합으로 자신의 관리 권한과 라우팅 알고리듬을 가짐 예 : 기업, 대학 캠퍼스 IGP(Interior gateway protocol) AS안에서 라우터들 사이에 통신하기 위해 사용되는 프로토콜 내부 도메인 프로토콜(Intradomain Protocol) 종 류 : Hello, RIP와 OSPF 정보통신연구실
Dynamic Routing(Cont.) EGP(Exterior gateway protocol) 다른 AS사이의 라우터들이 주고 받는 프로토콜 외부 도메인 프로토콜(Extradomain Protocol) 현재 NSFNET 백본과 여기에 접속되어 있는 몇 개의 지역 네트워크에서 이용 종 류 : EGP, BGP(Border Gateway Protocol) 정보통신연구실
UNIX Routing Daemons Routed vs. gated Daemon routed . V1 V1, V2 V2 gated, Version 2 gated, Version 3 . V1 V1, V2 V2 Hello OSPF EGP Interior Gateway Protocol Exterior Gateway Protocol BGP V2, V3 RIP Routed : 규모가 적거나 중간 크기의 네트워크에서 사용 (RIP만을 사용) Gated : IGP와 EGP를 모두지원 정보통신연구실
RIP: Routing Information Protocol Message Format (UDP datagram으로 캡슐화) IP datagram UDP datagram IP header UDP RIP message 20 bytes 8bytes Figure 10.2 RIP message encapsulated within a UDP datagram 정보통신연구실
with same format as previous 20 bytes) RIP(Cont.) Message Format (IP 주소를 사용할 때) command(1-6) Version(1) (must be zero) address family(2) 32-bit IP address metric(1-16) (up to 24 more roues, with same format as previous 20 bytes) 20bytes 정보통신연구실
RIP(Cont.) Normal Operation 초기화 request 수신 response 수신 일반적인 라우팅 update triggered update RIP 를 사용하는 시스템이 3분 동안 update되지 않는 route를 발견하면, 그 route의 metric를 infinity(16)으로 설정 정보통신연구실
RIP(Cont.) Metrics hop count AS안에 여러 개의 path가 있을 경우,라우터는 최소 hop count를 가지는 path를 선택 최대 hop count는 15, 16이면 no route 정보통신연구실
RIP(Cont.) 문제점 subnet addressing에 대한 정보가 없음 라우터나 링크의 장애후에 안정화되는데 시간이 오래 걸림. Routing loop 발생 가능성이 있음 routing metric로 hop count를 사용하므로 다른 고려되어야 할 변수들은 생략 메트릭의 최대값이 15이므로 RIP가 사용될 수 있는 네트워크의 규모가 제한 정보통신연구실
RIP(Cont.) Example gateway netb sun Figure 10.5 라우팅 테이블을 조회하는 140.252.13 140.252.1 Figure 10.5 라우팅 테이블을 조회하는 2개의 라우터 netb와 gateway 정보통신연구실
RIP(Cont.) Example sun으로 부터 다음 hop 라우터인 netb에 대한 라우팅 정보를 얻기 위한 명령 sun % ripquery -n netb 504 bytes from netb (140.252.1.183) 140.252.1.0, metric 1 140.252.13.0, metric 1 244 bytes from netb (140.252.1.183) sun으로 부터 다음 hop 라우터인 netb에 대한 라우팅 정보를 얻기 위한 명령 정보통신연구실
RIP(Cont.) tcpdump를 이용한 패킷 교환의 예 Example sun % tcpdump -s600 -I s10 1 0.0 sun.2879 > netb.route: rip-poll 24 2 5.014702(5.0147) sun.2879 > netb.route: rip-req 24 3 5.560427(0.5457) netb.route > sun.2879: rip-resp 25: 4 5.710251(0.1498) netb.route > sun.2879: rip-resp 12: tcpdump를 이용한 패킷 교환의 예 정보통신연구실
RIP(Cont.) Example netb의 목적지 라우터 gateway로 가면, 서브넷 sun % ripquery -n gateway 504 bytes from gateway(140.252.1.4): 140.252.1.0, metric 1 140.252.13.0, metric 2 netb의 목적지 라우터 gateway로 가면, 서브넷 (140.252.13.0)에 대한 메트릭을 확인하기 위한 명령 정보통신연구실
RIP(Cont.) Another Example 호스트 solaris 상에서 sun의 tcpdump와 유사한 명령인 solaris % snoop -P -tr udp port 500 0.00000 R6.tuc.noao.edu -> 140.252.1.255 RIP R (1 ) 4.49708 R4.tuc.noao.edu -> 140.252.1.255 RIP R (1 ) 6.30506 R2.tuc.noao.edu -> 140.252.1.255 RIP R (1 ) ……. 17.02187 gateway.tuc.noao.edu -> 140.252.1.255 RIP R (15 dest.) 20.68009 R10.tuc.noao.edu -> BROADCAST RIP R (4 dest.) 호스트 solaris 상에서 sun의 tcpdump와 유사한 명령인 snoop를 실행 정보통신연구실
RIP(Cont.) Another Example 140.251는 noao.edu망에 존재하지 않는 경로임. RIP: Adress Metric RIP: 140.251.0.0 16(not reachable) RIP: 140.252.9.0 1 RIP: 140.252.10.0 1 RIP: 140.252.11.0 1 정보통신연구실
RIP(Cont.) gateway로 부터의 RIP 응답 ……. Solaris % snoop -P -v -tr udp port 520 host gateway RIP: Opcode = 2 (route response) RIP: Version = 1 RIP: Address Metric RIP: 140.252.101.0 1 RIP: 140.252.104.0 1 RIP: 140.252.51.0 2 RIP: 140.252.81.0 2 RIP: 140.252.105.0 2 RIP: 140.252.106.0 2 ……. 정보통신연구실
RIP Version 2 RIP의 새로운 확장(RFC 1388) 기존의 프로토콜에 추가적인 정보 사용. 즉, “반드시 0이어야 함”이라는 필드에 다음의 정보를 추가. routing domain : 패킷이 속한 라우팅 데몬의 식별자(unix : 데몬의 프로세스 id) route tag : 외부 게이트웨이 프로토콜을 지원(EGP와 BGP를 위한 AS의 번호) subnet mask : 대응하는 IP 주소에 대해 적용 next-hop IP address : 목적지 IP 주소로 가는 패킷이 다음에 전송할 장소 simple authentication scheme 사용 정보통신연구실
RIP Version 2(Cont.) RIP-2 message format command(1-6) Version(2) routing domain address family(2) Routing tag 32-bit IP address 32-bit subnet mask 20bytes 32-bit next-hop IP address metric(1-16) (up to 24 more roues, with same format as previous 20 bytes) 정보통신연구실
OSPF(Open Shortest Path First) RIP의 문제점을 해결 distance-vector protocol이 아니라 link-state protocol 각 라우터는 링크의 상태 정보로 routing table를 생성 라우터나 링크의 다운 후에 distance-vector protocol보다 더 빠르게 안정화됨 TCP/UDP가 아닌 IP를 사용 정보통신연구실
OSPF(Cont.) OSPF의 특징 Multiple routing table entries load balancing 각 IP type-of-service에 따라 여러 개의 route load balancing 동일한 비용의 route가 여러 개 있을 경우, 트래 픽을 동일하게 분산 subnet 지원 unnumbered network Point-to-point link에서 각 종단의 IP 주소를 필요로 하지 않음 정보통신연구실
OSPF(Cont.) Simple authentication scheme 사용 broadcasting 대신 multicasting 이용 정보통신연구실
BGP(Border Gateway Protocol) 다른 AS상에 있는 라우터들 사이의 통신 프로토콜로 ARPNET에서 사용된 EGP를 대체 BGP version 3 (RFC 1267) BGP version 4 (RFC 1467) network reachability 정보를 다른 BGP 시스템과 교환 트래 픽이 그 네트워크에 도달하기 위하여 거쳐야 하는 AS의 full path AS 연결 그래프를 구성 routing loop 제거 정보통신연구실
BGP(Cont.) IP datagram의 분류 local traffic:그 AS안에서 시작해서 끝나는 트래픽. Source와 dest가 그 AS안에 존재 transit traffic: local traffic이외의 traffic BGP의 주요한 목적은 transit traffic을 줄이는 것 정보통신연구실
BGP(Cont.) AS의 분류 stub AS : 다른 하나의 AS와 단일 접속, 로컬 트래픽만을 전송 multihomed AS : 복수의 AS와 접속, 통과 트래픽 전송 거부 transit AS : 복수 AS와 접속, 로컬 및 통과 트래픽 전송 정보통신연구실
BGP(Cont.) BGP의 특징 policy-based routing RIP와 OSPF와 다르게 TCP를 사용 distancd-vector protocol AS number를 이용 keepalive 메시지를 보냄으로서 링크나 호스트의 결함을 발견 (30초 간격) 정보통신연구실
CIDR(Classless Interdomain Routing) 인터넷 routing table의 크기가 커지는 것을 막기 위한 방법 제공 supernetting (RFC 1518,1519) 기본 개념 여러 개의 IP address들을 더 작은 수의 routing table entries로 summarization하는 방법 정보통신연구실
CIDR(Cont.) Summarization을 위한 기능 여러 개의 IP address들이 동일한 high-order bit를 공유 routing table과 routing algorithm 사용 라우팅 테이블은 32비트 IP 주소와 32 비트 마스크를 전송할 수 있도록 확장 정보통신연구실