본문 바로가기
C++ 200제/코딩 IT 정보

라우팅테이블, IP라우팅 초기화 및 설정

by vicddory 2017. 9. 12.

라우팅테이블, IP라우팅 초기화 및 설정


Initializing a Routing Table

라우팅테이블 entry가 어떻게 생성되는지는 아직 언급하지 않았다. interface가 초기화될 때마다(일반적으로 interface의 어드레스는 ifconfig 커맨드에 의해 세트 된다) direct route는 그 인터페이스에 대해 자동으로 생성된다.


PPP link와 루프백 인터페이스에 대해서, route는 host(H flag가 세트 되어 있는)가 될 것이다. 이더넷과 같은 브로드캐스트 인터페이스에 대해서, route는 네트워크가 될 것이다.


직접 연결되지 않은 호스트나 네트워크에 대한 route는 어떤 형태로든 라우팅 테이블에 들어가야 한다. 일반적인 방법으로는 bootstrap time에 초기화 파일로부터 route 커맨드를 실행시키는 것이다.

svr4에서는 entry를 추가하기 위해 다음의 두 커맨드가 실행될 것이다.


route add default sun 1

route add slip sbdi 1


세 번째 argument(default와 slip)은 destination이다.


라우팅테이블, IP라우팅 초기화 및 설정[라우팅테이블, IP라우팅 초기화 및 설정]


네 번째 argument는 게이트웨이(라우터)다. 그리고 마지막 argument는 라우팅 metric이다. 이 메트릭이 있는 route 커맨드는 모두 metric이 0보다 크면 G flag를 세트하고, metric이 0이면 G flag를 세트 하지 않는다.


어떤 시스템은 default router를 /etc/defaultrouter와 같이 파일로 기록하기도 한다. 그리고 재부팅 때마다 라우팅테이블에 default를 추가한다.


라우팅테이블을 초기화하는 다른 방법으로는 routing daemon을 실행시키거나 새로운 router discovery protocol을 사용하는 것이다.


A More Complex 라우팅테이블

sun은 subnet에 있는 모든 다른 host에 대한 default router이다. 왜냐하면, sun은 인터넷에 연결할 수 있는 dialup SLIP 링크를 하고 있기 때문이다.


dialup SLIP link[라우팅테이블, IP라우팅 초기화 및 설정]


처음의 두 entry는 svr4에서 실행한 것과 같다.


즉 라우터 bsdi를 통해 slip으로 route되는 것과 루프백 route이다. 세 번째 줄은 새로운 것이다. 호스트로의 direct route(G flag가 세트 되어 있지 않다.)다.


ifconfig 커맨드로 비교해보면 다음과 같다.


sun % ifconfig sI0

sI0: flags=1051<UP, POOINTPOINT, RUNNING>

inet 140.252.1.29--> 140.252.1.183 netmask ffffff00


라우팅테이블[라우팅테이블, IP라우팅 초기화 및 설정]


라우팅테이블에 있는 목적지 주소는 ppp 링크의 다른 쪽 끝이고, 게이트웨이 주소는 outgoing interface(140.252.1.29)의 로컬 IP 주소라는 것을 알 수 있다. (direct route를 위해 netstat에 출력된 게이트웨이 주소는 사용할 interface의 local IP 주소이다.)


default entry는 네트워크(no H flag)로의 indirect rouge(G flag)이다.


gateway address는 SLIP link(140.252.1.29)의 로컬 IP 주소가 아니라 라우터(140.252.1.183)의 주소이다. 다시 말하자면 그것은 direct route가 아니라 indirect route이기 때문이다.


또한, 우리는 세 번째, 네 번째 줄(interface가 s10인 것은) SLIP 소프트웨어에 의해 SLIPline이 설정될 때 생성되었음에 주목해야 한다. 그리고 SLIP 라인이 끊어지면 삭제된다.


라우팅테이블, IP라우팅 초기화 및 설정

댓글