background preloader

PROTOCOLS

Facebook Twitter

Internet protocol suite. The Internet protocol suite is the computer networking model and set of communications protocols used on the Internet and similar computer networks. It is commonly known as TCP/IP, because its most important protocols, the Transmission Control Protocol (TCP) and the Internet Protocol (IP), were the first networking protocols defined in this standard. Often also called the Internet model, it was originally also known as the DoD model, because the development of the networking model was funded by DARPA, an agency of the United States Department of Defense.

TCP/IP provides end-to-end connectivity specifying how data should be packetized, addressed, transmitted, routed and received at the destination. The TCP/IP model and related protocol models are maintained by the Internet Engineering Task Force (IETF). History[edit] Early research[edit] Diagram of the first internetworked connection Specification[edit] Adoption[edit] Key architectural principles[edit] Abstraction layers[edit] Link layer[edit] IPv4. Internet Protocol version 4 (IPv4) is the fourth version in the development of the Internet Protocol (IP) Internet, and routes most traffic on the Internet.[1] However, a successor protocol, IPv6, has been defined and is in various stages of production deployment. IPv4 is described in IETF publication RFC 791 (September 1981), replacing an earlier definition (RFC 760, January 1980). IPv4 is a connectionless protocol for use on packet-switched networks.

It operates on a best effort delivery model, in that it does not guarantee delivery, nor does it assure proper sequencing or avoidance of duplicate delivery. These aspects, including data integrity, are addressed by an upper layer transport protocol, such as the Transmission Control Protocol (TCP). Addressing [edit] Decomposition of the quad-dotted IPv4 address representation to its binary value IPv4 uses 32-bit (four-byte) addresses, which limits the address space to 4294967296 (232) addresses.

Address representations[edit] Allocation[edit] IPv6. Internet Protocol version 6 (IPv6) is the latest version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion.

IPv6 is intended to replace IPv4, which still carries the vast majority of Internet traffic as of 2013.[1] As of February 2014[update], the percentage of users reaching Google services over IPv6 surpassed 3% for the first time.[2] Every device on the Internet is assigned an IP address for identification and location definition. With the ever-increasing number of new devices being connected to the Internet, the need arose for more addresses than the IPv4 address space has available. Technical overview[edit] Decomposition of the IPv6 address representation into its binary form Motivation and origin[edit] IPv4[edit] Mobility[edit]

ICMPv6. Several extensions have been published, defining new ICMPv6 message types as well as new options for existing ICMPv6 message types. Neighbor Discovery Protocol (NDP) is a node discovery protocol in IPv6 which replaces and enhances functions of ARP.[2] Secure Neighbor Discovery Protocol (SEND) is an extension of NDP with extra security. Multicast Router Discovery (MRD) allows discovery of multicast routers. Technical details[edit] ICMPv6 messages may be classified into two categories: error messages and information messages. ICMPv6 messages are transported by IPv6 packets in which the IPv6 Next Header value for ICMPv6 is set to 58. Packet format[edit] The ICMPv6 packet consists of a header and the protocol payload. Types of ICMPv6 messages[edit] Note that the table above is not comprehensive. Operation[edit] Message checksum[edit] ICMPv6 provides a minimal level of message integrity verification by the inclusion of a 16-bit checksum in its header.

Message processing[edit] References[edit] WebSocket. WebSocket is a protocol providing full-duplex communications channels over a single TCP connection. The WebSocket protocol was standardized by the IETF as RFC 6455 in 2011, and the WebSocket API in Web IDL is being standardized by the W3C. Technical overview[edit] Browser implementation[edit] WebSocket protocol handshake[edit] To establish a WebSocket connection, the client sends a WebSocket handshake request, for which the server returns a WebSocket handshake response, as shown in the following example:[9]:section 1.2 Client request: GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== Sec-WebSocket-Protocol: chat, superchat Sec-WebSocket-Version: 13 Origin: Server response: HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk= Sec-WebSocket-Protocol: chat Note that each line ends with an EOL (end of line) sequence, \r\n.

Transport Layer Security. Transport Layer Security (TLS) and its predecessor, Secure Sockets Layer (SSL), are cryptographic protocols designed to provide communications security over a computer network.[1] They use X.509 certificates and hence asymmetric cryptography to authenticate the counterparty with whom they are communicating,[2] and to exchange a symmetric key. This session key is then used to encrypt data flowing between the parties. This allows for data/message confidentiality, and message authentication codes for message integrity and as a by-product, message authentication. [clarification needed] Several versions of the protocols are in widespread use in applications such as web browsing, electronic mail, Internet faxing, instant messaging, and voice-over-IP (VoIP).

An important property in this context is forward secrecy, so the short-term session key cannot be derived from the long-term asymmetric secret key.[3] Description[edit] History and development[edit] Secure Network Programming[edit] Dr. Notes. User Datagram Protocol. The User Datagram Protocol (UDP) is one of the core members of the Internet protocol suite. The protocol was designed by David P. Reed in 1980 and formally defined in RFC 768. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol (IP) network without prior communications to set up special transmission channels or data paths. UDP is suitable for purposes where error checking and correction is either not necessary or is performed in the application, avoiding the overhead of such processing at the network interface level. Time-sensitive applications often use UDP because dropping packets is preferable to waiting for delayed packets, which may not be an option in a real-time system.[1] If error correction facilities are needed at the network interface level, an application may use the Transmission Control Protocol (TCP) or Stream Control Transmission Protocol (SCTP) which are designed for this purpose.

Length Checksum.

PARADIGM

High-bandwidth Digital Content Protection. High-bandwidth Digital Content Protection (HDCP; commonly, though incorrectly, referred to as High-Definition Copy(right) Protection) is a form of digital copy protection and digital rights management developed by Intel Corporation[1] to prevent copying of digital audio and video content as it travels across connections.

Types of connections include DisplayPort (DP), Digital Visual Interface (DVI), and High-Definition Multimedia Interface (HDMI), as well as less popular, or now defunct, protocols like Gigabit Video Interface (GVIF) and Unified Display Interface (UDI). The system is meant to stop HDCP-encrypted content from being played on unauthorized devices or devices which have been modified to copy HDCP content.[2][3] Before sending data, a transmitting device checks that the receiver is authorized to receive it. If so, the transmitter encrypts the data to prevent eavesdropping as it flows to the receiver.[4] Specification[edit] HDCP uses three systems:[5] Uses[edit] Source Sink Repeater. DisplayPort. DisplayPort is a digital display interface developed by the Video Electronics Standards Association (VESA). The interface is primarily used to connect a video source to a display device such as a computer monitor, though it can also be used to carry audio, USB, and other forms of data.[2] The VESA specification is royalty-free.

VESA designed it to replace VGA, DVI, and FPD-Link. Backward compatibility to VGA and DVI by using active adapters, enables users to use DisplayPort fitted video sources without replacing existing display devices. The first version, 1.0, was approved by VESA on May 3, 2006.[3] Version 1.1a was approved on April 2, 2007[4] followed by the current standard 1.2 on December 22, 2009.[5] Overview[edit] DisplayPort is the first display interface to rely on packetized data transmission, a form of digital communication found in other technologies like Ethernet, USB, and PCI Express.

The DisplayPort signal is not compatible with DVI or HDMI. Versions[edit] 1.0 to 1.1[edit] Digital Visual Interface. Digital Visual Interface (DVI) is a video display interface developed by the Digital Display Working Group (DDWG). The digital interface is used to connect a video source to a display device, such as a computer monitor. It was developed with the intention of creating an industry standard for the transfer of digital video content.

The interface is designed to transmit uncompressed digital video and can be configured to support multiple modes such as DVI-D (digital only), DVI-A (analog only), or DVI-I (digital and analog). Featuring support for analog connections, the DVI specification is compatible with the VGA interface.[1] This compatibility, along with other advantages, led to its widespread acceptance over competing digital display standards Plug and Display (P&D) and Digital Flat Panel (DFP).[2] Although DVI is predominantly associated with computers, it is sometimes used in other consumer electronics such as television sets, video game consoles and DVD players. Cable length[edit] HDMI. HDMI (High-Definition Multimedia Interface) is a proprietary audio/video interface for transferring uncompressed video data and compressed or uncompressed digital audio data from an HDMI-compliant source device, such as a display controller, to a compatible computer monitor, video projector, digital television, or digital audio device.[1] HDMI is a digital replacement for analog video standards.

HDMI implements the EIA/CEA-861 standards, which define video formats and waveforms, transport of compressed, uncompressed, and LPCM audio, auxiliary data, and implementations of the VESA EDID.[2][3] CEA-861 signals carried by HDMI are electrically compatible with the CEA-861 signals used by the digital visual interface (DVI). Several versions of HDMI have been developed and deployed since initial release of the technology but all use the same cable and connector. History[edit] Specifications[edit] Audio/video[edit] Uncompressed video[edit] Communication channel protocols[edit] DDC[edit] TMDS[edit] Bonjour (software) Bonjour is Apple's implementation of Zero-configuration networking (Zeroconf), a group of technologies that includes service discovery, address assignment, and hostname resolution.

Bonjour locates devices such as printers, other computers, and the services that those devices offer on a local network using multicast Domain Name System (mDNS) service records. After its introduction in 2002 with Mac OS X v10.2 as Rendezvous, the software was renamed in 2005 to Bonjour following an out-of-court trademark dispute settlement.[1][2] Bonjour only works within a single broadcast domain, which is usually a small area, without special DNS configuration. Mac OS X, Bonjour for Windows and AirPort Base Stations may be configured to use Wide Area Bonjour which allows for wide area service discovery via an appropriately configured DNS server. Bonjour is released under a terms-of-limited-use license by Apple. The current name Bonjour is French for the morning greeting, "good day".

Universal Plug and Play. Universal Plug and Play (UPnP) is a set of networking protocols that permits networked devices, such as personal computers, printers, Internet gateways, Wi-Fi access points and mobile devices to seamlessly discover each other's presence on the network and establish functional network services for data sharing, communications, and entertainment. UPnP is intended primarily for residential networks without enterprise-class devices. The UPnP technology is promoted by the UPnP Forum. The UPnP Forum is a computer industry initiative to enable simple and robust connectivity to stand-alone devices and personal computers from many different vendors. The Forum consists of over eight hundred vendors involved in everything from consumer electronics to network computing. The concept of UPnP is an extension of plug-and-play, a technology for dynamically attaching devices directly to a computer, although UPnP is not directly related to the earlier plug-and-play technology.

Overview[edit] Extensibility. Digital Living Network Alliance. The Digital Living Network Alliance (DLNA) is a nonprofit collaborative trade organization established by Sony in June 2003, that is responsible for defining interoperability guidelines to enable sharing of digital media between multimedia devices.[3] These guidelines are built upon existing public standards, but the guidelines themselves are private (available for a fee). These guidelines specify a set of restricted ways of using the standards to achieve interoperability and include almost no free audio formats and only the most common (free or otherwise) video formats, meaning that DLNA servers generally have to support transcoding in order to produce a useful service.[4] DLNA uses Universal Plug and Play (UPnP) for media management, discovery and control.[5] UPnP defines the type of device that DLNA supports ("server", "renderer", "controller") and the mechanisms for accessing media over a network.

History[edit] Specification[edit] Home Network Devices[edit] Member companies[edit] Firmata.

BitTorrent

BitTorrent - Delivering the World's Content. Glossary of BitTorrent terms. Common BitTorrent terms[edit] Availability[edit] (Also known as distributed copies.) The number of full copies of a file (or set of files and directories) directly available to the client. Each seed adds 1.0 to this number, as they have one complete copy of the file. A connected peer with a fraction of the file available adds that fraction to the availability, if no other peer has this part of the file. Example: a peer with 65.3% of the file downloaded increases the availability by 0.653.

Sometimes "distributed copies" is considered to be "availability minus 1". Choked[edit] Client[edit] The program that enables p2p file sharing via the BitTorrent protocol. Downloader[edit] End Game[edit] Also known as Endgame Mode on many clients. In typical client operation the last download pieces arrive more slowly than the others. Fake[edit] FreeLeech[edit] Grab[edit] A torrent is grabbed when its metadata files have been downloaded. Hash[edit] Health[edit] Hit-and-run[edit] Index[edit] Interested[edit] p2p[edit] BitTorrent.

NOTATION Diagrammes