[ICMP redirect] IP 라우팅 : Redirect 메시지 구조

[ICMP redirect] IP 라우팅 : Redirect 메시지 구조


아래 그림은 ICMP redirect message의 형식을 보여주고 있다.


ICMP redirect messageICMP redirect message


네 가지의 서로 다른 redirect message가 있다. 그것들은 다음 그림에서와같이 code로 구별된다.


Different code values for ICMP redirectDifferent code values for ICMP redirect


ICMP redirect가 보아야 하는 세 개의 IP 주소가 있다.


(1) redirect를 유발한 IP 주소(ICMP redirect의 데이터 부분에 있는 IP 헤더)

(2) redirect를 보내는 라우터의 IP 주소(redirect를 포함하고 있는 IP datagram의 source IP address)

(3) 사용될 라우터의 IP 주소(ICMP message의 4-7바이트)

ICMP redirect에 대한 많은 규칙이 있다.


첫째, redirect는 라우터에 의해서만 생성된다.


ICMP 리다이렉트 메시지[[ICMP redirect] IP 라우팅 : Redirect 메시지 구조]


또한, redirect는 라우터가 아니라 호스트에 의해서 사용될 것이다. 그리고 라우팅 프로토콜은 분명히 redirect를 위해 필요하다. (이것은 맨 위의 그림에 있는 라우팅 테이블이 routing daemon 또는 redirect 중 하나에 의해 갱신될 수 있다는 뜻이다.)


라우터로 동작할 때 4.4BSD는 다음과 같은 체크를 수행한다. 그리고 ICMP redirect가 생성되기 전에 다음의 사실이 모두 참이 되어야 한다.


1. outgoing interface는 incoming interface와 같아야 한다.

2. outgoing datagram을 위해 사용될 route는 ICMP redirect에 의해 생성되거나 변경되지 않았다.

3. datagram은 source route 되지 않았다.

4. 커널은 redirect를 보내도록 구성되어 있다.

추가로, ICMP redirect를 수신한 4.4BSD 호스트는 라우팅 테이블을 갱신하기 전에 다음의 내용을 체크한다.


ICMP IP 라우팅[[ICMP redirect] IP 라우팅 : Redirect 메시지 구조]


1. 새로운 라우터는 directly connected network에 있어야 한다.

2. redirect는 그 목적지를 위해 현재의 라우터로부터 되어야 한다.

3. redirect는 그 자신이 라우터로 사용되기 위해 호스트로 알리지 않을 것이다.

4. 갱신된 route는 indirect route가 되어야 한다.


redirect에 대해 마지막으로 살펴보아야 할 것은, 라우터는 network redirect가 아닌 host redirect(위 그림의 code 1 또는 3)만을 보내야 한다는 점이다.


network redirect가 호스트 redirect 대신에 보내질 수 있을 때 subnetting은 정확히 기술하는 것을 어렵게 한다. 어떤 호스트는 수신된 network redirect를 라우터가 타입이 틀린 것을 보낸 것으로 하여 host redirect로 취급한다.


[ICMP redirect] IP 라우팅 : Redirect 메시지 구조

댓글(0)

Designed by JB FACTORY