[질문] Interface의 NP ARP 설정시 패킷 송신??
오랜만에 드리는 질문입니다.
특정 ethernet I/F의 속성을 ifconfig eth-xx -arp로 설정했을 때, 해당 I/F로 패킷 송신시 arp 과정을 수행하지 않은 것으로
알고 있습니다.
그런데.. 이 경우 패킷은 어떤 경우에 나갈 수 있을까요?
(1) arp cache에 수동으로 destination에 대한 static arp entry를 넣는 경우 - OK!
(2) (1)번 이외에 어떻게 하면 패킷이 나갈까요?
(kernel root/net/ethernet/eth.c 를 보면 IFF_NOARP인 경우에는 dest ethernet address를 0으로 채워 보냅니다.
if (dev->flags & (IFF_LOOPBACK|IFF_NOARP)) { memset(eth->h_dest, 0, dev->addr_len); return(dev->hard_header_len); }
참고로 제가 실험을 한번 해봤는데...
(1) I/F의 arp 를 ifconfig eth-xx -arp로 하고 (NP ARP 설정)
(2) 특정 dest로 ping을 수행하니 I/F에 할당된
MAC(source MAC)을 dest MAC으로 달고 나가더군요..
(즉, source와 dest MAC이 동일하게...)
최종 질문!!!
no arp로 설정된 I/F로 패킷이 송신된다면 ethernet 헤더가 붙어서 물리적 device로 내려가는 것이 맞나요?
아니면 ethernet 헤더 없이 IP 헤더만 물리적 device로 내려가는 것이 맞나요?
(제 생각에는 위의 실험 결과를 보더라도 ethernet 헤더를 부가할 것 같거든요..)
도움 바랍니다. ~~~
ethernet 헤더없이 IP 헤더만 물리층으로 내려갈 수가 있나요???
ethernet 헤더없이 IP 헤더만 물리층으로 내려갈 수가 있나요???
그렇게 되면 프로토콜에 위배되는거 아닌가요???
좀 어렵네요...^^
/***************************************************
* 가장 심플한 것이 가장 아름다운 것이다.
***************************************************/
댓글 달기