네트워크를 통해 데이터가 이동하는 방식을 이해하는 것은 네트워킹의 기본입니다. 종종 **패킷 경로 (packet path)**라고 불리는 이 여정에는 다양한 프로토콜과 하드웨어 간의 조정된 노력이 필요합니다. 로컬 네트워크 내 통신과 외부 네트워크 통신의 두 가지 일반적인 시나리오에서 패킷 경로를 추적해 보겠습니다.
로컬 네트워크 내 패킷 경로
장치가 동일한 로컬 네트워크의 다른 장치로 패킷을 보낼 때, 프로세스는 비교적 간단합니다.
- 먼저, 송신 호스트는 대상 IP 주소가 자신의 IP 주소 및 서브넷 마스크와 비교하여 동일한 서브넷에 있는지 확인합니다.
- 패킷을 보내려면 호스트는 소스 IP, 대상 IP, 소스 MAC 주소, 대상 MAC 주소라는 네 가지 주요 정보가 필요합니다. 처음에는 호스트가 대상 호스트의 MAC 주소를 모릅니다.
- 호스트는 누락된 정보를 찾기 위해 주소 결정 프로토콜 (ARP) 을 사용합니다. 대상 IP 주소를 가진 장치가 무엇인지 묻는 ARP 요청을 로컬 네트워크에 브로드캐스트합니다. 해당 장치는 자신의 MAC 주소로 응답합니다.
- 대상 MAC 주소를 알게 되면 패킷에 완전히 주소가 지정되어 로컬 네트워크의 대상 호스트로 직접 전송될 수 있습니다.
외부 네트워크로의 패킷 경로
패킷의 대상이 로컬 네트워크 외부의 장치인 경우, 패킷을 전달하기 위해 라우터가 관련된 프로세스가 진행됩니다.
- 송신 호스트는 대상 IP 주소가 로컬 네트워크에 없음을 확인합니다. ARP 브로드캐스트는 로컬 네트워크로 제한되므로 호스트는 최종 대상의 MAC 주소를 직접 검색할 수 없습니다.
- 호스트는 라우팅 테이블을 확인합니다. 외부 IP 에 대한 특정 경로가 없으므로 기본 게이트웨이 (라우터) 를 가리키는 기본 경로를 사용합니다. 패킷은 원래의 소스 및 대상 IP 주소로 준비됩니다. 그러나 대상 MAC 주소는 기본 게이트웨이의 MAC 주소로 설정됩니다. 게이트웨이의 MAC 를 모르는 경우 호스트는 ARP 를 사용하여 이를 찾습니다.
- 패킷이 라우터에 도달하면 라우터는 대상 IP 주소를 검사하고 자체 라우팅 테이블을 확인하여 패킷 경로를 따라 다음 홉을 결정합니다. 그런 다음 라우터는 패킷의 MAC 주소를 다시 작성합니다. 소스 MAC 는 라우터의 MAC 가 되고 대상 MAC 는 다음 홉의 MAC 가 됩니다. 이 프로세스는 경로를 따라 각 라우터에서 반복됩니다.
- 패킷이 최종적으로 대상의 로컬 네트워크에 연결된 라우터에 도착하면 해당 라우터는 ARP 를 사용하여 최종 호스트의 MAC 주소를 찾고 패킷을 전달합니다.
- 이 전체 여정 동안 패킷 헤더의 소스 및 대상 IP 주소는 변경되지 않습니다. MAC 주소만 각 홉에서 업데이트됩니다.