1. Static Routing 개념
2. Static Routing 실습
◆ 단어 의미부터 짚고 넘어가 본다.
Static = 정적 = 고정된 ↔ (반대말)Dynamic
Route = 길, 경로, 루트 = 패킷이 따라가는 길
Router(라우터)의 역할 : 패킷이 가야할 길을 찾아주는 역할
스태틱 라우팅이라하면, 관리자가 수동으로 길을 적어놓는 것이다.
ex) 패킷의 목적지가 1.1.1.0/24 네트워크이면 다음 홉 IP(2.1.1.2)로 가세요~
명령어 구조
☞ ip route {목적지 네트워크} {서브넷 마스크} {next hop IP주소 또는 출력 인터페이스} {관리거리(생략 가능)}
명령어 예시
☞ ip route 1.1.1.0 255.255.255.0 2.1.1.2
◆ Static Routing을 사용하는 경우
네트워크가 간단한 구성일 때, 네트워크가 변하지 않을 때, 라우터 성능이 부족할 때
Dynamic Routing을 사용해야 하는 경우
네트워크가 복잡한 구성일 때, 네트워크가 변할 때, 부하 분산이나 장애시 자동 복구를 위해
◆ Default Routing (= Default Static Routing) 개념
'라우팅 테이블에 없는 패킷은 모두 이쪽으로 가세요' 의미이다.
예를들어 나는 192.168.0.0/24 네트워크만 1번 포트로 보내면 되고 나머지 모든 IP는 2번 포트로 보내야 할 때 나머지 모든 IP를 정적으로 등록하려면 매우 힘들 것이다. 그럴 때 쓰는 것이 디폴트 라우팅이다.
디폴트 라우팅 명령어 예시
☞ ip route 0.0.0.0 0.0.0.0 {next hop IP주소 또는 출력 인터페이스} {관리거리(생략 가능)}
◆ 공인 IP, 사설 IP 개념
공인 IP는 라우팅 정보가 광고되는 주소이다. 전세계에서 유일해야하며, 다른 공인 IP와 통신이 가능하다.
※개념은 이렇지만, 항상 실상은 기술의 발전으로 조금 다르다. 구글 DNS 주소 8.8.8.8 공인 IP는 물리적으로 세계 곳곳에 존재하여 가까운 곳에서 응답을 준다. 논리적으로 유일한 것은 맞다. 하지만 8.8.8.8로 핑을 보낸다고 미국으로 가는 것이 아님을 기억하자. 이를 모르면 빛의 속도를 아득히 뛰어 넘는 통신속도의 지연시간을 보고도 당연한 것인 줄 안다.
사설 IP는 집이나 회사 같이 특정 범위에서만 사용되는 IP로, 라우팅 정보가 광고되지 않는다. 그러므로 공인IP와 사설IP 간의 통신은 기본적으로 불가능하며, 이를 극복하기 위해서는 라우팅 정보를 수동으로 설정하거나 NAT기능을 사용해야 한다.
A클래스 사설 IP 주소 : 10.0.0.0 ~ 10.255.255.255
B클래스 사설 IP 주소 : 172.16.0.0 ~ 172.31.255.255
C클래스 사설 IP 주소 : 192.168.0.0 ~ 192.168.255.255
해당 범위에 속하면 사설 IP이다. (RFC 1918 참고)
※ 거의 무한한 IPv6에도 사설 주소가 정해져 있다. fc00::/7
◆ NAT(Network Address Translation) 개념
공인IP와 사설IP는 원래 통신이 되지 않기 때문에 이를 극복하기 위해 NAT라는 변환 기술을 사용한다.
공인IP가 무한하면 모두 공인IP를 받아서, 이런 기술을 사용하지 않아도 되지만 글로벌 IPv4의 주소는 2011년 2월 3일에 고갈 되었다고 발표되었다.
집에서 공유기(AP)를 사용한다면 PC는 기본적으로 192.168.x.x IP를 받을 것인데 이 주소가 바로 C클래스 사설 IP이다.
공유기 WAN 포트에는 ISP(통신사)가 제공한 공인 IP가 들어오며, 그 이하 포트에는 공유기가 DHCP로 사설 IP를 뿌려준다.
PC의 IP가 192.168.0.2이라면, 구글 DNS 8.8.8.8로 핑을 보낼 때, 구글DNS 입장에서는 사설IP인 192.168.0.2가 어디인지 찾을 수가 없다. 192.168.0.2는 사설 IP이기 때문에 앞집, 옆집, 뒷집.. 전세계 어디에나 있기 때문에 제대로 찾아갈 수가 없다. 그래서 핑을 보낼 때 출발지 IP를 192.168.0.2로 보내는 것이 아니고, 공유기에서 NAT 기능을 사용해 출발지 IP를 공인 IP로 내보낸다.
공유기에서 출발지 IP를 공인 IP로 변환하여 구글DNS(8.8.8.8)에 보냇기 때문에 구글DNS는 응답을 해줄 수가 있고, 응답 패킷이 집 공유기까지 도착하면 공유기가 NAT기능으로 192.168.0.2로 변환하여 PC까지 보내주기 때문에 통신이 가능한 것이다.
아래와 같은 토폴로지를 만들어본다.
<주의>
ESW는 선을 먼저 꽂고 켠다. (먼저 켰다면 선을 꽂고 껏다 켜면 됩니다.)
ESW의 f0/0, f0/1 포트는 사용하지 않는다. (L3 용도로 사용하는 포트 입니다.)
PC 1~4 세팅 명령어 (!는 주석입니다.)
!PC1
ip 1.1.1.2/24 1.1.1.1
!PC2
ip 1.1.1.3/24 1.1.1.1
!PC3
ip 4.1.1.2/24 4.1.1.1
!PC4
ip 4.1.1.3/24 4.1.1.1
R1~3 세팅 명령어
!R1
conf t
int e2/0
ip add 1.1.1.1 255.255.255.0
no sh
int s1/0
ip add 2.1.1.2 255.255.255.0
no sh
exit
ip route 3.1.1.0 255.255.255.0 2.1.1.1
ip route 4.1.1.0 255.255.255.0 2.1.1.1
end
!R2
conf t
int s1/0
ip add 2.1.1.1 255.255.255.0
no sh
int s1/1
ip add 3.1.1.1 255.255.255.0
no sh
exit
ip route 1.1.1.0 255.255.255.0 2.1.1.2
ip route 4.1.1.0 255.255.255.0 3.1.1.2
end
!R3
conf t
int s1/1
ip add 3.1.1.2 255.255.255.0
no sh
int e2/0
ip add 4.1.1.1 255.255.255.0
no sh
exit
ip route 1.1.1.0 255.255.255.0 3.1.1.1
ip route 2.1.1.0 255.255.255.0 3.1.1.1
end
PC1에서 나머지 PC로 ICMP 패킷(ping 명령어)를 보내어 확인한다.
잘 보면 TTL(Time To Live) 값이 다른 것을 알 수 있다.
TTL은 이름과 같이 살아있는 유효시간 같은 의미인데, 시간 단위로는 사용이 불편하여 대부분 TTL은 시간 개념 대신 홉수 개념으로 사용한다.
IP 헤더에 들어있고, L3 홉을 지날 때마다 1씩 감소한다.
TTL이 존재하는 이유는 루핑과 같은 사고가 일어 났을 때, 라우터끼리 패킷이 영원히 맴돌아서 네트워크 장애가 생기는 것을 방지하기 위함이다. TTL이 0이되면 패킷을 폐기한다.
리눅스는 보통 64로 시작, 윈도우는 보통 128로 시작
그외 OS는 255로 시작하는 경우가 많지만 설정을 바꿀 수 있으므로 참고만 한다.
PC1에서 PC2로 보낼 때는 TTL이 64 그대로로 라우터를 거치지 않았다.
다음은
PC1 -> PC3 으로 ICMP 패킷을 보냈을 경우 TTL 값 변화이다.
기본적으로 ICMP는 Request 와 Reply로 왕복이다.
PC1 -> PC3 핑을 보낼 때 R2와 R3사이의 패킷을 확인해보려고 한다.
케이블에 대고 우클릭 -> start capture -> 기본값 그대로 OK하면 Wireshark가 켜지면서 패킷을 볼 수 있다.
ICMP 프로토콜로 request와 reply가 왕복으로 지나가는 것을 알 수 있다.
TTL 값을 보면 Request일 때 해당 구간에서 62
TTL 값을 보면 reply일 때 해당 구간에서 63인 것을 확인 할 수 있다.
끝.
[네트워크] VLAN, inter VLAN 개념 및 구현, 실습, 연습 (0) | 2025.04.15 |
---|---|
[네트워크] 학습을 위한 GNS3(2.2.53) 설치, 스위치, 라우터 추가 (0) | 2025.04.13 |