reference: "하루 3분 네트워크 교실" / 아미노 에이지
IP 주소는 '최종 수신처'. MAC 주소는 '다음 수신처'를 결정.
라우팅은 다음 수신처를 지정하기 위해 수행하는 홉-바이-홉 방식.
라우터가 없으면 다른 네트워크(==세그먼트)에 데이터그램을 보낼 수 없다.
컴퓨터에 설정되어 있는 라우터는 디폴트 게이트웨이라고 부른다.
라우터가 경로 선택을 한다.
라우터의 인터페이스는 IP 주소를 갖는다.
라우터는 경로를 선택하기 위해서 라우팅 테이블을 갖는다.
라우터는 브로드캐스트를 다른 네트워크에 보내지 않는다.
브로드캐스트가 미치는 범위를 브로드캐스트 도메인이라 한다.
컴퓨터는 다른 네트워크로 데이터를 전송하려고 할 경우 디폴트 게이트웨이에 보낸다.
그 경우 디폴트 게이트웨이로 ARP를 송신하고, 디폴트 게이트웨이의 MAC주소를 수신처 MAC주소로 정한다.
라우터는 라우팅 테이블을 참조하여 수신처에의 경로를 결정한다.
라우팅 테이블에는 수신처 네트워크, 다음 중계 라우터, 거리, 송신 인터페이스가 기재되어 있다.
라우팅 테이블을 만들기 위해 라우터는 다른 네트워크에의 경로를 알아야 한다.
알아내는 방법에는 정적 라우팅과 동적 라우팅이 있다.
컨버젼스여야 한다.
IP 주소: 최종적인 수신처
MAC 주소: 같은 네트워크 내에서의 수신처
MAC 주소로 다음에 보낼 장소를 지정하고 거기에 도달하면 다시 MAC 주소로 다음에 보낼 장소를 지정. 이것을 반복하여 최종 수신처에 도달.
=> 수신처가 되는 MAC 주소는 계속 바뀜.
=> 반면 IP 주소는 변경이 없다. 따라서 IP 주소가 데이터의 '최종 수신처', MAC 주소가 '다음 수신처'가 되는 것이다.
라우터라는 장치가 경로를 결정한다. 자신의 위치에서 수신처까지 가기 위해 다음에 어디로 보내야 할지 결정한다.
반복해서 다음 길을 제시해 가는 방식을 홉-바이-홉이라 한다. 홉은 라우터를 가라키는 용어이다.
홉 바이 홉 방식에서 복수의 라우터가 '다음' 수신처를 가리키는 과정을 반복함으로써 전체의 '경로'가 만들어진다. 그리고 라우터가 네트워크 경계상에 배치되어서 전송받은 데이터그램을 라우팅해서 다음 수신처를 결정한다.
기본적으로는 수신처에 가기 위한 다음 라우터를 말한다.
라우터가 없으면 다른 네트워크에 데이터그램을 보낼 수 없다. 이것은 절대적인 규칙이다.
상황 1. 라우터(디폴트 게이트웨이)가 설정되어 있는 겨우
상황 2. 라우터(디폴트 게이트웨이)가 설정되어 있지 않은 경우
라우터는 어떤 네트워크에서 다른 네트워크에 데이터그램을 보내는 역할을 하고 '네트워크와 네트워크의 경계상'에 배치되기에 복수의 인터페이스를 가질 수 있다.
라우터의 인터페이스에는 논리 주소인 IP 주소가 설정되어 있다. 즉, 라우터의 각 인터페이스는 각각의 네트워크에 소속되어 있는 형태이다.
라우팅(Routing)이란 간단하게 말하면 데이터그램의 수신처 IP 주소를 근거로 다음에 송신하는 라우터를 결정하는 것이다.
라우터는 네트워크 경계상에 있기에 복수의 네트워크끼리 연결하는 역할을 한다.
이들 '복수의 네트워크'는 LAN으로 사용되는 이더넷인 경우도 있고 WAN으로 사용되는 회선인 경우도 있다. 이렇게 다른 종류의 네트워크를 '연결'하는 것도 라우터의 역할.
라우터는 라우팅 테이블이라는 것을 가지고 있다. 최적 경로의 지도하고 생각하면 이해하기 쉽다. 라우터가 수신한 패킷이 수신처까지 도달하기 위한 최적의 경로가 그려져 있는 지도라고 할 수 있다.
이 지도에는 수신처 네트워크까지의 거리, 다음에 도달하는 라우터, 그 라우터에 연결되어 있는 자신의 인터페이스 등이 기재되어 있다. 라우터는 이 테이블을 따라 수신 받은 패킷을 수신처까지 보낸다. 라우팅 테이블이야말로 라우터의 중요한 요소이다.
라우팅 테이블에서 다음 수신처를 찾아내는 방식은 최장일치의 룰이다.
수신처 IP 주소와 라우팅 테이블의 엔트리를 비교하여 프리픽스 길이까지 일치한 것 중 가장 프리픽스 길이가 긴 경로를 사용한다.
브로드캐스트는 라우터를 넘어서 전송할 수 없다.
라우터가 네트워크를 나누기에 브로드캐스트가 다른 네트워크에 송신되지 않도록 한다. 이 브로드캐스트가 도달하는 범위를 브로드캐스트 도메인(broadcast domain)이라 한다.
브로드캐스트 도메인 == (좁은 의미의)네트워크
아래와 같은 방식으로 여러 프로토콜을 통해 서로 다른 네트워크 간 데이터 통신에 필요한 주소를 구할 수 있다.
1. 송신처 MAC 주소는 NIC를 장치하면 자동적으로 알 수 있다.
2. 송신처 IP 주소는 수동 또는 DHCP로 할당 받아서 알 수 있다.
3. 수신처의 도메인 명을 결정하면 DNS로 수신처 IP 주소를 알 수 있다.
4. 수신처 IP 주소를 알면 ARP로 수신처 MAC 주소를 알 수 있고, 이를 통해 데이터 전송이 가능해진다.
위 순서에서 4번은 ARP를 통해 수신처의 MAC 주소를 알아낸다. 그런데 문제가 있다. ARP는 브로드캐스트이다. ARP가 브로드캐스트라는 것은 라우터가 ARP를 다른 네트워크에 전송하지 않는다는 의미이고, 그렇다면, 다른 네트워크에 있는 컴퓨터의 MAC 주소를 알 수 없다는 것인가? 디폴트 게이트웨이를 통해 문제를 해결한다.
디폴트 게이트웨이는 네트워크의 출입구이라 할 수 있다. 다른 네트워크로 데이터를 전송하고 싶은 호스트는 일단 디폴트 게이트웨이로 데이터를 보내서 '다른' 네트워크로 전송한다. 즉, 컴퓨터가 최초로 데이터를 보내는 '수신처'는 디폴트 게이트웨이가 되는 것이다. 그리고 이렇게 컴퓨터가 '다른' 네트워크에 데이터를 송실할 경우 수신처는 반드시 디폴트 게이트웨이의 MAC 주소가 된다.
이를 위해서 디폴트 게이트웨이의 MAC 주소를 구하기 위해 디폴트 게이트웨이로 ARP를 수행한다.
결국 디폴트 게이트웨이의 IP 주소를 알고 있어야 한다는 뜻이고, 컴퓨터에는 디폴트 게이트웨이의 IP 주소를 미리 설정해둔다(수동 또는 DHCP를 통해).
source: https://www.netmanias.com/ko/post/blog/5403/ip-ip-routing-network-protocol/subnet-mask-and-default-gateway