Slides on various application layer protocols.
The combo HTTP and HTML is the foundation of the World Wide Web (WWW). HTML (HyperText Markup Language) defines a text-based format for describing the contents of a web page. HTML is based on tags similar to XML (eXtensible Markup Language), but its definition is less strict. HTML pages are transported with the HTTP protocol (HyperText Transmission Protocol) over TCP/IP based networks. The power of the WWW comes with the links based on URLs (Uniform Resource Locators) that connect pages to form a web of content. Browsers display links as clickable items that, when clicked, trigger the browser to load the web page pointed to by the link. This statelessness contributed a lot to the stability and scalability of the world wide web where web servers are only tasked with the delivery of web pages while the browser is responsible for the rendering of web pages.
Read More Download PDFOverview of HTTP server push technologies and WebSocket protocol (Comet, Bayeux, Server Sent Events, Reverse HTTP). Pusing information asynchronously from web server to web client (browser) has always been a problem. The HTTP protocol is designed as a synchronous request-response protocol that requires the client to send a request to the server. Over time, various mechanism like long polling and XHTML-request evolved that provide asynchronous server pushs. However, most of these mechanisms are workarounds and browser-dependent. The long-overdue update of the HTML protocol (HTML5) brought new mechanisms for truly asynchronous and browser-independent server pushs. Server Sent Events and WebSockets allow the client to open a channel that the server uses to send asynchronous messages to the client.
Read More Download PDFOverview of the FTP protocol. In the early days of the Internet, applications were mostly restricted to mail transfer (email) and file transfer. FTP (File Transfer Protocol) is one of the first standardized protocols for exchanging binary and text files between hosts. FTP is rather simple in that it uses a TCP connection for exchanging commands and a data transfer TCP connection for the actual file transfer. In normal FTP operation, the client opens the control connection to the FTP server while it is up to the server to open data connections for each file transfer. With the upcoming firewalls, this scheme proved to pose a problem since firewalls tend to block incoming TCP connections. Thus a passive mode was defined where the client is responsible to open the data connection to the server.
Read More Download PDFTFTP (Trivial File Transfer Protocol) is, as its name implies, a very simple mechanism for transferring files between 2 hosts. TFTP is typically used for downloading software and configuration files to Internet and LAN appliances like routers, switches and gateways. Due to its simplicity, TFTP is often contained in bootloader programs that need to have a very small memory footprint in order to fit into EEPROM style chips. TFTP is not a reduced version or predecessor of FTP. TFTP and FTP do not have anything in common and serve different purposes. While FTP comes with some minimal access and session control and other features, TFTP is barely a file transport mechanism.
Read More Download PDFIn the early days of the Internet, hosts had a fixed IP address. Reaching a host required to know its numeric IP address. With the growing number of hosts this scheme became quickly awkward and difficult to use. DNS was introduced to give hosts human readable names that would be translated into a numeric IP addresses on the fly when a requesting host tried to reach another host. To facilitate a distributed administration of the domain names, a hierarchic scheme was introduced where responsibility to manage domain names is delegated to organizations which can further delegate management of sub-domains. Due to its importance in the operation of the Internet, domain name servers are usually operated redundantly. The databases of both servers are periodically synchronized.
Read More Download PDFDNS is a pivotal infrastructure in TCP/IP based networks. An outage of the DNS system would bring entire networks to a grinding halt. When DNS was devised in the early days of the Internet, security had no importance. Therefore, DNS is entirely unsecured which means it offers countless attack vectors to hack and crack a network. Common attacks are DNS cache poisoning, i.e. adding false entries in DNS databases thus diverting the unsuspecting user to a malicious server and man in the middle attacks. To secure DNS, an extension was defined in the form of DNSSEC. It uses state-of-the-art security algorithms to authenticate and digitally sign requests and responses so that a DNS resolver is able to verify legitimate DNS responses. The adoption rate of DNSSEC is still slow, but is gradually picking up speed.
Read More Download PDFElectronic mail was one of the first applications of the fledgling Internet back in the 70ies of the last century. Mail represents basically an electronic equivalent of telegrams that can be sent without having a direct and simultaneous network connection with the recipient. In email systems, a mail transfer agent (MTA) takes care of the message to be sent and repeatedly tries to deliver the message to the ultimate receiver until successful. One of the first and still prevalent email protocols is SMTP (Simple Mail Transfer Protocol). It is a very simple protocol for sending electronic messages consisting of a header and a body between a sender and a recipient (relay agent or final mail transfer agent). SMPT is not suited for receiving mail. Additional protocols like POP (Post Office Protocol) or the newer IMAP (Internet Mail Access Protocol) are needed to retrieve mail messages from a mail box. SMPT was originally restricted to the ASCII character set so binary content or non-ASCII characters could not be used in mail messages. To overcome this limitation, MIME (Multipurpose Internet Mail Extensions) was devised to allow mail senders to encode non-ASCII content with special character encodings.
Read More Download PDFAll Rights Reserved © Peter R. Egli