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

라우팅테이블 - ICMP 끊김과 목적지 설정

by vicddory 2017. 9. 13.

라우팅테이블 - ICMP 끊김과 목적지 설정


ICMP 라우팅 테이블[라우팅테이블 - ICMP 끊김과 목적지 설정]


No route to Destination

앞의 예는 모두 라우팅테이블에서 해당하는 것을 찾은 경우이다. 최종적으로는 default route가 선택되기도 하였다. 그렇다면 default route가 없다면 어떻게 될까?


그리고 주어진 목적지에 해당하는 것이 없는 경우에는 어떻게 될까?


해답은 route 될 IP datagram이 호스트에서 생성되었는가 아니면 forward 되어된 것인가에 달렸다. 만일 datagram이 host에서 생성되었다면 datagram을 보낸 application으로 "host unreachable" 또는 "network unreachable"이라는 에러가 리턴된다.


만일 datagram이 forward 된 것이라면, ICMP host unreachable 에러가 원래의 sender에게 되돌아간다. 이러한 에러는 다음장에서 살펴볼 것이다.

ICMP Host and Network Unreachable Errors

ICMP "host unreachable" error message는 deliver 또는 forward할 수 없는 IP datagram을 수신할 때 라우터에게 보내진다.


우리는 이것을 sun에 있는 dialup SLIP link를 끊고 SLIP link를 통해 default 라우터가 sun으로 지정된 다른 host에서 패킷을 보내는 시도를 함으로써 확인해 볼 수 있다.


ICMP 라우팅테이블[라우팅테이블 - ICMP 끊김과 목적지 설정]


앞 절에서 보았던 router sun에 대한 netstat의 출력을 다시 생각해보면, SLIP 링크에서 사용된 라우팅 테이블 엔트리는 SLIP 링크가 설정될 때 추가되고, SLIP 링크가 끊어질 때 삭제된다.


이것은 SLIP 링크가 끊어질 때 sun에는 default route가 하나도 없음을 의미한다. 그러나 우리는 default route가 제거되도록 네트워크의 모든 다른 호스트의 라우팅테이블을 바꿔볼 수는 없지만 sun에 의해 생성된 forward 될 수 없는 패킷의 ICMP host unreachable의 수를 세어볼 수는 있다.


우리는 이것을 svr4에서 dialup SLIP link의 상대편의 호스트로 ping을 실행함으로써 확인할 수 있다.


ping gemini[라우팅테이블 - ICMP 끊김과 목적지 설정]


이것을 bsdi에서 tcpdump로 살펴보면 다음과 같다.


IP 라우팅테이블[라우팅테이블 - ICMP 끊김과 목적지 설정]


router sun이 host gemini로의 route를 찾지 못하면 host unreable과 함께 echo request로 응답한다.

만일 Internet으로의 SLIP link를 연결하고 Internet에 연결되어 있지 않은 IP 주소를 ping 해보면 에러가 발생할 것이다.


라우팅테이블 - ICMP 끊김과 목적지 설정

댓글