Data Communication (ch2)
PDU
Protocol Data Units - at each layer, protocols are used to communicate - control information is added to user data at each layer - transport layer may fragment user data - each fragment has a transport header added - Destination SAP: to whom the data to be delivered - Sequence number: to reorder the PDUs if they arrive out of order - Error detection code: included code at the remainder of the PDUs. The receiver performs some calculations and compares the results
OSI layer specific standards (3 key elements)
Protocol specification, precise syntax and semantics for interoperability Service definition, functional description for internal use Addressing, service access point
TCP
Transmission Control Protocol (TCP) - Usual transport layer is TCP - reliable connection - Connection -> refers to pair of ports - temporary logical association between entities in different systems - logical connection refers to a given pari of port values - Each TCP PDU - called TCP segment - includes source port and destination port value in the segment header. Remember SAP in OSI - Port values identify respective users (applications) of two TCP entities - Each entity keeps track of TCP segments coming and going to regulate the flow of segments
TFTP (stands for & types of packets w/ detail)
Trivial File Transfer Protocol. It supports 5 types of packets: - RRQ, 2 bytes Opcode, n bytes Filename, 1 byte 0, n Bytes Mode, 1 byte 0 - WRQ (same as RRQ) - Data 2 bytes Opcode, 2 bytes Block Number, 0-512 bytes Data - ACK 2 bytes Opcode, 2 bytes Block Number - Error 2 bytes Opcode, 2 bytes Error Code, n bytes ErrMsg, 1 byte 0
OSI (layers details)
- A layer model - each layer performs a subset of the required communication functions - each layer relies on the next lower layer to perform more primitive functions - each layer provides services to the next higher layer - changes in one layer should not require changes in other layers
file transfer (could use three modules)
- File transfer application module - the source must be sure that the destination is ready to accept and store the file - translate formats if the systems are incompatible - this module relies on the communication service module - Communication service module - make sure the file transfer data and commands are reliably exchanged - Network access module - interacting with the network
key elements of a protocol
- Syntax - Data formats and signal levels - Semantics - control information for coordination - error handling - Timing - speed matching - sequencing
why protocols are needed
- file transfer - instead of implementing the logic for this as a single module, the task is broken into subtasks - implemented separately in layers in stack functions needed in both systems peer layers communicate
elastic traffic
can adjust to delay & throughput changes over a wide range. e.g., traditional "data" style TCP/IP traffic
Transport Layer
collects all mechanisms that provide reliability independent of the application reliable data exchange independent of network being used independent of application
Network Access Layer
concerned with the exchange of data between a computer and the network sending computer provides address of destination may invoke levels of service dependent on type of network used
types of services in TCP/IP
connection oriented service: TCP (Transmission Control Protocol) e.g., telephone system - reliable message stream, e.g. Sequence of pages - reliable byte stream, e.g., Remote login connectionless service: UDP (User Datagram Protocol) also called datagram service e.g., postal system: letters might arrive not based on first deliver - first arrive - unreliable datagram, e.g. electronic junk mail
TCP/IP protocol architecture
consists of a large number of protocols and issued as Internet standard by Internet Architecture Board (IAB) Layers of the TCP/IP model: - Application layer - Host to host or transport layer - Internet layer - Network access layer - Physical layer
Application Layer
contains all the logic to support for user applications need a separate module for each type of application examples, - FTP - HTTP - SMTP
Application Layer
contains the logic needed to support the various user applications support for different user applications
Presentation Layer (OSI)
defines the format of the data to be exchanged (syntax), e.g., ASCII, EBCDIC (character strings), Binary (One's complement, Two's complement) Services provided are - translation - data compression - encryption
inelastic traffic
does not adapt to such changes e.g., "real-time" voice & video traffic
Network Access Layer (TCP/IP)
exchange of data between end system and network destination address provision invoking services like priority software used depends on the network standards developed for - packet switching, e.g., frame relay - LANs, e.g., ethernet allows layers above to ignore link specifics
service definition (OSI)
functional description of what services are provided, but not how the services to be provided
OSI vs. TCP/IP protocol architecture (diagram)
see PPT
addressing requirements
two levels of addressing required: - each computer needs unique network address -> delivering the data to the proper computer - each application on a (multi-tasking) computer needs a unique address within the computer -> supporting multiple applications by the transport layer
PDUs in the TCP/IP Architecture
user data TCP h| user data |TCP segment IP h| user data |IP datagram Network h| user data |network-level packet
standardized protocol architectures (what & why)
why: required for devices to communicate what: - OSI Reference model - TCP/IP protocol suite
OSI as framework for standardization
Layer N entity: Protocol with peer Layer N Service to Layer N+1, Service from Layer N-1
A three layer model
Network Access Layer Transport Layer Application Layer
Protocol Hierarchies
1. Layers are required to reduce design complexity of the data communications system 2. The purpose of each layer is to offer certain services to the higher layers 3. Number and contents of each layer are different from network to network 4. No data can directly transferred from layer n on one machine to layer n on the other machine 5. Each layer passes data and control information to the layer immediately below or above 6. Below layer 1, there is the physical medium through which actual communication occurs 7. Between each pari of adjacent layers there is an interface
OSI layers (each layer's explanation)
7. Application Provides access to the OSI environment for users and also provides distributed information services 6. Presentation Provides independence to the application processes from differences in data representation (syntax) 5. Session Provides the control structure for communication between applications; establishes, manages, and terminates connections (sessions) between cooperating applications. 4. Transport Provides reliable, transparent transfer of data between end points; provides end-to-end error recovery and flow control 3. Network Provides upper layers with independence from the data transmission and switching technologies used to connect systems; responsible for establishing, maintaining, and terminating connections. 2. Data Link Provides for the reliable transfer of information across the physical link; sends blocks (frames) with the necessary synchronization, error control, and flow control 1. Physical Concerned with transmission of unstructured bit stream over physical medium; deals with the mechanical, electrical, functional, and procedural characteristics to access the physical medium.
summary of OSI layers
7. Application To allow access to network resources 6. Presentation To translate, encrypt, and compress data 5. Session To establish, manage, and terminate sessions 4. Transport To provide reliable process-to-process message delivery and error recovery 3. Network To move packets from source to destination; to provide internet working 2. Data link To organize bits into frames; to provide hop-to-hop delivery 1. To transmit bits over a medium; to provide mechanical and electrical specifications
Seven layers of the OSI model
7. Application 6. Presentation 5. Session 4. Transport 5. Network 6. Data link 7. Physical
what is protocol
A set of rules that govern the operation of functional units to achieve communication
Relationship of layers and addresses in TCP/IP
Application layer -> Processes -> Specific addresses Transport layer -> SCTP | TCP | UDP -> Port addresses Internet -> IP and other protocols -> Logical addresses Network + Physical layer -> Underlying physical networks -> Physical addresses
what techniques maybe used to provide the communication link for OSI
Circuit switching or Packet switching network
Addressing in TCP/IP
Four levels of addresses are used in an Internet employing the TCP/IP protocols: - physical - logical - port - specific
simplified network architecture (file transfer)
NOTE: if the network is changed, only the network access module is affected Computer X: File transfer application -> communications service module -> network access module computer Y: File transfer application -> communications service module -> network access module network interface logic of X <---> communications network <---> network interface logic of Y
Network PDU
Network access protocol present the data to the network with a request for transmission. This requires control information. The network access protocol appends a network access header to the data. This creates network access PDU. Examples of items that may be stored in the header - network address for destination computer - facilities requests, such as priority
OSI Reference Model (brief)
Open Systems Interconnection - Introduced in the late 1970s - Seven layers - Developed by ISO (International Organization for Standardization)
primitive types
Request, an entity wants the service to do some work. e.g. dial phone number Indication, an entity is to be informed about an event. e.g. phone rings Response, an entity wants to respond to an event. e.g. picks up the phone Confirm, an entity is to be informed about its request. e.g. ringing stops
Operation of a protocol architecture (diagram)
Source X: Application (Record) -> Transport (DSAP + Record = Transport PDU) -> Network Access (DHost + Transport PDU = Packet) DSAP = destination service access point DHost = destination host Destination Y: reverse the order and unpack the packet
TCP/IP Protocol Suite (little history)
The layers in the TCP/IP protocol suite do not exactly match those in the OSI model. The original TCP/IP protocol suite was defined as having four layers: - host-to-network - internet - transport - application However, when TCP/IP is compared to OSI, we can say that the TCP/IP protocol suite is made of five layers: - physical - network - internet - transport - application
UDP
User Datagram Protocol (UDP) Alternative to TCP is User Datagram Protocol - Not guaranteed delivery - No preservation of sequence - No protection against duplication - Minimum overhead of protocol mechanism - Adds port addressing to IP Example: Simple Network Management Protocol (SNMP)
protocol architectures and networks
all computers are interconnected by communications network through each of their Network access layer. there is another important concept here, which is SAP (Service access point) between Applications layer and Transport layer
Session Layer (OSI)
allows users on different machines to establish sessions between them. The key services provided are: - dialogue discipline, half or full duplex - grouping of data - backup and recovery provided by checkpoints
Transport Layer (TCP)
host-to-host reliable delivery of data ordering of delivery commonly uses TCP
what is standards
it's a guideline to be followed when a new design is to be formulated (e.g. 802.ac)
Network Layer (OSI)
provides upper layers with independence from the data transmission and switching technologies used to connect systems - establishing connections - maintaining connections - terminating connections - control of congestion - produce billing information source-to-destination delivery
protocol specification (OSI)
operates between the same layer on two systems may involve different operating system protocol specification must be precise - format of data units - semantics of all fields - allowable sequence of PDUs
Physical Layer (TCP/IP)
physical interface between data transmission device (e.g. computer) and transmission medium or network characteristics of transmission medium - signal levels - data rates
Physical Layer (OSI)
physical interface between devices. Transmission of bit stream over physical medium, with the following characteristics: - mechanical characteristics (e.g., connectors) - electrical characteristics of signals (e.g., voltage, timing) - functional, specifies functions performed by individual circuits of the physical interface - procedural, specifies the sequence of events
Transport Layer (OSI)
provides a mechanism for the exchange of data between end systems. Split data received from Session layer into smaller units. It ensures data is delivered: - Error free - In sequence - No losses - No duplicates - Quality of service. For example, the session entity may specify acceptable error rates, maximum delay, priority and security The size and the complexity of a transport protocol depend on how un/reliable the underlying network Reliable process-to-process delivery of a message
Application Layer (OSI)
provides services to the users - file transfer - electronic mail - terminal access to remote computers
Data Link Layer (OSI)
provides the means of activating, maintaining and deactivating a reliable link - error detection and control - higher layers may assume error free transmission hop-to-hop delivery
addressing (OSI)
referenced by service access point (SAP) and NSAP
service primitives and parameters
services between adjacent layers expressed in terms of primitives and parameters primitives, specify function to be performed parameters, used to pass data and control information
example Header information (diagram)
source port destination port sequence number acknowledgement number header length reserved flags window checksum urgent pointer options + padding
what is protocol architecture
suggests how a file transfer could be implemented
Internet Layer (IP)
systems may be attached to different networks routing functions across multiple networks implemented in end systems and routers using IP protocol routers connect two networks and relays data between them router is a processor that connects at least two networks
what is model
this is structure that explains the functioning of various stages