1 / 50

컴퓨터 네트워크 Chapter 05 네트워크 계층과 라우팅 임효택

컴퓨터 네트워크 Chapter 05 네트워크 계층과 라우팅 임효택. 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.

Download Presentation

컴퓨터 네트워크 Chapter 05 네트워크 계층과 라우팅 임효택

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. PART 02 프로토콜 컴퓨터 네트워크 Chapter 05 네트워크 계층과 라우팅 임효택

  2. PART 02 프로토콜 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 5.1 네트워크 계층 • 기능 • 패킷을 송신측에서 수신측으로 전송 • 모든 컴퓨터, 라우터에 네트워크 계층 프로토콜 존재 세가지 주요 기능 • 경로 설정:라우팅 알고리즘 • 스위칭 :라우터에 도착한 패킷을 적절한 포트로 보냄 • 연결설정 :어떤 네트워크 구조는 데이터 전송전에 연결 설정 을 요구

  3. 라우팅이 왜 필요한가? A B • 네트워크의 가장 중요한 구성요소 • 네트워크 연결 • 출발지에서 목적지까지 가장 좋은 경로를 결정 R1 R2 R3 R4 R5 C

  4. 1 4 3 2 라우터의 내부 구성요소 Routing table Interfaces Destination Next hop Interface . . . . . . 1 . . . . . . 2 Routing Engine

  5. PART 02 프로토콜 • ICMP protocol • error reporting • router “signaling” • IP protocol • addressing conventions • datagram format • packet handling conventions Transport layer: TCP, UDP • Routing protocols • path selection • RIP, OSPF, BGP routing table Link layer physical layer 네트워크 계층의 기능 네트워크 계층

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

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

  8. PART 02 프로토콜 Distance Vector 라우팅 예제 • 예: [그림 5.2]

  9. PART 02 프로토콜 Link state 라우팅 • Link state 라우팅 • autonomous systems(AS) 내에서 많이 사용 • Link state protocols 은 아래에서 사용 • OSPF (Open Shortest Path First) algorithm • NFSNET backbone IS-IS protocol • Novell’s NLSP • Dijkstra’s algorithm을 사용 • 5 step으로 구성

  10. PART 02 프로토콜 Link State 라우팅 알고리즘 • Link State 라우팅 알고리즘 1. 각 라우터의 주변(neighbor) 라우터를 인지하고 그들의 네트워크 주소를 숙지 • HELLO packet send, 주변의 라우터는 응답 2. 주변 라우터의 각각에 대한 지연시간 또는 비용을 측정 • ECHO packet send, 다른 라우터는 즉시 응답 3. Link state를 주변 라우터에게 알려주기 위한 패킷을 생성 • [그림 5.3]

  11. PART 02 프로토콜 Link State 라우팅 알고리즘 4. 이 패킷을 모든 라우터에게 분배 • flooding algorithm 사용 5. 모든 라우터로의 최단 경로(shortest path)를 계산

  12. 5.2 라우팅 프로토콜: RIP Dest. Link Hop A local 0 B 1 1 E 2 1 Dest. Link Hop B local 0 A 1 1 C 4 1 E 3 1 Dest. Link Hop C local 0 B 4 1 D 5 1 F 6 1 A Dest. Link Hop D local 0 C 5 1 G 7 1 B 1 C 4 D 5 2 3 6 7 E F E Dest. Link Hop E local 0 A 2 1 B 3 1 Dest. Link Hop G local 0 D 7 1 F 8 1 Dest. Link Hop F local 0 C 6 1 G 8 1 8 G - 첫번째 반복후, 각 노드의라우팅 테이블 ( -노드가 시동될때 초기의 라우팅 테이블은 자신만 포함 - 노드 A는 이웃인 B,E로 부터 정보수신)

  13. A RIP: 노드 A의 Routing Table A B 1 C After four iterations 4 D 5 2 3 6 After four iterations 7 E F 8 After three iterations After two iterations G Dest. Link Hop A local 0 B 1 1 C 1 2 D 1 3 E 2 1 F 1 3 G 1 4 Dest. Link Hop A local 0 B 1 1 C 1 2 D 1 3 E 2 1 F 1 3 Dest. Link Hop A local 0 B 1 1 C 1 2 E 2 1 • 두번째, 세번째, 네번째 반복후의 노드 A 라우팅 테이블 • 두번째 반복에서, 노드 A는 B,E의 라우팅 테이블 수신하여 C 엔트리 추가, 따라서 노드 B는 D, F 엔트리 추가 • 세번째 반복에서, 노드 A는 D,F에 관한 정보를 B로부터 수신후 엔트리 추가 • 네번째 반복에서 노트 A는 G의 엔트리 추가

  14. PART 02 프로토콜 5.3 TCP/IP 주소지정 5.3.1 호스트 식별자의 세 가지 레벨 • 세가지 호스트 식별자 • 호스트 이름 - 예: kowon.dongseo.ac.kr • 인터넷 주소 - 예: 203.241.176.13 • Physical Hardware address - 48비트 MAC address 5.3.2 식별자 변환 • 호스트 이름을 인터넷 주소로의 변환 • DNS • /etc/hosts • 인터넷 주소를 물리적인 하드웨어 주소로의 변환 • ARP: Address Resolution Protocol • RARP: Reverse ARP

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

  16. PART 02 프로토콜 IP address 형식 • 점-십진(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 까지의 범위 [그림 5.16] 인터넷 주소의 네 가지 등급

  17. PART 02 프로토콜 5.3.4 서브네팅(Subnetting) • 원래 TCP/IP 주소지정 방식은 네트워크 식별자와 호스트 식별자로 단지 2단계 계층만을 허용 • TCP/IP 주소지정 방식이 이들 엄청나게 많은 네트워크를 수용하기 위해서 서브네팅 의 개념이 고안 • 서브넷 식별자 [그림 5.17] 서브넷을 위한 인터넷 주소의 예

  18. PART 02 프로토콜 서브넷 마스크(mask) • 인터넷 주소중 몇 비트가 네트워크를 식별하기 위해 사용되는지 그리고 몇 비트가 호스트를 식별하기 위해 사용되는지 구분 • 예 : 등급 A : 255.0.0.0, 등급 B : 255.255.0.0 [그림 5.18] B등급 인터넷 주소에 대한 서브넷 마스크

  19. PART 02 프로토콜 . . . 128 10 1 x 망 DTE 1 DTE 2 . . . . . . 128 10 1 1 128 10 1 2 IS 외부 인터넷 . . . 128 10 x x의 . . . 128 10 2 x 망 단일 망으로 보임 DTE 3 DTE 4 . . . . . . 128 10 2 2 128 10 2 1 구성 예 외부 인터넷 net-id (14 비트) host-id (16 비트) 1 0 . . . net-id (14 비트) 서브넷-id(8비트) host-id(8비트) 128 10 x x 망 내부 주소 구조의 예 서브넷 예 • 주소 구조(하나의 서브넷에 여러개의 망)

  20. Classless InterDomain Routing (CIDR) 200.199.48.0/25 200.199.48.32/27 11001000 11000111 00110000 0 0100000 200.199.48.64/27 11001000 11000111 00110000 0 1000000 200.199.48.96/27 11001000 11000111 00110000 0 1100000 200.199.48.0/25 11001000 11000111 00110000 0 0000000 25 bits 공통사용

  21. Classless InterDomain Routing (CIDR) 200.199.56.0/24 11001000 11000111 0011100 0 00000000 200.199.57.0/24 11001000 11000111 0011100 1 00000000 200.199.56.0/23 11001000 11000111 0011100 0 00000000 • 23 bits 공통사용 200.199.48.0/25 11001000 11000111 0011 0000 00000000 200.199.49.0/25 11001000 11000111 0011 0001 00000000 200.199.56.0/23 11001000 11000111 0011 1000 00000000 200.199.48.0/20 11001000 11000111 0011 0000 00000000 20 bits 공통사용

  22. CIDR Table

  23. CIDR Table

  24. CIDR Table • CIDR은 네트워크 식별자를 8, 16 or 24 bit처럼 제한적으로 사용할 필요가 없음. • 이러한 주소 할당은 학교등의 기관의 수용에 더욱 적합한 형태 • CIDR 주소는 표준 32비트 IP 주소를 포함하며 몇 비트가 network prefix로 사용되는지를 알려줌 • 예를들어, CIDR address: 206.13.01.48/25 • "/25" 는 처음 25 bits 네트워크를 식별하기 위해 사용되고 나머지 비트는 특정 호스트를 식별하기 위해 사용

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

  26. PART 02 프로토콜 1 4 5 8 9 16 17 18 19 32 비트 버젼 헤더 길이 서비스 타입 전체 길이 (데이타그람 내의) 옵셋(offset) (메시지 또는 데이타그람) 구분자 D M 패킷 생존 시간 (상위) 프로토콜 헤더 책섬 헤더 송신측 IP 주소 수신측 IP 주소 옵션(option) + 패딩(pading) 데이타 IP 데이타그램(패킷) 구조

  27. PART 02 프로토콜 IP 라우팅 개요 [그림 5.22] 트랜스포트 프로토콜 프로세스와 IP프로세스

  28. PART 02 프로토콜 IP 라우팅 예 [그림 5.23] 간단한 인터넷의 예

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

  30. PART 02 프로토콜 IP 라우팅:같은 네트워크 상에서의 데이타그램 전달 • [그림 5.23]에 있는 호스트 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 프로토콜 동작

  31. IP 라우팅:다른 네트워크로의 데이타그램 전달 PART 02 프로토콜 • [그림 5.23]에 있는 호스트 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) 동작을 반복

  32. PART 02 프로토콜 IP 라우팅 예 • Sample Network

  33. PART 02 프로토콜 IP 라우팅 예 • 노드 a.ncat.edu www.acme.com에게 하나의 IP 패킷을 보내기를 원함. • 가정 : 어떠한 노드들도 cached data를 갖고 있지 않다. • 아래표는 주고받는 모든 패킷들을 보여준다.

  34. 5.4.2 IPv6 • IETF에서 1991년에 시작되어 1996년에 기본 규격 표준화 완료 • 라우팅의 효율성 • Security • QoS Guarantee • 편리한 인터넷 기능 제공 • 인터넷 주소 고갈 문제를 임시적으로 해결하기 위한 방안 • CIDR (Classless Inter-Domain Routing) • NAT (Network Address Translator) • DHCP (Dynamic Host Configuration Protocol) • 주소 재할당 • 위의 방안들이 주소 고갈을 막는 궁극적인 해결책이 되지 못함

  35. PART 02 프로토콜 IPv4와 IPv6의 비교

  36. PART 02 프로토콜 IPv6 장점 및 특징 • IPv6의 장점 • 네트워크 속도가 전반적으로 향상됨 • 애니캐스트 주소의 도입 • 확장된 헤더 • 높은 품질의 서비스를 제공받을 수 있다. • IPv6의 특징 • 128비트 주소체계 • 다양한 프로토콜 및 편리한 네트워크 제공 • 헤더의 확장으로 보안성이 확대 • 실시간 처리 기능 강화 • 헤더 형식의 간소화 • 확장헤더 및 옵션의 추가

  37. Header 비교 15 16 31 0 Removed (6) vers hlen TOS total length • ID, flags, flag offset • TOS, hlen • header checksum identification flags flag-offset TTL protocol header checksum 20 bytes source address destination address Changed (3) options and padding • total length => payload • protocol => next header • TTL => hop limit IPv4 vers traffic class flow-label Added (2) payload length next header hop limit • traffic class • flow label 40 bytes source address Expanded destination address • address 32 to 128 bits IPv6

  38. PART 02 프로토콜 IPv6 Address 형식 • 128비트 체계의 16비트씩 8칸으로 구성됨 • 각 자리는 콜론으로 구분 • 연속된 0으로 이루어진 bit는 콜론 두개로 생략 가능 Ex) 2001:230:abcd:ffff:0000:0000:ffff:1111

  39. PART 02 프로토콜 IPv4 / IPv6 전환 • Not all routers can be upgraded simultaneous • no “flag days” • How will the network operate with mixed IPv4 and IPv6 routers? • 두가지 접근 방법: • Dual Stack: some routers with dual stack (v6, v4) can “translate” between formats • Tunneling: IPv6 carried as payload in IPv4 datagram among IPv4 routers

  40. PART 02 프로토콜 Dual Stack Approach

  41. PART 02 프로토콜 Tunneling IPv6 inside IPv4 where needed

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

  43. PART 02 프로토콜 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 캐쉬 엔트리에 있는 정보를 사용

  44. PART 02 프로토콜 ARP 패킷 형식

  45. PART 02 프로토콜 간단한 인터넷에서의 ARP

  46. PART 02 프로토콜 ARP 동작 과정 예 • “telnet hostname”으로 입력하였을 때의 ARP 동작 과정

  47. PART 02 프로토콜 5.4.4 ICMP(Internet Control Message Protocol) • 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 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

  48. PART 02 프로토콜 ICMP 메시지 형식

  49. PART 02 프로토콜 ICMP 에코 요구와 응답 메시지 형식

  50. PART 02 프로토콜 ICMP 타임스템프 요구와 응답 메시지 형식

More Related