[Network] 네트워크 기초 이론 6강 — 스위치가 하는 일은 스위칭: 경로 선택과 라우팅 테이블
네트워크 기초 이론 시리즈 정리 — 6강. 참고: 널널한 개발자 TV, Switch가 하는 일은 Switching 이다. (재생목록)
3강에서 스위치가 계층마다 있고, 하는 일은 "식별자를 보고 어디로 내보낼지 고르는 것"이라고 정리했다. 이번에는 그 고르는 행위 자체를 본다. 이름 그대로다 — 스위치가 하는 일은 스위칭이다.
스위칭은 선택이다
스위칭을 한 문장으로 줄이면 이렇게 된다.
스위칭 = 경로 선택. 다시 말해 인터페이스 선택.
여기서 중요한 것은 선택이라는 단어에 이미 전제가 들어 있다는 점이다. 선택은 후보가 둘 이상일 때만 성립한다. 나갈 길이 하나뿐인 장비는 고를 것이 없으니 스위칭도 없다. 스위치·라우터가 포트를 여러 개 달고 있다는 사실과 스위칭이라는 동작은 한 몸이다.
도로로 옮겨 보면
네트워크를 고속도로에 대응시키면 구조가 그대로 보인다.
| 도로 | 네트워크 |
|---|---|
| 자동차 | 패킷(데이터) |
| 교차로 | 스위치(인터넷 규모에서는 라우터) |
| 교차로에서 갈라지는 길 | 경로 = 네트워크 인터페이스 |
| 어느 길로 갈지 고르는 행위 | 스위칭 |
| 이정표 | 라우팅 테이블 |
출발지에서 떠난 자동차는 교차로를 만날 때마다 직진·좌회전·우회전 중 하나를 고른다. 그 판단의 근거가 이정표다. 네트워크에서 그 이정표에 해당하는 것이 라우팅 테이블이고, 데이터는 라우터를 만날 때마다 이 테이블을 근거로 다음 길을 고른다.
선택이 잘못되면 결과는 두 가지다.
- 목적지에 아예 닿지 못한다 — 잘못된 방향으로 빠진다
- 닿기는 하는데 멀리 돌아간다 — 교차로를 몇 개 더 지나며 지연이 늘어난다
그래서 네트워킹의 관심사가 여기서 나온다. 어떻게 하면 최적화된 길로 보낼 것인가. 뒤에 나오는 라우팅 프로토콜, 메트릭, 경로 결정 규칙은 전부 이 한 가지 물음의 답이다.
한 번에 한 걸음씩 — 홉 단위 결정
비유에서 놓치기 쉬운 지점이 하나 있다. 자동차 운전자는 출발 전에 전체 경로를 머릿속에 그리지만, 패킷은 전 구간 경로를 들고 다니지 않는다.
출발지 → [라우터 A] → [라우터 B] → [라우터 D] → 목적지
↑ ↑ ↑
각자 자기 테이블을 보고 "다음 한 걸음"만 결정한다
각 라우터는 자기 라우팅 테이블을 보고 바로 다음 라우터(next hop) 만 정한다. 그다음 판단은 다음 라우터의 몫이다. 이렇게 홉마다 독립적으로 내려지는 결정이 이어져 전체 경로가 만들어진다. 전체 경로를 아는 주체는 어디에도 없다.
이 성질 때문에 경로는 고정되어 있지 않다. 도중에 어떤 라우터의 테이블이 바뀌면 그 뒤 패킷들은 다른 길로 흐른다. 같은 목적지로 보낸 패킷들이 서로 다른 경로를 탈 수도 있다.
인터넷은 라우터의 집합체다
인터넷 규모에서 이 교차로에 해당하는 장비가 라우터다. 라우터는 3계층 식별자인 IP 주소를 보고 판단하므로 L3 스위칭을 하는 장비다.
인터페이스가 4개인 라우터를 생각해 보자. 어느 인터페이스로 데이터가 들어오면, 나갈 후보는 나머지 3개다. 그중 하나를 고르는 것이 스위칭이다. 인터페이스가 많을수록 고를 것이 많아지고, 그만큼 판단 근거가 정교해야 한다.
같은 구조가 2계층에서도 그대로 반복된다.
| L2 스위치 | 라우터(L3) | |
|---|---|---|
| 보는 식별자 | 목적지 MAC 주소 | 목적지 IP 주소 |
| 참조하는 표 | MAC 주소 테이블 | 라우팅 테이블 |
| 고르는 대상 | 내보낼 물리 포트 | 내보낼 인터페이스와 다음 홉 |
| 범위 | 같은 네트워크 안 | 네트워크와 네트워크 사이 |
보는 식별자와 참조하는 표가 다를 뿐, 표를 조회해 내보낼 곳을 고른다는 뼈대는 같다. 스위칭이라는 한 단어가 계층을 가로질러 통용되는 이유다.
라우터끼리 정보를 주고받는다
그럼 라우팅 테이블의 내용은 누가 채우나. 사람이 전 세계 경로를 손으로 적을 수는 없다. 라우터들이 서로 통신해서 채운다.
라우터는 이웃 라우터와 정해진 프로토콜로 "나를 통하면 어떤 네트워크에 얼마의 비용으로 닿을 수 있다"는 정보를 주고받는다. 그 정보를 모아 각자 자기 테이블을 갱신한다. 이것이 동적 라우팅이고, 이때 쓰는 규약이 라우팅 프로토콜이다.
| 프로토콜 | 쓰이는 범위 | 경로를 고르는 기준 |
|---|---|---|
| RIP | 소규모 내부망 | 홉 수(거쳐 가는 라우터 개수) |
| OSPF | 조직 내부망 | 링크 비용(대역폭 기반) |
| BGP | 조직과 조직 사이(인터넷의 뼈대) | 경로 정책·AS 경로 길이 |
여기서 인터넷의 중요한 성질 하나가 따라 나온다. 라우터 몇 개가 망가져도 인터넷 전체가 멈추지 않는다. 경로 정보가 계속 교환되고 있으므로, 어떤 링크가 끊기면 그 사실이 이웃에게 전파되고 라우터들이 테이블을 고쳐 다른 길로 우회한다. 경로가 한 곳에 미리 박혀 있지 않고 홉마다 그때그때 결정되는 구조라서 가능한 일이다.
라우팅 테이블
정리의 끝은 이 한 단어다.
라우팅 테이블 = 경로 선택의 근거가 되는 표. 라우터의 이정표.
데이터가 도착하면 라우터는 목적지 IP 주소를 이 표와 대조해 내보낼 인터페이스와 다음 홉을 정한다. 라우터의 판단은 전부 이 표에서 나온다. 표가 잘못되어 있으면 장비가 멀쩡해도 트래픽은 엉뚱한 곳으로 간다.
그리고 이 표는 라우터만의 것이 아니다. 일반 PC와 서버도 자기 라우팅 테이블을 들고 있고, 나갈 인터페이스가 둘 이상이면 똑같이 선택 문제를 푼다. 표의 구체적인 항목과 선택 규칙은 8강에서 다룬다.
정리
- 스위치가 하는 일은 스위칭이고, 스위칭은 경로 선택 = 인터페이스 선택이다. 후보가 둘 이상이라는 전제 위에서만 성립한다.
- 네트워크를 도로에 비유하면 패킷은 자동차, 라우터는 교차로, 라우팅 테이블은 이정표다.
- 패킷은 전체 경로를 들고 다니지 않는다. 라우터마다 다음 한 걸음만 결정하고, 그 결정이 이어져 경로가 된다.
- 인터넷은 라우터의 집합체이고, 라우터는 IP 주소를 보는 L3 스위칭 장비다. L2 스위치는 같은 원리를 MAC 주소와 MAC 테이블로 수행한다.
- 라우터들은 라우팅 프로토콜로 경로 정보를 주고받아 테이블을 채운다. 덕분에 일부 장비가 망가져도 우회 경로가 만들어진다.
- 판단의 근거는 전부 라우팅 테이블에 있다.
댓글
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.