Delivery란 패킷이 기본 네트워크에 의해 처리되는 방식을 말한다.
forwarding은 패킷이 다음 스테이션으로 전달되는 방식을 의미한다.
Delivery
네트워크 계층은 물리적 네트워크에 의한 패킷의 처리를 감독한다.
패킷을 최종 목적지로 배달하는 것은 direct와 indirect의 두 가지 다른 방법을 사용하여 이루어진다.
Direct delivery
최종 목적지 host가 같은 네트워크에 있을때 발생
Last router가 최종 목적지 host로 보낼때
목적지 주소로부터 물리주소 결정
Indirect delivery
- destination 호스트가 동일한 네트워크에 있지 않을 때
- 패킷은 최종 destination과 동일한 물리적 네트워크에 도달할 때까지 라우터에서 라우터로 이동
- ARP를 사용하여 다음 hop으로 넘어간다. (IP 주소와 라우팅 테이블을 사용하여 다음 라우터 주소를 찾음.)
delivery에는 항상 하나의 direct delivery가 포함되지만 0개 이상의 indirect delivery가 포함, 또한 마지막은 항상 dircet delivery이다.
목적지 패킷의 네트워크 주소를 추출한다.(hostid부분을 모두 0 으로 설정)
그러고 연결된 네트워크의 주소가 맞는지 비교한다.
forwarding은 패킷을 다음 경로로 전달하는것을 의미한다.
Forwarding Based on Destination Address
오늘 날, 전통적인 방법이다.
호스트 또는 라우터에 라우팅 테이블이 있어야한다.
호스트가 패킷을 전송하거나 라우터가 패킷을 받을 때 최종 destination을 찾기위해 테이블을 확인한다.
그러나 이 방법은 테이블의 공간이 비효율적으로 사용된다.
Next-Hop Method
라우팅 테이블의 내용을 줄인다.
라우팅 테이블은 전체 경로 대신 next hop의 주소만 가진다.
라우팅 테이블의 entry들은 서로 일치해야한다.
Network-specific method
- 라우팅 테이블을 줄이고 검색 프로세스를 단순화한다.
- 동일한 네트워크의 호스트들을 하나의 대상으로 취급한다.
- 네트워크 당 라우팅 정보를 가짐.
Host-specific method
- network-specific 방법의 반대이다.
- destination의 호스트 주소는 라우팅 테이블에 있다
- 패킷 경로확인, 보안과 같은 목적으로 사용된다.
- 목적지 호스트 별 라우팅 정보
Default method
- R1 라우터는 N2로 라우팅한다.
- 나머지 인터넷은 R2를 사용한다.
- 테이블 크기를 줄인다.
Forwarding with classful addressing
classful은 여러 단점이 있다
그러나 기본 마스크의 존재는 forwarding을 쉽게 만든다.
Forwarding with classful addressing without subnetting
- classful에서 인터넷의 대부분 라우터는 subnetting에 관여하지 않는다
- subnetting은 오직 조직 안에서만 일어난다
- forwarding은 클래스 마다 하나씩, 총 3개의 테이블을 활용해 설계할 수 있다
- searching을 효율적으로 만들어 준다
- 각 라우팅 테이블은 3개의 column을 가진다
- 네트워크 주소
- destination 호스트가 위치한 위치
- next hop 주소
- 패킷이 indirect 전달을 위해 어느 라우터로 전달되어야 하는지
- direct의 경우 비어있음
- interface 숫자
- 패킷이 나가는 포트 번호를 정의
- 네트워크 주소
forwarding 단계
- 패킷의 destination 주소를 추출
- 클래스를 찾음
- 클래스에 따라 네트워크 주소를 추출
- 클래스에 따라 8,16,24 비트 마스킹을 통해 수행
- 클래스와 네트워크 주소를 이용해 next hop 정보를 찾는다
- 클래스는 테이블을 결정
- 네트워크 주소를 테이블에서 검색
- 일치하는 항목이 있다면 next hop 주소 추출
- 없다면 기본값 사용
- ARP 모듈(8장)은 다음 라우터의 물리적 주소를 찾기 위해 다음 홉 주소와 인터페이스 번호를 사용
- 그런 다음 데이터 링크 계층에 패킷을 다음 홉으로 전달하도록 요청
Forwarding with subnetting
- 패킷에서 destination 주소를 추출한다
- destination 주소가 테이블의 항목과 일치하면 테이블에서 값들이 추출된다
- destination 주소와 mask는 서브넷 주소를 추출하는데 사용
- 서브넷 주소를 사용하여 next hop 주소와 인터페이스 번호를 검색
- 일치하는 항목이 없으면 기본값이 사용됩니다.
- next hop 주소와 인터페이스 번호가 ARP에 전달
Forwarding with classless addressing
classless에선 클래스가 없다
forwarding을 위해선 각 블록에 대해 정보가 필요하다
네트워크 주소를 기준으로 테이블을 검색해야한다
패킷의 destination 주소는 네트워크 주소에 대한 단서를 주지 않는다
이를 해결하기 위해 마스크(/n)를 표에 추가해야한다
classful과 달리 하나의 열이 더 추가된다
Address aggregation
R1은 각각 64개의 주소를 사용하는 4개 조직의 네트워크에 연결된다.
R2는 R1에서 멀리 떨어져 있다.
각 패킷이 적절한 조직에 올바르게 라우팅되어야 하므로 R1의 라우팅 테이블이 더 길다.
반면에 R2는 매우 작은 라우팅 테이블을 가질 수 있다.
R2의 경우 대상 패킷이 140.24.7.0 ~ 140.24.7.255인 경우 조직 번호에 관계없이 인터페이스 m0에서 전송된다.
4개 조직의 주소 블록이 하나의 더 큰 블록으로 집계되기 때문에 이를 address aggregation이라고 한다.
각 조직이 하나의 블록으로 집계할 수 없는 주소를 가지고 있다면 R2는 더 긴 라우팅 테이블을 가질 것이다.
address aggregation은 subnetting과 유사하지만, 여기에는 공통 사이트가 없다.
각 조직의 네트워크는 독립적이다.
또한 몇 가지 수준의 aggregation을 수행할 수 있다.
Longest mask matching
이전 그림의 조직 중 하나가 다른 세 조직과 지리적으로 가깝지 않으면 어떻게?
예를 들어, 조직 4가 어떤 이유로 라우터 R1에 연결할 수 없는 경우,
여전히 address aggregation을 사용하고 여전히 조직 4에 블록 140.24.7.192/26을 할당할 수 있나?
classless에서 라우팅은 longest mask matching을 사용하기 때문에 물음은 yes다
이 원리는 라우팅 테이블이 가장 긴 마스크에서 가장 짧은 마스크로 정렬됨을 나타낸다.
즉, 마스크가 /27, /26 및 /24인 경우 마스크 /27이 첫 번째 항목이고 /24가 마지막이어야 한다.
대상 주소가 140.24.7.200인 조직 4에 패킷이 도착한다고 가정.
라우터 R2의 첫 번째 마스크가 적용되어 네트워크 주소 140.24.7.192를 제공
패킷은 인터페이스 m1에서 올바르게 라우팅되어 조직 4에 도달
그러나 라우팅 테이블이 가장 긴 접두사 fi와 함께 저장되지 않은 경우 /24 마스크를 적용하면 패킷이 라우터 R1로 잘못 라우팅될 수 있음
Hierarchical routing
거대한 라우팅 테이블의 문제를 해결하기 위해 라우팅 테이블에 계층 구조를 만들 수 있다
인터넷은 계층을 가지고 있다
인터넷은 백본, 지역 및 지역 ISP로 나뉘어 있다
라우팅 테이블이 인터넷 아키텍처와 같은 계층 구조를 갖는 경우 라우팅 테이블의 크기가 감소할 수 있다.
Geographical routing
search algorithm
- Searching in classful addressing : 각 class 별로 서로 다른 table search
- Searching in classless addressing : Longest prefix match search
Forwarding based on label
virtual-circuit 접근 방식에 의한 IP Packet forwarding
MPLS
multi-protocol label Switching
Structure of a router
Input ports
- physical & link layer functions
- input buffers
Output ports
- input port와 동일한 기능을 가지지만 반대로 작동함
Routing processor
- Network layer 기능
- Routing table lookup
Switching fabrics
- Input port와 Output port간의 패킷 전송을 담당하는 스위치
'🖥️ Computer Science > Computer Network' 카테고리의 다른 글
Internet Control Message Protocol Version 4 (ICMPv4) (0) | 2024.10.21 |
---|---|
Address Resolution Protocol (ARP) (0) | 2024.10.17 |
Internet protocol Version 4 (IPv4) (0) | 2024.10.10 |
IPv4 Address (0) | 2024.09.26 |
Introduction to Network layer (0) | 2024.09.10 |