Download - XMPP 通訊協定簡介
XMPP 通訊協定簡介
指導教授: 葉慶隆報告人: 蔡明洲學號: 89606002
報告日期: 97年 1月 22日
圖1. XMPP系統結構圖
Forei gn Network
XMPP Client XMPP Client
Foreign ClientGateway
XMPP ServerXMPP Server
XMPP Client
IP
TCP
TLS
SASL
XMPP
圖2. XMPP網路安全協定結構圖
XMPP通訊協定主要規範規範編號 規範名稱 描述內容
RFC 3920 XMPP CoreXML streams, SASL, TLS, stringprep profiles, stanza semantics
RFC 3921 XMPP IMXMPP extensions for basic instant messaging and presence
RFC 3922 XMPP CPIM Mapping XMPP to the IETF's CPIM specifications
RFC 3923 XMPP E2E End-to-end signing and object encryption for XMPP
RFC 4622 XMPP URIA Uniform Resource Identifier (URI) scheme for XMPP
RFC 4854 XMPP URNA Uniform Resource Name (URN) tree for use in XMPP extensions
RFC 4979 XMPP ENUMIANA registration of an Enumservice (see RFC 3761) for XMPP
Server A Server B
Step 1: Server A initiates stream to Server B
Step 2: Server B responds by sending a stream tag to Server A
Step 3: Server B sends the STARTTLS extension to Server A along with authentication mechanisms and any other stream features
Step 4: Server A sends the STARTTLS command to Server B
Step 5: Server B informs Server A that it is allowed to proceed
Step 5 (alt): Server B informs Server A that TLS negotiation has failed and closes stream
Step 6: Server A and Server B attempt to complete TLS negotiation via TCP
Step 7: If TLS negotiation is successful, Server A initiates a new stream to Server B
Step 7 (alt): If TLS negotiation is unsuccessful, Server B closes TCP connection
Step 8: Server B responds by sending a stream header to Server A along with any available stream features
Step 9: Server A continues with SASL negotiation (Use of SASL)