스위치가 허브와 달리 특정 컴퓨터에 패킷을 어떻게 전달하는지에 대해서 그 원리를 알게 되었다.
IP 주소에서 MAC 주소로의 변환 과정을 ARP이 담당하게 됩니다.
1. A사용자가 C사용자에게 “안녕”이라는 메시지를 날립니다. (A는 C의 IP주소를 알고 있음)
2. A사용자의 컴퓨터는 C사용자에게 데이터를 전송하기 위해서 가까이에 연결된 스위치에 요청을 보내게 되고, C사용자의 컴퓨터 MAC Address가 스위치의 CAM(Content Addressable Memory)테이블에 등록되어 있지 않다면, 스위치는 연결되어 있는 모든 컴퓨터에 ARP 브로드캐스트 패킷을 보내게 됩니다.
3. 스위치에 연결되어 있는 컴퓨터들은 들어온 패킷 header 에 있는 IP가 자신의 IP가 아니므로 drop 하게 되고, C 컴퓨터만이 들어온 패킷 정보의 IP가 자신에게 들어온것임을 알고 MAC주소를 ARP reply에 실어 보냅니다.
4. 스위치는 reply 해서 들어온 MAC 주소를 CAM 테이블에 저장합니다.
5. reply 들어온 패킷을 A사용자에게 보냅니다.
6. ARP reply 패킷을 받게된 A호스트 역시 IP-MAC테이블을 갱신하게 되고, A사용자는 C사용자의 MAC주소를 알고 있으므로 다음부터는 MAC 주소를 이용하여 통신을 하게 됩니다.
* 여기서 C사용자의 IP-MAC은 A사용자의 MAC정보를 가지고 있지 않으며, 위와 같은 방법으로 C사용자가 A사용자로의 통신 요청 시 갱신이 됩니다.
음..여지껏 컴퓨터끼리의 통신은 IP를 이용한 패킷 통신인줄 알았는데 ARP를 공부하게 되면서 컴퓨터끼리의 통신은 MAC(Media Access Control) Address를 통해서 이루어 진다는 것을 알게 되었고, 그 원리에 대해서 이해할 수 있었습니다. ^^