1. 개요
포워딩은 라우터로 들어온 패킷을 테이블을 참조해서 목적지로 향하도록 보내는 것을 말한다.
인터넷은 링크(네트워크)의 조합으로 구성되기 때문에 패킷은 다음 홉(최종 목적지나 다음 라우터)으로
전달하는 행위가 라우팅이다.
이 포워딩의 종류에 대해서 알아보려 한다.
2. 설명
2-1. 종류 설명
크게 2가지 종류로 나눌 수 있다.
목적지 주소에 기반을 둔 포워딩, 레이블 기반의 포워딩, 상세하게 분류하면
- 목적지 주소에 기반을 둔 포워딩 (Forwarding Based On Destination Address)
- 주소 집단화 (Address Aggregation)
- 가장 긴 마스크 매칭 (Longest Mask Matching)
- 계층적 라우팅 (Hierarchical Routing)
- 지리적 라우팅 (Geographical Routing)
- 포워딩 테이블 검색 알고리즘 (Forwarding Table Search Algorithms) - 레이블 기반의 포워딩 (Forwarding Based on Label)
- MPLS (Multi Protocol Label Switching)
- 새로운 헤더 (A New Header)
- 계층적 교환 (HIerarchical Routing)
이번 포스팅에선 목적지 주소에 기반을 둔 포워딩을 다 정리해보려 한다.
2-2. 목적지 주소에 기반을 둔 포워딩 (Forwarding Based On Destination Address)
- 일반적을 사용되고 있는 방식이다.
- 포워딩을 위해 포워딩 테이블을 가진 호스트나 라우터가 필요하다.
- 호스트가 전송할 패킷이 있거나, 라우터가 포워딩할 패킷을 수신할 경우, 포워딩 테이블을
참조하여 패킷을 전달할 다음 홉을 찾는다. - Classless Addressing의 경우, prefix가 짧은 순서 (suffix가 긴 순서, 더 큰 네트워크)로
포워딩 테이블이 생성된다. 그 이유는 더 큰 네트워크에 포함되어 있다면, 뒤에 건 볼 필요도 없기
때문이다. - 테이블을 다 뒤져봤는데 매핑되는 게 없으면 default로 설정되어 있는 홉으로 이동한다.
2-3. 주소 집단화 (Address Aggregation)
- Classless Addressing을 사용할 경우, 특정 블록에서 서브 네트워크를 만들면, 그 서브 네트워크는
블록에서 파생된 것이니, 다 붙어있다. - 그러니 처리할 때도, 붙어있는 주소끼리 처리하는 게 주소 집단화 포워딩이다.
2-4. 가장 긴 마스크 매칭 (Longest Mask Matching)
- 마스크의 길이는 서픽스(suffix)의 길이로 결정된다. 서픽스가 길수록 마스크도 길어지는데,
마스크가 가장 긴 주소를 먼저 매칭하게 되면, 해당하는 것을 신속하게 걸러낼 수 있으니
이상한 위치로 전달되는 것을 막을 수 있다.
2-5. 계층적 라우팅 (Hierarchical Routing)
- 라우팅 테이블이 커지는 문제를 해결하기 위해 라우팅 테이블에 계층구조를 도입한 것이다.
- 큰 블록이 할당되었을 경우, 모든 경로를 한 포워딩 테이블에 적으면, 포워딩 테이블이 길어지고
매칭시간도 길어질 것이다. - 그래서 계층별로 따로 포워딩 테이블을 가지게 하면 되는 것이다.
- 간단한 예시로, 대한민국 국민들의 전화번호를 한 전화번호부에 적어놓으면, 말도 안되게 긴
전화번호부가 만들어질 것이다.
그런데 이걸, 행정구역별로 나눠서, 동네까지 나누고, 전체 전화번호부에는 행정구역별로 찾는 방법만
적어놓는다면, 사용하기 편한 전화번호부를 만들 수 있다. - /24 크기의 블록을 받으면, /26 크기의 4개의 서브네트워크로 바꾸고, /26 크기의 네트워크를
/30 크기의 16개의 서브 네트워크로 나누면, /24 크기의 블록의 포워딩 테이블엔 /26 크기의
네트워크 4개의 주소와 경로만 적으면 된다.
/26 크기의 주소는 각각 16개의 /30 크기 서브 네트워크의 주소와 경로만 가지면 된다.
2-6. 지리적 라우팅 (Geographical Routing)
- 포워딩 테이블의 크기를 줄이기 위해, 지역별로 구분하는 라우팅 개념이다.
- 먼저 전체 주소 공간을 작은 수의 큰 블록들로 나누고, 대륙별로 (아시아, 유럽, 아메리카, 아프리카 등)
블록을 할당한다. - 아시아가 아닌, 외부의 ISP(인터넷 서비스 제공자)의 라우터들은 아시아로 가는 패킷의 경로가
하나만 있으면 된다. - 유럽의 경우, 유럽이 아닌 외부의 ISP의 라우터가 유럽으로 패킷을 보낼 경우, 유럽으로 가는 경로가
하나만 있으면 된다.
2-7. 포워딩 테이블 검색 알고리즘 (Forwarding Table Search Algorithms)
- 정렬 알고리즘을 사용해서 탐색 시간을 줄이는 방법이다.
- O(logN)의 시간복잡도를 가지지만(한 번 검색할 때마다 반씩 줄어듬), 해당되는 게 없는 default일
경우, 모두 뒤져봐야 한다는 단점이 있다.
'네트워크' 카테고리의 다른 글
네트워크 정리 19. 레이블 기반의 포워딩, DHCP 개요 (0) | 2022.04.15 |
---|---|
네트워크 정리 17. NAT (Network Address Translation) 정리 (0) | 2022.04.14 |
네트워크 정리 16. 주소 집단화(Address Aggregation), 특수 블록, 블록 내의 특수 주소 정리 (0) | 2022.04.14 |
네트워크 정리 15. 클래스 없는 주소지정의 네트워크 주소, 블록 할당, 서브네팅 (0) | 2022.04.13 |
네트워크 정리 14. 클래스 없는 주소지정 (Classless Addressing) (0) | 2022.04.13 |
댓글