해결된 질문
작성
·
563
0
모든 강의를 수강했는데
L3 IP Packet 입장에서 소스/도착지 IP주소로 어떻게 찾아가는지는 매번 자세하게 설명해주셔서 어느정도 감이 잡힌 것 같습니다.
질문 내용은 L3 이전에 L2 수준에서 Frame 을 송신/수신할때
MAC 주소를 보고 위 흐름과 비슷한 처리들을 할텐데
자세하게 어떻게 처리되는지가 궁금합니다.
이 궁굼증이 문득 왜 들었냐면 곰곰히 생각해보면...
1개의 NIC에 1개의 MAC주소가 있고, 여기에 나아가 1개의 IP주소가 할당될텐데 그렇다면 이 할당된 IP주소로 결국 해당 NIC까지 식별이 되는데 MAC 주소는 언제쓰지? 하는 생각이 들었습니다.
NIC:MAC주소:IP주소가 1:1:1 매핑인데 결국 IP주소로 최종 END-POINT 까지 찾아갈수 있지 않을까? 하는 의문에서 시작된 부분이고
니아가 L2 스위치의 역할도 MAC주소가 아니라 IP주소로 그냥 찾으면 되지 않나? 하는 생각도 드는데...
분명 어딘가에서 크게 잘못 생각하고 있는거 같은데 그 부분을 잘 모르겠습니다....
L2강의에서 목적지 MAC주소는 G/W의 Mac주소를 쓰신다고 말씀주셨었는데 이 과정이 구체적으로 어떻게 처리되는지 궁금하고 거꾸로 수신할때는 어떻게 처리되는지 궁금하네요~
좋은강의 만들어주셔서 감사드리고 응원하겠습니다!
답변 1
0
잘못 알고 있는 부분이 있습니다.
1. 한 개 NIC에 IP주소는 여럿 할당 (Bind)할 수 있으며
2. 목적지 Host IP주소와 MAC주소는 일치하지 않을 수 있습니다.
Gateway로 향하는 모든 패킷의 목적지 MAC은 GW가 맞습니다. 하지만 목적지 IP주소는 GW가 아닌 다른 호스트의 IP주소인 경우가 대부분입니다.
만일 IP주소 1.1.1.1인 호스트의 MAC 주소가 AA:AA:AA:AA:AA:AA이고
1.1.1.2 호스트의 MAC주소는 BB:BB:BB:BB:BB:BB 라고 가정했을 때
목적지 MAC이 AA:AA:AA:AA:AA:AA이고 목적지 IP가 1.1.1.2인 Frame이 있다면 이 프레임은 일단 1.1.1.1 호스트에 전달됩니다. MAC주소는 1.1.1.1 호스트에 장착된 NIC의 MAC 주소가 맞기 때문입니다. 그러나 IP stack을 통과해 위로 올라가지 못하고 버려집니다. 잘못 배송된 IP주소이기 때문입니다.
L2 스위치는 스위칭 시 IP주소를 확인하지 않습니다. 오직 MAC주소만 확인하지요. 참고하시기 바랍니다. 감사합니다. ^^