본문으로 바로가기

게이트웨이는 왜 필요한 거임?

 

한 네트워크 내 단말간의 통신은 ARP 브로드캐스트를 날린 후 상대방 MAC 주소를 알아내서 직접 통신할 수 있다고 전에 살펴보았습니다. 

 

그러나, 자신의 네트워크 바깥의 다른 네트워크에 속한 단말과 통신하기 위해서는 이 방식이 불가능합니다.

원격 네트워크 통신에서는 네트워크 내부 전체 호스트에게 요청을 날리는 브로드캐스트가 닿지 않기 때문입니다.

따라서, 별도의 장비가 필요한데 이를 '게이트웨이'라고 합니다. 다른 네트워크로 들어가는 관문(gate)의 길(way)라고 생각하시면 좋습니다. 정확히는, 게이트웨이 IP에 ARP 요청을 날립니다.

 

게이트웨이에 대한 정보를 장비에 설정하는 항목이 '기본 게이트웨이'입니다. ipconfig 쳐보시면 기본 게이트웨이 뜨잖아요? 그겁니다. 기본 게이트웨이는 3계층 장비가 수행합니다. 3계층 스위치(라우터)가 한다고 보면 되겠습니다.

 

  • 로컬 통신 : 단순 ARP 요청으로 통신 가능
  • 원격 통신 : 자신의 네트워크 범위 바깥과 통신해야하므로 기본 게이트웨이 IP에 ARP 요청을 보내야 함.

 

게이트웨이 /= 라우터

 

개념적으로 게이트웨이와 라우터는 다른 것입니다.

게이트웨이는 다른 네트워크로 들어가는 관문 내지는 통로라는 어떤 '추상, 개념적인 용어'이며

라우터는 패킷 이동의 적절한 이동을 돕는 '기계 장치'입니다.

 

게이트웨이의 역할은 여러 장치가할 수 있지만, 3계층 스위치인 라우터가 주로 이 역할을 수행한다.

정도로 이해하면 좋습니다.

 

 

proxy ARP 라는게 있던데 

 

자, 일반적인 원격 통신 절차를 살펴봅시다.

기본 게이트웨이에 proxy ARP 기능이 활성화 되어 있다면, 로컬에서 통신하는 것처럼 ARP를 날리는 것만으로도 원격 통신이 가능해집니다! 일반적으로는 기본적으로 활성화 되어 있어서 유저는 아무 생각없이 원격 통신을 로컬 통신처럼 사용하게 됩니다. 다만 라우터를 교체하거나 구성을 변경하는 경우 장애의 요인이 되기도 합니다. 

 

 

2계층 통신(L2 통신) vs 3계층 통신 (L3 통신)

 

실무에서 많이 쓰이는 용어라고 합니다. 우리가 지금까지 말했던 로컬 통신, 원격 통신을 부르는 다른 말입니다.

조금 더 구체적으로 통신이 어떻게 이루어져있는지 확인해봅시다.

 

2계층 통신 = 로컬 네트워크 통신

3계층 통신 = 원격 네트워크 통신

 

로컬 통신의 경우 라우터와 같은 3계층 장비 없이도 ARP 통신만으로도 통신할 수 있으므로 2계층 통신이라고 부릅니다.

 

반면 ARP 브로드캐스트가 닿을 수 없는 다른 네트워크의 경우, 해당 네트워크에 접속할 수 있는 관문인 게이트웨이의 IP에 ARP 요청을 보냅니다. 게이트웨이에서 ARP 응답을 받은 단말은 도착지 MAC 주소에 게이트웨이의 MAC 주소를 넣고 통신합니다. 즉, 게이트웨이가 중간에 껴서 통신을 하게 되는거죠. 결론은, 3계층 통신에서 목적지 IP는 실제로 통신이 도달하는 IP 주소이고, 도착지 MAC 주소는 게이트웨이의 MAC 주소가 됩니다.

 

OSI 7계층에서 서로 통신을 할 때 중간 다리 역할을 하는 라우터를 빼고 그리곤하는데

라우터까지 거쳐가는 것을 시각화해보자면 다음과 같이 할 수 있습니다.

중간에 L3 까지 올라가는 거 보이시죠? (게이트웨이 역할을 하는) 라우터 거쳐서 원격 네트워크의 단말과 소통한겁니다.

 

 

 

 

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체