CS

라우터라는 게 정확히 뭐냐?

  • 네트워크 계층의 핵심 장비인데, 우린 이걸 L3 스위치라고 부른다 (대표적이니까 얘만 알아도 성공임ㅇㅇ)

    우리가 흔히 쓰는 공유기가 라우터의 역할을 하는 건데, 집에서 외부 네트워크로 연결시켜주는 역할을 하는 것임. 특히 홈 공유기에는 라우터 + NAT + DHCP 서버 + 방화벽 기능이 들어있음

  • 이때 패킷이 라우팅되는 과정에서 호스트 ↔ 라우터, 라우터 ↔ 라우터 간에 이동하는 하나의 과정 ⇒ 이라고 한다. 그러니까 패킷은 여러 개의 홉을 거쳐서 라우팅된다고 할 수 있다.

그럼 라우팅이라는 게 뭘까?

  • 라우터의 핵심기능이기도 한데,
  • 패킷이 이동할 최적의 경로를 설정하고 해당 경로로 패킷을 이동시킨다
  • 이때 경로를 설정하는 방식, 그러니까 어디로 보낼지 정하는 라우팅 테이블을 만드는 방식에 따라서 수동, 자동 2가지 방식이 있다
    • 수동은 정적 라우팅이라고 하고 : 이미 있는 거 쓰는 거임
    • 자동은 동적 라우팅이라고 한다. 이때 그 경로를 동적으로 만들어간다고 하면 어느 범위까지 그 경로를 만들어줄 것이냐를 정하는 라우팅 범위가 있는데
      • AS 내부에 대해서만 라우팅 테이블을 만들어줄게 ⇒ IGP
      • AS 외부에 대해서만 라우팅 테이블을 만들어줄게 ⇒ EGP

그럼 라우터는 라우팅을 어떻게 하냐? 그러니까 라우터는 패킷을 전달할 다음 홉을 어떻게 결정할까?

  • 앞에서 잠깐 다룬 것처럼 라우팅 테이블을 통해서 특정 수신지까지의 경로를 판단한다.
  • 그럼 라우팅 테이블에 어떤 내용이 들어있길래 가능한걸까?
    1. 수신지 IP주소랑 서브넷 마스크: 패킷의 최종 목적지를 나타냄
    2. 다음 홉 next hop (게이트웨이) : 최종 수신지까지 가는데 다음으로 가야 하는 host(컴퓨터)의 IP주소나 인터페이스를 얘기한다.
    3. 네트워크 인터페이스: 패킷을 내보낼 통로 - NIC 이름이 표시되거나 IP주소가 표시됨
    4. 메트릭: 해당 경로로 갈 때 드는 비용 - 보통 메트릭이 낮은 경로를 선호함
  • 근데 라우팅 테이블에 수신지 주소가 있을 수도 있고 없을 수도 있다면?
    • 있는 경우라면:
      • 예를 들어서 수신지가 192.168.2.0/24 인 패킷은 eth0를 통해서 192.168.2.1게이트웨이로 가라는 뜻임
    • 없는 경우라면:
      • 기본적으로 패킷을 내보낼 경로를 설정해서 보내게 되는데 이 기본 경로를 디폴트 라우트라고 한다. 이때 거치게 되는 라우터를 우리는 기본 게이트웨이라고 한다.
      • 그러니까 이거 어디로 보내냐? → 일단 디폴트 라우트로 내보내자. 가 되는 거임

그럼 앞서서 애기한 라우팅 테이블은 어떻게 만들어질까?

  • 2가지 방식이 있는데 하나가 정적 라우팅, 다른 하나가 동적 라우팅이 된다. 이게 IP주소 할당하는 방식에 있던 정적 할당(수동으로 할당하는 거) 방식이랑 동적 할당(DHCP 서버가 자동으로 할당해주던 거) 방식이 있음
  • 그럼 정적 라우팅이 정확히 어떻게 되는걸까?
    • 직접 채워넣는단 개념으로 이해하면 된다
    • 그니까 수동으로 구성된 라우팅 테이블 항목을 이용해서 수행되는 라우팅을 우리는 정적 라우팅이라고 한다.
    • 근데 여기서 문제점: 네트워크 규모가 커지면 관리해야 할 라우터가 늘어나면서 일일이 관리하는 것으론 쉽지 않음. 이걸 해결한 방식이 동적 라우팅인데~
  • 그럼 동적 라우팅은 어떻게 가능한 걸까?
    • 자동으로 라우팅 테이블 항목을 만들고,
    • 네트워크 경로 상에 문제가 발생했을 때 이를 우회할 수 있게 경로가 자동으로 갱신함
    • 그럼 어떻게 자동으로 테이블 항목을 만드는 걸까?
      • 라우터는 서로 통신하면서 특정 수신지까지 도달하기 위한 최적의 경로를 라우팅 테이블에 추가하려고 함. 이때 라우터 간의 통신에 사용되는 규칙이 라우팅 프로토콜이라고 하는 것임

AS Autonomous System 동일한 라우팅 정책으로 운용되는 라우터들의 집단 네트워크 한 AS 안에는 여러 개의 라우터가 있는데 라우터들은 AS 내부에서만 통신할 수 있고 AS 외부와 통신할 수도 있음 이때 AS 경게에서 통신 주고 받는 라우터는 AS 경계 라우터라고 함

라우팅 프로토콜이라는 게 정확히 뭔데?

  • 아까 얘기했듯이 라우터끼리 통신하면서 수신지까지의 최적 경로를 찾으려고 노력한다고 했음. 이때 통신할 때 사용하는 프로토콜이라고 이해하면 되는데
  • 정리하면 라우터끼리 자신들의 정보를 교환하며 패킷이 이동할 최적의 경로를 찾기 위한 프로토콜
  • AS 안에서 수행되면 IGP, AS 밖에서 수행되면 EGP라고 함
    • IGP에는 RIP, OSPF 라는 게 있고
    • EGP에는 BGP가 있음

그럼 IGP가 뭐고, RIP이랑 OSPF의 차이가 뭘까?

  • 최적의 경로를 산정할 때 무슨 단위로 계산하냐의 차이임
  • 거리 벡터를 쓰면 → RIP. 링크 상태를 쓰면 OSPF 임
  • 그럼 RIP가 정확히 어떻게 최적의 경로를 계산하냐?
    • 거리벡터를 쓴다고 했는데, 결국은 패킷이 경유할 라우터의 개수, 그니까 홉의 개수를 따짐 → 결국 홉의 개수가 가장 적은 경로를 최적의 경로라고 판단함
    • 그리고 얘네는 주기적으로 서로의 정보를 교환하면서 라우팅 테이블을 갱신함.
  • 그럼 OSPF는 어떻게 최적의 경로를 계산하냐?
    • 얘네는 링크 상태를 쓴다고 했는데, 링크 상태라는 건 라우터 간의 연결 관계, 연결 비용을 아우르는 말임. 결국 현재 네트워크의 상태가 어떤지를 따지는 링크 상태 데이터베이스를 바탕으로 판단함. 결국 메트릭이 낮은 경로를 찾게 되는데, 그걸 대역폭이 높은 경로와 동일시함.
    • 그리고 네트워크 구성이 변경되었을 때만 라우팅 테이블이 갱신되는데,
    • 이게 대규모 네트워크가 되면 링크 상태 DB에 모든 걸 저장하기 어려워짐 → 이걸 해결하기 위해서 AS를 AREA라는 단위로 나눠서, 구분된 area 내에서만 상태를 공유함. 이런 area 간의 연결은 또 ABR Area Border Router 라우터가 담당함.
  • 결국 RIP과 OSPF의 차이는 최적 경로를 따지는 기준이 (1) 홉의 개수냐, (2) 네트워크 상태를 따지냐 인 것. 그리고 라우팅 테이블의 갱신 주기가 (1) 주기적이냐 (2) 네트워크 구성이 변경됐을 때만이냐 로 구분 지을 수 있음

그럼 EGP에서 BGP는 뭘까?

  • 아까 EGP는 AS 밖에서 사용되는 프로토콜이라고 했듯이, 얘는 AS 간의 통신에서 사용되는 대표적인 프토콜로 BGP Border Gateway Protocol이 있음.
  • BGP가 가능하려면 AS의 경계에서 서로 다른 AS 간의 연결을 담당하는 ASBR AS Border Router 라는 녀석이 필수적임. 서로 다른 ASBR끼리 연결될 때, BGP 메시지를 주고 받게 됨.
  • 이렇게 연결된 BGP 라우터를 피어 Peer라고 하고, 이 과정을 Peering이라고 함.

results matching ""

    No results matching ""