서울대학교 컴퓨터공학과 권태경 교수님의 "Topics in Computer Networks" 강의를 필기한 내용입니다.
다소 잘못된 내용과 구어적 표현 이 포함되어 있을 수 있습니다.
BGP
- NLRI 는 IP Prefix 와 Prefix length 의 조합이다
- 인접한 Border gateway 를 peer 라고 하는데
- eBGP peer 는 AS 간의 BGP peer 를 말하는거고
- iBGP peer 는 같은 AS 내의 peer 를 말한다
- 얘도 마찬가지로 라우팅 정보를 공유한다
- peer 들 간에는 NLRI 를 포함한 message 들을 공유한다
ethernet port (interface) naming
- 간단한 router 에는 motherboard 에 몇개의 port 가 있고 거기에 추가적으로 nic 를 설치해 port 를 늘릴 수 있게 되어 있다
- 그래서 이 경우에는
{slot 번호}/{port 번호}
이런식으로 네이밍을 한다
- 그래서 이 경우에는
- 근데 일부는 더 복잡한 구조를 가질 수도 있다
- on-board slot
- chassis slot (추가적인 nic)
- 여기에 추가적으로 module 을 달 수도 있는데 이건 router 의 축소판이라고 생각하면 된다
- module build-in slot: module 의 on-board slot
- module chassis slot: module 의 chassis slot
- 이 경우에는
{모듈 번호}/{slot 번호}/{port 번호}
이런식으로 네이밍을 한다
- 이 정보를 이용해 router 에 neighbor (peer) 를 설정한다
- (loopback bgp 는 스킵함)
BGP update message
- BGP peer 들 간에는
AS-Path
- AS Path: update message 가 전파되면서 거쳐간 AS 정보들이 여기에 저장된다
- 즉, message 가 AS 를 거치며 전파될때 마다 여기에 추가되는 것
Next hop
- (놓침 32”)
Withdrawn Routes
- (이것도 놓침 33”)
RIB
- (놓침 - 적당히만 설명하고 넘어감)
Types of BGP messages
- OPEN
- UPDATE
- KEEPALIVE
- NOTIFICATION
- 놓침 - 38”
Optional attributes for NLRI
- Local preference
- 높을수록 좋다
- 말 그대로 어떤 회선을 선호하는지에 대한 수치이다 - 뭐 회선 사용비 등에 영향을 받는다
- AS 내에서 스스로 결정한다?
- MED - Multi-Exit Discriminator
- Local preference 보다는 우선순위가 낮은 선호도?
- Origin
- Incomplete: AS 내부의 어떤 라우터가 자신의 NLRI 를 BG 에 OSPF 등으로 전파했다고 했을 때, 이 정보도 포함되는데 이때는 incomplete 라는 origin 이 붙는다
- network admin 이 설정한 것은 igp
- 외부로부터 받은 것은 egp 인듯
- 그래서 igp 가 가장 우선순위가 높고, 그 다음에는 egp, incomplete
- bgp community (50”)
- synchronization - 스킵
BGP decision process
- 일단 local preference 가 가장 우선되고
- 그 다음에는 as path 가 짧은 순
- network admin 은 as path 에 자신의 as 번호를 몇개 더 추가해 우선순위를 낮추는 편법을 사용하기도 한다
Stub AS
- 만일 AS 101 이 AS 100 의 IP range 에 포함된다면 원래는 BGP 를 할 필요가 없는데
- Multi-home 이어서 여러 isp 와 연결되어 있을 때에는 bgp 를 할 수도 있다?
- 이런 as 간의 관계를 비즈니스 관점으로 보면
- isp 처럼 customer-provider 관계일 수도 있지만
- 이때 customer 는 transit service 를 원하지 않을 수도 있다 - 즉, provider 가 다른 곳으로 패킷을 보내고자 할 때 customer 를 거쳐가지 않았으면 좋겠다 라고 요청할 수도 있다
- customer 입장에서는 자신을 거쳐가는 것도 자신이 부담해야 할 트래픽이기 때문
- 이렇게 되면 customer 가 provider 의 NLRI 를 다른 AS 에 전달하지 않을 수도 있다
- ingress 와 egress 가 거의 유사해서 계약관계를 맺지 않는 peer 관계가 될 수도 있다
- isp 처럼 customer-provider 관계일 수도 있지만
- ISP 에 연결된 두 AS 는 서로 통신할 때 ISP 를 거치지 않게 하기 위해 서로 간 peering link 를 설치할 수도 있다
- valley-free routing
- 패킷을 보내고자 할 때 customer link, peering link, non-peering link 순서로 선호한다 - 발생하는 비용 때문에
- routing information base (RIB)
- filtering export policy
- as 100와 as 200 간의 ingress egress 차이가 크다면, as 100 은 as 300에게 as 200 의 update message 를 전파하지 않을 수도 있다?