STORY 03 라우터의 패킷 중계 동작
1. 라우터의 기본
- 중계 부분은 패킷의 중계 대상을 판단하는 동작을 담당한다. (라우팅 테이블)
- 포트 부분은 패킷을 송수신하는 동작을 담당한다.
- 포트 부분에 연결한 하드웨어에 따라 다양한 통신 기술을 지원한다. (이더넷, 무선 LAN, 통신 회선)
- 포트 부분에서 수신한 패킷을 라우팅 테이블과 비교하여 적절한 포트에서 송신 동작을 실행한다.
- 스위칭 허브는 들어온 패킷을 전송하지만, 라우터는 수신 후 송신 동작을 실행하는 것에 차이가 있다.
2. 경로표에 등록된 정보

- MAC 주소로 판단하는 스위칭 허브와는 달리, 라우터는 IP 주소로 중계 대상을 판단한다.
- 포트 부분에게 패킷을 전달받으면 수신처(서브넷)와 넷마스크 정보를 비교하여 어느 네트워크에게 온 패킷인지 판단한다.
- 수신처는 여러 개의 서브넷을 하나의 서브넷으로 묶어 관리할 수도 있다. (주소 집약)
- 10.10.1.0/24 + 10.10.2.0/24 + 10.10.3.0/24 = 10.10.0.0/16
- 10.10.0.0/16 - 라우터 A - 라우터 B
- 넷마스크 정보를 변경하여 주소 집약을 수행할 수 있다.
- 반대로 하나의 서브넷을 여러 개의 서브넷으로 분리하여 관리할 수도 있다.
- 수신처와 넷마스크로 적절한 행을 찾은 후 ‘게이트웨이’ 와 ‘인터페이스’ 로 송신할 포트를 찾는다.
- ‘매트릭’ 은 수신처 IP 주소에 기록되어 있는 목적지의 거리를 숫자로 표현한다. (작을수록 가깝다)
- 라우팅 테이블은 스위칭 허브의 MAC 주소 테이블과는 달리 패킷 중계 시 갱신하지 않는다.
- 사람이 수동으로 경로 정보를 갱신한다.
- 라우팅 프로토콜을 이용하여 라우터들끼리 경로 정보를 교환하고 갱신한다.
- 라우팅 프로토콜 : RIP, OSPF, BGP 등
3. 라우터의 패킷 수신 동작
- 라우터의 포트에는 MAC 주소가 할당되어 있으며, 라우터는 자신의 주소에 해당하는 패킷만 수신하고 아닐 경우 폐기한다.
- 신호가 커넥터에 들어오면 PHY 회로를 거쳐 MAC 회로에게 전달된다.
- MAC 회로에서 신호를 디지털 데이터로 변환 후 오류를 검사하여 정상이면 수신 버퍼 메모리에 저장한다.
- 수신처 MAC 주소가 본인의 MAC 주소와 다를 경우 패킷을 폐기한다.
4. 경로표를 검색하여 출력 포트를 발견한다
- 라우터는 패킷 수신 동작이 끝나면 맨 앞의 MAC 헤더를 폐기한다.
- 패킷의 MAC 헤더의 값은 라우터를 찾기 위한 정보이다.
- IP 헤더의 정보와 라우팅 테이블의 정보를 비교하여 패킷을 송신할 포트를 찾는다.
- 라우팅 테이블의 ‘수신처’ 와 ‘넷마스크’ 정보를 비교하여 적절한 행을 찾는다.
- 해당되는 행이 여러 개일 경우 네트워크 번호가 긴(호스트 번호가 짧은) 행을 선택한다.
- 호스트 번호가 짧을 수록 서브넷 크기가 작으며, 범위가 축소된다는 것을 의미한다.
- 네트워크 번호도 같을 경우 ‘매트릭’ 정보를 이용한다.
- 라우팅 테이블에 매칭되는 정보가 없을 경우 패킷은 폐기한다.
- 송신처에게 ICMP 메시지를 보내 폐기 사실을 통지한다.
- Internet Control Message Protocol
- 패킷을 운반할 때 발생하는 오류를 통지하거나 제어용 메시지를 보낼 때 사용한다.
- 스위칭 허브의 경우 연결되어 있는 기기가 많아봤자 수천대이므로 중계 대상 정보가 없을 경우 모든 포트에 패킷을 뿌리는 것이 큰 부담이 아니다.
- 하지만 라우터의 경우 규모가 전세계에 걸쳐있기 때문에 패킷을 뿌리는 것이 아닌 폐기하는 방법을 선택했다.
5. 해당하는 경로가 없는 경우에 선택하는 기본 경로