✔️ 게이트웨이
게이트웨이(gateway)는 다른 네트워크로 나가기 위한 나가는 문이다!
같은 네트워크에서는 게이트웨이가 필요하지 않지만 다른 네트워크와 통신을 하기 위해선 게이트웨이가 필요하다.
위 사진을 예시로 A 네트워크에 있는 PC들이 B 네트워크로 가기 위해선 게이트웨이를 거쳐야 한다.
게이트웨이에는 다른 네트워크로 갈 수 있는 길이 저장되어 있어 우린 PC에 게이트웨이를 설정만 해주어도 알아서 목적지를 향해 데이터를 전달해준다.
✔️ 일상 속의 게이트웨이
Window + r키를 눌러 실행창을 열고 cmd를 열어보자
앞에 보이는 검은 화면의 command창에서 ipconfig라는 명령어를 입력하면 자신의 게이트웨이를 확인할 수 있다.
어? 근데 난 아무 설정도 하지 않았는데 왜 IP와 게이트웨이가 설정되어 있지 싶은 경우가 있을 것이다!
그 이유는 우리가 집에 설치한 인터넷 공유기에서 DHCP라는 기능으로 컴퓨터 부팅 시 자동으로 IP를 할당해주기 때문이다.
다시 본론으로 돌아가 그럼 집에서 게이트웨이는 누가 되는 것일까? ipconfig 명령어를 쳤을 때 할당되어 있는 저 게이트웨이는 어디를 가리키고 있는 것일까? 대부분 집에서는 IP를 할당해주는 공유기가 게이트웨이 역할을 한다! 물론 학교나 회사에서는 스위치라는 장비가 게이트웨이로 많이 쓰인다.
우린 당연하게도 컴퓨터를 부팅하고 인터넷에 들어가면 잘만 되었지만 그 사이에 많은 일들이 일어나고 있었던 것이다.
컴퓨터를 부팅했을 때 공유기에서 자동으로 IP와 게이트웨이를 설정해주고 크롬을 켜서 구글에 접속하려고 하면 공유기(게이트웨이)가 알아서 구글의 주소를 찾아와 구글에 접속이 될 수 있도록 해주었던 것이다! 좀 더 자세한 내용은 아래에서 설명하겠다!
✔️ 게이트웨이의 원리?
게이트웨이를 설정해주면 자동으로 외부와 통신이 되는 원리가 무엇일까?
게이트웨이를 설정하면 자동적으로 영구 경로에 추가된다.
아까 켰던 cmd창에서 route print -4 명령어를 통해 확인할 수 있다.
영구 경로에 있는 0.0.0.0(All Zero Network)은 모든 네트워크 주소라는 의미이다. 위의 영구 경로 주소를 간단하게 설명하자면 *모르는 주소로 데이터를 보낼 때 무조건 10.254.241.1(게이트웨이)로 보낸다는 것이다.
*모르는 주소란? : PC 테이블에 해당 경로가 존재하지 않을 때, 한마디로 같은 네트워크가 아닌 주소
처음 구글에 접속하려고 하는데 구글의 IP주소가 내 PC에 저장되어 있을 리가 없다. 만약 존재한다 하더라도 전 세계의 모든 IP 주소가 PC에 저장되어 있을 수 없으니 사실상 통신은 불가능하다. 목적지를 모르기 때문에. 하지만 내가 모르는 어떤 목적지이든 게이트웨이로 데이터를 보내면 게이트웨이에서 전 세계에 연결되어 있는 ISP(KT, SK 브로드밴드 등)에 보내 어딘가에 존재하는 목적지의 데이터를 가져와주는 것이다!
✔️ 게이트웨이의 동작
📌 친구에게 문자 보낼 때
내 집에 있는 PC의 게이트웨이는 공유기이다. 친구에게 메세지를 보낼 때 내가 원하는 말을 입력하고 전송 버튼을 누르면 그 메세지에 대한 패킷이 생긴다. 그럼 PC는 자기에게 저장되어 있는 IP 테이블을 본다. 만약 친구가 같은 네트워크에 있다면(ex. 우리 집에서 같은 공유기를 사용하는 중) 게이트웨이를 거치지 않고 바로 친구에게 전송이 될 거다! 하지만 친구가 같은 네트워크에 있지 않으면 내 PC는 친구의 목적지를 알 수 없으니 게이트웨이로 패킷을 보내게 된다. 왜? 모르는 주소는 게이트웨이로 가라고 내 PC 테이블에 저장되어 있으니까 말이다. (cmd창 영구 경로 참고) 그 패킷을 받은 게이트웨이는 또 자신의 라우팅 테이블을 확인하고 테이블에 써져있는 경로로 패킷을 보내게 된다. 그렇게 수많은 ISP를 떠돌다가 친구에게 내 패킷이 전송이 되는 것이다!
📌 구글에 접속할래
tracert는 경로를 추적하는 명령어이다. 예시를 위해 구글까지 가는 경로를 추적했을 때 역시 가장 먼저 내 게이트웨이를 통해서 여러 경로를 지나 구글에 도착하게 된다.
✔️ 정리
이렇게 컴퓨터 네트워크에서 게이트웨이는 정말 중요한 역할을 한다. 게이트웨이가 없다면 다른 네트워크에 도달할 수가 없다.
'IT Network System > Network' 카테고리의 다른 글
Kerberos (0) | 2021.05.20 |
---|---|
암호화 / 인증 (0) | 2021.04.28 |
IPsec VPN (0) | 2021.04.28 |
FTP (0) | 2021.02.25 |
공인 IP, 사설 IP, NAT (0) | 2021.02.24 |
댓글