nonlocal IP bind 된 소켓의 수신이 가능한 이유??
글쓴이: trymp / 작성시간: 토, 2012/04/21 - 12:46오후
linux 상에서 /proc/sys/net/ipv4/ip_nonlocal_bind 를 "1" 로 설정하며
NIC 에 없는 IP 로도 bind 가 가능한 것으로 알고 있습니다.
그래서 그렇게 소켓통신을 해보니 정상적으로 되더군요.
송신시에는 soruce IP 가 자신의 IP 가 아닌 bind 된 IP 를 달고 나가고
돌아온 응답패킷의 destination IP 도 bind 된 IP 로 오던군요.
송신은 이해가 되는데 수신이 어떻게 가능한지 모르겠습니다.
routing lookup 을 해서 local인 패킷에 대해서만 ip_local_deliver() 함수로
전달이 되는 것으로 알고 있습니다. 근데, 이 패킷은 ip_local_deliver() 로
전달이 되더군요. route 정보에는 bind 된 IP 에 대한 설정이 없습니다.
어떻게 응답패킷이 소켓으로 전달되는지 궁금하네요.
고수님들의 많은 조언 부탁드립니다.
Forums:
댓글 달기