ShovelingLife
A Game Programmer
ShovelingLife
전체 방문자
오늘
어제
  • 분류 전체보기 (1072)
    • 그래픽스 (57)
      • 공통 (19)
      • 수학 물리 (22)
      • OpenGL & Vulkan (1)
      • DirectX (14)
    • 게임엔진 (183)
      • Unreal (69)
      • Unity (103)
      • Cocos2D-X (3)
      • 개인 플젝 (8)
    • 코딩테스트 (221)
      • 공통 (7)
      • 프로그래머스 (22)
      • 백준 (162)
      • LeetCode (19)
      • HackerRank (2)
      • 코딩테스트 알고리즘 (8)
    • CS (235)
      • 공통 (21)
      • 네트워크 (44)
      • OS & 하드웨어 (55)
      • 자료구조 & 알고리즘 (98)
      • 디자인패턴 (6)
      • UML (4)
      • 데이터베이스 (7)
    • 프로그래밍 언어 (348)
      • C++ (167)
      • C# (90)
      • Java (9)
      • Python (33)
      • SQL (30)
      • JavaScript (8)
      • React (7)
    • 그 외 (9)
      • Math (5)
      • 일상 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Source Code 좌측 상단에 복사 버튼 추가 완료
  • 언리얼 엔진 C++ 빌드시간 단축 꿀팁
  • 게임 업계 코딩테스트 관련
  • 1인칭 시점으로 써내려가는 글들

인기 글

태그

  • 티스토리챌린지
  • Unity
  • 언리얼
  • 유니티
  • 배열
  • SQL
  • 오블완
  • 그래픽스
  • C++
  • 문자열
  • string
  • c#
  • 파이썬
  • 백준
  • C
  • 함수
  • 포인터
  • 프로그래머스
  • 알고리즘
  • 클래스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ShovelingLife

A Game Programmer

BGP (Border Gateway Protocol)
CS/네트워크

BGP (Border Gateway Protocol)

2024. 10. 13. 16:56

개념

사실 모든 BGP 프로토콜이 서로 다른 AS들을 연결해주는 것은 아니다. Border Gateway Protocol의 이름에서 알 수 있듯이, AS의 가장 자리에 위치한 BG (Border Gateway)들 간의 프로토콜이다, 물론 다른 AS들에 속한 BG간의 연결에도 관여하지만, 같은 AS 내의 BG 간의 연결에도 관여한다. 이러한 역할의 차이에 따라 BGP는 크게 두 가지로 구분할 수 있다.

1) iBGP

서로 같은 AS 상의 Border Gateway들 끼리의 연결을 담당하는 BGP

 

2) eBGP

서로 다른 AS 상의 Border Gateway들 끼리의 연결을 담당하는 BGP, inter-AS 라우팅이다.

역할

서로 다른 AS에 존재하는 IP주소로도 쉽게 패킷을 전달할 수 있는것이 다 BGP 때문이다. 그렇다면, BGP가 어떻게 동작하는지 아래 그림을 보며 살펴보자.

1단계) 우선 AS2에 존재하는 BG(192.32.7.0) 가 자신과 연결된 AS1에게 메시지를 보낸다. 메시지에는 AS2의 aggregation된 IP주소(192.32.0.0/21) 가 담겨져 있으며, 해당 IP주소로 접근하기 위해 가야하는 경로인 AS2를 함께 보낸다.

 

2단계) 다음으로 AS1에 존재하는 두개의 BG(202.32.1.0, 202.32.9.0) 사이에 BGP 메시지를 보낸다. 메시지를 통해 AS1의 다른 BG(202.32.9.0) 가 목표 IP 주소(192.32.0.0/21) 로 접근하기 위해 가야하는 경로인 AS2를 알게 된다.

 

3단계) AS1과 인접한 AS3의 BG에게 BGP 메시지를 보낸다. 메시지를 통해 AS3의 BG(143.248.5.0) 는 목표 IP 주소(192.32.0.0/21) 와, 해당 주소로 접근하기 위해 가야하는 경로인 AS1 AS2를 알게된다.

 

즉, 특정 AS에 존재하는 특정 IP 주소를 다른 AS들에게 소문내서 서로를 연결시키는 과정이라고 보면 된다. BGP 메시지를 주고받는 와중에, Intra-AS 프로토콜인 OSPF나 RIP를 통해 해당 AS 내의 모든 라우터들이 다른 AS에 존재하는 IP 주소를 서로 공유하고, 경로를 설정하게 된다.

BGP route selection

앞서 살펴본 예시는 특정 AS에 접근하기 위한 길이 하나인 경우가 전부였다.

하지만 아래 그림과 같은 경우에서는 AS2에서 AS3로 가기 위한 길이 1) 그냥 바로 가는 경우와 2) AS1을 거쳐 가는 경우 두가지로 나뉘어진다.

이럴 경우, BGP는 Hot Potato Routing 방식을 채택하고 있다. 현재 자신이 속한 AS를 벗어나기 위해서 Next-Hop cost가 짧은 link를 선택한다. 즉, 위의 경우에서는 2d라우터에서 Next-Hop이 짧은 2a 라우터로 전송한다.

 

https://ddongwon.tistory.com/97

 

저작자표시 (새창열림)

'CS > 네트워크' 카테고리의 다른 글

OSI 7계층 개념 정리  (0) 2024.10.18
IaaS, PaaS, SaaS 차이  (1) 2024.10.17
라우팅 Routing  (0) 2024.10.13
RIP 라우팅 프로토콜  (0) 2024.10.13
RIP와 OSPF  (3) 2024.10.10
    'CS/네트워크' 카테고리의 다른 글
    • OSI 7계층 개념 정리
    • IaaS, PaaS, SaaS 차이
    • 라우팅 Routing
    • RIP 라우팅 프로토콜
    ShovelingLife
    ShovelingLife
    Main skill stack => Unity C# / Unreal C++ Studying Front / BackEnd, Java Python

    티스토리툴바