NETLINK 소켓에 관련해서 질문이 있습니다.
안녕하세요?
아래의 경우에 gateway 주소를 얻어오는 소스 입니다.
http://cafe.naver.com/newchany/410 <== 해당 소스에 관해서 질문이 있습니다.
궁금한 내용은 아래와 같습니다.
struct nlmsghdr *nlMsg;
struct rtmsg *rtMsg;
struct route_info *rtInfo;
sock = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE)
nlMsg->nlmsg_type = RTM_GETROUTE; // Get the routes from kernel routing table .
nlMsg->nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST; // The message is a request for dump.
send(sock, nlMsg, nlMsg->nlmsg_len, 0) ==> 이 경우에 커널과 IPC가 발생할 것으로 보이는데요...
readNlSock(sock, msgBuf, msgSeq, getpid()))
send()로 인해서 특정 유선 트랙픽이 유발되는 건가요... gateway라던지.. 외부 장비쪽으로
유선 네트워크 트래픽이 발생되는 건가요?? 궁금합니다.
라우팅 테이블에 gateway 주소가 있다고 하면.. 커널에서 반환을 해줄것 같은데... 만약에
없다고 하면... 갱신을 위해서 특정 패킷을 전송할 것 같은데... 맞는건가요?
제가 보기엔 단순히 IPC만 수행하는 것 같아보입니다..^^
감사합니다.
댓글 달기