Home  >  Article  >  Backend Development  >  The relationship between Libjingle and various protocols_PHP tutorial

The relationship between Libjingle and various protocols_PHP tutorial

WBOY
WBOYOriginal
2016-07-14 10:08:441072browse

1. Introduction to relevant agreements
·XMPP protocol (core protocol):
Full name: The Extensible Messaging and Presence Protocol, which is the extensible communication and presentation protocol. To put it bluntly, it is a protocol that stipulates the transmission of specified node data based on XML streaming. The advantage of this is unification (peakflys note: if everyone follows this definition, the things they make can communicate and communicate with each other. This should have great development prospects!). It is an open and extensible protocol, including the Jingle protocol, which is an extension of the XMPP protocol. (peakflys note: When using Wireshark to capture packets, earlier versions may not be able to find this protocol. In this case, you can choose Jabber, which is the predecessor of the XMPP protocol). Many IMs are now developed based on the XMPP protocol, including gtalk, etc.
·Jingle Agreement (important agreement):
Jingle protocol is an extension protocol on the XMPP protocol. It sets out to solve the point-to-point connection problem under the XMPP protocol framework, that is, P2P connection. Under the Jingle framework, even if users are protected by a firewall or NAT network, they can establish connections to provide file transfer, video, audio services, etc. The programmatic document is XEP-0166
·TURN protocol:
Full name: Traversal Using Relays around NAT, as the name suggests, is a protocol for transmitting data through relay servers.
·STUN protocol:
Full name: Simple Traversal of UDP over NATs, which is the simple traversal of UDP over NATs. It allows the client behind a NAT (or multiple NATs) to find out its own public network address and what type of NAT it is behind. And NAT is the Internet port bound to a certain local port. Once you know the NAT type and have the public IP and port, P2P will be much more convenient.
·ICE protocol:
Full name: Interactive Connectivity Establishment, that is, interactive connection establishment. To put it bluntly, it uses protocols such as STUN and TURN to find the most suitable connection.
2. The relationship between Libjingle and various protocols
The initiator of the Jingle protocol is Google, and the libjingle library is also implemented by Google. The ICE protocol is basically included in the Jingle protocol, so you only need to know the difference between libjingle and Jingle protocols. www.2cto.com
History: Libjingle was built around the same time as the jingle XMPP extension. The team at Libjingle built their own protocol to handle callback negotiation and later worked with the standardized jingle (based on the XMPP standard). Although jingle and libjingle are very similar, they are not the same and cannot be used together. The current source code version of libjingle still uses the original network protocol, which is slightly different from the previous one, and is not compatible with jingle specifications. But it's still close enough to a jingle that it's worth studying the jingle's instructions. Similar to "close but not the same", libjingle's video content description (early jingle's video content description format XEP-0167), ICE's transmission description (early jingle's ICE transmission XEP-0176), and stream UDP description ( Early jingle stream UDP transport description XEP-0177)
3. Related documents:
RFC3921 (Download: RFC3921) Core document of XMPP protocol
RFC3489 (STUN) (Download: RFC3489) Draft of STUN protocol
rfc5245(ICE) (Download: RFC5245) Draft of ICE protocol
xep-0166(Jingle) (Download: XEP-0166) The official main document of the Jingle protocol
xep-0176 (Jingle ICE-UDP) (Download: XEP-0176) Official document that defines the combination of Jingle and ICE (mainly using XMPP as the ICE channel to re-describe the ICE protocol)

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/477774.htmlTechArticle1. Introduction to related protocols XMPP protocol (core protocol): Full name: The Extensible Messaging and Presence Protocol, which can be extended Communication and representation protocols. To put it bluntly, the regulations are based on...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn