728x90
반응형
1. BGP Message Type Summary
Type | Name | Description |
1 | Open | ❍ 두 BGP 라우터 간에 TCP Session이 구성된 후, Open Message를 사용하여 BGP Peer 연결을 시도 ❍ 자신의 정보(AS, Router-ID, Hold Time)를 Peer에게 전송 |
2 | Update | ❍ Update Message를 전송하여 BGP Peer 간에 라우팅 정보를 교환 |
3 | Notification | ❍ BGP에 관련된 Error 발생 시, Notification Message를 전송 |
4 | Keepalive | ❍ BGP 공통 Header로만 구성 ❍ BGP 라우터 간에 Health Check 하는 것이 목적 ❍ 기본적으로 Hold Time의 1/3로 구성 - Nokia 7750 SR OS는 Active Hold Timer의 1/3로 자동 구성 |
5 | Route Refresh | ❍ 예전에 BGP Peer가 광고한 경로를 재전송할 때 사용 ❍ 현재 일반적인 BGP v4에서 미사용 |
- RFC 4271에 BGPv4 및 Message Type 1~4가 정의
- RFC 2918에 Message Type 5가 정의
2. BGP Message Header
1) BGP 공통 Header
Field | Description |
Marker | ❍ 옛날 버전과 호환성을 위해 Header에 계속 존재 - 옛날 버전에서는 MD5 인증 사용 용도로 표시 - 모두 1로 설정 시, 인증을 사용하지 않는다는 의미 ❍ BGPv4(RFC 4271)에서 더 이상 사용되지 않으며 Field를 모두 1로 구성 |
Length | ❍ 공통 Header를 포함한 BGP Message의 Total Length ❍ 19 ~ 4096 byte |
Type | ❍ 1 : Open Message ❍ 2 : Update Message ❍ 3 : Notification Message ❍ 4 : Keepalive Message ❍ 5 : Route-Refresh Message |
2) BGP Open Message
Field | Description |
Version | ❍ 현재 BGPv4를 사용하며 BGP Peer와 정보 불일치 시, BGP Peer 불가능 ❍ BGP Neighbor와 정보 불일치 시, BGP Session 성립 불가능 |
AS | ❍ 송신지의 AS를 표시 |
Hold Time | ❍ Hold Time 동안 Keepalive or Update Message를 수신하지 않으면 BGP Peer 해제 - Keepalive 또는 Update 메시지 수신 시, Hold Time 값을 0으로 Reset ❍ 두 라우터 간에 구성된 값을 비교하여 작은 값으로 적용 - Nokia 7750 SR은 기본적으로 90s로 설정되며 Keepalive Message는 30s마다 전송 - Cisco IOS는 기본적으로 180s로 설정되며 Keepalive Message는 60s마다 전송 - RFC 4721에는 큰 값으로 구성한다고 표시 |
BGP-ID | ❍ BGP Router-ID( BGP-ID) |
Optional Length | ❍ Optional Field의 Length를 표시 ❍ 0 = Optional Field가 없음을 의미 |
Optional | ❍ Option Field를 이용하여 Authentication, MP-BGP, Graceful-Restart를 지원 |
3) BGP Update Message
Field | Description |
Withdrawn Routes Length |
❍ Withdrawn Route Field의 Length ❍ 해당 값이 0이면 Withdrawn Route Field가 없음을 의미 |
Withdrawn Routes | ❍ 이전에 광고했던 Route List(BGP Table에서) 중 제거되어야 하는 모든 NRLI를 나열 - 즉, BGP 테이블에서 제거되어야 하는 모든 NLRI를 나열 ❍ 1byte의 Length 및 가변 길이의 Prefix(Prefix 당 4byte)로 표시 |
Total Path Attribute Length |
❍ Path Attribute Field의 Total Length ❍ 값이 0이면 NLRI Field 정보가 없음을 의미 |
Path Attribute | ❍ NLRI에 대한 BGP Attribute 정보를 표시 ❍ Flag 및 TVL(Attribute Type, Attribute Length, Attribute Value) 형태로 표시 - Flag는 해당 Attribute 처리 방법을 알려주는 정보 |
Network Layer Reachability Information |
❍ 새로운 NLRI가 추가되거나 Attribute가 변경된 NLRI에 대한 정보를 나열 ❍ 1byte의 Length 및 가변 길이의 Prefix(Prefix 당 4byte)로 표시 |
Field | Description |
Flag | ❍ O(Option) - 0 : Well-known - 1 : Optional ❍ T(Transitive) - 0 : Non-Transitive - 1 : Transitive ❍ P(Partial) - 0 : Complete - 1 : Partial ❍ Extended Length - 0 : Attribute Length가 1 Octet - 1 : Attribute Length가 2 Octet |
Attribute Type | ❍ 1 : Origin ❍ 2 : AS-Path ❍ 3 : Next-Hop ❍ 4 : MED ❍ 5 : Local-Preference |
- Update Message로 광고되는 Prefix에 대한 정보(Network IP Address)를 NLRI(Network Layer Reachability Information)로 명칭
- 1.1.1.1/32 NLRI를 광고하기 위한 Update Message
- Cisco는 Nokia와 달리 MED를 설정하지 않아도 Update Message에 MED Field를 추가하여 전달
- NLRI에 대한 Flag 및 Attribute(TLV) 정보를 표시
- BGP Table에서 1.1.1.1/32 NLRI 정보를 제거하기 위한 Update Message
4) BGP Keepalive Message
- Established State에서 Update(Advertised 또는 Withdrawn) 할 Route가 없을 때 주기적인 Keepalive Message를 사용
5) BGP Notification Message
Field | Description |
Error Code | ❍ 1 : Message Header Error ❍ 2 : Open Message Error ❍ 3 : Update Message Error ❍ 4 : Hold Timer Expired ❍ 5 : Finite State Machine Error ❍ 6 : Session Cease |
Error Sub-Code | ❍ Error Code에 대한 자세한 내용 ❍ Message Header Error Sub-Code - 1 : Connection Not Synchronized - 2 : Bad Message Length - 3 : Bad Message Type ❍ OPEN Message Error Sub-Code - 1 : Unsupported Version Number - 2 : Bad Peer AS - 3 : Bad BGP Identifier - 4 : Unsupported Optional Parameter - 6 : Unacceptable Hold Time ❍ UPDATE Message Error Sub-Code - 1 : Malformed Attribute List - 2 : Unrecognized Well-known Attribute - 3 : Missing Well-known Attribute - 4 : Attribute Flags Error - 5 : Attribute Length Error - 6 : Invalid ORIGIN Attribute - 8 : Invalid NEXT_HOP Attribute - 9 : Optional Attribute Error - 10 : Invalid Network Field - 11 : Malformed AS_PATH |
Diagnostic Data | ❍ Error에 대한 자세한 내용 |
- BGP Error 발생 시, Notification Message가 전송되고 BGP Peer 및 TCP Session 종료
- Notification Message를 수신하면 해당 BGP Peer 및 TCP Session이 제거되고 BGP Peer에게 수신한 모든 항목이 BGP Table에서 제거되며 Update Message(Route Withdrawals가 포함)를 다른 BGP Peer로 전송
- BGP Error Code가 있으며 각 Error Code에는 Sub-Type이 존재
- AS Number Mismatch 시, 발생되는 Notification Message
- Error Code(2)는 Open Message Error를 의미하고 Error Sub-Code(2)는 Bad Peer AS를 의미하고 Peer AS가 2라는 것을 의미
728x90
반응형
'네트워크 > BGP' 카테고리의 다른 글
BGP Route Tie-Breaker (0) | 2024.05.25 |
---|---|
BGP Attribute Categories (0) | 2024.05.24 |
Troubleshooting BGP Neighbor and BGP Route Advertisement (0) | 2024.05.23 |
BGP Neighbor State (1) | 2024.05.22 |
BGP Confederation Sample Configuration(Cisco IOL) (0) | 2024.03.24 |
BGP Confederation Sample Configuration(Nokia 7750 SR) (0) | 2024.03.23 |
Introduction to BGP Confederation (0) | 2024.03.22 |
BGP Auto-Summary (0) | 2024.03.21 |