BGP
- 네트워크 관리자가 지정하는 정책에 따라 라우팅
- 기본적인 설정만 했을 때는 최적 경로 라우팅이 일어나지 않음
BGP 네트워크 조정
-> 모든 조정 작업은 현재의 AS에서 이루어진다.
-> BGP는 다른 조직의 네트워크와 연결하여 동작하므로 모든 통신 장비를 한 조직에서 관리하지 못한다
- 현재의 AS에 소속된 라우터만을 조정하여 원하는 라우팅이 이루어지도록 해야 함
BGP 네트워크 방법
1. 네트워크 차단
2. 입, 출력 경로 지정
- ex. MED, LP
3. 네트워크 안정화
- 축약, 댐프닝, 프리픽스 수 제한
BGP 조정을 위한 일반적인 절차
step 1. 조정할 대상 지정
- 대상 : AS, community, 특정 neighbor
- 대상 지정 : access list, prefix list, route-map 등
step 2. 선택한 대상을 조정
- 주로 route-map을 이용하여 속성 조정
- 특정 네트워크나 AS에 대한 BGP 광고를 차단하거나 허용하는 작업만 할 경우에는 이 과정 없어도 됨
step 3. 적용
- neighbor들에게 적용
- clear ip bgp로 route refresh 함
굳이 clear ip bgp를 해야하는가?
- bgp 관련 route-map 변경, weight 변경, distribution list 변경, bgp acl list 변경 의 정책이 적용되기 위해서는 해당 명령어를 사용해야 함
- clear ip bgp VS clear ip bgp soft
- hard reset : TCP 연결을 포함하여 peer에서 오는 경로 삭제
- soft reset : peering session을 해제하지 않고 BGP 라우팅 테이블 재구성
- 업데이트를 위한 추가 메모리를 할당하여 네트워크를 중단하지 않고 BGP 정책 적용
Table 1 hard reset vs soft reset
종류 | 장점 | 단점 |
hard reset | 메모리 오버헤드 X | 이웃에서 제공하는 BGP, IP 및 FIB(Forwarding Information Base) 테이블의 neighbor 손실 -> 권장하지 않음 |
outbound soft reset |
configration이 없고 라우팅 테이블 업데이트가 저장되지 않음. | 인바운드 라우팅 테이블 업데이트 X |
inbound soft reset |
BGP 세션 및 캐시 X 라우팅 테이블 업데이트를 저장할 필요가 없으며 메모리 오버헤드가 없음. |
두 BGP 장치 모두 route refresh 기능을 지원해야 함 아웃바운드 라우팅 테이블 업데이트 X |
neighbor soft-reconfiguration |
두 BGP 장치 모두 route refresh 기능을 지원하지 않을 때 사용 bgp soft-reconfig-backup : route refresh 기능을 지원하지 않는 피어에 대한 inbound soft reset을 위해 사용함 | 사전 구성 필요 수신된(인바운드) 라우팅 정책 업데이트를 모두 저장 두 BGP 장치 모두 route refresh 기능을 지원하지 않을 때만 권장 |
네트워크 광고 제어
- 특정 neighbor에게 routing 정보를 전송하거나 수신할 때 적용
- 특정 네트워크의 광고들 차단하거나, 허용
- ISP : 특정 네트워크만 차단
- 기업 : 특정 네트워크만 허용
실습
1. 기본설정
# SW
!
vlan 12,23,34
!
interface Ethernet1-4
switchport trunk allowed vlan 12,23,34
switchport mode trunk
!
# R1
!
vlan 12
!
interface Ethernet1
no switchport
!
interface Ethernet1.12
encapsulation dot1q vlan 12
ip address 1.1.12.1/24
!
interface Loopback0
ip address 1.1.1.1/24
!
# R2
!
vlan 12,23
!
interface Ethernet1
no switchport
!
interface Ethernet1.12
encapsulation dot1q vlan 12
ip address 1.1.12.2/24
!
interface Ethernet1.23
encapsulation dot1q vlan 23
ip address 1.1.23.2/24
!
interface Loopback0
ip address 1.1.2.2/24
!
# R3
!
vlan 23,34
!
interface Ethernet1
no switchport
!
interface Ethernet1.23
encapsulation dot1q vlan 23
ip address 1.1.23.3/24
!
interface Ethernet1.34
encapsulation dot1q vlan 34
ip address 1.1.34.3/24
!
!
interface Loopback0
ip address 1.1.3.3/24
!
# R4
!
vlan 34
!
interface Ethernet1
no switchport
!
interface Ethernet1.34
encapsulation dot1q vlan 34
ip address 1.1.34.4/24
!
interface Loopback0
ip address 1.1.4.4/24
!
2. BGP 설정
# R1
!
router bgp 1
router-id 1.1.1.1
neighbor 1.1.12.2 remote-as 2
network 1.1.1.0/24
!
# R2
!
router bgp 2
router-id 1.1.2.2
neighbor 1.1.12.1 remote-as 1
neighbor 1.1.23.3 remote-as 3
neighbor 2.2.12.1 remote-as 1
network 1.1.2.0/24
network 2.2.2.0/24
!
# R3
!
router bgp 3
router-id 1.1.3.3
neighbor 1.1.23.2 remote-as 2
neighbor 1.1.34.4 remote-as 4
network 1.1.3.0/24
!
# R4
!
router bgp 4
router-id 1.1.4.4
neighbor 1.1.34.3 remote-as 3
network 1.1.4.0/24
!
prefix-list로 네트워크 광고 제어
- prefix-list : 모든 라우팅 프로토콜에서 정책 설정을 위한 대상 네트워크를 지정할 때 사용
- 경로 검색이 빠르고, 일부를 지우거나 추가할 수 있음
- 직관적임
- deny 0.0.0.0/0 le 32 묵시적인 문장이 있음
- 설정 Example
- R1에서 1.1.2.0/24에 대한 광고를 차단
!
ip prefix-list TEST seq 10 deny 1.1.2.0/24
ip prefix-list TEST seq 20 permit 0.0.0.0/0 le 32
!
router bgp 1
neighbor 1.1.12.2 prefix-list TEST in
!
* 참고 * ge / le
- ge, le 옵션이 없으면 : 명시된 서브넷 마스크를 가진 네트워크만 지정
- ge : ge에서 지정한 숫자 이상. ge 24이면, 24 ~32bit까지
- ex) 1.1.0.0/16 ge 25 : 25 ~32까지
- le : 해당 서브넷 이상 부터 le 에서 지정한 숫자까지
- ex) 1.1.2.0/24 le 32란 24~32까지
- permit 0.0.0.0/0 le 32이면 32bit까지 이기 때문에 모든 네트워크 허용
- 0.0.0.0/0 ge 8 le 24 : subnet mask 길이가 8이상 24 이하인 모든 네트워크
prefix-list 고유 번호
- 각 prefix-list에 고유 번호를 주지 않으면 10씩 증가
- 책에서는 5씩 증가한다고 되어있지만, arista 장비에서는 10씩 증가하는 것으로 보임
- 중간에 prefix-list를 추가하고 싶다면 seq option을 주면 됨
AS 경로 access list를 이용한 네트워크 광고 제어
- AS 경로 Access list를 만들때는. regular expression(regix)(정규식)를 사용함
- access list와 마찬가지로 묵시적으로 나머지 모든 AS는 차단하라는 문장이 있음
실습
# R1
- AS 2에서 시작된 네트워크만 허용
ip as-path access-list 1 permit ^2$ any
neighbor 1.1.12.2 prefix-list 1 in
원래는 R2에서 오는 건 보여야 하는데.... 실제로 해보니 모두 deny 되버림....
route-map을 이용한 네트워크 광고 제어
- 특정 네트워크를 허용함과 동시에 BGP 속성(MED, LP 값 등)도 조정하는 경우 사용
실습
- 1.1.2.0/24 네트워크의 LP는 200, AS 3에서 시작된 네트워크의 LP는 300으로 설정
# R1
ip prefix-list R2 seq 10 permit 1.1.2.0/24
ip as-path access-list 1 permit 3$ any
!
route-map CHANGE-LP permit 10
match ip address prefix-list R2
set local-preference 200
!
route-map CHANGE-LP permit 20
match as-path 1
set local-preference 300
!
router bgp 1
neighbor 1.1.12.2 route-map CHANGE-LP in
!
- 조정을 원하는 대상을 prefix-list, as-path access-list로 지정
- route map에서 위에 지정한 대상을 가져옴
- neighbor에게 route-map 지정
- route-map의 번호를 지정하여, 실행 순서를 지정할 수 있다.
- match : as-path, community 등 대상을 지정할 때 사용
'네트워크' 카테고리의 다른 글
MPLS 쌩초보 기초기초 (0) | 2022.02.04 |
---|---|
[따라하며 배우는 서버 부하분산 입문] 서버 부하분산 2번째 (0) | 2022.01.17 |
[IP Routing 개정 4판] BGP 2번째 (0) | 2022.01.02 |
[ip routing 개정 4편] BGP (0) | 2021.12.26 |
[네트워크]SVI VS Routed port, Serial IP (0) | 2020.05.08 |