network

[network] 혼자 공부하는 네트워크 03-3 라우팅의 분류와 라우팅 프로토콜 (240815)

hail2y 2024. 8. 15. 20:16

라우팅: 네트워크 간의 통신을 수행할 때 최적의 경로를 결정하는 과정

다음의 내용에 집중하여 공부해 볼 것!

  • 라우팅이 어떻게 이루어지는지 
  • 네트워크 간의 통신이 어떤 유형으로 분류될 수 있는지 -- 이 글에서 다룰 내용

정적 라우팅과 동적 라우팅

- 정적 라우팅과 동적 라우팅은 IP 주소를 할당하는 방법과 유사함

- 즉, 정적 IP 주소와 동적 IP 주소 할당방법과 유사

- 정적 IP 주소는 호스트가 직접 부여, 동적 IP 주소는 DHCP 프로토콜을 통해 자동으로 부여

  • 정적 라우팅 - 수동으로 구성된 라우팅 테이블 항목을 통해 수행되는 라우팅
  • 동적 라우팅 - 자동으로 라우팅 테이블 항목을 만들고 이를 이용하여 라우팅, 라우팅 프로토콜을 기반으로 자동으로 테이블 만듦

정적 라우팅 (static routing)

    • 사용자가 수동으로 직접 채워 넣은 라우팅 테이블의 항목을 토대로 라우팅

ex. 10.0.0.0/24로 향하는 패킷을 192.168.1.1 게이트웨이로 정적 라우팅 (아래 명령어들을 외울 필요는 X)

https://www.youtube.com/watch?v=0DXQAjSiRhU&list=PLVsNizTWUw7HfOCgvlfHIDPPo3TE-2iQM&index=30&t=5s

  • 네트워크의 규모가 커지고 관리해야 할 라우터가 늘어나면 정적 라우팅만으로는 관리가 힘듦
    - 입력 실수, 휴먼 에러가 발생할 수 있음
    - 입력 실수가 없어도 라우팅 경로상에 예상치 못한 문제가 발생할 경우 경로 우회가 어려움
    - 유연성이 떨어짐; 어떤 라우터에서 문제가 발생했는지 먼저 파악한 후에 직접 접속해서 라우팅 테이블을 변경해야 함

동적 라우팅 (dynamic routing)

  • 자동으로 라우팅 테이블 항목을 만들고, 이를 이용하여 라우팅
  • 라우팅 프로토콜(routing protocol) 이용
    - 라우팅 프로토콜: 라우터끼리 자신들의 정보를 교환하며 패킷이 이동할 최적의 경로를 찾기 위한 프로토콜
  • 동적 라우팅을 하면 라우팅 테이블 항목이 수시로 변할 수 있음
    - 라우팅 테이블의 항목을 수동으로 입력할 필요 없음
    - 네트워크 경로상에 문제가 발생했을 때 이를 우회할 수 있게 경로가 자동으로 갱신

라우터들의 집단 네트워크, AS(Autonomous System)

      • 동적 라우팅과 라우팅 프로토콜을 이해하기 위한 배경지식
      • 한 회사나 단체에서 관리하는 라우터 집단
        - AS마다 인터넷 상에서 고유한 AS 번호(ASN; Autonomous System Number)가 할당
        - AS 번호 = 망 식별번호
        - AS 번호는 사설 IP 주소처럼 사설 AS 번호도 있지만, 일반적으로 AS 번호는 고유한 AS 번호를 지칭
        - 전 세계에서 유일 ⇒ 공인 IP 주소와 유사 
      • 한 AS 내에는 다수의 라우터가 존재
        - 라우터들은 AS 내부에서만 통신할 수도 있고 AS 외부와 통신할 수도 있음
        - AS 외부와 통신할 경우 AS 경계에서 AS 내외로 통신을 주고받을 수 있는 '특별한 라우터'를 이용
        ⇒ 이 '특별한' 라우터 = AS 경계 라우터(ASBR; Autonomous System Boundary Router)

https://www.adroitacademy.com/blog/What-Are-Autonomous-System-Numbers--ASN

라우팅 프로토콜(routing protocol)

  • 라우팅 프로토콜: 라우터끼리 자신들의 정보를 교환하며 패킷이 이동할 최적의 경로를 찾기 위한 프로토콜
  • 라우팅 프로토콜의 종류
    - IGP(Interior Gateway Protocol): AS 내부에서 수행 (ex. RIP, OSPF)
    - EGP(Exterior Gateway Protocol): AS 외부에서 수행 (ex. BGP)

https://www.geeksforgeeks.org/routing-v-s-routed-protocols-in-computer-network/

대표적인 IGP(Interior Gateway Protocol) - RIP, OSPF

  • RIP - 최적의 경로를 선정하는 과정에서 거리 벡터(distance vector)를 사용
  • OSPF - 최적의 경로를 선정하는 과정에서 링크 상태(link state)를 사용

RIP - 거리 벡터 기반 라우팅 프로토콜

  • RIP; Routing Information Protocol
  • '거리'는 패킷이 경유한 라우터의 수, 즉 홉의 수를 의미
  • 특정 수신지까지 도달하기 위해 '홉 수가 가장 적은 경로'를 최적의 경로라고 판단
  • 홉 수가 적을수록 라우팅 테이블 상의 메트릭 값도 작아짐
  • 주기적으로 인접 라우터끼리 경로 정보 교환, 라우팅 테이블 갱신, 특정 수신지까지의 홉 수 계산
  • ex. 벨만 포드 알고리즘

https://ipcisco.com/lesson/routing-information-protocol-rip-ccnp/

 

참고로 정처기 실기 시험에서 RIP 프로토콜이 선택할 최적의 경로를 적으라는 문제가 나왔다. "cost가 아닌" 홉의 수를 기반으로 생각해야 하는 점을 유의하자.  

OSPF - 링크 상태 기반 라우팅 프로토콜

  • OSPF; Open Shortest Path First
  • 현재 네트워크 구성을 마치 지도처럼 그린 뒤, 최적의 경로를 선택
  • 현재 네트워크의 상태(링크 정보)를 그래프의 형태로 저장
    - 링크 상태 데이터베이스(LSDB; Link State DataBase)에 저장
    - 라우터들의 연결 관계, 연결 비용 등 현재 네트워크의 상태를 그래프로 표현하기 위한 데이터 저장
  • RIP는 라우팅 테이블 갱신을 위해 주기적으로 라우터 간 통신이 수행되지만, OSPF는 네트워크 구성 변경 시 라우팅 테이블이 갱신
  • ex. 다익스트라 알고리즘, SPF(Shortest Path First): 최 경로 계산

https://ddongwon.tistory.com/96

[참고:https://ddongwon.tistory.com/96, https://blog.naver.com/twers/50118425552, https://seongmok.com/58]

 

라우팅 프로토콜 (Routing Protocol) - OSPF (Open Shortest Path First)

OSPF (Open Shortest Path First) 란,    하나의 AS (Autonomous System) 안에서 동...

blog.naver.com

대표적인 EGP(Exterior Gateway Protocol) - BGP

  • BGP; Border Gateway Protocol
  • AS 간의 통신에서 사용되는 대표적인 프로토콜
  • 엄밀하게는 AS 간의 통신이 '가능한' 프로토콜; BGP로 AS 내 라우터 간 통신도 가능
    - eBGP; (external) BGP - AS 간의 통신을 위한 BGP 
    - iBGP;   (internal) BGP - AS 내의 통신을 위한 BGP 
  • 피어링(peering): 다른 AS와의 BGP 연결을 유지하기 위해서 BGP 라우터끼리 피어가 되도록 연결되는 과정
    → BGP를 기반으로 AS 간 통신이 이루어진다면 각 AS 내에는 피어 관계를 맺은 BGP 라우터가 하나 이상 존재 

https://www.adroitacademy.com/blog/What-Are-Autonomous-System-Numbers--ASN

  • BGP는 RIP와 OSPF에 비해 최적의 경로를 결정하는 과정이 복잡하고 일정하지 않은 경우가 많음
  • 경로 결정 과정에서 수신지 주소와 더불어 다양한 '속성'과 '정책'이 고려되기 때문
  • BGP의 속성(attribute)은 경로에 대한 부가 정보
    - AS-PATH
    - NEXT-HOP
    - LOCAL-PREF

AS-PATH 속성

  • 메시지가 수신지에 이르는 과정에서 통과하는 AS들의 목록
  • 메시지가 AS를 거칠 때마다 AS-PATH에는 거쳐 간 AS가 추가
  • BGP는 RIP처럼 단순 '거리'가 아닌 어디를 거쳐 어디로 이동하는지를 나타내는 '경로'를 고려
  • 이런 점에서 경로 벡터(path vector) 라우팅 프로토콜의 일종이라 부르기도 함

NEXT-HOP 속성 

  • 홉, 다음으로 거칠 라우터의 IP 주소
  • ex. AS1 → AS2 경로의 NEXT-HOP은 라우터 a의 IP 주소
  • ex. AS1 → AS3 경로의 NEXT-HOP은 라우터 b의 IP 주소

LOCAL-PREF 속성

  • LOCAL PREFerence의 약자, 지역 선호도
  • AS 외부 경로 선택에 있어 AS 내부에서(local) 어떤 경로를 선호할지(preference)에 대한 척도
  • 일반적으로 AS-PATH나 NEXT-HOP 속성보다 우선시
  • LOCAL-PREF 값은 AS 관리 주체가 설정하는 정책의 영향을 받음

정책 (policy)

  • AS 관리 주체에 따라 각기 다른 상이한 정책 사용 가능
    ex. 특정 AS 우대 정책
    ex. 특정 AS 차단 정책
    ex. 보안/안정성 우선 정책 (속도는 느릴지라도 더 안전하고 안정적인 AS를 경로로 선택)
    ex. 성능 우선 정책 (송수신 지연 시간이 적고 대역폭이 높은 AS를 경로로 선택) ...