요약

  • 명시적 경로를 담은 성공적인 PCRep은 PCE가 특정 토폴로지, 제약 조건 집합, 목적 함수, 정책 관점 하에서 경로를 찾았음을 증명합니다. PCC가 그 결과를 수락했거나 장비가 설치했다는 증거가 아닙니다.
  • 이후의 영수증들은 이후의 질문에 답합니다: 시그널링 또는 프로그래밍, 예약, RIB/FIB 상태, PCC 보고, 패킷 텔레메트리, 서비스 측정. 어떤 것도 계산만으로 안전하게 추론할 수 없습니다.

컨트롤러는 녹색 결과를 돌려보냈다. 도면에는 인그레스에서 이그레스까지 우아한 경로가 그려져 있다. PCEP 응답에는 명시적 경로 객체(ERO)가 담겨 있고, 메트릭도 요청에 부합한다. 그러나 아직 어떤 라우터도 경로를 수락했다고 말하지 않았다. 어떤 자원도 예약된 것으로 표시되지 않았다. 어떤 FIB도 읽어 확인되지 않았다. 그 경로를 따라가는 패킷도 관측되지 않았다.

그 시점에 존재하는 것은 계산된 경로다.

이 구분은 잃기 쉽다. 네트워크 제어 소프트웨어는 긴 과정을 하나의 시각적 객체로 압축하기 때문이다. 토폴로지 지도 위의 한 선은 제안일 수도, 위임된 의도일 수도, 시그널링된 LSP일 수도, 설치된 포워딩 항목일 수도, 측정된 트래픽 경로일 수도 있다. 그림은 똑같아 보이지만 그 밑바탕의 근거는 완전히 다르다.

Adrian Farrel의 PCE 아키텍처 기여가 유용한 이유는, 원래 모델이 바로 이런 압축을 요구하지 않기 때문이다. Farrel, Jean-Philippe Vasseur, Jerry Ash가 IETF PCE 워킹그룹을 통해 2006년 발행한RFC 4655는 경로 계산 요소(Path Computation Element)를, 네트워크 그래프로부터 계산 제약을 적용하며 경로를 계산하는 주체로 정의한다. 이 아키텍처는 계산을 라우팅 정보, 정책, 시그널링 기능이 분리된 구조 속에 놓는다. 이 분리는 과거의 불편이 아니라 운영상의 계약이다.

답은 그 입력에 속한다

PCE는 시간을 초월한 네트워크를 참조하지 않는다. 트래픽 엔지니어링 데이터베이스(TED) 위에서 동작한다. RFC 4655는 TED를 도메인의 토폴로지·자원 정보로 정의하며, IGP 확장이나 다른 메커니즘으로 채워진다. PCE는 완전한, 부분적인, 혹은 대역외 정보를 가질 수 있다. 아키텍처는 동기화가 약할수록 계산된 경로의 실패율이 높아지거나 잦은 변동 속에서 최적이 아닌 경로가 나올 수 있음을 경고한다.

따라서 긍정적 결과는 이렇게 읽어야 한다: 이 그래프, 이 자원 관점, 지금 적용된 의미론을 전제할 때, 계산은 해를 찾았다.

요청은 이 주장을 더 좁힌다. Vasseur와 Jean-Louis Le Roux가 작성한RFC 5440은 PCReq와 PCRep 교환을 정의한다. PCReq는 종단점, 대역폭, 우선순위 등의 제약을 담을 수 있다.RFC 5541은 목적 함수 기능을 제공한다: 이 비용 최소화, 그 속성 최적화, 선언된 규칙에 따라 실현 가능한 경로 중 선택. 로컬 정책은 요청을 거부하거나, 반환되는 내용을 바꾸거나, PCC가 사용할 PCE와 제약을 결정할 수 있다.

이들은 서로 다른 개념이다. 제약은 경로가 무엇을 해야 하고 무엇을 해서는 안 되는지 말한다. 목적 함수는 후보 경로 중 어떻게 고를지 말한다. 정책은 행정 주체가 허용하거나 선호하는 것이 무엇인지 말한다. TED는 계산이 믿는 네트워크 모습을 말한다. 운영자가 ERO만 저장하면, 답을 재현하는 데 필요한 출처 정보 대부분을 버리는 셈이다.

긍정적 PCRep이 실제로 말하는 것

RFC 5440의 성공 시퀀스는 놀랍도록 규율적이다: PCE가 요청을 받고, 성공적으로 경로를 계산하고, 계산된 경로를 PCC에 보낸다. 7.9절은 PCRep의 ERO가 계산된 TE-LSP 경로를 인코딩한다고 말한다. 또한 명시적 경로가 즉각 시그널링에 사용 가능하다고 말한다.

"사용 가능하다"는 말이 경계 전체를 담고 있다. ERO는 다음 메커니즘의 입력이 될 수 있다. 다음 메커니즘이 실행되었다는 증거는 아니다.

RSVP-TE 배포에서RFC 3209는 시그널링과 예약 과정을 정의한다. 경로 상의 노드는 설정을 거부할 수 있고, 계산과 시그널링 사이에 상태가 바뀔 수 있으며, 앞서의 관점과 달리 자원이 없을 수 있다. 세그먼트 라우팅 배포에서 SR Policy 후보 경로와 그 세그먼트 목록은 헤드엔드에서 인스턴스화되어야 하고, 트래픽도 정책으로 유도되어야 한다.RFC 9256은 이 계층들을 드러내고,RFC 8664는 세그먼트 라우팅 경로 정보가 PCEP로 전달되는 방식을 정의한다.

기술을 혼동해서는 안 된다. RSVP-TE는 홉 단위로 시그널링하고 예약할 수 있다. 세그먼트 라우팅은 헤드엔드에 세그먼트 목록을 프로그래밍하고 중간 노드의 경로별 상태를 피할 수 있다. 그러나 둘 다 같은 근거 규칙을 유지한다: 계산된 표현은 그것이 유발하려는 데이터플레인 사건이 아니다.

스테이트풀 PCE는 마법이 아니라 영수증을 더한다

원래 PCEP 요청/응답 모델은 흔히 스테이트리스라고 불린다. 이후 작업은 상태 동기화, 위임, PCE 시작 LSP를 추가했다. 이 확장들은 제어 루프를 풍부하게 만들 뿐, 계산을 스스로 증명하게 하지는 않는다.

RFC 8231은 PCC가 LSP 상태 소유권을 유지한다고 명시한다. 활성 스테이트풀 PCE가 위임된 LSP의 일부 속성을 제어할 때에도, PCE로부터 받은 속성은 PCC의 로컬 정책에 따른다. 위임은 LSP별로 철회될 수 있다. 위임은 정의된 객체를 갱신할 권한이지, 라우터의 소유권도, 패킷이 이동했다는 증거도 아니다.

결정적 영수증은 이후 경로 계산 LSP 상태 보고(PCRpt)로 온다. LSP가 up 또는 active가 되면 PCC가 그 상태를 보고한다. 설정이 실패하면 down과 원인을 보고한다. RFC 8231은 더 나아가 PCRep과 PCRpt 사이에 직접적인 상관이 없으며, 하나의 계산 응답 뒤에 여러 상태 보고가 올 수 있다고 말한다. 이 문장이 녹색 PCRep을 설치된 서비스로 다루는 습관을 끝내야 한다.

RFC 8281은 스테이트풀 PCE가 LSP 생성을 시작할 수 있게 한다. 시작은 조언보다 강하지만 여전히 실행 지점에 대한 요청이다. 장비 정책, 역량, 시그널링, 운영 상태는 여전히 의도와 결과 사이에 놓여 있다.

계산 이후의 증명 사다리

경로가 실재한다고 주장하려는 운영자에게는 일련의 영수증이 필요하다.

첫 번째는 수락이다: PCC가 로컬 정책에 따라 응답이나 업데이트를 수락했는가? 다음은 실행이다: RSVP-TE LSP를 시그널링했거나, 세그먼트 라우팅 정책을 프로그래밍했거나, 다른 메커니즘을 사용했는가? 그다음은 자원과 설치의 근거다: 기술이 요구하는 곳에 예약이 이뤄졌는가, 의도된 RIB/FIB 상태가 관련 장비에 나타났는가?

그다음에야 물리적 질문이 된다: 패킷이 실제로 의도된 인터페이스나 세그먼트를 지나는가? 카운터, 프로브, 경로 추적, 플로우 텔레메트리가 이 질문에 답한다. 정의된 구간의 손실, 지연, 지터, 가용성은 별개의 서비스 질문에 답한다. 컴플라이언스에는 또 자체 범위와 근거가 필요하다.

FIB 항목은 패킷 추적이 아니다. 패킷 추적은 SLA가 아니다. 상태 보고는 고객 결과가 아니다. 증명 사다리는 관료적 부담이 아니라, 제어 시스템이 자신의 의도를 현실로 보고하지 않게 하는 방법이다.

벤더 관행도 이 점을 뒷받침한다.Juniper의 PCEP 문서는 PCC가 PCE 속성을 받은 뒤 LSP를 다시 시그널링한다고 설명하며, PCEP 세션, PCC가 아는 LSP, 세그먼트 라우팅 TE 상세, 프로토콜 경로를 위한 별도 명령을 제공한다.Paragon 트러블슈팅 가이드는 PCC가 시그널링할 수 없어 LSP가 운영적으로 down인 상태에서 프로비저닝 확인이 이뤄지는 사례를 기술한다. 이는 하나의 구현일 뿐 보편적인 프로토콜 규칙은 아니지만, 실패 경계를 구체적으로 보여준다.

Farrel에게 돌아가야 할 공

Farrel의IETF 기록은 한 아키텍처를 훨씬 넘는다. 여기서 가장 강한 주장은 의도적으로 더 좁다. RFC 4655에서 그는 Vasseur, Ash와 함께 계산, 정책, 토폴로지 지식, 시그널링을 분리해 검토할 수 있는 어휘를 확립하는 데 기여했다. 이후 Vasseur와 Le Roux가 기본 PCEP 교환을 명세했다. 후속 저자들과 PCE 워킹그룹은 스테이트풀 운영, 위임, 시작, 세그먼트 라우팅 확장을 추가했다. 구현자들이 조각들을 돌아가게 만들었고, 어떤 근거가 충분한지는 운영자가 결정한다.

이 귀속이 중요한 이유는 프로토콜 경계가 중요한 이유와 같다. 네트워크 제어는 문서, 코드, 장비, 운영을 아우르는 협업이다. 그것을 한 사람에게 돌리는 것은 이 아키텍처가 막으려는 범주 오류—하나의 가시적 산출물을 시스템 전체로 다루는 오류—를 반복하는 일이다.

출처 목록