라우터의 기본라우팅 테이블에 등록된 정보수신처넷마스크주소 집약게이트웨이 & 인터페이스메트릭경로 정보 등록 방법라우터 패킷 중계 동작 상세라우터의 패킷 수신 동작라우터의 패킷 송신 동작경로표에서 중계 대상을 조사해당 경로가 없을 시 선택하는 기본 경로패킷 유효기간큰 패킷은 조각 나누기 기능으로 분할함라우터의 송신 동작은 컴퓨터(프로토콜 스택에서 진행하는 내용)와 같다라우터와 스위칭 허브의 관계
라우터의 기본

라우터의 내부 구조는 중계 부분과 포트 부분이라는 두 부분으로 구성된 것을 알면 충분함
- 중계 부분이 패킷의 중계 대상을 판단하는 동작을 담당
- 포트 부분이 패킷을 송.수신하는 동작을 담당함
- 즉, 라우터의 중계 부분과 포트 부분의 역할 분담 ~= 프로토콜 스택의 IP 담당 부분과 LAN 어댑터의 역할 분담
컴퓨터는 LAN 어댑터를 교환해서 이더넷 뿐 아니라 무선 LAN도 지원할 수 있는데, 이 점도 같음. 포트 부분에 다양한 통신 기술의 하드웨어를 장착하여 지원 가능함
- 라우터의 포트 부분에 무선 LAN용 하드웨어를 장착한 기종이면 무선 LAN도 지원할 수 있음
- LAN 이외의 통신 기술을 지원하는 것도 있음. eg ) ADSL이나 FTTH 등 이른바 ‘광대역 회선', 전용선 등의 통신 회선
포트 부분에서 패킷을 수신
- 포트 부분의 통신 기술의 규칙을 따름 ( 포트 부분이 이더넷이라면 이더넷의 규칙에 따라 동작, 무선 LAN이라면 무선 LAN의 규칙대로 동작, 통신 회선이면 통신 회선의 규칙에 따라 동작 .. )
- 포트 부분의 하드웨어에 의뢰하여 패킷을 수신한다고 생각하면 됨
- 포트 부분이 이더넷인 경우
- 라우터의 포트에는 MAC 주소가 할당되어 이더넷의 송신처나 수신처가 됨
- 포트에는 IP 주소도 할당되므로 이런 의미에서도 컴퓨터의 LAN 어댑터와 같음( LAN 어댑터에 IP 주소도 있고, MAC 주소도 있으니)
중계 부분에서 중계 대상을 판단 후 포트 부분에 패킷 송신 의뢰
- 중계 부분에서 받은 패킷의 IP 패킷에 기록되어 있는 수신처 IP 주소와 중계 대상을 등록한 표를 대조하여 중계 대상을 판단함
- 그 후, 중계 대상측의 포트로 패킷을 옮기고 포트 부분의 하드웨어 규칙에 따라 패킷 송신 동작을 실행함
패킷 중계 동작
- 라우터의 포트 부분이 수신처가 되어 이더넷의 패킷 수신 동작 실행 ( 수신동작 끝나면 맨 앞의 MAC 헤더를 폐기함. MAC 헤더의 역할은 이 라우터에 패킷을 건네주는 것이기에 )
- 중계 대상 조사 후, 포트 부분이 송신처가 되어 이더넷의 패킷 송신 동작 실행
- MAC 헤더의 뒤에 있는 IP 헤더의 내용을 보고 패킷 중계 동작에 들어감
- 이곳이 스위칭 허브와 다른 부분임. 스위칭 허브는 들어온 패킷을 전송하기만 하고 자신이 송신처나 수신처가 되지 않음!
라우터의 각 포트에는 MAC 주소와 IP 주소가 할당되어 있습니다.
라우팅 테이블에 등록된 정보
- 스위칭 허브 : 수신처 MAC 주소로 중계 대상 판단
- 라우터 : 수신처 IP 주소로 중계 대상 판단
- 취급하는 주소가 다르므로 중계 대상의 주소를 등록하는 테이블의 내용도 다름

수신처(Destination) | 넷마스크 | 게이트웨이 | 인터페이스 | 메트릭 |
10.10.1.0 | 255.255.255.0 | —- | e2 | 1 |
10.10.1.101 | 255.255.255.255 | —- | e2 | 1 |
192.168.1.0 | 255.255.255.0 | —- | e3 | 1 |
192.168.1.10 | 255.255.255.255 | —- | e3 | 1 |
0.0.0.0 | 0.0.0.0 | 192.0.2.1 | e1 | 1 |
수신처
- 네트워크 번호 부분의 비트에만 값이 있고, 호스트 번호 부분의 비트 값은 모두 0으로 되어 있는 IP 주소가 들어있다고 생각
- 라우터는 이 항목에 등록되어 있는 IP 주소와 수신한 패킷의 수신처 IP 주소를 비교하여 그 행이 해당하는지 판단함
- 스위칭 허브와 같이 두 가지(네트워크 번호 + 호스트 번호) 모두 완전히 일치하는지 조사 x
- 네트워크 번호 부분만 조사함
- 호스트 번호 부분에 값이 들어있는 개별 컴퓨터를 나타내는 주소를 ‘수신처' 항목에 등록하려면, 넷마스크 값을 255.255.255.255, 즉 32비트를 전부 1로 만들면 됨
넷마스크
- 주소 비교 동작 실행 중, 네트워크 번호의 비트수를 판단해야 하므로 넷마스크 항목 존재함
주소 집약

- 몇 개의 서브넷을 모아서 한 개의 서브넷으로 간주한 후 묶은 서브넷을 경로표에 등록하는 것
- 라우터 B의 경로표에 3개의 서브넷을 별도로 등록하는 것이 원칙이지만, 어느 서브넷에 패킷을 건네줄 때도 라우터 A에 패킷을 중계하는 것이 공통임 ⇒ 3개의 서브넷을 일괄적으로 통합한 10.10.0.0/16 이라는 서브넷이 있는 것으로 간주함
- 이렇게 하여 경로표를 등록하는 건수를 줄일 수 있음
- 이것과는 반대로 한 개의 서브넷을 세분화하여 경로표에 등록하고, 복수의 서브넷이 있는 것처럼 보이는 경우도 있음
게이트웨이 & 인터페이스
- ‘인터페이스' 항목에 등록되어 있는 인터페이스(포트)에서 ‘게이트웨이’ 항목에 등록되어 있는 IP 주소를 가진 라우터에 대해 패킷을 중계함
메트릭
- 수신처 IP 주소에 기록되어 있는 목적지가 가까운지, 먼지를 나타냄
경로 정보 등록 방법
- 사람이 수동으로 경로 정보를 등록/갱신
- 라우팅 프로토콜이라는 구조를 사용하여 라우터들끼리 경로 정보를 교환하고 라우터가 자체에서 경로표에 등록
- RIP, OSPF, BGP 라는 라우팅 프로토콜처럼 복수의 프로토콜이 존재
라우터 패킷 중계 동작 상세
라우터의 패킷 수신 동작
- 라우터의 포트에는 MAC 주소가 할당되어 있으며, 라우터는 자신의 주소에 해당하는 패킷만 수신하고 해당하지 않는 패킷을 폐기함
라우터의 패킷 송신 동작
경로표에서 중계 대상을 조사
수신처(Destination) | 넷마스크 | 게이트웨이 | 인터페이스 | 메트릭 |
10.10.1.0 | 255.255.255.0 | —- | e2 | 1 |
10.10.1.101 | 255.255.255.255 | —- | e2 | 1 |
192.168.1.0 | 255.255.255.0 | —- | e3 | 1 |
192.168.1.10 | 255.255.255.255 | —- | e3 | 1 |
0.0.0.0 | 0.0.0.0 | 192.0.2.1 | e1 | 1 |
수신한 패킷의 수신처 IP 주소와 경로표의 ‘수신처' 항목을 조사하여 해당하는 행을 찾음
- 32비트 전부를 비교하지 않고, ‘넷마스크' 항목에서 등록된 값을 이용하여 네트워크 번호 부분만 비교함
이 때 복수의 후보가 발견된다면, 네트워크 번호의 비트수가 가장 긴것을 찾음 ( 호스트 번호의 비트 수가 짧다는 것은 호스트 번호로 할당 가능한 번호의 수가 적다는 것. 즉 서브넷이 작다는 것)
- 위 테이블에서 192.168.1.10이 목적지 IP 이면 3,4,5행이 해당되고
- 4번째 행이 네트워크 번호의 비트수가 가장 김
네트워크 번호의 길이가 같은 것이 여러 행 존재한다면, 메트릭 값이 작은 쪽을 선택함
- ㄹ우터의 고장이나 케이블의 단선 등을 고려하여 우회로를 두는 경우에 해당됨
해당하는 행이 한개도 발견되지 않는다면 패킷을 폐기하고 ICMP 메시지로 송신처에 이 사실을 통지
스위칭 허브와 다른 부분으로, 네트워크의 규모가 스위칭 허브에 비해 매우 크기에, 모든 포트에 패킷을 뿌려버리면 네트워크를 혼잡하게 만듦
해당 경로가 없을 시 선택하는 기본 경로
- 위 테이블의 마지막 행을 보면 ‘넷마스크' 항목이 0.0.0.0 → 이 말은, ‘수신처' 항목을 비교 할 때의 비트 수가 0이라는 것이므로 비교 동작을 실행하지 않음 ⇒ 모든 주소에 일치
- 이 행의 ‘게이트웨이' 항목에 인터넷으로 나가는 라우터를 등록해 두면 다른 행에 해당하는 것이 없는 경우에는 패킷을 그곳으로 중계함 [ 기본 경로 ]
- 여기에 등록한 라우터를 기본 게이트웨이
라우터의 경로표에서 ‘넷마스크' 항목이 0.0.0.0인 행은 ‘기본 경로'를 나타냄
패킷 유효기간
- IP 헤더의 필드에는 TTL(Time To Live, 생존기간)이라는 필드가 있음
- 패킷의 생존 기간을 나타내고, 라우터를 경유할 때마다 이 값이 1씩 감소함
- 0이 되면 패킷의 생존 기간이 만료되는 것으로 간주하여 패킷 폐기
- 패킷이 같은 장소를 뱅글뱅글 순환하는 사태를 막기 위한 것
- 처음 패킷 송신 시 64 또는 128 이라는 값을 설정함. 현재의 인터넷이 지구 반대편까지 액세스해도 라우터 수가 많아야 수십개 이기에, 순환하지 않으면 무조건 도달함
큰 패킷은 조각 나누기 기능으로 분할함

- 라우터의 포트 부분은 이더넷 뿐 아니라 이더넷 이외의 LAN이나 통신 회선의 경우도 존재
- 회선이나 LAN 의 종류에 따라 패킷의 최대 길이가 달라지므로 출력 포트측의 패킷의 최대 길이가 입력측보다 작은 경우가 있음. 중계 패킷의 크기가 출력측의 패킷 최대 길이를 초과하면 그대로는 패킷 송신 불가함 ⇒ IP 프로토콜에 규정된 조각 나누기(fragmentation) 라는 방법을 사용
- TCP가 데이터를 조각으로 분할하는 것과는 다름. TCP의 데이터 분할은 패킷에 데이터를 저장하기 전에 이루어짐. 즉, 분할한 데이터 조각을 한 개의 패킷에 저장 → 데이터가 클 때(MSS 보다 데이터가 클 때)는 분할하여 보냄
- 패킷 분할 전, IP 헤더의 플래그 필드를 조사하여 분할해도 좋을지 확인함
- 분할 불가로 되어 있으면 패킷 폐기 후, ICMP 메시지로 송신처에 통지
라우터의 송신 동작은 컴퓨터(프로토콜 스택에서 진행하는 내용)와 같다
- 출력측 포트 종류에 따라 해당 규칙에 맞게 패킷을 변환하여 송신함
- 패킷 송신 동작의 기본은 프로토콜 스택의 IP 담당 부분이 패킷을 보낼 때와 같음
- 패킷 맨앞 부분에 MAC 헤더 부가, 값 설정하여 패킷 완성 후 전기 신호로 변환해서 보냄
라우터가 다음에 건네줄 상대를 판단하는 방법 - 경로표의 ‘게이트웨이' 항목에 IP 주소가 쓰여있으면 IP 주소가 건네줄 상대 - 경로표의 ‘게이트웨이' 항목이 공란이면 IP 헤더의 수신처 IP 주소가 건네줄 상대
라우터와 스위칭 허브의 관계
통신 상대까지 패킷을 전달하는 전체의 동작은 IP(라우터)가 담당하고, 이 동작을 할 때 다음 라우터까지 패킷을 운반하는 부분은 이더넷(스위칭 허브)이 담당함
- 라우터는 IP의 개념에 기초
- 스위칭 허브는 이더넷에 기초
- IP : 이더넷 = 라우터 : 스위칭 허브
- ‘순수한’ 라우터는 패킷을 운반하는 일을 ‘순수한' 스위칭 허브에 의뢰함
- 실제 라우터에 스위칭 허브를 내장한 기종이 있기에, ‘순수한'이라는 키워드 붙음
라우터가 패킷을 중계할 때 맨 앞에 MAC 헤더를 부가하는 부분이 중요함
- 지금까지는 맨 앞에 MAC헤더를 부가한다고 표현했지만, 사실 이더넷의 패킷의 데이터 부분에 IP의 패킷을 넣는다고 표현하는 것이 원래의 개념에 가까움
- 즉, MAC 헤더를 부가하여 패킷을 송신한다는 것은 이더넷의 패킷의 데이터 부분에 IP의 패킷을 넣고 이더넷의 원리로 다음 라우터까지 운반한다는 것임
패킷을 어디까지 운반할 것인가 하는 점에 착안하면 라우터가 스위칭 허브에 의뢰할 때의 개념을 잘 이해할 수 있음
- IP가 이더넷에 의뢰하는 것은 최종 목적지까지 패킷을 운반하는 것이 아니라 다음 라우터에 패킷을 운반하는 것 ⇒ 이 동작을 반복해서 패킷이 IP 의 목적지, 즉 송신 상대에게까지 운반되는 것임
- MAC 헤더를 만들 때 라우팅 테이블에서 다음 라우터의 IP 주소를 조사
- ARP로 조사한 MAC 주소를 수신처 MAC 주소에 기록
네트워크에는 이더넷 뿐만 아니라 무선 LAN도 있고 인터넷에 나가면 통신 회선도 있음. 이러한 것과 IP와의 관계는 어떻게 될까?
- 무선 LAN이나 통신 회선을 이더넷과 치환하여 생각하면 됨
- 즉 다음 라우터와의 사이가 무선 LAN으로 연결되었으면 무선 LAN에 의뢰하여 패킷을 운반하며
- 통신 회선으로 연결되었으면 통신회선에 의뢰하여 패킷을 운반함
- 이렇게 해서 다음 라우터까지 스스로 패킷을 운반하지 않고 다양한 통신 기술에 의뢰하여 패킷을 운반하는 것은 중요함. 다양한 통신 기술을 적재적소에 구분하여 사용할 수 있게 만드는 IP의 큰 특징인 것