Presentation is loading. Please wait.

Presentation is loading. Please wait.

PART 02 프로토콜 컴퓨터 네트워크 Chapter 05 네트워크 계층과 라우팅 임효택.

Similar presentations


Presentation on theme: "PART 02 프로토콜 컴퓨터 네트워크 Chapter 05 네트워크 계층과 라우팅 임효택."— Presentation transcript:

1 PART 02 프로토콜 컴퓨터 네트워크 Chapter 05 네트워크 계층과 라우팅 임효택

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

3 라우팅이 왜 필요한가? 네트워크의 가장 중요한 구성요소 네트워크 연결 출발지에서 목적지까지 가장 좋은 경로를 결정 A R1 B
C R4 R5 Routing is one of the key components of the technical infrastructure of the network. In an IP network, each machine makes its own routing decisions. The algorithm used is the same, whether the machine is a router or a host. The sending machine does not have to figure out the entire path to the desired destination. Instead it only has to figure out the next machine or hop, along the path. It than sends (forwards) the packet to that machine which is responsible for figuring out the next hop to the destination. The process is repeated until the packet is finally delivered to the destination machine. Information about the next hop toward destination is kept in the routing (forwarding) table. Each entry in this table describes a single IP network or subnet and the address of the next hop (the machine the packet has to be forwarded to). Usually the routers hold longer routing tables than most of the hosts. .

4 라우터의 내부 구성요소 1 4 3 2 Interfaces Routing Engine Routing table
Destination Next hop Interface Each router in an Internet has a number of interfaces to connected networks. Each interface has an IP address and an associated network mask. The router also possesses a routing table, which contains a number of elements per entry, including a destination IP network and mask, the next hop address and an interface index. When a router receives an IP packet, it checks the destination address to the interface addresses of the router. If an exact 32 match is made the packet is passed to the internal router processor for local handling as the packet is addressed to this router. If this is not the case, the destination address is compared with the entries from the routing table looking for the best match (match with the longest mask). The corresponding next hop IP address and interface index are selected and the packet is passed to the indexed interface driver process. If the interface is busy, the packet is held in a local queue, waiting its turn for transmission. If the destination does not mach to any entry within the table,or the queue buffers are full the packet is discarded by the router.

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

6 라우팅 알고리즘 라우팅 알고리즘 - Distance Vector 라우팅 알고리즘 - Link State 라우팅 알고리즘
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 Distance Vector 라우팅 알고리즘
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 Distance Vector 라우팅 예제 예: [그림 5.2] A I H K 24 20 21 8 B 12 36 31 28 C
PART 02 프로토콜 Distance Vector 라우팅 예제 예: [그림 5.2] A I H K 24 20 21 8 B 12 36 31 28 C 25 18 19 D 40 27 E 14 7 30 22 17 F 23 G 6 10 J 9 11 L 29 33 15 JA delay = 8 JI delay = 10 JH delay = 12 JK delay = 6 J의 새로운 라우팅 테이블

9 Link state 라우팅 Link state 라우팅 autonomous systems(AS) 내에서 많이 사용
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 Link State 라우팅 알고리즘 Link State 라우팅 알고리즘
PART 02 프로토콜 Link State 라우팅 알고리즘 Link State 라우팅 알고리즘 1. 각 라우터의 주변(neighbor) 라우터를 인지하고 그들의 네트워크 주소를 숙지 HELLO packet send, 주변의 라우터는 응답 2. 주변 라우터의 각각에 대한 지연시간 또는 비용을 측정 ECHO packet send, 다른 라우터는 즉시 응답 3. Link state를 주변 라우터에게 알려주기 위한 패킷을 생성 [그림 5.3]

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

12 5.2 라우팅 프로토콜: RIP - 첫번째 반복후, 각 노드의 라우팅 테이블
E C Dest. Link Hop B local 0 A C E B C local 0 B D F A A local 0 B E D local 0 C G D 1 2 3 4 5 6 7 8 G local 0 D F E local 0 A B F local 0 C G F G When the routers in the example network are started, every node can reach itself with hop 0. The protocol will broadcast this information to the node’s neighbors. After one iteration A will receive the update from B and from E. Since it does not have these entries in the table it will add 1 to the hop count and insert them in the table. In the example network on the picture, the rooting tables for all routers after the first iteration will look as shown on the picture. In the second iteration, A will receive copies of the routing tables from B and from E. It will ignore the entries about B and E because the received entries will be with the same or bigger hop count, but it will insert the entry about C with a hop count augmanted by 1. The same operation will be performed in the all other routers. Thus, B will have entry for D and for F. In the third iteration, A will receive the information from B about D and F and update the routing table. The communication is not established yet. It will be finally established in the fourth itteration when A will receive information about G. - 첫번째 반복후, 각 노드의 라우팅 테이블 ( -노드가 시동될때 초기의 라우팅 테이블은 자신만 포함 - 노드 A는 이웃인 B,E로 부터 정보수신)

13 RIP: 노드 A의 Routing Table
After four iterations A C B D 2 3 4 5 6 7 8 E F 1 Dest. Link Hop A local 0 B C D E F G G After two iterations After three iterations The routing table of node A after the second, third and after the fourth iteration are presented. In a similar way the routing tables for all other nodes can be obtained. 두번째, 세번째, 네번째 반복후의 노드 A 라우팅 테이블 두번째 반복에서, 노드 A는 B,E의 라우팅 테이블 수신하여 C 엔트리 추가, 따라서 노드 B는 D, F 엔트리 추가 세번째 반복에서, 노드 A는 D,F에 관한 정보를 B로부터 수신후 엔트리 추가 네번째 반복에서 노트 A는 G의 엔트리 추가

14 5.3 TCP/IP 주소지정 5.3.1 호스트 식별자의 세 가지 레벨 세가지 호스트 식별자
PART 02 프로토콜 5.3 TCP/IP 주소지정 5.3.1 호스트 식별자의 세 가지 레벨 세가지 호스트 식별자 호스트 이름 - 예: kowon.dongseo.ac.kr 인터넷 주소 - 예: 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 IP address 형식 점-십진(Dotted-decimal) 표기
PART 02 프로토콜 IP address 형식 점-십진(Dotted-decimal) 표기 등급 A주소는 에서 까지의 범위 등급 B주소는 에서 까지의 범위 등급 C주소는 에서 까지의 범위 [그림 5.16] 인터넷 주소의 네 가지 등급

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

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

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

20 Classless InterDomain Routing (CIDR)
/25 / / / / 25 bits 공통사용

21 Classless InterDomain Routing (CIDR)
/ / / 23 bits 공통사용 / / / / 20 bits 공통사용

22 CIDR Table

23 CIDR Table

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

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

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

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

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

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

30 IP 라우팅: 같은 네트워크 상에서의 데이타그램 전달
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 IP 라우팅 예 노드 a.ncat.edu www.acme.com 에게 하나의 IP 패킷을 보내기를 원함.
PART 02 프로토콜 IP 라우팅 예 노드 a.ncat.edu 에게 하나의 IP 패킷을 보내기를 원함. 가정 : 어떠한 노드들도 cached data를 갖고 있지 않다. 아래표는 주고받는 모든 패킷들을 보여준다. Source HW Source IP Dest HW Dest IP Purpose 5 Broadcast ARP requset for DNS Hardware address 3 ARP reply Ask DNS for IP adderss DNS relies with IP ARP request for gateway Hardware address 4 Send message to gateway 2 ARP request for hardware 9 Send message to

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

37 Header 비교 Removed (6) Changed (3) Added (2) Expanded
15 16 31 Removed (6) vers hlen TOS total length ID, flags, flag offset TOS, hlen header checksum identification flags flag-offset 20 bytes TTL protocol header checksum 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 IPv6 Address 형식 128비트 체계의 16비트씩 8칸으로 구성됨 각 자리는 콜론으로 구분
PART 02 프로토콜 IPv6 Address 형식 128비트 체계의 16비트씩 8칸으로 구성됨 각 자리는 콜론으로 구분 연속된 0으로 이루어진 bit는 콜론 두개로 생략 가능 Ex) 2001:230:abcd:ffff:0000:0000:ffff:1111

39 IPv4 / IPv6 전환 Not all routers can be upgraded simultaneous
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 5.4.3 ARP(Address Resolution Protocol)
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 ARP의 동작 절차 1) ARP request packet 을 LAN상에 broadcast
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 5.4.4 ICMP(Internet Control Message Protocol)
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 Type Code description echo reply (ping) dest. network unreachable dest host unreachable dest protocol unreachable dest port unreachable dest network unknown dest host unknown source quench (congestion control - not used) echo request (ping) route advertisement router discovery TTL expired bad IP header

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

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

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


Download ppt "PART 02 프로토콜 컴퓨터 네트워크 Chapter 05 네트워크 계층과 라우팅 임효택."

Similar presentations


Ads by Google