개요
•
이전 글에서는 동일 네트워크 내에서의 통신 과정인 LAN 통신에 대해서 알아봤다.
•
이번에는 서로 다른 네트워크의 통신 과정을 알아보자.
WAN (Wide Area Network)
•
서로 다른 네트워크가 연결된 것을 말한다.
◦
즉, 서로 다른 LAN이 연결된 것이다.
•
LAN이 하나의 네트워크라면, WAN은 각각의 서로 다른 네트워크들이 연결된 것이다. (여러 개의 LAN을 연결한 것이다)
Router
•
서로 다른 네트워크를 연결하기 위한 장비이다.
•
Router는 여러 개의 네트워크와 연결되며, 각각 연결된 곳을 인터페이스(interface)라고 부른다.
•
Router는 인터페이스로 각각의 네트워크를 구분한다.
•
각 인터페이스는 무조건 서로 다른 네트워크이어야 한다.
◦
즉, 각 인터페이스는 서로 다른 네트워크 ID(IP 주소)를 가져야 한다.
◦
실제 Router에서는, 범위가 겹치는 네트워크 IP 주소를 인터페이스에 설정할 경우, 설정이 되지 않는다. (error 발생)
•
Router는 패킷을 받으면, 패킷의 목적지 IP 주소를 확인 후, 해당 IP 주소가 속하는 인터페이스로 패킷을 전달한다.
•
만약, 목적지 IP 주소가 속하는 인터페이스가 없는 경우, 라우팅 테이블(Routing Table)을 참고하여 알맞는 인터페이스로 패킷을 전달한다.
Ex) netpractice Level 4
•
현재 Router는 3개의 인터페이스를 가지고 있다.
•
인터페이스 R1, R2, R3가 전부 서로 다른 네트워크이어야 한다.
•
인터페이스 R2의 네트워크 범위 = 112.231.114.0 ~ 112.231.114.127
•
인터페이스 R3의 네트워크 범위 = 112.231.114.192 ~ 112.231.114.255
•
인터페이스 R1에 IP를 설정해주어야 하는데, client A의 IP가 고정되어 있으므로, 해당 IP와 같은 네트워크로 설정 해줘야한다.
•
또한, 인터페이스 R2, R3와 겹치지 않는 네트워크이어야 한다.
•
따라서, 인터페이스 R1에서 사용 가능한 네트워크 범위 = 112.231.114.128 ~ 112.231.114.191
•
인터페이스 R1에 112.231.114.128/29 네트워크를 할당하여 사용하면
◦
네트워크 범위 = 112.231.114.128 ~ 112.231.114.135
◦
장비에 할당 가능한 네트워크 범위 = 112.231.114.129 ~ 112.231.114.134
•
Router의 모든 인터페이스의 네트워크가 겹치지 않고, Client A, B에도 적절한 IP를 할당했으므로 통신 가능.
라우팅 테이블 (Routing Table)
•
패킷의 목적지 IP가 현재 가지고 있는 인터페이스 중 속하는 곳이 없을 경우, 그 다음으로 패킷을 전달하기 위해 참고하는 테이블이다.
•
즉, 패킷의 목적지 IP가 자신이 모르는 네트워크인 경우 참고하는 테이블이다.
•
라우팅 테이블의 형식은 아래와 같다.
◦
[목적지 네트워크] [next-hop IP]
◦
Ex)
[192.168.0.0/24] [10.0.0.1] 인 경우, 패킷의 목적지 IP가 192.168.0.0/24에 속하면 10.0.0.1로 패킷을 전달한다는 뜻이다.
•
라우팅 테이블에는 default route 라는 특별한 경로가 있을 수 있다.
•
default route란, 목적지 네트워크가 0.0.0.0/0인 경로를 말한다.
◦
0.0.0.0/0의 뜻은, 모든 네트워크를 말한다.
◦
[0.0.0.0/0] [10.0.0.1] = 모든 네트워크에 대해 전부 10.0.0.1에게 전달한다.
◦
인터페이스의 네트워크를 제외한 다른 모든 네트워크에 대해 10.0.0.1로 전달한다.
◦
아래 PC의 ip 설정에서 기본 게이트웨이의 뜻은 [0.0.0.0/0] [192.168.1.1] 과 같다.
◦
192.168.1.1은 PC와 연결된 Router(공유기)의 IP이다.
◦
PC의 인터페이스 네크워크(192.168.1.0/24)를 제외한 다른 네트워크에 대해서는 전부 공유기로 전달한다.
•
만약, 패킷의 목적지 IP가 자신의 인터페이스에도 속하지 않고, 라우팅 테이블에도 없는 경우에는 패킷을 버린다. (Discard)
Ex) netpractice Level 5
•
Router 인터페이스의 IP를 참고하여, client A와 B의 인터페이스에 알맞는 IP를 넣어주자.
•
각 client에서 라우팅 테이블을 설정해주자.
•
client는 모르는 네트워크에 대해 라우터로 전달하도록 설정한다.
◦
client A = [0.0.0.0/0] [92.141.106.126]
◦
client B = [0.0.0.0/0] [138.127.147.254]
•
설정을 마치고 client A → client B 통신 과정을 생각해보자
◦
client A
▪
목적지 IP가 client B(138.127.147.253)인 패킷을 만든다.
▪
138.127.147.253는 자신과 다른 네트워크이므로, default route를 참고하여 92.141.106.126(Router)로 패킷을 보낸다.
◦
Router
▪
client A로 부터 받은 패킷의 목적지 IP를 확인한다.
▪
목적지 IP(138.127.147.253)가 인터페이스 R2에 속하므로, 해당 인터페이스로 패킷을 전달한다.
◦
client B
▪
라우터로부터 패킷을 전달 받는다.
client B → client A의 통신 과정은 직접 생각해보자!
라우팅 테이블 우선순위
•
패킷의 목적지 IP가 라우팅 테이블에 있는 경로 중 여러 경로에 속할 경우, 우선 순위에 따라 특정 경로를 선택한다.
◦
Ex)
▪
패킷의 목적지 IP = 146.165.73.2
▪
라우팅 테이블 경로1 = [146.165.73.0/28] [146.165.73.61]
▪
라우팅 테이블 경로2 = [0.0.0.0/0] [163.41.250.1]
▪
패킷의 목적지 IP = 라우팅 테이블의 두 경로에 전부 속한다.
▪
Router는 두 경로 중 Subnet mask가 더 높은 경로를 우선으로 선택한다. (Longest Match Rule)
Ex) netpractice Level 8
•
Ex) 인터넷 → client D로 패킷 전송
◦
Router R1은, 인터넷으로부터 목적지 IP = client D(146.165.73.2)인 패킷을 전달받는다.
◦
Router R1은, 패킷의 목적지 IP가 속한 인터페이스가 존재하는지 확인한다.
◦
패킷의 목적지 IP가 속한 인터페이스가 없으므로, 라우팅 테이블을 참조한다.
◦
Router R1은, 라우팅 테이블을 2개 가지고 있다.
◦
Router R1에서, 목적지 IP = client D(146.165.73.2)인 패킷을 받은 경우, 라우팅 테이블 우선순위에 따라 첫 번째 경로가 선택된다.
◦
따라서, 해당 패킷을 146.165.73.61(Router R2)로 전달하게된다.
◦
Router R2는, 전달 받은 패킷의 목적지 IP를 확인 후, 목적지 IP가 속한 인터페이스 R23으로 패킷을 보낸다.
◦
client D에서 패킷을 받는다.
마무리
•
이번 글에서는 서로 다른 네트워크간 통신하는 방법과, Router 동작 과정에 대해 알아봤다.
•
또한 라우팅 테이블이 어떻게 쓰이는지도 알아봤다.
•
패킷이 출발지부터 목적지까지 다른 네트워크를 어떻게 거치면서 경로를 찾아가는지도 알아봤다.
•
Subnet mask를 이용하여 네트워크를 나누고, 나눠진 각각의 네트워크들에 대해 경로를 잘 설정해주면 끝.
•
지금까지 공부한 내용들을 종합하면 netpractice를 잘 풀 수 있을 것이다!