Networks 1: Protocols & Layers
Protocol Layering
A Structured design to reduce complexity. Each layer offers services to the next higher layer, which it implements using the services of the lower layer (i.e. well defined interfaces). The Highest layer is the communicating application,. The Lowest layer is the physical communications channel.
Protocol Standards
A formal description of a network protocol. Ensures interoperability (the ability of computer systems or software to exchange and make use of information) of diverse implementations. Variety of standards setting procedures: -Free or restricted standards availability -Rules around disclosure of intellectual property rights, use of encumbered technologies - Individual vs. corporate vs. national membership - Describe Technical development v.s. existing practices. -etc. NOTE: Not all players in the standards process have the same goals (Delaying a standard to allow a proprietary solution to gain market share, Incorporating intellectual property, patented technologies, etc., Enhancing, or subverting, the security of a protocol, ...)
State Transition Diagram
A graphic representation of a protocol's operation. The states indicate stages of protocol operation and outline the transitions that occur in response to PDUs, and may result in other PDUs being sent.
Communications systems
A series of protocol layers
Networked Systems
Autonomous computing devices that exchange data to perform some application goal. All networked systems built using these three basic components: - Hosts: the source and destination(s) - Links: (physical) realization of channel conveying messages - Switches/routers: connects multiple links ***Layered on top are network protocols which give meaning to the messages that are exchanged Key aspects: - COMMUNICATION: how is information exchanged across a single link? - NETWORKING: how are links interconnected to build a wide area network? - NETWORKED SYSTEM: how do systems communicate across the network?
Network Switching
Data Link Layer Circuit Switched Networks - A dedicated circuit can be set up for A and B to communicate. Dedicated circuit can block other communications (e.g. the C to D path). • EX: traditional telephone network Packet Switched Networks - Messages are split into small packets before transmission. Allows A-B and C-D to communicate at the same time, sharing the bottleneck link. Connectivity is guaranteed, but the available capacity varies depending how many other people are using the network. NOTE: Packets are small, and have a size constraint; a message can consist of many packets. • EX: the Internet
Protocol Semantics
Define when PDUs can be sent, and what response is needed. OUTLINES -who can send PDUs, and when they can be sent -roles for the hosts (e.g., client and server, peer-to-peer) - what are the entities that communicate and how they are named -how errors are handled
Morse Code
Example of a simple network protocol. Signals on electrical cable form the channel. Syntax: pattern of dots and dashes signals letters Semantics: Different gap lengths to signal end of word and end of letter. Use of STOP for end of message.
Internet Engineering Task Force, International Telecommunications Union, 3rd Generation Partnership Project, World Wide Web Consortium
Examples of Key Standards Organizations
Textual PDU
Have a syntax and grammar that describes their format - HTTP/1.1, SMTP, SIP, Jabber
OSI Reference Model
Layering model structured into seven layers (physical layer, data-link layer, network layer, transport layer, session layer, presentation layer, application layer) Standard way of thinking about layered protocol design. A design tool; real implementations are more complex. x
PDU
Protocol Data Unit. PDU syntax describes protocol information and formatting (i.e. textual information or binary data) . So, defines what messages are legal to send.
Binary PDUs
Similarly have have a syntax and grammar that describes their format - Ex: 32 or 64 bit? Fixed or variable length? Alignment requirements? Examples: TCP/IP, RTP
Session Layer
The fifth layer in the OSI model. Manages (multiple) transport layer connections. • Examples of session layers at work: - Coordinating control, audio and video flows making up a video conference - Using SMTP (Simple Mail Transfer Protocol) to transfer several email messages over a single TCP/IP connection - Opening several TCP (Transmission Control Protocol) and IP (Internet Protocol) connections to download a web page using HTTP (HyperText Transfer Protocol) This layer establishes and maintains communication between two nodes on the network. It can be considered the "traffic cop" for network communications.
Transport Layer
The fourth layer of the OSI model. End-to-end transfer of data from the source to the destination(s). • Transfers data between source's session level service and destination's corresponding service. • Depending on guarantees provided by the network layer, provides reliability, ordering, framing, congestion control, etc. • EX: TCP, UDP In this layer protocols ensure that data are transferred from point A to point B reliably and without errors. This layer services include flow control, acknowledgment, error correction, segmentation, reassembly, and sequencing.
Physical Layer
The lowest, or first, layer of the OSI model. Defines characteristics of the cable or optical fibre used. For wireless links: Radio frequency, transmission power, modulation scheme, type of antenna, etc. Protocols in this layer generate and detect signals so as to transmit and receive data over a network medium. These protocols also set the data transmission rate and monitor data error rates, but do not provide error correction.
Data Link Layer
The second layer in the OSI model. Structures and frames physical layer bit stream by: - Split the bit stream into messages - Detect/correct errors in messages - Performing media access control (i.e. Assigning addresses to hosts, arbitrating link access, determining when hosts are allowed to send message, ensuring fair access to the link and providing flow control to avoid overwhelming hosts, etc.) - EX: Ethernet, 802.11 *THINK NETWORK SWITCHING This layer bridges the networking media with the Network layer. Its primary function is to divide the data it receives from the Network layer into frames that can then be transmitted by the Physical layer.
Application Layer
The seventh layer of the OSI model. User application protocols. NOT the application programs themselves. • EX: REST APIs, WebRTC Application layer protocols enable software programs to negotiate formatting, procedural, security, synchronization, and other requirements with the network.
Presentation Layer
The sixth layer of the OSI model. Manages the presentation, representation, and conversion of data: - Character set, language, etc. - Data markup languages (e.g., XML, HTML, JSON) - Data format conversion (e.g., big or little endian) - Content negotiation (e.g., MIME, SDP) Protocols in the Presentation layer translate between the application and the network. Here, data are formatted in a schema that the network can understand, with the format varying according to the type of network used. The Presentation layer also manages data encryption and decryption, such as the scrambling of system passwords.
Difference between the Internet and the Web
The terms "the Internet" and "the Web" are often used as if they are the same thing. They're not. The Internet has been in development since the 1960's, and is a way to allow different computers around the World to talk to one another. Whether it is downloading a pdf file from a website, or chatting to a friend over Skype - it is the Internet that connects the computers together. The Internet is not actually a single physical network - it's just a set of rules (Internet Protocols) that allow different networks to communicate. When you connect your computer to the Internet, it joins this network - and you can send or receive information from any other computer or server online. The Web (or World Wide Web) is the system of web pages and sites that USES the Internet to pass the files across. It was developed in the late 1980's by Tim Berners-Lee, and you need a Web Browser to access it.
Network Layer
The third layer in the OSI model. Interconnects multiple links to form a wide area network from source host to destination host and handles: - Data delivery - Naming and addressing - Routing - Admission/Flow control • EX: IP, ICMP Protocols in this layer use network addresses and decide how to route data from the sender to the receiver.
Simplified Five Protocol Layers for a Web Browser Talking to a Web Server
Webserver { • HTML • HTTP} Operating System {• TCP • IP} Physical Device {• Ethernet}
Seven Layers of OSI Model in Order
physical layer, data-link layer, network layer, transport layer, session layer, presentation layer, application layer Pandas. Dance. Near. Trees. Serving. Pretty. Apples.