요약

  • RFC 3191은 전화번호 표현을 인터넷 메일 로컬파트 안에 넣었지만, 이에 전역적 의미를 부여하는 것은 명시적으로 거부했습니다. 오직 오른쪽 도메인을 담당하는 MTA만이 서비스 셀렉터, 번호 및 한정자를 해석할 자격이 있었습니다.
  • 최소 형식은 표현과 효과를 분리했습니다. 사람이 읽기 위한 구분자는 무시되었고, 지원되지 않는 선택적 한정자는 실행에서는 무시할 수 있지만 보존해야 했으며, 여러 서브어드레스는 여러 이메일 수신자가 되었고, DNS나 메일 라우팅의 성공은 가입자 신원, 게이트웨이 실행 또는 전화망 전달을 증명하지 못했습니다.

전화번호는 이미 소유자가 있는 이름공간에 들어왔다

2001년까지 인터넷 메일과 전화 서비스 사이의 게이트웨이에는 전화 목적지를 이메일 주소에 넣는 호환되지 않는 여러 방식이 축적되어 있었습니다. 그 매력은 분명했습니다. 메일 사용자는 평범한 작성 화면에서 음성, 팩스 또는 메시징 게이트웨이에 도달할 수 있고, 공급자는 교환망에 넘기기 전에 인터넷 메일로 자료를 운반할 수 있었습니다.

RFC 3191은 전역 교환 전화망(GSTN) 전체를 이메일로 번역하려 하지 않았습니다. 최소한의 공통 형식을 정의했습니다. 로컬파트는 서비스 셀렉터, 등호, 전화 표현으로 시작했습니다. 골뱅이 뒤에는 도메인이 따랐습니다. 선택적으로 등록된 한정자가 지시를 세분화할 수 있었습니다.

그 표면은 자기 서명적처럼 보였습니다. 그러나 그렇지 않았습니다. 이 RFC는 보통의 메일 규칙을 반복했습니다. 로컬파트는 오른쪽 도메인을 처리하는 MTA를 제외하고는 해석되어서는 안 된다는 규칙이었습니다.VOICE=+...는 휴대 가능한 명령처럼 보일 수 있었지만, 그 권한은 선택된 게이트웨이 도메인에서 나왔습니다. 다른 MTA의 역할은 전화 의미론이 아니라 운반이었습니다.

이 경계 덕분에 유용한 문법이 보편적 신원 주장이 되는 일은 막혔습니다. 번호 모양의 로컬파트는 검증된 가입자를 식별하지 않았습니다. 도메인은 그 번호가 존재한다는 것을 인증하지 않았습니다. 두 요소는 함께 하나의 게이트웨이를 선택하고 그 게이트웨이에 지시를 제시했을 뿐입니다.

최소성은 전화보다 의도적으로 작았다

핵심 문법은 간결했습니다. 서비스 셀렉터는 문자, 숫자, 하이픈을 사용하며 대소문자를 구분하지 않고 해석되었습니다. 전역 형식은+로 시작하여 숫자와 선택적 점 또는 하이픈이 따랐습니다. 선행 플러스는 전역 번호 형식을 위해 예약되었고, 로컬 또는 사내 다이얼링 계획이 존재할 수는 있었지만 그 신호를 빌릴 수는 없었습니다.

점과 하이픈은 독자를 위한 것이었습니다. 규격 구현은 이를 무시해야 했습니다. 문법에서는 허용되었지만 전송에서는 권장되지 않았습니다. 따라서 시각적 묶음이 다른 두 문자열은 처리 시 동일한 최소 번호를 담을 수 있었습니다.

이 규칙은 일반적인 전화번호 정규화기가 아니었습니다. 이 RFC는 그 번호가 할당되었는지, 도달 가능한지, 특정 서비스에 충분한지를 판단하지 않았습니다. 어떤 문자가 최소 표현에 속하고 어떤 문자가 운영적 무게가 없는지를 확립했을 뿐입니다.

예시는 이 한계를 드러냈습니다. VOICE, FAX, SMS 문자열은 가능한 모양을 보여주었을 뿐입니다. 문서는 이들이 반드시 유효한 주소를 나타내는 것은 아니라고 경고했습니다. 문법은 계약을 보여주었을 뿐, 작동하는 엔드포인트의 디렉터리를 제공하지 않았습니다.

확장을 무시하는 것이 삭제를 승인하는 것은 아니었다

서비스는 슬래시, 키워드, 등호, 값의 형태로qualif-type1요소를 추가할 수 있었습니다. 이 확장 메커니즘 덕분에 이후 사양이 애플리케이션마다 최소 문법을 다시 열지 않고도 서비스 고유 정보를 표현할 수 있었습니다.

규격을 갖춘 최소 구현은 지원하지 않는 비최소 한정자를 무시할 수 있었습니다. 그러나 수신한 주소에서 조용히 삭제할 수는 없었습니다. RFC 3191은 모든 한정자 요소의 보존을 요구했습니다.

이 비대칭성이 중요합니다. 무시한다는 것은 이 처리기가 그 필드에 대해 행동하지 않겠다는 뜻입니다. 보존한다는 것은 이후 처리기가 여전히 그것에 행동할 권한과 지식을 가질 수 있다는 뜻입니다. 삭제는 국소적 불능을 전역적 결정으로 바꿔버립니다.

등록이 어휘를 제한했습니다. 서비스 셀렉터나 한정자는 독립적 구현에 충분한 영구 사양이 필요했습니다. 한정자 등록은 그것이 의미 있는 위치를 제한할 수도 있었습니다. 레지스트리는 어떤 게이트웨이가 그 요소를 구현했는지 증명하지는 않았지만, 기록되지 않은 사적 추측으로 공유 문법이 확장되는 것은 막았습니다.

게이트웨이의 흉터는 인정되었지만 선호 형식이 되지는 않았다

완전한 개체는 여전히 메일의 인용 규칙을 따르는 인터넷addr-spec이었습니다. 선택적 슬래시가 전화 구조를 둘러쌀 수 있었는데, X.400 경로를 포함한 다른 게이트웨이 시스템이 그것을 남길 수 있었기 때문입니다. 수신자는 그 슬래시를 수용해야 했고, 생성해서는 안 되며, 변환 중 제거할 수 있었습니다.

이것은 흉터를 정식 형식으로 만들지 않는 호환성이었습니다. 이 문법은 메시지가 서로 다른 주소 관례를 가진 시스템을 통과했다는 사실을 기억했습니다. 오래된 표현의 도착을 허용하면서 새 발신자에게는 더 깔끔한 형식을 제시했습니다.

RFC 3191 자체도 비슷한 개정이었습니다. 구형 RFC 2303을 대체하며 PSTN의 확장을 '공용(Public)'에서 '전역(Global)', 즉 GSTN으로 바꾸었는데, 전화가 더 이상 단일 또는 소수 공중 사업자 그림에 맞지 않았기 때문입니다. 그러나 구형 ABNF 변수명은 유지했습니다. 용어는 제도적 환경을 설명하기 위해 바뀌었지만, 회선 지향 식별자는 호환성을 위해 안정적으로 유지되었습니다.

하나의 전화 메일박스가 여전히 여러 이메일 수신자를 요구할 수 있었다

전화 서비스는 동일한 번호에 둘 이상의 서브어드레스를 연관시킬 수 있었습니다. 메일은 다른 수신자 모델을 가지고 있었습니다. 각 목적지는 별도의 주소로 표현되었습니다.

따라서 RFC 3191은 여러 서브어드레스가 적용될 때 여러pstn-email요소를 요구했습니다. 사용자 에이전트는 사용자가 이를 함께 입력하도록 할 수 있었지만, MTA에는 구별되는 수신자로 전달해야 했습니다.

이 변환은 모양을 바꾸었습니다. 여러 내부 셀렉터를 가진 하나의 전화 메일박스를 하나의 불투명한 메일 수신자로 압축하면 메일의 전달 정산이 사라집니다. 별도의 수신자 기록 덕분에 수락, 실패, 재시도가 여전히 귀속 가능하게 유지되었습니다.

이것이 각 하류 서브어드레스가 작동한다는 보장은 아니었습니다. 결과를 구별하는 능력을 보존한 것입니다. 게이트웨이는 한 수신자는 수락하고 다른 하나는 거부할 수 있었습니다. 최종 팩스 장치는 어느 쪽도 응답하지 않을 수 있었습니다. 이메일 봉투, 게이트웨이 인계, 전화 결과는 서로 다른 영수증으로 남았습니다.

DNS는 메일 경로를 골랐지 전화의 진실을 고르지 않았다

메일 라우팅은 오른쪽 도메인을 사용했습니다. 따라서 RFC 3191의 보안 절은 DNS 조작에 초점을 맞추었습니다. 침해된 서버, 위조된 응답 또는 오염된 추가 정보는 메시지를 적대적 MTA나 게이트웨이를 통해 우회시킬 수 있었습니다.

권위 있는 DNS 증거는 메일 경로의 선택을 보호할 수 있었습니다. 그러나 그 선택 너머의 모든 사실을 증명할 수는 없었습니다. 올바르게 선택된 게이트웨이도 결함 있는 소프트웨어, 낡은 번호 데이터, 정책 거부 또는 전화 목적지로 가는 경로 부재를 가질 수 있었습니다. 유효한 번호는 발신자가 기대한 것과 다른 가입자에 속할 수도 있었습니다.

이 체계에는 별도의 관찰이 필요했습니다. 사용자 에이전트가 제출한 주소 문자열, MTA가 사용한 DNS 응답, 게이트웨이의 SMTP 수락, 게이트웨이의 구문 분석 결정, 교환망을 향해 보내진 지시, 그리고 최종 서비스 영수증이 그것입니다. 이들을 '이메일 주소가 작동했다'로 묶어버리면 권한이 어디에서 넘어갔는지가 사라집니다.

최소 형식은 결과의 소유를 거부함으로써 성공했다

RFC 2846은 로컬 다이얼링, 포스트 다이얼 시퀀스, 서브어드레스, 수신자 세부사항을 위한 더 완전한 상위 집합을 제공했습니다. RFC 3192는 최소 프레임워크를 특히 팩스에 적용했습니다. 이 문서들이 일반적인 RFC 3191 형식을 실행 엔진으로 만든 것은 아닙니다.

그 성과는 더 좁았습니다. 서로 다른 게이트웨이 서비스가 하나의 작은 봉투와 하나의 통제된 확장 방법을 공유할 수 있었습니다. 중계 시스템은 지시를 해석하지 않고 운반할 수 있었습니다. 게이트웨이는 등록된 어휘를 인식하면서도, 문법상 유효한 모든 목적지가 실재한다고 주장하지 않을 수 있었습니다.

역사적 교훈은 골뱅이 양쪽에 자리합니다. 왼쪽에는 전화 모양의 표현이 있었습니다. 오른쪽은 그 해석자를 선택했습니다. 어느 쪽도 최종 효과를 기록하지 않았습니다. 상호운용이 가능했던 이유는 표준이 각 계층에, 전체 주소가 겉으로 담고 있는 것보다 적은 권한을 부여했기 때문입니다.