2020년 국비지원 교육 내용 정리
### BGPv4
1. Distance Vector 계열의 Path Vector 알고리즘
---> Loop가 발생하여 Split-Horizon 규칙 필요
(자신이 거쳐온 AS 정보(Path)를 기록하기 때문)
- No auto-summary
2. AS(Autonomous System)
- BGP의 AS는 구매해서 사용하는 도메인 (회사나 국가에서 임대)
- EIGRP의 AS는 사설 도메인( BGP의 AS 개념을 차용해서 사용하는 것 ) (단순 구분&관리용)
3. BGP Adjacency 관계 – BGP Peer (IGP의 Neighbor 관계와 동일)
BGP Routing Update는 BGP Peer간 실시
구성 : 동일 AS에서 동작하는 iBGP Peer / 서로 다른 AS 사이에서 동작되는 eBGP Peer
TCP Port 179번을 이용하여 BGP Peer 연결
- NLRI가 확립된 Router와 BGP Peer를 연결 가능
- BGP Peer 연결은 Routing Table에 등록되어 IP Address로 가능
- BGP로 받은 정보는 IGP 정보로 확인 되어야 하고 해당 IGP 정보는 Connect정보로 확인되어야한다.
4. 다양한 BGP 속성(Attribute)을 이용하여 최적의 경로를 선출
5. 기본적으로 로드분산을 고려하지 않으며, 최적의 경로 하나만 선출
6. eBGP의 AD값 = 20 / iBGP의 AD값 = 200
-------------------------------------------------------------------------------------------------------
*주의사항*
목차
1. BGP 동기화
2. BGP Split-Horizon
a. Full-Mesh
b. Route-Reflector
c. Confederation
3. BGP Next-Hop
a. Static route
b. Redistribute
c. Next-Hop-Self
1. BGP 동기화
(동일 AS 내의 BGP 설정을 하지 않은 Router가 블랙홀처럼 통신을 Drop)
-> BGP 동기화 문제에 의한 Block hole-Point 발생
-> 따라서, 동일 AS 내의 모든 Router가 BGP 설정되어 있는지 확인 필요
[모든 Router가 BGP 설정이 되어있으면 BGP 동기화 문제 발생 X]
2. BGP Split-Horizon
(iBGP로 받은 정보는 iBGP로 송신할 수 없다)
-> Loop에 걸릴 수 있기 때문에 한번 더 보내지 않는 것,
-> 3대 이상이면 신경을 써야 함
#해결방법
a. Full-Mesh
동일 AS 내의 모든 Router가 BGP Peer를 잡는 방식
b. Route-reflector
Route-reflector를 지정하여 iBGP를 한번 더 전송하는 방식
(OSPF의 DR과 비슷한 개념)
Route-reflector로 선정된 Router는 Split-Horizon Rule을 적용X
Route-reflector Client로 지정된 Router만 iBGP를 받을 수 있다.
* 상황
R2는 R3,R4,R5와 Peer를 맺었다. 그리고 각 Router에 Loopback 192를 추가하였지만
BGP Split-Horizon 때문에 모든 Router의 Loopback 192 정보가 보이지 않는다.
R3,R4,R5와 Peer를 맺은 R2가 Route-reflector가 되고 나머지 R3,R4,R5는 Route-reflector-client가 된다면 모든 정보가 Table상에 등록된다.
*Route-reflector-client를 Route-reflector가 될 Router에서 지정
Loopback 192의 정보가 모두 등록되었다.
c. Confederation
하나의 AS를 다시 사설 AS(sub-AS)로 분할하여 설정하는 방식
AS200에서 사설 AS로 분할하여 Split-horizon을 해결했다.
BGP는 자신이 거쳐온 경로를 기록하는 Protocol이지만 아래와 같은
상황에서는 사설 AS의 경로를 기록하지 않고 AS200으로만 기록한다.
* “BGP Confederation” Command의 의미
Router BGP의 AS번호는 64512로 사설 AS를 의미한다.
BGP Confederation의 방식은 사설 AS를 사용하여 Split-Horizon 문제를 해결하는 것이다.
하지만, 이 command를 넣지 않으면 실제로는 사설 64512로 인식하기 때문에 이 Command를 넣어야한다.
‘BGP confederation identifier [AS NUMBER] command의 의미
사설 EBGP라는 것을 알려주는 것
Peer를 잡을 Router 두 곳 모두 넣어준다.
* R1의 Show ip BGP summary
R1는 R2의 64512의 사설 AS로 설정되었지만 AS200으로 기록했다.
R4와 R5도 Peer를 잡은 후 R3와 R4를 연결해보자.
* 실제는 iBGP지만 가상의 eBGP다.
R3과 R4는 AS200지만 위의 설정으로 Confederation되어 R3과 R4는 각각 645121 64513으로 둘의 관계는 가상의 eBGP다. 따라서, Multihop의 수를 증가시켜주어야 한다.
(두 곳 모두 eBGP-multihop 입력하기)
하지만 이와 같은 설정에도 ERROR Message를 보낸다. 가상의 eBGP를 연결하기 위해서 추가 Command가 필요하다.
* 방금 잡은 AS는 가상 AS다
‘BGP confederation peer’ command를 추가하여, AS 64512는 Confederation된 사설 AS라는 것을 알려준다
R4의 show ip BGP summary다. 13.13.3.3의 AS Number는 64512로 기록되었고 동일 AS에 있는 13.13.5.5도 잡힌 모습이다.
3. BGP Next-Hop
* Next-Hop이란
Destination Network로 가기 위한 다음 Router
IGP의 Next-Hop IP address는 물리적으로 접속된 인접 Router의 IP address
* BGP의 Next-Hop Rule
1. 처음 Routing 정보를 보낸 Router가 Next-Hop으로 선정
2. 다른 AS로 넘어갈 때는 그 AS와 연결되는 Router가 Next-Hop
상황
R1과 R2의 eBGP 연결구간이 DMZ로 구성되기때문에 13.13.12.0/24 네트워크 정보는 BGP AS 200내의 Router에게 Routing되지 않는다. (DMZ 구간 = IGP가 구성되지 않는 구간을 의미)
BGP에서 Next-Hop은 바로 다음 Router가 아니라 다음 AS로 처리되기 때문이다.
즉, AS200 내의 Routing Table 상에 13.13.12.0/24 IP Address 정보가 보장되지 않기 때문에 eBGP정보를 AS200에 전달 할 수 없다. 외부경로로 가기 위해서 EBGP의 Next-hop정보를 내부 iBGP의 Routing Table에 해당 경로가 등록되어 있어야 한다.
이를 해결하는 방법은 3가지가 있다.
a. Next-Hop Address를 직접 지정하는 방식
b. Next-Hop Address를 Routing Protocol 환경으로 Redistribute하는 방식.
c. BGP자체 기능인 Next-Hop-Self 를 사용하는 방식
* R3의 Show ip BGP summary
DMZ 구간인 13.13.12.0/24 대역이 R3의 Routing Table에 없다.
* R3의 show ip BGP
BGP정보를 받았지만 Next Hop의 Address를 가지고 있지 않기 때문에 R4와 R5로 BGP정보를 보낼 수 없다.
* R4의 show ip BGP와 show ip route
해결방법
a. Static Route를 사용
Next-Hop를 Static Route로 지정하여 해결
b. DMZ구간의 네트워크를 IGP로 재분배
13.13.12.0/24 대역을 EIGRP환경으로 Redistribute한다.
* R3의 Show ip BGP summary
c. BGP Next-Hop-Self
Next-hop을 자신으로 설정하여 Next-Hop 문제를 해결한다.
-> 의미: R2는 13.13.3.3의 대역을 가진 Peer Router에게 자신이 Next-Hop이라고 전파
* R3의 Show ip BGP
* R4의 Show ip BGP
* IGP Routing Command의 의미
Router eigrp 100
Network 13.13.21.0 0.0.0.255
Network 13.13.21.0 0.0.0.255의 의미 1. 13.13.21.0/24의 대역을 EIGRP환경으로 Distribute
2. 이 Network로 정보를 Send / Receive 한다.
BGP는 이 두가지의 명령어가 다르다.
* Neighbor 잡는 명령어 (Sending / Receiving)
* Neighbor 연결 전
* Neighbor 연결 완료
* 자신이 가진 Network 정보를 Update하는 명령어 (Distribute)
* eBGP의 AD값 확인 [20 / 0]
* iBGP의 AD값 확인 [200 / 0]
* Path는 거쳐온 경로(AS)
* neighbor [IP Address] update-source [Interface]의 의미
[IP Address] 를 가진 Router와 neighbor를 잡을 때 출발지 Address는 자신이 가진 [Interface]의 Address로 설정
** Loopback IP address로 Neighbor를 설정하는 이유는 안정성 때문.
물리적인 Interface의 IP address로 Neighbor를 설정한 후 장애가 발생하면 통신이 불가하지만 가상 Interface인 Loopback으로 설정 후 한 곳이 장애가 발생해도 우회경로로 Neighbor를 잡을 수 있기 때문이다.
헷갈리는 명령어들
BGP confederation identifier 200 - 실제 AS번호
BGP confederation peer 64513 - 사설 AS번호
neighbor [IP address] route-reflector-client
= R.R이 지정해주는 것
neighbor [IP address] update-source[Interface]
[이 명령어가 없으면 물리적인 Interface]
= (논리적인 Interface를 사용한 iBGP Peer 연결 )
'IT > ㄴ Cisco' 카테고리의 다른 글
[CISCO] VPN 정리 (Virtual Private Network) (0) | 2023.06.30 |
---|---|
[CISCO] Access Control List 기초 (standard ACL / Extended ACL) (0) | 2023.06.30 |
[CISCO] Remote Access 하기 [Telnet / SSH] (0) | 2023.06.28 |
[CISCO] OSPF (Open Shortest Path First) 기초 (0) | 2023.06.27 |
[CISCO] EIGRP (Enhanced Interior Gateway Routing Protocol) 기초 (0) | 2023.06.27 |