BGP는 TCP를 통해 어떻게 작동합니까?


13

레이어 3 연결을 달성하기 위해 라우팅 프로토콜을 사용하고있는 한, BGP가 L4 인 TCP를 통해 작동한다는 사실과 혼동됩니다. 사전 L3 연결없이 L4 / TCP를 어떻게 설정할 수 있습니까?

답변:


17

TCP / IP 소켓은 특별히 주소가 지정된 두 끝점 사이에서 네트워크를 통해 종단 간 연결을 설정합니다. BGP는 TCP / IP를 사용하여 라우터 (라우팅 정보를 교환하는 모든 장치) 사이에서 통신합니다. 교환되는 정보는 BGP 피어가 사용하여 필요한 패킷 전송 위치 (다음 홉)를 더 잘 선택합니다. 부치다.

인터넷의 가장자리에서 일이 쉽습니다. 인터넷 제공 업체를 향한 "모든 것이이 방법"입니다. 중간에 라우터가 여러 가지를 선택할 수 있습니다. 따라서 TCP / IP를 사용하여 라우팅 이웃간에 BGP 트래픽을 이동합니다. 그런 다음 BGP 정보는 라우터가 패킷이가는 곳을 얻을 수있는 여러 가지 방법이있을 때 선호 할 경로를 알려줍니다.

엔드 포인트 (예 : 웹 브라우저)와 라우터된다 말하기 TCP / IP를. 그러나 라우터된다 사용하여 그들이 경로에 필요한 다른 TCP / IP 패킷으로 수행 할 작업에 대한 이야기에 TCP / IP (TCP / IP 패킷으로 구성 BGP 통신).


"하지만 라우터는 TCP / IP를 사용하여 라우팅해야하는 다른 TCP / IP 패킷으로 수행 할 작업에 대해 이야기하고 있습니다." "하지만 라우터는 BGP를 사용하여 라우팅해야하는 다른 TCP / IP 패킷으로 수행 할 작업에 대해 이야기하고 있습니다."
Olivier Dulac

1
... 저도 그렇게 쓰는 것에 대해 생각했습니다. 마지막 문장으로 TCP / IP를 사용하여 다른 장치가 다른 작업을 수행하는 방법을 강조하려고했습니다. 나는 표현을 조정할 것이다.
Craig Constantine

13

라우팅 프로토콜은 L3 연결을 "달성"하지 않습니다. 라우터의 라우팅 (전달) 테이블을 다른 라우터에서 배운 정보로 채 웁니다.

BGP는 TCP / IP를 통해 실행되는 "응용 프로그램"입니다. 즉, BGP 라우터는 TCP / IP를 사용하여 다른 BGP 라우터와 통신하여 라우팅 정보를 교환합니다.

BGP가 작동하려면 라우터간에 L3 연결이 이미 있어야합니다.


닭고기와 계란 문제. "BGP가 작동하려면 라우터간에 L3 연결이 이미 있어야합니다." BGP는 L3의 연결이 Interet 달성하는 방법을 사실상 인터넷 라우팅 프로토콜이기 때문에
혼합

6
닭고기와 계란 문제가 아닙니다. 내가 말했듯이 라우팅 프로토콜은 L3 연결을 만들지 않습니다. eBGP 스피커는 (거의) 항상 서로 직접 연결되어 있습니다. iBGP 스피커는 기본 네트워크를 사용하여 연결을 제공합니다. 다시 말해, BGP를 실행하기 전에 먼저 연결이 필요합니다.
Ron Trunk

나는 그것이 어떻게 시작되었고 오늘날 아키텍처의 이유를 이해하려고 노력하고 있습니다. 그래서 처음에는 IGP를 운영하는 개인 네트워크를 가진 두 사람이 있었고 우리 네트워크를 연결할 수 있다고 했습니까? 왜 IP / TCP,에 그것을 무엇 노벨이나 애플 톡과 같은 기존 프로토콜에 대한
혼합

그것들은 다르지만 좋은 질문입니다. 답변은 댓글 섹션보다 더 많은 공간이 필요합니다. 당신이 원한다면 우리는 채팅이 이동할 수 있습니다
론 트렁크를

6

OSI 네트워크 모델 및 해당 계층은 호스트 간의 엔드-투-엔드 통신을 이해하는 데 유용하지만 실제로 네트워크 제어 평면의 기능을 설명하기위한 것은 아닙니다. 완전한 BGP 연결 설정에 내재 된 부트 스트랩 문제가 있지만이 부트 스트랩이 발생하는 방식은 잘 이해되어 있으며 순환 종속성이 없습니다.

BGP 측면에서 인접성이 형성되고 정보가 교환되는 방식은 세션 유형에 따라 다릅니다.

가장 간단한 방법은 eBGP입니다. 일반적으로 eBGP는 직접 연결된 두 라우터 사이의 TCP 세션에서 실행됩니다. 이 경우 각 피어는 서로 동일한 인터페이스에 인터페이스가 있기 때문에 서로 대화하는 방법을 알고 있으므로 인접성을 형성하기 위해 외부 라우팅 프로토콜을 사용할 필요가 없습니다.

iBGP를 사용하면 상황이 약간 복잡합니다. 가장 간단한 구성에서는 자율 시스템 내의 모든 라우터가 네트워크의 다른 모든 라우터와 iBGP 세션과 함께 풀 메시의 일부로 구성됩니다. 자율 시스템 내에서 내부 라우팅 토폴로지를 구축하기 위해 OSPF 또는 ISIS와 같은 내부 게이트웨이 프로토콜. IGP가 작업을 완료하면 모든 라우터에 라우팅 테이블이 모든 iBGP 이웃에 대한 경로로 채워져 순환 종속성없이 TCP 세션이 형성됩니다.

좀 더 흥미로운 부분은 자율 시스템 내의 모든 라우터가 전체 BGP 테이블로 실행되는 것은 아닙니다. iBGP 메시가 완료되지 않은 경우 네트워크 중간의 라우터가 직접 이웃과 다른 테이블보기를 갖는 상황을 얻을 수 있습니다. 이로 인해 최적이 아닌 라우팅이 발생하고 경우에 따라 라우팅 루프가 발생하여 TTL이 만료 될 때까지 장치간에 트래픽이 수신 거부 될 수 있습니다.


5

링크에는 고정 주소와 관련 라우팅 항목이 구성되어 있으며 BGP 세션을 설정하는 데 사용됩니다. BGP를 사용하여 라우팅 테이블은 다른 네트워크를 가리키는 항목으로 확장됩니다.

BGP는 직접 피어간에 만 사용되므로이 시점에서 다른 쪽 끝을 가리키는 경로 이외의 경로는 필요하지 않습니다.

예를 들어 피어를 원한다면 / 30 또는 / 31 서브넷에 동의하고 네트워크의 각 끝에 하나의 주소를 할당하고 해당 서브넷에 대한 네트워크 경로를이 링크에 만든 다음 다른 링크를 다음과 같이 구성합니다. BGP 피어.이 시점에서 라우터를 통해 전송한다고 발표 한 모든 네트워크에 대한 추가 라우팅 항목을 얻습니다 (이는 로컬로 정적으로 구성된 네트워크 경로의 일부 임).


사이먼, 다시 소식을 듣게되어 반갑습니다. 귀하의 답변은 eBGP 만 다루지 만 iBGP 피어는 IGP (즉, OSPF) 도달 가능성 만 필요합니다. iBGP 사례에 더 추가 할 수 있습니까?
Mike Pennington 14

0
                    ---        ---          ---          ---
                   | D |------| A |--------| B |--------| C |
                    ---        ---          ---          ---

A와 B가 라우터 (다른 또는 동일한 AS)이고 D와 C가 호스트라고 가정합니다. 이제 A와 B가 서로 연결되어 통신 할 수 있습니다. 그러나 D가 C와 통신 할 수 있도록 C의 위치를 ​​어떻게 알 수 있을까요? D와 통신하고 싶을 때 C도 마찬가지입니다. 이제 A와 B간에 BGP 프로토콜을 실행하면 계층 3 연결 정보가 서로 교환됩니다. . 간단히 말해 A는 B에게 D가 연결되어 있음을 알려줍니다. 그런 다음 B는 이것을 C로 전달하거나 B가 C의 기본 게이트웨이 인 경우 C는 D의 위치를 ​​알 수 있습니다.

따라서이 경우 계층 3 연결 정보는 A와 B가 BGP 프로토콜을 실행하면 A와 B간에 전달됩니다.

따라서 레이어 3 라우팅 정보를 교환하려면 두 시스템간에 사전 BGP 연결이 필요합니다. 귀하의 질문에 대답하는 간단한 예를 보았습니다. 실제 시나리오에서는 BGP 피어간에 더 많은 양의 라우팅 데이터가 교환됩니다.

BGP는 TCP 프로토콜을 통해 실행됩니다. 따라서 그들 사이에 TCP 소켓이 열려 있어야만 라우팅 데이터를 교환 할 수 있습니다.


0

사전 L3 연결이 없습니까?

"L3 연결성"은 전부가 아니거나 아무것도 아닙니다.

라우터를 설정하는 관리자는 IP 주소 및 서브넷 마스크로 인터페이스를 구성합니다. 이러한 구성에 따라 라우터가 이웃과 통신 할 수 있도록 암시 적 라우팅 테이블 항목이 생성됩니다.

라우팅 프로토콜은이 로컬 L3 연결 위에서 실행될 수있어 장거리 L3 연결을 설정할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.