1 / 37

5 장 . 네트워크 계층과 라우팅

5 장 . 네트워크 계층과 라우팅. 내용 네트워크 계층 (Network Layer) 소개 라우팅 알고리즘 IP 프로토콜 IP addressing IP 동작절차 ARP/RARP ICMP IPv6. transport packet from sending to receiving hosts network layer protocols in every host, router three important functions:

Download Presentation

5 장 . 네트워크 계층과 라우팅

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 5장. 네트워크 계층과 라우팅 • 내용 • 네트워크 계층(Network Layer) 소개 • 라우팅 알고리즘 • IP 프로토콜 • IP addressing • IP 동작절차 • ARP/RARP • ICMP • IPv6

  2. transport packet from sending to receiving hosts network layer protocols in every host, router three important functions: path determination: route taken by packets from source to dest. Routing algorithms switching: move packets from router’s input to appropriate router output call setup: some network architectures require router call setup along path before data flows network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical application transport network data link physical Network layer functions

  3. Host, router network layer functions: • ICMP protocol • error reporting • router “signaling” • IP protocol • addressing conventions • datagram format • packet handling conventions • Routing protocols • path selection • RIP, OSPF, BGP routing table The Internet Network layer Transport layer: TCP, UDP Network layer Link layer physical layer

  4. Routing algorithms - Distance Vector - Link State • Distance Vector Routing Alg. • 각 라우터는 주기적으로 그 이웃 각각과 명확한 경로 정보를 교환하는데, ARPANET에서 처음 사용 • 각 라우터는 네트워크의 다른 라우터에 대한 엔트리를 갖는 라우팅 테이블을 유지 • 각 엔트리는 목적지를 위해 사용할 출력회선과 그 행선지까지의 측정시간이나 거리 • RIP is a form of Distance Vector Alg. • RIP는 원래 Arpanet에서 사용 • 현재도 Internet에서 사용 • Novell has adapted it as Novell RIP.

  5. Distance Vector Routing 동작 • 매 T msec마다 각 라우터는 각 라우터까지의 측정된 지연시간 리스트를 각 이웃(neighbor)에 보낸다. • 또한 라우터(J)는 각 이웃으로부터 비슷한 리스트를 받는다. 이들 테이블 중 하나가 이웃 X로 부터 방금 도착한 것이라 생각하자. 여기서 Xi 는 라우터 i에 도착하는데 걸리는 시간으로 X의 측정치 이다. • 라우터(J)가 X까지 측정된 지연시간이 msec라고 한다면 X를 경유하여 라우터 i에 도착하는 지연시간이 Xi+m msec 임을 안다. • 각 이웃에 대해 이와 같은 산출을 함으로 라우터는 그중에서 최상의 평가치를 알아내고 그 라우팅 정보와 링크를 사용한다. • 예: [그림 5.13]

  6. Link state routing • It is increasingly popular within autonomous systems • Link state protocols are contained in • ISO’s OSPF (Open Shortest Path First) algorithm for connectionless network layer services • in the NFSNET backbone IS-IS protocol • in Novell’s NLSP • Makes use of Dijkstra’s algorithm. Five steps.

  7. Link State Routing algorithm • 1. 각 라우터의 주변(neighbor) 라우터를 인지하고 그들의 네트워크 주소를 숙지 • HELLO packet send, 주변의 라우터는 응답 • 2. 주변 라우터의 각각에 대한 지연시간 또는 비용을 측정 • ECHO packet send, 다른 라우터는 즉시 응답 • 3. Link state를 주변 라우터에게 알려주기 위한 패킷을 생성 • [그림 5.14] • 4. 이 패킷을 모든 라우터에게 분배 • flooding algorithm 사용 • [그림 5.15] • 5. 모든 라우터로의 최단 경로(shortest path)를 계산

  8. TCP/IP 주소지정 • 세가지 호스트 식별자 • Host name • 예: kowon.dongseo.ac.kr • IP address • 예: 203.241.176.13 • Physical Hardware address • 48비트 MAC address

  9. 식별자 변환 • 호스트 이름을 인터넷 주소로의 변환 • DNS • /etc/hosts • 인터넷 주소를 물리적인 하드웨어 주소로의 변환 • ARP: Address Resolution Protocol • RARP: Reverse ARP

  10. 인터넷 주소지정 • IP는 IP 데이타그램이 송신측 호스트에서 목적지 호스트로 전송되는 라우팅(routing)기능을 수행 • 인터넷을 통해 전달되는 IP 데이타그램 각각의 헤더는 송신측 호스트의 인터넷 주소와 목적지 호스트의 인터넷 주소를 포함 • 인터넷 주소 형식 • 32비트 길이이며 두 부분 즉 네트워크 식별자와 호스트 식별자로 구성 • 네트워크 식별자의 앞쪽 비트들은 인터넷 주소가 어느 등급(class)에 속해있는지를 식별

  11. IP address 구조

  12. 점-십진(Dotted-decimal) 표기 • 등급 A주소는 0.0.0.1에서 127.255.255.254까지의 범위 • 등급 B는 128.0.0.1에서 191.255.255.254까지의 범위 • 등급 C는 192.0.0.1에서 223.255.255.254까지의 범위

  13. Subnetting • 원래 TCP/IP 주소지정 방식은 네트워크 식별자와 호스트 식별자로 단지 2단계 계층만을 허용 • TCP/IP 주소지정 방식이 이들 엄청나게 많은 네트워크를 수용하기 위해서 서브네팅의 개념이 고안 • 서브넷 식별자: [그림 6.9] • 서브넷 마스크(mask): [그림 6.10] • 인터넷 주소중 몇 비트가 네트워크를 식별하기 위해 사용되는지 그리고 몇 비트가 호스트를 식별하기 위해 사용되는지 구분 • 예: 등급 A: 255.0.0.0, 등급B: 255.255.0.0

  14. 주소 구조(하나의 서브넷에 여러개의 망)

  15. IP addresses: how to get one? Hosts (host portion): • hard-coded by system admin in a file • DHCP:Dynamic Host Configuration Protocol: dynamically get address: “plug-and-play” • host broadcasts “DHCP discover” msg • DHCP server responds with “DHCP offer” msg • host requests IP address: “DHCP request” msg • DHCP server sends address: “DHCP ack” msg

  16. IP(Internet Protocol) • IP는 TCP/IP 인터넷 계층에서 동작되며 데이터 단위를 출발지 호스트에서 목적지 호스트로 전달 • IP에서의 데이터 단위: IP 데이타그램 또는 패킷 • IP 데이타그램의 헤더부분 • 출발지 호스의 인터넷 주소와 목적지 호스트의 인터넷 주소를 포함 • IP는 비연결 데이터 전달 서비스를 제공 • 흐름제어나 오류회복을 하지 않는다. • 가능한 오류 • 손실된 IP 데이타그램 • 순서화 되지 않은(out-of-sequence) IP 데이타그램 • 복제(duplicate) IP 데이타그램 • TCP : 오류들을 탐지해서 회복할 수 있는 기능을 책임

  17. IP 데이타그램(패킷) 구조

  18. IP routing • [그림 6.12] • Sample Network

  19. Node a.ncat.edu wants to send one IP packet to www.acme.com. • 가정:None of the nodes have any cached data. The only information they have is what is shown in the diagram. The table below shows all of the packets that would be sent.

  20. IP routing 동작절차 • [그림 6.13] • 호스트에서의 IP routing할때 두가지 경우 • 목적지가 같은 네트워크내에 있는 경우 • 바로 목적지 호스트에게 IP 데이타그램 전달 • 목적지가 다른 네트워크에 있는 경우 • IP 라우팅 기능을 사용하여 라우터에게 전달 • 각 호스트는 각각의 라우팅 테이블을 유지 • 라우팅 테이블은 적어도 하나의 default router의 주소를 포함하는 엔트리를 포함

  21. 같은 네트워크 상에서의 데이타그램 전달의 예 • [그림 6.13]에 있는 호스트 A에서 호스트 B로 IP 데이타그램 전달 • 1) B의 네트워크 ID 값과 A 자신의 네트워크 ID 값을 비교하기 위해 서브넷 마스크를 사용 • 2) A와 B의 네트워크 ID 값은 서로 같으므로 IP 데이타그램을 직접 전달하기 위해 B의 물리적인 하드웨어 주소를 알아야 함 • 3) 호스트 A의 IP 프로세스는 ARP 캐쉬를 조회 • 4-1) 조회하여 있으면 호스트 IP 데이타그램을 직접 호스트 B로 전달 • 4-2) 조회하여 없으면 ARP 프로토콜 동작

  22. 다른 네트워크로의 데이타그램 전달 • [그림 6.13]에 있는 호스트 A에서 호스트 D로 IP 데이타그램 전달 • 1) D의 네트워크 ID 값과 A 자신의 네트워크 ID 값을 비교하기 위해 서브넷 마스크를 사용 • 2) A와 D의 네트워크 ID 값은 서로 다르므로 IP 데이타그램의 A는 자신의 라우팅 테이블을 검색(이경우 default router 사용) • 3) A의 IP 프로세스는 default router의 물리적인 하드웨어 주소를 알기 위하여 다시 ARP 캐쉬를 조회 • 4-1) 조회하여 있으면 호스트 IP 데이타그램을 직접 default router로 전달 • 4-2) 조회하여 없으면 ARP 프로토콜 동작 • 5) default router는 1) ~4) 동작을 반복

  23. Introduction - the future of IP(IPv6) • Current version of IP - version 4 - is 20 years old • IPv4 has shown remarkable ability to move to new technologies • IETF has proposed entirely new version to address some specific problems • IP has accommodated dramatic changes since original design • Basic principles still appropriate today • Scaling • Size - from a few tens to a few tens of millions of computers • Speed - from 56Kbps to 1Gbps

  24. IP 변화의 필요성 • Address space • 32 bit address space allows for over a million networks • But...most are Class C and too small for many organizations • 2**14 Class B network addresses already almost exhausted • Type of service • Different applications have different requirements for delivery reliability and speed • Current IP has type of service that's not often implemented • Multicast

  25. New features • Address size - IPv6 addresses are 128bits • Header format - entirely different • Extension headers - Additional information stored in optional extension headers, followed by data • Support for audio and video - flow labels and quality of service allow audio and video applications to establish appropriate connections • Extensible - new features can be added more easily

  26. IPv6 address notation • 128-bit address--> dotted decimal; requires 16 numbers 105.220.136.100.255.255.255.255.0.0.18.128.140.10.255.255 • Groups of 16-bit numbers in hex separated by colons- colon hexadecimal (or colon hex) 69DC:8864:FFFF:FFFF:0:1280:8C0A:FFFF • Zero-compression - series of zeroes indicated by two colons • FF0C:0:0:0:0:0:0:B1 • FF0C::B1 • IPv6 address with 96 leading zeros is interpreted to hold an IPv4 address

  27. IPv6 • Initial motivation:32-bit address space completely allocated by 2008. • Additional motivation: • header format helps speed processing/forwarding • header changes to facilitate QoS • new “anycast” address: route to “best” of several replicated servers • IPv6 datagram format: • fixed-length 40 byte header • no fragmentation allowed

  28. IPv6 Header (Cont) Priority: identify priority among datagrams in flow Flow Label: identify datagrams in same “flow.” (concept of“flow” not well defined). Next header: identify upper layer protocol for data

  29. Other Changes from IPv4 • Checksum:removed entirely to reduce processing time at each hop • Options: allowed, but outside of header, indicated by “Next Header” field • ICMPv6: new version of ICMP • additional message types, e.g. “Packet Too Big” • multicast group management functions

  30. Transition From IPv4 To IPv6 • Not all routers can be upgraded simultaneous • no “flag days” • How will the network operatewith mixed IPv4 and IPv6 routers? • Two proposed approaches: • Dual Stack: some routers with dual stack (v6, v4) can “translate” between formats • Tunneling: IPv6 carried as payload n IPv4 datagram among IPv4 routers

  31. Dual Stack Approach

  32. Tunneling IPv6 inside IPv4 where needed

  33. ARP(Address Resolution Protocol) • 계층간의 주소 구조 • IP 계층: IP 주소 • IP 하위 계층: 물리적인 하드웨어 주소(PHA) • 동일한 망내 호스트 들간의 패킷 교환 • IP 계층에 망내 호스트 들의 “IP 주소, PHA 주소” 테이블 (ARP cache) • IP 계층 동작 • 패킷의 수신지 IP 주소에 해당하는 PHA 주소로 패킷 전송 • ARP • IP 주소에 해당하는 PHA 주소를 모르는 경우

  34. ARP의 동작 절차 • 1) ARP request packet 을 LAN상에 broadcast • ARP request packet 내용: 알고자 하는 호스트의 IP 주소 자신의 IP 주소, PHA 주소 • 2) LAN상의 모든 호스트에서 동작하는 ARP 프로세스는 ARP request packet 수신 • 3) B는 자신의 PHA 주소를 포함하는 ARP response packet을 송신측에 전송 • 4) A가 ARP 응답 패킷을 받을 때 호스트 A는 그 ARP 캐쉬 내에 호스트 B의 물리적인 하드웨어 주소를 저장 • 5) A는 ARP 캐쉬 엔트리에 있는 정보를 사용 • [그림 6.16], [그림 6.17], [그림 6.18]

  35. RARP(Reverse ARP) • PHA 주소를 알고, 그에 해당하는 IP 주소를 모르는 경우 • 디스크 없는 워크스테이션(Diskless Workstation)에서 사용

  36. 인터넷 제어 메시지 프로토콜(ICMP) • ICMP(Internet Control Message Protocol)의 기능 • 에러 보고(Error Reporting) • 도착 가능 검사(Reachability Testing) • 혼잡 제어 • 수신측 경로 변경 • [그림 6.19] [그림 6.20] • [그림 6.21]

  37. used by hosts, routers, gateways to communication network-level information error reporting: unreachable host, network, port, protocol echo request/reply (used by ping) network-layer “above” IP: ICMP msgs carried in IP datagrams ICMP message: type, code plus first 8 bytes of IP datagram causing error ICMP: Internet Control Message Protocol TypeCodedescription 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header

More Related