본문 바로가기
Server

[네린이 공부일기] 내부망/외부망 트래픽 흐름

by ojava 2022. 4. 9.
반응형

이 글에서는 내부망으로 인식하는 대상을 '동일한 Network ID를 가지는 대상'으로 설정하기로 한다.
내부망인지를 확인하는 방법은 IP 주소와 서브넷 마스크를 통한 & 연산을 통해 알 수 있다고 앞에 글에서 정리했다.

첫 번째 공부 정리 글에 내용이 있으니 참고하실 분을 위해 링크를 추가합니다.

[네린이 공부일기] LAN과 WAN, 네트워크 주소 체계 (tistory.com)

 

[네린이 공부일기] LAN과 WAN, 네트워크 주소 체계

네트워크는 너무 기본적인 내용만 알고 있었는데 점점 기본도 까먹을 지경이라 다시 시작하는 네트워크 공부일기 첫 번째 글은 제일 기초적인 내용으로 시작하려고 한다. LAN과 WAN이 무엇을 의

ojava.tistory.com

 

 

내부망 트래픽 흐름

내부망에서 트래픽을 전송하기 위해서 아래와 같은 절차를 따른다.

① DNS를 이용한 수신지 IP 주소 조회

② 서브넷 마스크를 이용해서 내부망/외부망 여부 확인
: 첫 번째 절차에서 조회한 IP를 이용하여 수신지의 내부망/외부망을 확인해야 한다.
: 내부망/외부망 여부에 따라 그 다음 절차가 바뀌게 되고 전송 방식도 변경해야 함.


내부망으로 확인되는 경우,
③ ARP Request/Reply를 통해 수신지의 MAC 주소 정보를 조회한다.
: 기존에 송수신 이력이 있다면 ARP 캐시 테이블에 남아있겠지만 만약 없다면 새롭게 정보를 확인하는 과정을 거친다.




이제 외부망 트래픽 흐름에 대해서 얘기해야 하는데, 외부망 트래픽 이해를 위해 필수적으로 알아야 하는 게이트웨이(gateway)에 대한 개념을 먼저 알아보자.

우선 외부망이란, 앞에서 말한 내부망의 반대 개념이라고 생각하면 된다.

Network ID가 같으면 내부망이라고 했으니 송신지와 수신지의 Network ID가 다르면 외부망에 있다고 볼 수 있다.



게이트웨이 (gateway)


TCP/IP 정보를 확인할 때, IP 주소와 서브넷 마스크 그리고 한 가지 더 조회되던 정보인 기본 게이트웨이가 있었다.
(cmd 창에서 ipconfig 명령어를 통해 확인할 수 있음)

여기서 말하는 게이트웨이란, 외부망과 내부망을 연결하는 중계 장비를 말하며 이런 중계 장비로는 대표적으로 라우터나 L3 스위치 등이 있다.

게이트웨이를 통해 내 PC가 외부망의 다른 서비스들과 통신할 수 있다고 보면 된다. 외부와의 연결 창구!

게이트웨이에는 2개의 IP와 서브넷 마스크가 할당되는데 이 중에서 내 PC의 기본 게이트웨이로 설정 가능한 IP는
내 PC의 Network ID와 게이트웨이의 Network ID가 동일한 것을 사용해야 한다. (같은 그룹에 묶여 있어야 함)

 


Media Translation 기능 및 처리 과정

Media Translation은 라우터와 같은 게이트웨이 장비에서 처리하는 것으로, 패킷의 송신지에서 수신지까지 가는 동안 게이트웨이를 거칠 때마다 2 계층 주소에 해당되는 MAC 주소를 변경한다.
이 과정에서 3 계층 주소인 IP 주소의 변환은 없다.

오 어려운데.. 뭔 말인지 하나도 모르겠는데


일단 외부망에 있는 PC와의 통신을 위해서 앞에서 배운 모든 지식을 총동원해보자.

IP를 알아내서 이를 통해 서브넷 마스크로 내부망/외부망 여부를 확인했는데 외부망인 경우라면, 게이트웨이끼리 통신을 하게 된다. 그럼 앞에서 배운 MAC 주소 확인 방식인 ARP를 쓰면 되나?라고 생각할 수 있는데 이는 사용할 수 없다.
완전 배신감 느껴지지만 이건 내부망 용도라고 한다 ^_ㅠ


수신지의 MAC 주소를 모르는 지금 이 상황에서 어떻게 통신을 해야 할까?
예를 들어 설명하기 위해서 아래와 같이 정보를 가정해보자.

  송신지 PC 게이트웨이 1
(송신지 라우터)
게이트웨이 2
(수신지 라우터)
수신지 PC
IP Address 192.168.1.10 192.168.1.254 192.168.5.254 192.168.5.10
Subnet Mask 255.255.255.0
Gateway 192.168.1.254 - - 192.168.5.254 
MAC Address 11-11-22-22-11-11 11-11-22-22-CC-CC 22-22-22-22-22-22 33-33-44-44-55-55

 

 

반응형

 

 

위의 정보 중 송신지의 IP, MAC 주소는 알지만 수신지에 대한 정보는 도메인만 알고 있는 상황
일단 해당 도메인을 기준으로 DNS를 통해 IP를 알아내서 아래의 내용까지 알아냄 ^_ㅠ

수신지 MAC 송신지 MAC 송신지 IP 수신지 IP
? 11-11-22-22-11-11 192.168.1.10 192.168.5.10
(DNS를 통해 알아냄)


외부망 통신의 경우 송신지 PC -> 게이트웨이 1 (송신지 라우터) -> 게이트웨이 2 (수신지 라우터) -> 수신지 PC 순으로 데이터 전송을 진행하게 된다.


① 송신지 PC -> 게이트웨이 1 (송신지 라우터) 로 전송
- 내부망이므로 송신지 게이트웨이 MAC 주소 조회를 위한 ARP Request를 통해 받아올 수 있음
- 이미 이력이 있다면 ARP 캐시 테이블에서도 조회 가능
- 이를 통해 얻어온 MAC 주소는 수신지 MAC 주소로 들어간다. 잉? 스럽지만 일단 진행하자.

수신지 MAC 송신지 MAC 송신지 IP 수신지 IP
11-11-22-22-CC-CC
(송신지 게이트웨이의
MAC 주소)
11-11-22-22-11-11 192.168.1.10 192.168.5.10
(DNS를 통해 알아냄)

 


② 게이트웨이 1 (송신지 라우터) -> 게이트웨이 2 (수신지 라우터)로 전송
여기부터 좀 복잡한데 송신지와 수신지의 게이트웨이를 거치는 과정에서 Media Translation이 일어난다.

수신지 MAC 송신지 MAC 송신지 IP 수신지 IP
11-11-22-22-EE-EE
(게이트웨이 2의 외부 주소)
11-11-22-22-DD-DD
(게이트웨이 1의 외부 주소)
192.168.1.10 192.168.5.10
(DNS를 통해 알아냄)


송신지와 수신지의 IP 주소(3 계층)는 동일하나 MAC 주소(2 계층)는 모두 변경되었다.

송신지 MAC 주소는 게이트웨이 1의 주소로 바뀌고 수신지 MAC 주소는 게이트웨이 2의 주소로 바뀌었음을 알 수 있다. 실제 데이터 통신을 진행하는 대상의 정보로 교체된 것으로 보면 된다.
이를 Media Translation 라고 한다.


③ 게이트웨이 2 (수신지 라우터) 에서 수신지 PC로 전송
이제 실질적인 수신지 내부에서의 전송이 이뤄지게 되는데 이 과정에서도 IP 주소는 동일하나 MAC 주소는 바뀐다.

수신지 MAC 송신지 MAC 송신지 IP 수신지 IP
33-33-44-44-55-55
(실제 수신지 PC의
MAC 주소)
22-22-22-22-22-22
(게이트웨이 2의 MAC 주소)
192.168.1.10 192.168.5.10
(DNS를 통해 알아냄)

이 역시도 실제 송신지/수신지 정보로 변경된 것인데
송신지 MAC 주소는 게이트웨이 2의 MAC 주소로 바뀌고 수신지 MAC 주소는 실제 수신지 PC의 MAC 주소로 바뀌었음을 알 수 있다.



 

외부망 트래픽 흐름


내부망 트래픽 흐름과 비슷한 형태의 흐름을 가지게 되는데 마지막 단계만 다르다.

① DNS를 이용한 수신지 IP 주소 조회

② 서브넷 마스크를 이용한 수신지의 내부망/외부망 여부 확인
: 서브넷 마스크를 통해 조회한 결과 외부망인 경우, ARP를 이용해 수신지 MAC 주소를 조회하는게 아닌 게이트웨이 MAC 주소 조회를 진행한다.


외부망으로 확인되는 경우,
③ Gateway MAC 주소 조회
: ARP 캐시 테이블 혹은 ARP Request/Reply 사용



내부망과 외부망 트래픽 흐름의 가장 큰 차이는
내부망은 수신지 MAC 주소로 데이터를 전송하지만
외부망은 게이트웨이 MAC 주소로 데이터를 전송한다는 차이가 있다.


내부망/외부망 트래픽 흐름에 대해 표로 정리하면서 마무리 

순서 내부망 트래픽 흐름 외부망 트래픽 흐름 비고
1 DNS를 이용한 수신지 IP 주소 조회  
2 서브넷 마스크를 이용한 수신지의 내부망/외부망 여부 확인  
3 수신지의 MAC 주소 조회 Gateway MAC 주소 조회 ARP 캐시 테이블 혹은 ARP Request/Reply 사용

 

반응형