본문 바로가기

Information Network

Network Layer : Delivery(전달), Forwarding(포워딩)




Delivery


Network Layer은 하부에 있는 물리적인 네트워크들에 의한 packet 처리를 감독한다. 이러한 처리를 packet delivery라고 정의한다.





Direct vs Indirect Delivery

pakcet을 최종 목적지까지 전달하는 것은 다음 그림과 같이 직접과 간접이라는 서로 다른 두 가지 전달 방법을 이용하여 이루어진다.
 



Direct Delivery
  Direct Delivery에서, packet의 최종 목적지는 전달자와 같은 물리 network에 여결된 host이다. 직접 전달은 packet의 출발지와 목적지가 같은 물리 network에 연결되어있거나 마지막 Router와 목적지 host 사이에 전달이 이루어질 때 발생한다.

  송신자는 직접 전달 여부를 Mask를 이용하여 목적지 network ID를 추출하고 전송자가 연결된 network ID와 비교하여 쉽게 판단할 수 있다. 만약 두 network ID가 일치하면 직접전달이다.
 
  Usually 한명의 관리자가 관리하는 범위 내에서 전달이 이루어진다.

Indirect Delivery
  Indirect delivery에서 packet은 최종 목적지와 같은 물리 network에 연결된 Router에 도달할 때까지 Router들을 거쳐간다. 여기서 주목할 것은 delivery는 항상 direct delivery와 0 or 2 이상의 indirect delivery를 수반한다. 그리고 이때 항상 마지막 전달은 direct delivery가 된다.







Forwarding


Forwarding은 packet을 목적지로 가는 경로에 위치시키는 것을 의미한다. 때문에 forwarding은 routing table을 가지는 host나 router를 필요로 한다. 이때 routing table의 항목의 수가 table check를 비효율적으로 만들기 때문에 여러 forwarding 기술이 필요하다. 





Forwarding techniques

 
routing table의 내용을 줄이기 위한 하나의 방법으로는 route method, next-hop method등이 있다.

Route method는 주로 connection-oriented 경우의 subnet에서 주로 이용된다. 

Next-hop method는 neighbor들의 주소만을 유지하는 등, 주로 Connectionless(ex. Internet)의 경우에 사용되며, 때문에 Network의 확장성이 좋으며, Router의 overhead가 줄어든다.




Routing table을 줄이고 검색 과정을 간략하게 하기 위한 두 번째 기술은 Network-specific method, Host-specific method가 있다.

host-specific method는 동일한 물리 network에 연결된 모든 목적지 host의 정보를 routing table에 담는것이다. 때문에 이는 대부분 network종단에서 사용된다.

이에 반해 network-speicific method는 목적지 host의 해당 Netwokr ID 하나만을 routing table에 보관하여 망의 확장성이 뛰어나며 router의 overhead가 줄어든다.



그리고 마지막으로 Default method가 있다. 이는 해당 router의 router table에서 packet에 대한 정보가 없을 때에(목적지가 불명확) dafault router로 전송하는 것을 의미하는데, 만약 default method를 사용하지 않을 경우 알고있는 connection외의 packet에 대해서는 전송이 불가하여 모두 drop하게 된다.






Forwarding Process


포워딩 절차에 대해 알아보자. 주소 지정방식으로 classless방식을 사용한다고 가정했을 때, 다음과 같은 포워딩 모듈을 생각해볼 수 있다.

위와 같이 classless 주소지정에서는 routing table안에 최소한 네 개의 열(Mask, Network address, Next-hop address, Interface)이 필요하다.


Address Aggregation(주소 집합)
Classless 주소지정을 사용하면 전체 주소 공간을 관리 가능한 블록으로 나누는 의도가 있기 때문에, routing table 항목의 수는 증가한다. 이 문제를 완화시키기 위하여 address aggregation이 설계 되었다.


위의 그림과 같이 R1은 각각의 packet을 적합한 조직으로 정확히 경로를 지정해주어야 하기 때문에 R2에 비해 더 긴 routing table을 갖는다. 네 개의 조직에 대한 주소 블록은 하나의 큰 블록으로 응집되는데 이것을 Address aggregation이라고 부른다.

  만약 각 조직의 주소들이 하나의 큰 블록으로 응집되지 않는다면 라우터 R2는 매우 긴 routing table을 갖고 있어야만 한다.


Longest Mask Matching(가장 긴 마스크 매칭)
이는 Masking number(prefix)가 가장 큰 순서대로(가장 긴 순서대로) Routing table에 위치시켜 packet이 잘 못 전달되는 경우를 방지한다.
 



Hierarchical Routing
Routing table이 방대해지는 것을 막기 위하여 이를 계층적으로 분화시킬 필요가 있다.

계층적 라우팅은 Netowork의 확장성을 높이기 위하여 Network를 여러 계층으로 나누어 해당 계층끼리의 Routing 정보를 갖는 방법을 의미한다.




Geographical Routing(지리적 라우팅)
Routing table의 크기를 더욱 줄이기 위해서, 지리적 라우팅을 포함하는 계층적 라우팅으로 확장해야 한다.
이는 Internet 주소지정 방식이 전화망과 비슷하게 지역적으로 계층화가 되어 있기 때문에 사용할 수 있는 방법으로써, 전 세계 적으로 Internet 망을 몇 개의 거대한 블록으로 나눈 후에 해당 블록으로 들어가는 router의 routing table에 단지 한개의 항목을 갖게 하는 방식이다.






Routing Table


routing table은 크게 static routing table과 dynamic routing table로 나뉠 수 있다.

정적 라우팅 테이블(static routing table)은 말 그대로 수동으로 입력된 정보를 갖고 있는 table로써, 관리자가 table에 목적지에 대한 경로를 직접 입력하는 방식이다. 때문에 Internet의 상황이 바뀌더라도 자동으로 갱신하지 못하고 관리자에 의해 수동으로 변경되어야만 하는 단점이 있다.

이에 반해 동적 라우팅 테이블(dynamic routing table)은 RIP, OSPF or BGP와 같은 동적 라우팅 프로토콜중 하나를 사용하여 주기적으로 갱신된다.

이 때, RIP와 OSPF는 소규모 망에서 주로 사용되며, BGP의 경우 Gateway 끼리의 routing시 사용된다.




다음 포스트는 이 라우팅 프로토콜에 관해서 올려야 겠다...>_</