라우팅이란 라우터가 자신과 연결된 다른 라우터를 찾아 최종 목적지까지 연결하는 과정이다. 라우팅에는 동적 라우팅과 정적 라우팅이 있다.
정적 라우팅은 네트워크 관리자가 경로를 목적지별로 직접 지정해 두는 것인데, 경로가 미리 입력되어 있기 때문에 CPU 부담이 적고 라우터 간 대역폭을 낭비하지 않는 다는 장점이 있지만, 어떤 라우터간에 연결되어 있는지 파악해야하는데다 추가 회선이 필요할 때 새로 설정해주어야 하는 불편함과 현재 설정한 회선에서 연결이 불능에 빠지는 경우 자동으로 새로운 경로를 찾지 않는다는 단점이 존재한다.
반면, 동적 라우팅은 라우팅 프로토콜을 사용하여 자동으로 경로를 수집하여 라우팅 테이블을 설정하는 것이다. 이 프로토콜에는 여러가지가 있다.
그 중 하나는 RIP(Routing Information Portocal)로, 목적지까지의 거리를 살펴보고 홉(hop)수가 적은 경로를 선택한다. 구성이 간단한 LAN과 같은 네트워크에 적합하다. 아래 그림에서 데이터가 도착해야 하는 목적지가 라우터5라면, 라우터1을 거쳐 라우터3, 라우터5로 가는 것이 가장 유리한 경로라고 할 수 있다.
다음은 OSPF(Open Shortest Path First)로, 통신상태 정보를 맵(map)으로 관리하면서 상태가 좋은 경로를 선택하는 방식이며, 복잡하고 변화가 다양한 네트워크에 적합한 형태다. 만일 아래와 같이 라우터2번과 라우터4번 사이에 고속회선이 적용되어 있다면 데이터는 라우터1, 라우터2, 라우터4를 거쳐 라우터5로 향하는 것이 유리할 수 있다. 즉, 라우터1은 라우터2의 상태가 '좋다'라는 정보를 보유하고 있어야 한다.
마지막으로 BGP(Border Gateway Protocol)가 있는데, 경로의 거리뿐만 아니라 경유 AS(Autonomous System 자율시스템)를 포함하여 경로 정보를 생성하는 형식으로 규모가 큰 네트워크에서 몇 개의 네트워크를 묶어 AS단위로 관리하는 것이다. 네트워크 전체 경로를 탐색하는 것이 아니라 AS같이 큰 덩어리 단위로 이동하여 원거리 컴퓨터와 빠르게 통신하는 것이 목적이다.