300 likes | 480 Views
TCP/IP 네트워크. 제 10 장 동적 라우팅 프로토콜. Introduction. Static routing 어떤 interface 가 구성될 때 디폴트로 라우팅 테이블 엔트리가 생성 (route 명령어 또는 ICMP redirect 에 의해 ) 네트워크가 작고 , 다른 네트워크에 대한 연결점이 하나이고 , 다른 여분의 route (backup route) 가 없을 경우 사용 위의 경우와 어느 하나가 다른 경우는 주로 dynamic routing 이 사용 됨.
E N D
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 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) 정보통신연구실
Daemon Interior Gateway Protocol Exterior Gateway Protocol Hello OSPF EGP BGP RIP routed V1 gated, Version 2 gated, Version 3 . . V1 V1, V2 V2 . . V1 V2, V3 UNIX Routing Daemons • Routed vs. gated • Routed : 규모가 적거나 중간 크기의 네트워크에서 사용 • (RIP만을 사용) • Gated : IGP와 EGP를 모두지원 정보통신연구실
IP header UDP header RIP message 20 bytes 8bytes RIP: Routing Information Protocol • Message Format (UDP datagram으로 캡슐화) IP datagram UDP datagram Figure 10.2 RIP message encapsulated within a UDP datagram 정보통신연구실
command(1-6) Version(1) (must be zero) address family(2) (must be zero) 32-bit IP address (must be zero) (must be zero) metric(1-16) (up to 24 more roues, with same format as previous 20 bytes) RIP(Cont.) • Message Format (IP 주소를 사용할 때) 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가 사용될 수 있는 네트워크의 규모가 제한 정보통신연구실
gateway 140.252.1 netb sun 140.252.13 RIP(Cont.) • Example Figure 10.5 라우팅 테이블을 조회하는 2개의 라우터 netb와 gateway 정보통신연구실
RIP(Cont.) • Example 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.) • 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 • 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 % 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.) 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 • Another Example • 140.251는 noao.edu망에 존재하지 않는 경로임. 정보통신연구실
RIP(Cont.) 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 ……. • gateway로 부터의 RIP 응답 정보통신연구실
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 20bytes 32-bit subnet mask 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 • 각 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 비트 마스크를 전송할 수 있도록 확장 정보통신연구실