2CPU > QnA > 글쓰기
절전모드에 들어간 직후에는 IP에 대한 syn 패킷에 의해서 잠자기가 해결 됩니다만.
일정시간이 지나서 클라이언트와 공유기의 arp 태이블에서 nas의 IP가 사라지게 되면 깨어 나지 않게 됩니다.
억지로 arp 패킷에도 반응해도 잠이 깨도록 설정할 수도 있지만 이렇게 하면 시도 때도 없이 틴爭ぜ곤란하더군요.
물론 좀더 신형 NIC를 구입하면 간단하게 해결될 문재입니다만.
원채장난감을 대하는 느낌으로 nas에 대한 이것저것 설정을 바꾸거나 하기 때문에 드라이버 지원 범위가 널널한 intel nic를 유지하고 싶고.(최신 윈도우즈에서는 intel 드라이버는 사용할 수 없긴 합니다만. 어지간한 os에서는 사용이 가능해서 큰 걱정이 없더라고요.)
인텔에 한정하면 저렴하게 구할 수 있는 nic들은 아주 구형이라 거의 arp offload를 기대 할 수 없더라고요.
그래서 겸사겸사 싱글 보드 컴퓨터를 하나 구입해서 오드로이드를 올렸습니다.
항시 대기 해야 하고 성능 필요 없는 서버들을 옮겨서 이원화 하는 김에 이 ARP offload 지원 불가 문제도 해결 해 보려고요.
일단 제가 파악한 상황을 정리하면..
-arp offload가 정상적으로 작동하는 컴퓨터가 잠을 깰때.
1.클라이언트가 서버의 IP를 알고 서비스를 요청하려고 함.
2.클라이언트는 서버의 MAC을 모르므로 브로드케스트로 arp 요청을 때림
3. 서버는 잠자는 채로 NIC가 arp에 대답함.
4. 클라이언트는 arp를 받아서 서버의 mac주소를 획득함.
5. 클라이언트는 획득한 mac주소로 syn ipv4 패킷을 보넴
6. 자신의 아이피에 대한 syn 패킷을 받은 서버의 nic가 서버를 틸/p>
-arp offload를 지원하지 않는 경우
1.클라이언트가 서버의 IP를 알고 서비스를 요청하려고 함.
2.클라이언트는 서버의 MAC을 모르므로 브로드케스트로 arp 요청을 때림
3.서버는 잠자는 상태.. NIC도 잠자는 상태.
4.클라이언트는 영원히 서버의 MAC을 모르고 서버는 영원히 잠자는 상태.
이렇게 파악 했습니다.
그래서 싱글보드 컴퓨터를 통해서 대신 ARP에 답변을 하도록 만들어 보았습니다.
이런 구조인데요.
cmd에서 arp명령어로 확인했더니. nas가 잠들어 있는 상태에서도 nas의 MAC이 arp 태이블에 등록 되는것을 확인할 수 있엇습니다.
MAC을 확인 할 수 없었을 때는 송신하지 못했던 패킷을 데스크탑이 쏴 보네는것도 와이어 샤크로 확인했고요.. 그런데 정작 nas는 깨어나지 않습니다.
nas가 잠든 직후에 보넨 동일한 내용의 패킷이 nas 잠자기에서 깨우는데 어서 같은 깨워지지가 않는걸까요?
데스크탑에서 쏴 보네기는 하지만 nas의 nic에는 닫지 않는 건가요?
그렇다면 어떻게 해결 해 줄 수 있을까요?
ÇØ´ç MAC¿¡ ´ëÇÑ Æ÷Æ®¸¦ ±â¾ïÇÏ°í ÀÖ¾î¾ß Çϴµ¥ ±×·¯Áö ¸øÇÑ °æ¿ì´Â °øÀ¯±â¿¡¼´Â ÇØ´ç MACÀ» ´ë»óÀ¸·Î ÇÏ´Â ÆÐŶÀ» ¸ðµç Æ÷Æ®·Î »Ñ¸°´Ù°í µé¾ù½À´Ï´Ù.
odroid°¡ ARP¿¡ ´ëÇÑ ´äº¯À¸·Î NASÀÇ MACÀ» ¾Ë·ÁÁÖ´Â ¼ø°£ ÆÐŶÀ» ºÐ¼®Çؼ odroid·Î °¡´Â Æ÷Æ® ÀÌ¿ÜÀÇ Æ÷Æ®·Î´Â ÇØ´ç ÆÐŶÀÌ Àü´ÞµÇÁö ¾Ê´Â »óȲÀÌ ¹ú¾îÁö´Â°Í Àΰ¡¿ä?
³×Æ®¿öÅ© °ü·Ã ÇÑ±Û ¾²´Â ´Ù¸¥ Ä¿¹Â´ÏƼ ¸ÕÀú ½ÃµµÇØ ºÁ¾ß°Ú¾î¿ä..