Chapter 6 IP 패킷 전달과 포워딩.

Slides:



Advertisements
Similar presentations
이진 나무 구조 강윤섭 2008년 5월 23일.
Advertisements

CHAPTER 5 - IPv4 주소
Part TCP / IP(계속) 3. IP 주소 4. IP 라우팅 5. 응용 프로토콜.
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
IP Addressing and Subnet.
라우팅 개요 1. 라우팅이란? 서로 다른 네트워크 영역의 통신을 가능하게 이어주는 것 라우팅 프로토콜
3 장 OSI 기본 참조 모델 OSI : Open System Interconnection
Chapter 8 주소 변환 프로토콜(ARP).
연결리스트(linked list).
Chapter 2. IP Address IP Address의 구성에 대한 자세한 설명과 함께 IP Address를 효율적으로 관리하기 위한 방법인 서브넷팅, 수퍼넷팅, VLSM 등에 대해서 단계별로 접근할 수 있다. 몇가지 예제를 통해서 서브넷팅에 대한 개념을 정리하고.
제 7장 정적 라우팅 프로토콜.
24 장 TCP/IP 24.1 개요 24.2 네트워크층 24.3 주소 지정 24.4 서브넷팅틍
DPR-1630&1615 IP공유기 셋팅 방법 고객지원팀 작성자 : 정청석.
18장. 방화벽 컴퓨터를 만들자.
ARP의 실험 발표자 : 이직수
9장 데이터 링크층 개요 (Introduction To Data-Link Layer)
제 14장 Multicast & Broadcast
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
15장 X.25 패킷 교환망 15.1 X.25 계층 15.2 X.25와 관련된 기타 프로토콜 15.3 요약.
Network 네트워크 이론 및 실습 라우팅 프로토콜 - 1 5장.
IP.
Chapter 21 Network Layer: ARP, ICMP (IGMP).
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
Chapter 5 UDP Socket 소켓 프로그래밍.
Chapter 19 솔라리스 네트워크 관리 Solaris1 . TCP/IP 개요
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
WOL(Wake-On Lan) 컴퓨터공학과 4학년 박기웅.
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
2장. 인터넷의 개념과 주소.
22 장 전송층(Transport Layer)
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
Part 라우터 1. 라우터 장비의 이해 2. 라우터 네트워크 환경 설정 3. 라우팅 테이블 설정과 점검.
제 15 장 BOOTP와 DHCP BOOTP 15.2 동적 호스트 설정 프로토콜.
21 장 전송층(Transport Layer)
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
TCP/IP 인터네트워킹 INTERNETWORKING with TCP/IP <vol
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
Network 네트워크 이론 및 실습 TCP / IP 4장.
20 장 네트워킹과 인터네트워킹 장치 20.1 리피터(Repeaters) 20.2 브리지(Bridges)
21 장 네트워킹과 인터네트워킹 장치 21.1 중계기(Repeaters) 21.2 브릿지(Bridges)
2 네트워크 모델 학습 목표 모듈 개념을 알아보고 계층 구조의 필요성을 이해한다.
01. 라우팅 및 원격 액세스의 개요 라우팅은 패킷을 송신지부터 수신지까지 어떠한 경로를 통해 보낼 것인지를 결정하는 방법
통신프로토콜 전산정보학부 모바일인터넷과 권 춘 우
3 네트워크 기술 학습 목표 회선 교환 시스템과 패킷 교환 시스템의 차이와 원리를 이해한다.
Chapter 26 IP over ATM.
Teaming pms.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
알고리즘 알고리즘이란 무엇인가?.
Ping Test.
Addressing the Network – IPv4
Chapter 27 Mobile IP.
라우터의 이해 (보충자료) TCP/IP구성 Ping명령어를 이용한 연결검사 비트와 바이트 10진수/2진수/16진수
통신프로토콜 전산정보학부 모바일인터넷과 권 춘 우
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
통신프로토콜 전산정보학부 모바일인터넷과 권 춘 우
7 IP 프로토콜의 이해 학습 목표 네트워크 계층의 필요성과 역할을 이해한다.
제 13 장 인터넷 그룹 관리 프로토콜 정보통신연구실.
제 6 장 IP 패킷 전달과 라우팅 6.1 연결형 서비스와 비연결형 서비스 6.2 직접 전달과 간접 전달 6.3 라우팅 방법
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
제 4 장 Record.
4. IP 데이터그램과 라우팅 (6장. 인터넷과 IP) IP 데이터그램 : 특정 물리망에 종속되지 않은 가상의 패킷 형식.
                              데이터베이스 설계 및 실습 #6 - SQL 실습 한국외국어대학교 DaPS 연구실                              
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
통신프로토콜 전산정보학부 모바일인터넷과 권 춘 우
C++ Espresso 제15장 STL 알고리즘.
네트워크란? Onescore 네트워크팀.
ARP.
Presentation transcript:

Chapter 6 IP 패킷 전달과 포워딩

학습목표(OBJECTIVES): 네트워크 계층에서 패킷 전달(delivery), 그리고 직접 전달과 간접 전달 차이점 구분 네트워크 계층에서 패킷 포워딩(forwarding), 그리고 목적지-주소-기반 포워딩과 레이블-기반 포워딩 다음-홉(next-hop), 네트워크-지정(network-specific), 호스트-지정(host-specific), 디폴트(default)를 포함한 서로 다른 포워딩 기술 클래스 기반 주소지정과 클래스 기반이 아닌 주소지정에서의 라우팅 테이블과 테이블을 검색하기 위한 알고리즘 MPLS 기술 소개 레이블 기반 포워딩이 수행되는 방법 라우터 구성요소, 각 구성요소들의 목적과 관계

Chapter Outline 6.1 Delivery 6.2 Forwarding 6.3 Structure of a Router

6-1 전달(DELIVERY) 네트워크 계층은 기반 물리 네트워크에 의해 패킷을 처리하는 과정을 감독한다. 이 처리과정을 패킷 전달(packet delivery)이라 한다. 최종 목적지까지 패킷 전달은 두 가지 방법(직접과 간접)에 의해 이루어진다.

직접 전달(direct delivery) 최종 목적지가 전달자(deliverer)와 같은 네트워크에 연결되어 있는 호스트 패킷의 발신지와 목적지가 같은 네트워크에 위치 최종 라우터와 목적지 호스트 사이에 수행 목적지 주소에서 netid를 추출한 후 네트워크 주소와 비교 같으면 직접 전달 수행 송신자는 목적지 IP 주소를 이용하여 목적지 물리 주소를 찾아서(ARP이용, 8장) 데이터 링크 계층으로 보내어 패킷을 전달

직접 전달(direct delivery)

간접 전달(indirect delivery) 최종 목적지가 같은 네트워크에 있지 않은 호스트 최종 목적지와 같은 네트워크에 연결된 라우터에 도달 할 때 까지 여러 라우터를 경유해서 전달 목적지 IP 주소와 라우팅 테이블을 이용하여 패킷이 전달되어야 하는 다음 라우터의 IP 주소를 찾는다

간접 전달(Indirect delivery)

6-2 포워딩(FORWARDING) 포워딩이란 패킷을 목적지로 가는 경로상에 놓는 것을 의미한다. 오늘날의 인터넷은 링크(네트워크)의 조합으로 되어 있으므로, 포워딩은 패킷을 다음 홉(최종 목적지 또는 중간 연결 장치)으로 배달하는 것을 의미한다. IP 프로토콜이 원래 비연결형 프로토콜로 설계되었지만, 오늘날의 경향은 IP 를 연결-중심 프로토콜로 사용하고 있다.

포워딩(Forwording) 목적지 주소 기반 포워딩 다음-홉 네트워크-지정 호스트 지정 디폴트 레이블 기반 포워딩

다음-홉(Next-hop method) 라우팅 테이블을 가장 작게 만드는 기술 전체 경로 정보대신 다음 홉 주소만 저장

네트워크-지정(Network-specific) 방법 라우팅 테이블 작게, 검색과정 간단하게 같은 네트워크에 연결된 모든 호스트 별 엔트리 대신 네트워크 주소지정 Host-specific routing table for host SNext HopR1 R1 R1DestinationA B C

호스트-지정-라우팅(Host-specific routing) 라우팅 테이블에 목적지 주소 저장 네트워크-지정 라우팅 반대 관리자가 네트워크 제어 시 효과적

디폴트 라우팅(Default routing) 인터넷상의 모든 네트워크 나열대신 디폴트 엔트리만 지정

서브넷팅 없는 클래스기반 주조지정에서 단순화된 포워딩 모듈

Example 6.1 다음 쪽 그림은 인터넷의 일부분에서 가상의 네트워크이다. 라우터 R1의 라우팅 테이블을 보이시오. Solution 다음 쪽 그림은 라우터 R1에서 사용하는 3개의 테이블을 보여준다. 일부 엔트리에는 다음 홉 주소가 비어있는 경우가 있는데, 목적지가 라우터가 연결된 네트워크와 같은 네트워크에 있기 때문이다(직접 전달). 이 경우에, ARP가 사용하는 다음 홉 주소는 패킷의 목적지 주소이다(8장 참조).

Example 6.1의 라우팅 구성

Example 6.1에 대한 테이블

Example 6.2 그림에서 Router R1은 목적지 주소 192.16.7.14를 갖는 패킷을 받았다. 패킷이 어떻게 포워딩 되는지 보여라. Solution 목적지 주소는 11000000 00010000 000001110 0001110 이다. 주소를 오른쪽으로 28 비트 이동하면, 결과는 00000000 00000000 00000000 00001100 또는 12 이다. 목적지 네트워크는 클래스 C 이다. 네트워크 주소는 목적지 주소의 왼쪽에서 24 비트를 뽑아내면 192.16.7.0 이다. 클래스 C의 테이블은 검색한다. 네트워크 주소는 첫 번째 향에서 찾아낸다. 다음-홉 주소 111.15.17.32. 와 인터페이스 m0 를 ARP에 보내진다(8장 참조).

Example 6.3 그림에 있는 Router R1은 목적지 주소 167.24.160.5를 가진 패킷을 받았다. 패킷이 포워딩 되는 과정을 보이시오. Solution 2진수로 목적지 주소는 10100111 00011000 10100000 00000101 이다. 주소를 오른쪽으로 24비트 이동한다. 결과는 00000000 00000000 00000000 00001010 또는 10 이다. 클래스 B 이다. 네트워크 주소는 목적지 주소에서 왼쪽 16 비트를 뽑아내면 결과는 167.24.0.0이다. 클래스 B에 대한 테이블을 검색한다. 매칭되는 네트워크 주소가 없다. 패킷은 디폴트 라우터로 포워딩하면 된다(네트워크는 인터넷 어딘가에 있다). 다음-홉 주소 111.30.31.18 와 인터페이스 번호 m0이 ARP에 전해진다.

서브넷팅이 있는 클래스기반 주소에서 단순화된 포워딩 모듈

Example 6.4 다음 쪽 그림은 4개의 서브넷이 연결된 라우터를 보여주고 있다. 몇 가지 점을 주목하라. 첫 째, 사이트 주소는 145.14.0.0/16 (클래스 B 주소). 목적지 주소가 범위 145.14.0.0 에서 145.14.255.255를 가진 모든 패킷은 인터페이스 m4로 전달되어 라우터에 의해 최종 목적지 서브넷에 전해진다. 둘 째, we have used the address for the 인터페이스 m4에 대해 주소 x.y.z.t/n를 사용하는 이유는 이 라우터가 연결된 라우터를 모르기 때문이다. 세 째, 테이블은 외부로 나가는 패킷에 대한 디폴트 엔트리를 가지고 있다. 라우터는 모든 목적지 주소에 대해 서브넷 마스크 /18 를 적용하도록 구성되어 있다.

Example 6.4에 대한 네트워크 구성

Example 6.5 Example 6.5 다음 쪽 그림의 router는 목적지 주소 145.14.32.78 를 가진 패킷을 수신하였다. 패킷이 포워딩되는 과정을 보이시오. Solution 마스크는 /18이다. 마스크를 적용하면 서브넷 주소는 145.14.0.0 이다. 패킷은 next-hop 주소 145.14.32.78와 outgoing interface m0와 함께 ARP(8장 참조)로 전달된다.

Example 6.6 앞쪽 그림에 145.14.0.0 네트워크 내의 호스트가 주소 7.22.67.91 인 호스트로 보내는 패킷을 가지고 있다. 패킷이 어떻게 전달되는지 보여라. Solution 라우터는 패킷을 받아서 마스크 (/18)를 적용한다. 네트워크 주소는 7.22.64.0 이다. 테이블을 검색하면 부합하는 주소를 찾지 못하게된다. 라우터는 디폴트 라우터의 주소(그림에는 없음)를 사용하여 패킷을 라우터에 보낸다.

In classful addressing we can have a routing table with three columns; Note In classful addressing we can have a routing table with three columns; in classless addressing, we need at least four columns.

클래스 기반이 아닌 주소체계에서 간단화된 포워딩 모듈

Example 6.7 다음 쪽 그림의 네트워크 구성에서 router R 의 라우팅 테이블을 작성하시오. Solution Table 6.1 은 라우팅 테이블이다

Example 6.7 네트워크 구성

Example 6.8 앞 쪽 그림의 R1에 목적지 주소 180.70.65.140 를 가진 패킷이 도착했다면 포워딩 과정을 보이시오. Solution 라우터는 다음 단계를 수행한다: 첫 째 목적지 주소에 마스크 (/26)를 적용한다. 결과는 180.70.65.128인데, 부합되는 네트워크 주소가 없다. 둘 째 목적지 주소에 마스크(/25) 를 적용한다. 결과는 180.70.65.128가 네트워크 주소와 부합된디. 다음-홉 주소(이 경우에 패킷의 목적지 주소와 interface number m0 이 계속되는 처리 과정을 위해 ARP (8장 참조)에 보내진다.

Example 6.9 라우터 R1에 목적지 주소 201.4.22.35 를 가진 패킷이 도착했다면 포워딩 처리 과정을 보이시오. Solution 라우터는 다음 단계를 수행한다: 첫째 목적지 주소에 마스크(/26)를 적용한다. 결과는 201.4.22.0인데, 해당하는 네트워크 주소(row 1)와 부합되지 않는다. 둘째 목적지 주소에 마스크(/25)를 적용한다. 결과는 201.4.22.0인데, 해당하는 네트워크 주소(row 2)와 부합되지 않는다. 세째 목적지 주소에 마스크(/24)를 적용한다. 결과는 201.4.22.0인데, 해당하는 네트워크 주소와 부합된다.

Example 6.10 R1에 목적지 주소 18.24.32.78 를 가진 패킷이 도착했다면 포워딩 처리과정을 보이시오. Solution 이번에는 목적지 주소에 모든 마스크를 적용하지만 부합되는 네트워크 주소를 찾지 못한다. 테이블의 맨 끝에 다다르면 모듈은 next-hop address 180.70.65.200 와 interface number m2를 ARP(8장 참조)에게 보낸다. 이 패킷은 디폴트 라우터를 사용하여 외부 인터넷으로 보내는 패킷 일 것이다.

Example 6.11 이제 다른 유형의 예를 살펴보자. 만약 라우팅 테이블 내용을 알고 있다면 라우터의 네트워크 구성을 알아낼 수 있는가? router R1의 라우팅 테이블은 Table 6.2 에 있다. 접속형태(topology)를 그릴 수 있는가? Solution 라우팅 테이블 정보를 알고 있다 해도 정확한 접속형태를 모두 알 수는 없다. 분명한 것은 router R1에 3개의 인터페이스 m0, m1, 와m2이 있다. 이는 3개의 네트워크가 router R1에 직접 연결되어 있다. 또, 2개의 네트워크가 R1에 간접적으로 연결되어 있다. Next-hop 열을 보면 적어도 R1외에 3개의 라우터가 있는 것이 분명하다. 네트워크 140.6.12.64은 router R3에 직접 또는 point-to-point network(WAN) 아니면 다른 라우터에 연결되어있는지 정확하게 알 수 없다. 다음 쪽 그림은 추축한 접속형태이다.

Guessed topology for Example 6.11

주소 집단화(Address aggregation) 테이블 크기가 증가하고 탐색시간 증가를 완화 TCP/IP Protocol Suite

가장 긴 마스크 부합(Longest mask matching) 마스크 길이가 긴 것부터 부합 적용 TCP/IP Protocol Suite

라우팅 계층적 라우팅(Hierarchical Routing) 지리적 라우팅(Geographical Routing) 라우팅 테이블의 크기가 커지는 문제를 해결하기 위해 도입 인터넷을 백본, 지역, 로컬로 나누는 것처럼 계층구조 개념 도입 지리적 라우팅(Geographical Routing) 국가간 라우팅을 위한 라우팅 테이블에 한 개의 엔트리 사용 라우팅 테이블 탐색 알고리즘개선

Example 6.12 계층적 라우팅의 예로서 다음 쪽 그림을 생각해 보자. 지역(regional) ISP는 주소 120.14.64.0로 시작하는 16,384개의 주소를 할당받았다. 지역 ISP는 이 블록을 각각 4096개의 주소를 갖는 4개의 서브블록으로 나누었다. 이 중 3개는 local ISP에 할당하고s, 두 번째 블록은 나중에 사용하기 위해 예비용으로 두기로 했다. 각 블록의 마스크는 원래의 블록 마스크 /18을 4개로 나누었기 때문에 /20 이 되었다.

ISP가 갖는 계층적 라우팅

레이블 기반 포워딩 라우팅을 교환(Switching)으로 대치하여 IP를 연결-지향 프로토콜처럼 동작

Example 6.13 다음 쪽 그림은 가장 긴 부합(longest match) 알고리즘을 이용한 간단한 라우팅 테이블 탐색 예를 보여준다. 오늘날, 보다 더 효율적인 알고리즘이 많이 있지만, 원리는 같다. 포워딩 알고리즘이 패킷의 목적지 주소를 받으면, 마스크 열을 찾아보게 된다. 각 엔트리에 대해, 목적지 네트워크 주소를 찾기 위해 마스크를 적용한다. 부합되는 엔트리를 찾을 때까지 테이블내의 네트워크 주소를 검사한다. 그런 다음 패킷을 다음 홉으로 전달하기 위해 다음 홉 주소와 인터페이스 번호를 추출하여 ARP 프로토콜에 보내진다.

Example 6.13: 목적지 주소기반 포워딩

Example 6.14 다음 쪽 그림은 교환 테이블(switching table)에 접근하기 위해 레이블(label)을 이용한 간단한 예를 보여준다. 레이블은 테이블에 있는 정보를 즉시 찾기 위해 테이블에 대한 인덱스로 사용된다.

Example 6.14: 레이블 기반 포워딩 interface and label address interface and

MPLS(Multi-Protocol Label Switching) 라우터는 목적지 기반, 교환은 레이블 기반으로 패킷 포워딩 이를 위해 새로운 헤더 추가 IP 패킷에 추가된 MPLS 헤더

레이블의 스택으로 이루어진 MPLS header 레이블 : 20 비트, 라우팅 테이블 인덱스에 사용 Exp : 3 비트, 실험 목적 예약 S : 1 비트, 스텍내의 서브헤더 상황 정의(1:마지막) TTL : 8 비트 필드, IP 데이그램의 TTL과 유사 계층적 교환 전통적인 계층적 라우팅과 유사 패킷이 두 개의 레이블을 가진 경우, 상위는 조직 외부 교환기를 통하여 패킷 포워딩 하위 레이블은 조직 내에서 패킷을 서브넷까지 전달 사용

6-3 라우터 구조 포워딩과 라우팅에 대한 설명에서, 러우터를 일력 포트(인터페이스) 중 하나로 들어오는 패킷을 받아서 라우팅 테이블을 사용하여 패킷이 나갈 출력 포트를 찾은 후에 이 출력 포트를 통하여 패킷을 내보내는 블랙박스로 표현하였다. 이 절에서, 블랙박스의 내부를 살펴보고자 한다. 그렇지만, 라우터에 관한 책들이 여러 권 출간되었으므로 자세한 설명은 피하고 대략적인 설명만 한다.

라우터 구성요소(Router components)

입력 포트(Input port) 라우터에서 물리 및 데이터 링크 계층 수행

출력 포트(Output port) 입력 포트와 같은 기능 수행, 수행 순서는 역

라우팅 처리기(Routing Processor) 네트워크 계층 기능 수행 목적지 주소를 이용, 다음 홉 주소를 찾고 패킷이 출력될 포트 번호 결정 교환 조직( switching Fabric) 라우터에서 가장 복잡한 기능 담당 패킷을 입력 큐에서 출력 큐로 이동 다양한 교환 조직 사용

크로스바 교환기(Crossbar switch) 각 접점(crosspoint)에서 micrpswitch사용 N개 입력과 m개 출력을 격자형태로 연결

배년 교환기(banyan switch)

배년 교환기 라우팅 예 도착한 패킷을 목적지 포트에 따라 정렬

배처-배년(Batcher-banyan) 교환기

알림 연습문제 풀이해서 Report로 다음주까지(일주일 후) 제출해 주세요!