Route (명령어)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

route 명령어는 컴퓨터 네트워크 간의 경로를 정의하고 관리하는 데 사용되는 명령줄 유틸리티이다. 유닉스 및 유닉스 계열 운영체제에서는 ifconfig와 함께 사용되었으나, iproute2로 대체되었다. 윈도우, IBM OS/2, ReactOS 등 다양한 운영체제에서도 지원되며, 각 운영체제별로 문법과 사용법에 차이가 있다.

Route (명령어) - [IT 관련 정보]에 관한 문서
📚 더 읽어볼만한 페이지
  • 라우팅 - 포트 포워딩
    포트 포워딩은 외부 네트워크의 연결 요청을 내부 네트워크의 특정 장치나 서비스로 전달하여 외부에서 내부 서비스에 접근 가능하게 하는 네트워크 기술로, 라우터나 방화벽에서 설정되며 다양한 방식으로 구현되고 활용된다.
  • 라우팅 - 라우팅 프로토콜
    라우팅 프로토콜은 네트워크 계층에서 라우터들이 네트워크 구성 정보를 교환하여 효율적인 데이터 전송을 가능하게 하는 통신 프로토콜로, 링크 상태 라우팅, 거리 벡터 라우팅, 경로 벡터 라우팅 등으로 분류되며, 5G, IoT, SDN/NFV 환경에 따라 기술이 발전하고 있고, 대한민국에서도 경쟁력 강화를 위한 투자가 이루어지고 있다.
  • OS/2 명령어 - 파일 전송 프로토콜
  • OS/2 명령어 - CHKDSK
    CHKDSK는 디스크의 파일 시스템 무결성을 검사하고 오류를 수정하는 시스템 도구로, 다양한 운영체제에서 구현되었으며 파일 시스템 오류 수정 및 손상된 파일 조각 복구 기능을 제공하지만 데이터 손상이나 시스템 불안정을 야기할 수 있다는 비판도 있다.
  • 유닉스 네트워크 관련 소프트웨어 - Rlogin
    rlogin은 네트워크를 통해 다른 서버에 로그인하는 응용 계층 프로토콜이자 명령어로, 보안 취약성으로 인해 SSH로 대체되고 있다.
  • 유닉스 네트워크 관련 소프트웨어 - 아파치 HTTP 서버
    아파치 HTTP 서버는 아파치 소프트웨어 재단에서 관리하는 오픈 소스 웹 서버 소프트웨어로, 다양한 운영체제 지원, 모듈을 통한 기능 확장, 가상 호스팅 등의 기능을 제공하며 전 세계적으로 널리 사용된다.

2. 구현체

`route` 명령어는 다양한 운영 체제에서 네트워크 라우팅 테이블을 확인하고 관리하는 데 사용된다. 주요 운영 체제별 구현 방식과 사용법은 아래 하위 섹션에서 자세히 다룬다. 각 운영 체제 환경에 따라 명령어의 옵션이나 구체적인 동작 방식에 차이가 있을 수 있다. 일반적으로 유닉스유닉스 계열 운영 체제, 마이크로소프트 윈도우, IBM OS/2, ReactOS 등 여러 시스템에서 이 명령어를 지원한다.

2.1. 유닉스 및 유닉스 계열

(내용 없음)

2.1.1. 문법

명령어 구문은 다음과 같다.

route [-nNvee] [-FC] [] # 커널 라우팅 테이블 목록 표시
route [-v] [-FC] {add|del|flush} ... # AF에 대한 라우팅 테이블 수정
route {-h|--help} [] # 지정된 AF에 대한 자세한 사용법 구문
route {-V|--version} # 버전/작성자 표시 및 종료

2.1.2. 예시

아래는 리눅스 환경에서 `route -n` 명령어를 실행한 예시이다.

user@linux:~$ route -n
커널 IP 라우팅 테이블
목적지 게이트웨이 Genmask Flags Metric Ref Use Iface
192.168.101.0 192.168.102.102 255.255.255.0 UG 0 0 0 eth0
192.168.102.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.103.0 192.168.102.102 255.255.255.0 UG 0 0 0 eth0
192.168.12.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.12.1 0.0.0.0 UG 0 0 0 eth0


2.2.x 버전대의 리눅스 커널에서는 ifconfig와 `route` 명령어를 함께 사용하여 컴퓨터를 네트워크에 연결하고 컴퓨터 네트워크 간의 경로를 설정했다. 그러나 이후 버전의 커널 기반 배포판에서는 `ifconfig`와 `route` 명령어 대신 iproute2 유틸리티가 주로 사용된다.

리눅스용 `route` 명령어는 Fred N. van Kempen이 처음 작성했다.

2.2. 마이크로소프트 윈도우

마이크로소프트 윈도우 운영 체제에서 route 명령어는 TCP/IP 프로토콜이 네트워크 어댑터 속성에 구성 요소로 설치된 경우에만 사용할 수 있다.

2.2.1. 문법

명령어 구문은 다음과 같다.
: `route [-f] [-p] [-4|-6] [Command [Destination] [mask Netmask] [Gateway] [metric Metric] [if Interface]]`

2.2.2. 매개변수

* -f: 라우팅 테이블을 지운다.
* -p: 라우트를 Windows 레지스트리에 추가하며, TCP/IP 프로토콜이 시작될 때마다 IP 라우팅 테이블을 초기화하는 데 사용된다 (add 명령과 함께 사용될 때만 해당). 이 매개변수는 Windows NT 4.0, Windows 2000, Windows Millennium Edition, Windows XP에서만 지원되며, Windows 95 또는 Windows 98에서는 지원되지 않는다.
* Command: 실행할 명령(add, change, delete, print)
* -4: IPv4 사용을 강제한다.
* -6: IPv6 사용을 강제한다.
* Destination: 라우트의 네트워크 목적지
* mask Netmask: 네트워크 목적지와 관련된 넷마스크(서브넷 마스크)
* Gateway: 네트워크 목적지와 서브넷 마스크로 정의된 주소 집합에 도달할 수 있는 전달 또는 다음 홉 IP 주소
* metric Metric: 라우트의 정수 비용 지표 (1에서 9999까지)
* if Interface: 목적지에 도달할 수 있는 인터페이스의 인덱스
* /?: 명령 도움말

2.3. IBM OS/2

IBM OS/2 운영 체제에서도 TCP/IP 네트워크 통신을 위한 라우팅 테이블을 확인하고 관리하기 위해 'route' 명령어를 사용한다. 이 명령어를 이용하면 시스템이 IP 패킷을 특정 목적지로 보낼 때 사용할 경로를 수동으로 추가, 삭제 또는 수정할 수 있다. 예를 들어, 기본 게이트웨이 외에 특정 네트워크 대역으로 가는 별도의 라우터를 지정하거나, 잘못된 경로 정보를 삭제하는 데 활용된다. 상세한 명령어 사용법과 옵션은 아래 하위 섹션에서 다룬다.

2.3.1. 문법

명령어 구문은 다음과 같다.
: `route [-nqv] [COMMAND] [[MODIFIERS] args]`

2.3.2. 매개변수

* -n: IP 주소를 기호화된 호스트 이름으로 변환하는 것을 건너뛴다.
* -q: 모든 출력을 표시하지 않는다.
* -v: 상세 모드로 실행한다.
* COMMAND: 실행할 명령어(add, delete, change, get, monitor, flush)를 지정한다.
* -net: `` 매개변수가 네트워크 주소임을 나타낸다.
* -host: `` 매개변수가 호스트 이름 또는 주소임을 나타낸다 (기본값).
* -netmask: 경로의 넷마스크를 지정한다.
* : 목적지의 IP 주소 또는 호스트 이름을 지정한다.
* : 다음 홉 라우터의 IP 주소 또는 호스트 이름을 지정한다.

2.4. ReactOS

ReactOS 운영 체제에서도 네트워크 라우팅 테이블을 확인하고 수정하기 위한 `route` 명령어를 지원한다. 이 명령어를 통해 사용자는 시스템의 라우팅 경로 정보를 관리할 수 있다.

2.4.1. 문법

현재 설정된 라우팅 테이블의 내용을 화면에 출력한다.
`route print`

새로운 경로 정보를 라우팅 테이블에 추가한다.
`route add <대상> [mask <넷마스크>] <게이트웨이> [metric <메트릭>]`
* <대상>: 목적지 네트워크 IP 주소
* [mask <넷마스크>]: 목적지 네트워크의 서브넷 마스크. 대괄호(`[]`) 안의 내용은 선택적으로 사용할 수 있음을 의미한다. 생략 시 기본값이 사용될 수 있다.
* <게이트웨이>: 해당 목적지로 가기 위해 거쳐야 할 다음 라우터의 IP 주소.
* [metric <메트릭>]: 경로의 우선순위를 나타내는 값 (메트릭). 숫자가 작을수록 우선순위가 높다.

기존 라우팅 테이블에서 특정 경로 정보를 삭제한다.
`route delete <대상> <게이트웨이>`
* <대상>: 삭제할 경로의 목적지 네트워크 IP 주소.
* <게이트웨이>: 삭제할 경로에서 사용하는 게이트웨이 IP 주소.