CS5008: Internet Computing
Lecture 6: Protocols and Standards
A. O’Riordan, latest revision 2015
Networking Protocols
• A networking protocol is a set of rules which is used by computers to communicate with each other across a network.
– defines how messages are sent and received. Networking protocols may also define:
– media access
– flow control – handle data with efficient pace
– segmentation – breaking messages into smaller units of transmission – addressing and routing
– connection establishment and termination – how to start and end a message
– format of message
– detecting and dealing with loss – and security.
Layering
• In modern protocol design, protocols are layered:
– set of cooperating protocols in a stack instead of a single protocol
– each layer only uses the functions of the layer below, and only exports functionality to the layer above
– this abstraction layer is a way of hiding the implementation details of a particular set of functionality
– protocol stacks can be implemented either in hardware or software, or a mixture of both
• The two most important (layered) network protocol models are – ISO’s OSI model
Open Systems Interconnection (OSI) Model
• Created in 1984 as a framework for computer network standards for
open systems
• Standardized by International Standards Organization (ISO) and ITU-T X.200-series recommendation
• Design evolved from experiences with the CYCLADES network • Consists of seven layers
Layers of OSI Model
• 7: Application Layer – set of utilities used by application programs
• 6: Presentation Layer – formats data for presentation to the user and
provides data interfaces, data compression and translation
• 5: Session Layer – initiates, maintains and terminates each logical
session between sender and receiver, e.g. session ids, logins • 4: Transport Layer – deals with issues such as segmenting the
message for network transport, and maintaining the logical connections between sender and receiver
• 3: Network Layer – deals with data transfer and routing
• 2: Data Link Layer – deals with message delineation, flow control,
error control and network medium access control
• 1: Physical Layer – defines how individual bits are formatted to be
transmitted through the network – covers mechanical and electrical characteristics
DARPA/ Internet Model/ TCP/IP stack
• Created by (D)ARPA originally in 1970s to solve the problem of
internetworking
• Based on Transmission Control Protocol/ Internet Protocol (TCP/IP)
• Widely adopted from circa 1984
• Consists of 4/5 layers
• TCP/IP not as rigidly layered; TCP/IP emphasizes architectural principles over layering
– End-to-end Principle: communications protocol operations should be defined to occur at the end-points of a communications system
(End-to-End Arguments in System Design, Saltzer, J. et al., ACM Transactions on Computer Systems,1984)
– Robustness Principle: implementation must be conservative in its
sending behaviour and liberal in receiving behaviour (RFC 761 and RFC 791)
DARPA 4 Layer Model
• Application Layer application program interface
• Transport/ Host-to-host Layer responsible for establishing end-to-end connections, translates domain names into numeric addresses and segmenting messages
• Internet Layer – IP addressing and routing
• Network Interface Layer much the same as Data Link layer in OSI model
Note: sometimes presented as consisting of 5 layers (e.g. in Stallings and Tanenbaum
textbooks) with extra beign the physical layer.
Protocol Responsibility
• Protocol has sets of rules to define how to communicate at each layer and how to interface with adjacent layers in terms of the
protocol data unit (PDU)
– PDU consists of user-data and protocol control info, usually a header
Layer N Layer N-1 Layer N+1
Layer N Layer N-1
Layer N+1 peer protocol
Message Transmission Using Layers
Applications Applications
sender receiver
A receiving layer wraps incoming message with an envelope adding layer related addressing information
A receiving layer removes the layer related envelope and forwards the message up
Message Transmission Example
message/ request
segment
packet/ datagram
frame
bit/ energy PDUs
Networking Standards
• Provide an agreed way for hardware and/or software systems (possibly from different companies) to communicate
• Help promote competition (prevent monopolies) and decrease the price
• Types of Standards
– formal standards developed by an industry or government standards-making body, e.g. ISO
– de-facto standards emerge in the marketplace and widely used; lack official backing by a standards-making body
Networking Standardization Bodies I
• ISO (International Organization for Standardization)
– technical recommendations for data communication interfaces – composed of national standards orgs.
– based in Geneva, Switzerland – http://www.iso.ch
• ITU-T (International Telecommunications Union –Telecom Group) – technical recommendations about telephone, telegraph and data
communications interfaces
– composed of representatives from each country in UN – based in Geneva, Switzerland
Networking Standardization Bodies II
• IEEE (Institute of Electrical and Electronic Engineers)
– professional society; develops LAN/MAN standards IEEE 802
– based in New York, USA – http://standards.ieee.org • ECMA International
– international, non-profit standards organization
– standard for medium access control (MAC) and physical layer (PHY) for wireless networks
– based in Geneva, Switzerland
– http://www.ecma-international.org/