본문 바로가기
CS공부

[네트워크] 6. BGP와 OSPF로 forwarding table 만드는 법, Broadcast and multicast routing

by 디토20 2022. 5. 21.
반응형

 

[네트워크] 6. BGP와 OSPF로 forwarding table 만드는 법,

Broadcast and multicast routing

 

 

1. routing in the internet

- BGP(inter as routing protocol) : 서로 다른 AS에서 정보를 교환할 때 사용하는 프로토콜

- OSPF(intra as routing protocol) : 같은 AS내에서 정보를 교환할 때 사용하는 프로토콜

 

 

1.1 BGP와 OSPF가 협력해서 어떻게 forwarding table을 만들 수 있는지 보자

 

 

- gateway router들은 BGP를 교환함으로써 루트정보를 획득하게 된다.

 

1.1.1 루트정보

  1) 목적지 서브넷의 prefix

  2) 목적지 서브넷으로 가기 위한 경로 정보(attribute)

     (1) AS-PATH : 내 AS로부터 목적지 서브넷의 prefix까지 가기 위해 거치는 AS들의 리스트

     (2) NEXT-HOP : AS-PATH에서 첫번째 AS를 연결해주는 gateway router

 

Example 루트 정보

 

 

 

- BGP route advertisements를 통해 새로운 prefix를 발견함

- 이 prefix에 대해 새로운 fowarding table을 작성해야함!

 

 

1.1.2 하나의 라우터가 동일한 prefix에 대해 여러개의 root 정보를 받을 경우

 

 

  • 라우터들이 루트정보를 받게 될 때, 경우에 따라서 하나의 라우터가 동일한 prefix에 대해 여러개의 root 정보를 받을 수 있음
  • 이럴 경우 하나를 선택해야 함
  • 루트정보를 선택할때는 BGP의 Policy가 가장 우선순위
  • policy가 둘다 ok일 경우, AS-PATH가 짧은 것을 고름

 

Example

 

 

1.1.3 AS-PATH 길이까지 같을 경우?

  • Hot Potato Routing을 적용
Hot Potato Routing이란?
  • router가 prefix에 대해서 두개 이상의 똑같은 길이의 AS-PATH를 알게 됐을때 하나를 고르기 위해 NEXT-HOP을 이용함.
  • 가장 가까운 NEXT-HOP을 이용

 

Example

 

  • 1c는 AS3 AS134 to 138.16.64/22AS2 AS421 to 138.16.64/22 두가지의 루트정보를 받음
  • 1c에서 3a와 2a중 가까운 NETX-HOP은 3a
  • 3a로 가는 AS-PATH를 이용한다.

 

 

 

1.1.4 NEXT-HOP이 정해진 후, OSPF의 사용

  • shortest path에서 경유하는 첫번째 AS의 gateway router(Next-HOP)에 가는 최단 경로를 OSPF에 의해 발견
  • OSPF에서 어떤 port로 내보낼지를 결정

 

 

 

 

1.2 Intra- AS routing(OSPF)과 Inter-AS routing(BGP) 차이점

Policy

Inter-AS : admin이 다른 AS들을 거치기 때문에 나의 트래픽이 어떤 경로를 거치는지, 나를 통해 어떤 트래픽이 지나가는지등에 대한 policy를 결정해야함

Intra-AS : single admin 아래에 있기 때문에 policy 필요x

 

performance

Intra-AS : 퍼포먼스가 가장 중요

Inter-AS : 퍼포먼스보더 정책이 더 우선

 

 

 

 

2. broadcast and multicast routing

  • broadcast와 multicast를 위해서는 별도의 라우팅이 필요함
  • broadcast: 하나의 source가 내보내는 데이터를 네트워크에 있는 모든 destination에서 다받음
  • multicast: 하나의 source가 내보내는 데이터를 네트워크에 있는 다수의 목적지에서 받음

 

2.1 broadcast

flooding
  • node에 연결된 port가 4개가 있다고 가정. 한 곳으로 패킷이 들어오면 나머지 3개 포트로 다 내보냄
  • 문제점 : 내가 내보낸 패킷이 돌고 돌아 다시 나한테 들어오면 그걸 또 모든 포트로 내보냄 -> loop가 발생해 broad cast storm이 발생할 수 있음

 

controlled flooding
  • 내가 내보낸 패킷은 얼마동안 기억해놓는다던지 하는등의 broad cast storm이 발생하지 않게 제어하는것

 

 

spanning tree
  • 그래프에 모든 노드를 단한번 지나는 tree를 그리고, 이 tree만을 따라서 가게 함
  • 모든 노드에 데이터가 전달되면서, 중복이 없음

 

 

 

2.2 multicast

  • 네트워크 군데군데 목적지 호스트가 있음
center-based trees
  • 네트워크에 임의의 center node를 하나 두고, multicast group의 전체 node에 센터 노드를 알림. 그럼 멀티캐스트 노드는 데이터를 일단 center node로 보냄. 그 후 센터를 루트로 하는 shortest path를 그림
728x90
반응형

댓글