라우터
- 라우팅을 수행하는 대표적인 장비
- 라우팅 - 패킷이 이동할 최적의 경로를 결정하는 것
- 네트워트 간 통신을 가능케 하는 네트워크 계층의 장비
- 네트워크 간 통신 과정에서 패킷은 여러 라우터를 거쳐서 다양한 경로로 이동할 수 있음
- 패킷은 여러 대의 라우터를 깡충깡충 거치듯 수신지까지 이동
- 홉(hop) - 라우팅 도중 패킷이 호스트와 라우터 간에, 혹은 라우터와 라우터 간에 이동하는 한 과정
라우팅 테이블
- 특정 수신지까지 도달하기 위한 정보를 명시한 표와 같은 정보
- 라우터는 라우팅 테이블을 참고하여 수신지까지의 도달 경로를 판단
라우팅 테이블에 포함된 정보
- 수신지 IP 주소와 서브넷 마스크
- 다음 홉
- 최종 수신지까지 가기 위해 다음으로 거쳐야 할 호스트의 IP 주소나 인터페이스
- 게이트웨이라고 명시되기도 함
- 네트워크 인터페이스
- 패킷을 내보낼 통로
- 인터페이스(NIC) 이름이 직접 명시되거나 인터페이스에 대응하는 IP 주소 명시
- 메트릭(metric)
- 해당 경로로 이동하는 데에 드는 비용
- 라우팅 테이블의 여러 경로 중 메트릭이 낮은 경로를 선호
디폴트 라우트
- 라우팅 테이블에 경로가 없을 때 기본적으로 패킷을 내보낼 경로
- 모든 IP 주소를 의미하는 0.0.0.0/0로 명시
- 수신지가 1.2.3.4(표에 존재x)인 패킷을 받았다면 디폴트 라우트, eth2를 통해 192.168.0.1로 전송
- 일반적으로 기본 게이트웨이 주소 = 디폴트 라우트
- 기본 게이트웨이 = 네트워크 외부로 나아가기 위한 첫 경로, 일반적으로 라우터/공유기 주소
- 라우팅 테이블에 따로 경로가 등록되어 있지 않은 패킷들을 기본적으로 기본 게이트웨이(라우터)에게 전달
정적 라우팅과 동적 라우팅
- 정적 라우팅 - 수동으로 구성된 라우팅 테이블 항목을 통해 수행되는 라우팅
- 동적 라우팅 - 자동으로 라우팅 테이블 항목을 만들고, 이를 이용해 라우팅
정적 라우팅
- 사용자가 수동으로 직접 채워 넣은 라우팅 테이블의 항목을 토대로 라우팅
- 네트워크의 규모가 커지고 관리해야 할 라우터가 늘어나면 정적 라우팅만으로는 관리가 힘듦
- 입력 실수가 발생할 수 있음
- 입력 실수가 없어도 라우팅 경로상에 예상치 못한 문제가 발생할 경우 경로 우회가 어려움
동적 라우팅
- 자동으로 라우팅 테이블 항목을 만들고, 이를 이용해 라우팅
- 라우팅 프로토콜 이용
- 라우터끼리 자신들의 정보를 교환하며 패킷이 이동할 최적의 경로를 찾기 위한 프로토콜
- 동적 라우팅을 하면 라우팅 테이블 항목이 수시로 변할 수 있음
- 라우팅 테이블의 항목을 수동으로 입력할 필요 없음
- 네트워크 경로상에 문제가 발생했을 때 이를 우회할 수 있게 경로가 자동으로 갱신
라우터들의 집단 네트워크 AS(Autonomous System)
- 동적 라우팅과 라우팅 프로토콜을 이해하기 위한 배경 지식
- 한 회사나 단체에서 관리하는 라우터 집단
- AS마다 인터넷 상에서 고유한 AS 번호(ASN, Autonomous System Number)가 할당
- AS 번호는 사설 IP 주소처럼 사설 AS 번호도 있지만, 일반적으로 AS 번호는 고유한 AS 번호를 지칭
- 한 AS 내에는 다수의 라우터가 존재
- 라우터들은 AS 내부에서만 통신할 수도 있고, AS 외부와 통신할 수도 있음
- AS 외부와 통신할 경우 AS 경계에서 AS 내외로 통신을 주고받을 수 있는 특별한 라우터를 이용
- 이 특별한 라우터 = AS 경계 라우터(ASBR, Autonomous System Boundary Router)
라우팅 프로토콜
- 라우터끼리 자신들의 정보를 교환하며 패킷이 이동할 최적의 경로를 찾기 위한 프로토콜
- 종류
- IGP(Interior Gateway Protocol) - AS 내부에서 수행(RIP, OSPF)
- EGP(Exterior Gateway Protocol) - AS 외부에서 수행(BGP)
IGP
- RIP(Routing Information Protocol) - 최적의 경로를 선정하는 과정에서 거리 벡터를 사용
- OSPF(Open Shortest Path First) - 최적의 경로를 선정하는 과정에서 링크 상태를 사용
RIP
- 거리 벡터 기반 라우팅 프로토콜
- 거리는 패킷이 경유한 라우터의 수 = 홉의 수
- 특정 수신지까지 도달하기 위해 홉 수가 가장 적은 경로를 최적의 경로라고 판단
- 홉 수가 적을수록 라우팅 테이블 상의 메트릭 값도 작아짐
- 주기적으로 인접 라우터끼리 경로 정보 교환, 라우팅 테이블 갱신, 특정 수신지까지의 홉 수 계산
OSPF
- 링크 상태 기반 라우팅 프로토콜
- 현재 네트워크 구성을 마치 지도처럼 그린 뒤, 최적의 경로를 선택
- 현재 네트워크 상태(링크 정보)를 그래프의 형태로 저장
- 링크 상태 데이터베이스에 저장
- 라우터들의 연결 관계, 연결 비용 등 현재 네트워크의 상태를 그래프로 표현하기 위한 데이터 저장
- 대역폭을 기반으로 메트릭을 계산하여 최적의 경로를 결정
- 대역폭이 높은 링크일수록 메트릭이 낮은 경로로 인식
- AS를 에어리어(area)라는 단위로 나누고, 구분된 에어리어 내에서만 링크 상태 공유
- 에어리어에는 번호가 부여되어 있음
- 에어리어 경계에 있는 ABR(Area Border Router)라는 라우터가 에어리어 간의 연결 담당
EGP-BGP(Border Gateway Protocol)
- AS 간의 통신에서 사용되는 대표적인 프로토콜
- 엄밀하게는 AS 간의 통신이 가능한 프로토콜 - BGP로 AS 내 라우터 간 통신도 가능
- 피어링(peering)
- 다른 AS와의 BGP 연결을 유지하기 위해서 BGP 라우터끼리 피어가 되도록 연결되는 과정
- 피어(peer) - BGP 메시지를 주고받을 수 있도록 연결된 BGP 라우터
- BGP는 RIP와 OSPF에 비해 최적의 경로를 결정하는 과정이 복잡하고, 일정하지 않은 경우가 많음
- 경로 결정 과정에서 수신지 주소와 더불어 다양한 속성과 정책이 고려되기 때문
- BGP의 속성은 경로에 대한 부가 정보
- AS-PATH
- NEXT-HOP
- LOCAL-PREF
- 정책 - AS 관리 주체에 따라 각기 다른 상이한 정책 사용 가능
- AS-PATH
- 메시지가 수신지에 이르는 과정에서 통과하는 AS들의 목록
- 메시지가 AS를 거칠 때마다 AS-PATH에는 거쳐 간 AS 추가
- BGP는 RIP처럼 단순 거리가 아닌, 어디를 거쳐 어디로 이동하는지를 나타내는 경로를 고려
- 이런 점에서 경로 벡터 라우팅 프로토콜의 일종이라 부르기도 함
- NEXT-HOP
- LOCAL-PREF
- 지역 선호도
- AS 외부 경로 선택에 있어 AS 내부에서 어떤 경로를 선호할지에 대한 척도
- 일반적으로 AS-PATH나 NEXT-HOP 속성보다 우선시
- LOCAL-PREF 값은 AS 관리 주체가 설정하는 정책에 영향을 받음