You are on page 1of 71

Data Communications


 Point to point communication (individual network connection per pair of computers) is not usually practical Devices are too far apart Large set of devices would need impractical number of connections Installing wires consumes time and money Maintaining wires consumes money, especially longdistance connections  Solution is a communications network Shared central core Many attached stations

Network Components
 Transmission hardware  Special-purpose hardware devices
Interconnect transmission media Control transmission Run protocol software

 Protocol software
Encoded and formats data Detects and corrects problems

Network Functions
 Provides application to application communication that is Reliable Fair Efficient secure  Automatically detects and corrects Data corruption data loss Duplication out-of-order delivery  Automatically finds optimal path from source to destination

 Local area network (LAN)  Metropolitan area network (MAN)  Wide area network (WAN)  LAN and WAN most widely deployed

Protocol: what?
 An agreement about communication that specifies
format of messages meaning of messages rules for exchange procedures for handling problems

Protocol: need
 Hardware is low level, and many problems can occur
bits corrupted or destroyed entire packet lost packet duplicated packets delivered out of order

 Need mechanisms to distinguish among
multiple computers on a network multiple applications on a computer multiple copies of a single application on a computer

Protocol: set of many
 work together  each protocol solves part of communication problem  known as
protocol suite, or protocol family

 designed in layers  Each layer devoted to one sub-problem  E.g., ISO 7-layer reference model

 Encapsulation  Segmentation and reassmebly  Connection control  Ordered delivery  Flow control  Error control  Addressing  Multiplexing  Transmission services

OSI - The Model
 Open Systems Interconnection  Developed by the International Organization for Standardization (ISO)  A layer model: Seven layers  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  A theoretical system delivered too late!  TCP/IP is the de facto standard

OSI Layers
 Application  Presentation  Session  Transport  Network  Data Link  Physical

The OSI Environment

OSI Layers (1)
 Layer1: Physical
Underlying hardware Physical interface between devices
Mechanical Electrical Functional Procedural

 Layer2: Data Link (media access)
Hardware frame definitions Means of activating, maintaining and deactivating a reliable link Error detection and control Higher layers may assume error free transmission

OSI Layers (2)
 Layer3: Network Packet forwarding Transport of information Higher layers do not need to know about underlying technology Not needed on direct links  Layer4: Transport (reliability) Exchange of data between end systems Error free In sequence No losses No duplications Quality of service

OSI Layers (3)
 Layer5: Session Login and passwords Control of dialogues between applications Dialogue discipline Grouping Recovery  Layer6: Presentation (data representation) Data formats and coding Data compression Encryption  Layer7: Application individual application programs Means for applications to access OSI environment

TCP/IP Protocol Architecture
 Developed by the US Defense Advanced Research Project Agency (DARPA) for its packet switched network (ARPANET)  Used by the global Internet  Dominant commercial protocol architecture  Specified and extensively used before OSI  No official model but a working one.
Application layer Host to host or transport layer Internet layer Network access layer Physical layer

Physical Layer
 Physical interface between data transmission device (e.g. computer) and transmission medium or network  Characteristics of transmission medium  Signal levels  Data rates  Signal encoding  etc.

Network Access Layer
 Logical interface between end system and network  Exchange of data between end system and network  Destination address provision  Invoking services like priority

Layer 3,4,5
 Internet Layer (IP) Systems may be attached to different networks Routing functions across multiple networks Implemented in end systems and routers  Transport Layer (TCP/UDP) End to end transfer of data May include reliability mechanism (TCP) Hides detail of underlying network  Application Layer Support for user applications Communication between processes or applications e.g. http, SMTP

TCP/IP Protocol Architecture Model


Some Protocols in TCP/IP Suite


Data Communications
The Interface

 Data processing devices (or data terminal equipment, DTE) do not (usually) include data transmission facilities  Need an interface called data circuit terminating equipment (DCE)
e.g. modem, NIC

 DCE transmits bits on medium  DCE communicates data and control info with DTE

Characteristics of Interface
 Mechanical
Connection plugs

 Electrical
Voltage, timing, encoding

 Functional
Data, control, timing, grounding

 Procedural
Sequence of events

 hardware device used for long-distance communication  contains separate circuitry for modulation of outgoing signal demodulation of incoming signal  name: modulator/demodulator  conventional: four wires to transmit modulated electrical wave  optical: use glass fibers, and transmit modulated light  wireless: use air/space, and transmit modulated RF wave  dialup: use voice telephone system, transmit modulated audio tone

Modem: usage
 one modem at each end  separate wires carry signals in each direction  modulator on one modem connects to demodulator on other

Dialup modem
 In practice, a dialup modem uses multiple tones simultaneously  The modem can dial, and answer  The carrier is the audio tone  Full-duplex modem provides two-way communication allows simultaneous transmission uses four wires  Half-duplex modem provides two-way communication transmit in one direction at any time uses two wires

Dialup modem

 Data service unit/Channel service unit  performs two functions; usually a single box  needed because telephone industry digital encoding differs from computer industry digital encoding  DSU portion translates between two encoding Converts digital signal coming from a digital circuit (through the CSU), into another digital format that is compatible with the data terminal equipment “DTE”(e.g., a router) to which data is sent  CSU portion terminates line, and allows for maintenance


Cost of digital circuit depends on distance, and capacity

Data Communications
Data Link Control

Flow Control
 needed because
sending computer faster than receiving computer sending application faster than receiving application

 related to buffering  two forms: stop-and-go, and sliding window  Ensuring the sending entity does not overwhelm the receiving entity
Preventing buffer overflow

 Transmission time
Time taken to emit all bits into medium

 Propagation time
Time for a bit to traverse the link

Stop and Wait
 Sending side
transmits one packet waits for signal (ACK) from receiver before sending next frame

 Receiving side
receives and consumes packet transmits ACK signal to sender

 Destination can stop flow by not sending ACK  Works well for a few large frames  Inefficient

Sliding Window Flow Control
 Allow multiple frames to be in transit  Receiver has buffer of “W” frames long  Transmitter can send up to W frames without ACK  Each frame is numbered  ACK includes number of next frame expected  Window tells how many packets can be sent  Window moves as acknowledgements arrive  Sliding window is fast, and useful in high-speed networks

Sliding Window Diagram


Sliding window

Why sliding window
 simultaneously increase throughput, and control flow  speedup Tw = min(B, Tg x W) Where  Tw: is sliding window throughput  B: is underlying hardware bandwidth  Tg: is stop-and-go throughput  W: is window size

Error Detection
 Data can be corrupted during transmission
bits lost bit values changed

 Frame includes additional information to detect/correct error
set by sender checked by receiver

 Statistical guarantee

Error detection and recovery techniques
 Parity bit one additional bit per character can use even or odd parity: value of parity bit is such that character has even or odd number of ones Even number of bit errors goes undetected  Checksum treat data as sequence of integers compute and send arithmetic sum handles multiple bit errors cannot handle all errors  Cyclic Redundancy Check (CRC) mathematical function for data more complex to compute, but handles more errors

 Automatic Repeat Request  Stop and wait  Go back N  Selective reject (selective retransmission)

DLC Protocols
 HDLC: High Level Data Link Control  LAPB: Link Access Procedure, Balanced  LAPD: Link Access Procedure, D-Channel  LLC: Logical Link Control  Frame Relay: Uses Link Access Procedure for Frame-Mode Bearer Services (LAPF)  ATM: Asynchronous Transfer Mode

Data Communications
Switching Techniques

Switching Networks
 Long distance transmission is typically done over a network of switched nodes  Nodes not concerned with content of data  End devices are stations
Computer, terminal, phone, etc.

 A collection of nodes and connections is a communications network  Data routed by being switched from node to node

 Nodes may connect to other nodes only, or to stations and other nodes  Node to node links usually multiplexed  Network is usually partially connected
Some redundant connections are desirable for reliability  Two different switching technologies Circuit switching Packet switching

Simple Switched Network

Circuit Switching

Circuit Switching
 Dedicated communication path between two stations  Three phases
 Establish  Transfer  Disconnect

 Must have switching capacity and channel capacity to establish connection  Must have intelligence to work out routing  Inefficient
 Channel capacity dedicated for duration of connection  If no data, capacity wasted

 Set up (connection) takes time  Once connected, transfer is transparent  Developed for voice traffic (phone)

Packet Switching

 Network has Shared central core Many attached stations  Sharing problems Demand high Some applications have large transfers Some applications cannot wait Need a fairness mechanism  Circuit switching designed for voice Resources dedicated to a particular call Much of the time a data connection is idle Data rate is fixed: Both ends must operate at the same rate

 Line efficiency
Single node to node link can be shared by many packets over time Packets queued and transmitted as fast as possible

 Data rate conversion
Each station connects to the local node at its own speed Nodes buffer data if required to equalize rates

 Packets are accepted even when network is busy
Delivery may slow down

 Priorities can be used

Packet network
 Building blocks Point-to-point long-distance connections Packet switches Hardware device Connects to other packet switches, and computers Forwards packets Uses addresses Special-purpose computer system • CPU • Memory • I/O interfaces • firmware

Building a WAN
 place one or more packet switches at each site  interconnect switches  LAN technology for local connections  Leased digital circuits for long-distance connections  interconnections depend on  estimated traffic  reliability needed

Store and Forward
 basic paradigm used in packet switched network  packet
sent from source computer travels switch-to-switch delivered to destination

 switch
stores packet in memory examines packet’s destination address forwards packet toward destination

WAN addressing
 Need
unique address for each computer efficient forwarding

 Two-part address
packet switch number (high-order bits) computer on that switch (low-order bits)

 Each packet treated independently  Packets can take any practical route  Packets may arrive out of order  Packets may go missing  Up to receiver to re-order packets and recover from missing packets

Virtual Circuit
 Preplanned route established before any packets sent  Call request and call accept packets establish connection (handshake)  Each packet contains a virtual circuit identifier instead of destination address  No routing decisions required for each packet  Clear request to drop circuit  Not a dedicated path

 Complex, crucial aspect of packet switched networks  Characteristics required
Correctness Simplicity Robustness Stability Fairness Optimality Efficiency

Costing of Routes

Routing Strategies
 Fixed  Flooding  Random  Adaptive

Data Communications
Network Properties

Network ownership and service type
 Private
 owned by individual or corporation  restricted to owner’s use  typically used by large corporations  complete control (+)  installation and operation costs (-)

 Public
 owned by a common carrier  individuals or corporations can subscribe  public refers to availability, not data

no need for staff to install/operate network (+) dependency on carrier (-) subscription fee (-)

Connectionless Networks
 Operation Sender
forms packets to be sent places address of intended recipient in packet transfers packet to network for delivery

uses destination address to forward packet delivers

 Characteristics packet contains identification of destination each packet handled independently no setup required before transmitting data no cleanup required after sending data Similar: postcards

Connection-Oriented networks
 Sender
requests connection to receiver waits for network to form connection leaves connection in place while sending data terminates connection when no longer needed

 Network
receives connection request forms path to specified destination and informs sender transfers data across connection removes connection when sender requests Similar: telephone calls

Two connection types
Permanent Virtual Circuit (PVC)  entered manually  survives reboot  usually persists for months Switched Virtual Circuit (SVC)  requested dynamically  initiated by application  terminated when application exits

What Is Congestion?
 Congestion occurs when the number of packets being transmitted through the network approaches the packet handling capacity of the network  Congestion control aims to keep number of packets below level at which performance falls off dramatically  Data network is a network of queues  Generally 80% utilization is critical  Finite queues mean data may be lost

Congestion avoidance
Rate control  limit rate of data transmission  performed by sending computer  performed by network Network rate control monitor incoming traffic drop or reject packets over rate called traffic shaping

Congestion Control in Packet Switched Networks
 Send control packet to some or all source nodes
Requires additional traffic during congestion

 Rely on routing information
May react too quickly

 End to end probe packets
Adds to overhead

 Add congestion info to packets as they cross nodes
Either backwards or forwards

 Increasingly important  aspects
Data Confidentiality Data Integrity Data Availability Privacy

 Mechanisms
Message authentication code (MAC) Passwords Digital signatures Encryption Perimeter security

Firewall Implementation
 packet filter
Configurable specifies which packets can pass allows manager to specify addresses, protocol ports, and packet types

 often part of router  note: two packet filters and intermediate computer are required for optimal firewall