Reference Model Objectives Identify organizations that set standards for networking Describe the purpose of the OSI Model and each of its layers Explain specific functions belonging to each OSI Model layer Objectives (continued) Understand how two network nodes communicate through the OSI model Discuss the structure and purpose of data packets and frames Describe the two types of addressing covered by the OSI Model Networking Standards Organizations Standards: documented agreements containing technical specifications or other precise criteria stipulating how particular products or services should be designed or performed Define minimum acceptable performance Many different organizations have evolved to oversee computer industrys standards Ensures the interconnectivity and compatibility of the device Help in maintaining market competitiveness and guarantees interoperability ANSI American National Standards Institute (ANSI) Composed of more than a thousand representatives from industry and government Represents United States in setting international standards ANSI standards documents available: ANSIs Web site (www.ansi.org) At university or public libraries IEEE Institute of Electrical and Electronics Engineers International society composed of engineering professionals Goals are to promote development and education in electrical engineering and computer science IEEE technical papers and standards are highly respected in the networking profession Can purchase IEEE documents online from IEEEs Web site (www.ieee.org) ISO International Organization for Standardization Collection of organization standards representing 146 countries Goal is to establish international technological standards to facilitate global exchange of information and barrier-free trade Fewer than 300 of ISOs more than 14,250 standards apply to computer-related products and functions
10 Why Architecture?
Offer interoperability across diverse networks Allow for easier application coding Allow providers to compete Facilitate innovation Copyright by Jorg Liebeherr 98, 99 Network Architecture
A Network Architecture is a structured set of protocols that implement the exchange of information between computers Copyright by Jorg Liebeherr 98, 99 Protocol Architectures There are only few protocol architectures that are relevant today: OSI Reference Model TCP/IP Protocols Suite ATM Protocol Stack OSI Model Open Systems Interconnection (OSI) Model: divides network communications into seven layers: Physical, Data Link, Network, Transport, Session, Presentation, and Application Protocols perform services unique to layer Protocols interact with protocols in layers directly above and below Protocol: set of instructions to perform a function or group of functions Written by a programmer TCP/IP Protocol Suite 14 Figure 2.3 The OSI model TCP/IP Protocol Suite 15 Figure 2.4 OSI layers The OSI Model (continued) Theoretical representation of what happens between two nodes communicating on a network Model for understanding and designing a network architecture Does not prescribe type of hardware or software that should support each layer Does not describe how software programs interact with other software programs or how software programs interact with humans Provides standards for communication between systems Each layer communicates with same layer from one computer to another The OSI Model (continued) Figure 2-1: Flow of data through the OSI Model Tip to remember All People Seem To Need Data Processing. Please Do Not Tell Secret Passwords Anytime. Please Do Not Throw Sausage Pizza Away.
Application layer Responsible for accessing the network by user. It provides user interfaces and other supporting services such as email, remote file access, file transfer, sharing database, message handling and directory services. Function of application layer 1. Network virtual terminal It is a software version of physical terminal that allows a user to log on to a remote host 2. File transfer, Access and Management(FTAM) allows user to access files in remote hosts, to retrieve files and to manage files in remote computer. 3. Mail services email forwarding, storage under this category 4. Directory services: include access for global information and distributed database. Application Layer (7) Hypertext Transfer Protocol (HTTP): formats and sends requests from clients browser to server Also formats and sends Web servers response back to clients browser Application program interface (API): set of routines that make up part of a software application Presentation Layer (6) Deals with syntax and semantics of information being exchanged Protocols accept Application layer data and format it So that one type of application and host can understand data from another type of application and host e.g., translation and conversion between graphics file types Manages data encryption and decryption
Presentation layer(contd..) Responsible:
1.Translation Different computers use different encoding systems. so this layer maintains interoperability between the two encoding systems
2. Encryption encryption is transforming sender information to other form to ensure privacy while transmission.Decrytion is reverse process.
3. Compression compression is a technique of reducing number of bits required to represent the data Session Layer (5) Protocols coordinate and maintain communications between two network nodes Establish and maintain communications link for duration of session Keep communication secure Synchronize dialogue between two nodes Network dialog controllerit establishes and synchronizes the interaction b/w communication system Determine if communications have been cut off Determine where to restart transmission Terminate communications Session Layer (continued) Sets terms of communication Decides which node will communicate first Decides how long a node can communicate Monitors identification of session participants Ensures that only authorized nodes have access Responsibities: 1. Dialog control communication between two processes take place in either half duplex or full duplexmode.Manages dialog control for this communication 2. synchronization: layer adds synchronization points into stream of data Transport Layer (4) Responsible for delivery of message from one process to another Protocols accept data from Session layer and manage end-to- end delivery of data Ensure data transferred reliably, in correct sequence, and without errors Protocols also handle flow control as well as error control Gauging appropriate rate of transmission based on how fast recipient can accept data Transmission Control Protocol (TCP): Takes care of reliably transmitting HTTP requests from client to server and vice versa Transport Layer (continued) Connection-oriented protocols: ensure that data arrives exactly as it was sent Establish connection before transmitting data TCP is connection-oriented Clients TCP protocol first sends synchronization (SYN) packet request to server Server responds with synchronization- acknowledgment (SYN-ACK) packet Client responds with own acknowledgment (ACK) Transport Layer (continued) Acknowledgments also used to ensure that data was properly delivered For every data unit sent, connection-oriented protocol expects acknowledgment from recipient If no acknowledgment, data retransmitted Connection-oriented protocols use a checksum Unique character string allowing receiving node to determine if arriving data unit exactly matches data unit sent by source
Transport Layer (continued) Connectionless protocols do not establish connection before transmitting No effort to ensure data delivered error-free Transport layer protocols break large data units received from Session layer into smaller segments (segmentation)
Transport Layer Reassembly: process of reconstructing segmented data units Sequencing: method of identifying segments that belong to same group of subdivided data Indicates where unit of data begins Indicates order in which groups of data were issued Transport layer protocols of two nodes must synchronize timing and agree on starting point for the transmission Network layer Responsible for the delivery of packets from the source to destination. Functions : 1. Logical addressing Data link layer implements physical addressing , when packet passes network boundary, an addressing system is needed to differentiate source and destination. The network layer adds a header to the packet of upper layer includes the logical addresses of header and receiver.
2. Routing Route or switch the packets to its final destination in an internetwork Network Layer (continued) Figure 2-2: Segmentation and Reassembly
Network Layer Devices Routers Brouters Layer 3 Switches Network Layer Primary functions of protocols: Translate network addresses into physical counterparts Decide how to route data from sender to receiver Each node has two types of addresses: Network address: follows hierarchical addressing scheme Can be assigned through OS software Network layer addresses, logical addresses, or virtual addresses Physical address Network Layer (continued) Network layer protocols accept Transport layer segments and add logical addressing information in network header Network layer handles routing Determining best network path Fragmentation: Network layer protocol subdivides segments it receives from Transport layer into smaller packets Data Link Layer Protocols divide received data into distinct frames Can then be transmitted by Physical layer Frame: structured package for moving data Raw data payload Senders and receivers network addresses Error checking and control information Data Link Layer (continued) Error checking accomplished by 4-byte Frame Check Sequence (FCS) field Ensures data at destination exactly matches data issued from source When source node transmits data, performs Cyclic Redundancy Check (CRC) to get FCS Destination nodes Data Link layer services unscramble FCS via same CRC algorithm Data Link layer divided into two sub-layers: Logical Link Control Media Access Control Data Link Layer (continued) Figure 2-5: The Data Link layer and its sublayers Data Link Layer (continued) Logical Link Control (LLC) sublayer: Provides interface to Network layer protocols Manages flow control Issues requests for transmission for data that has suffered errors Media Access Control (MAC) sublayer: Manages access to physical layer Appends destination computers physical address onto data frame (MAC address, Data Link layer address, or hardware address) Data Link Layer Concepts Frame The Hardware (MAC) Address Logical Topology Data Link Layer Devices Bridges Switches NIC Switchs/Hubs Data Link Layer (continued) Figure 2-6: A NICs MAC address Data Link Layer (continued) MAC addresses contain two parts: Block ID: six-character sequence unique to vendor Device ID: six-character sequence based on NICs model and manufacture date
Physical Layer Protocols accept frames from Data Link layer and generate voltage to transmit signals When receiving data, protocols detect voltage and accept signals Protocols also set data transmission rate and monitor data error rates Cannot perform error correction NICs operate at both Physical layer and Data Link layer Network administrators mostly concerned with bottom four layers of OSI Model Physical Layer Devices NIC Transceivers Repeaters Hubs MAUs Repeaters Hubs TCP/IP Protocol Suite 54 Figure 2.6 Summary of OSI Layers TCP/IP Model A highly standardized protocol used widely on the Internet Developed by the US Defense Advanced Research Project Agency (DARPA) for its packet switched network (ARPANET) Standards area available in the form of RFC documents Request For Comments (RFC) Standards are overseen by the Internet Engineering Task Force (IETF) Layers of TCP/IP Reference Model There are four layers of the TCP/IP reference model (DARPA model as named by the US Government Agency) The ISO-OSI reference model is composed of seven layers Note that the ISO/OSI model is more widely used and accepted but the TCP/IP model is easy to comprehend Copyright by Jorg Liebeherr 98, 99 TCP/IP Protocol Suite The TCP/IP protocol suite was first defined in 1974 The TCP/IP protocol suite is the protocol architecture of the Internet The TCP/IP suite has four layers: Application, Transport, Internet, and Network Interface Layer Application Layer Transport Layer Internet Network Interface telnet, ftp, email TCP, UDP IP, ICMP, IGMP Device Drivers Copyright by Jorg Liebeherr 98, 99 Comparison of OSI Model and TCP/IP Suite Application Presentation Session Transport Network Data Link Physical Application Transport Internetwork Network Access Physical OSI TCP/IP OSI and TCP/IP Protocol Stack OSI Model TCP/IP Hierarchy Protocols 7 th Application Layer 6 th Presentation Layer 5 th Session Layer 4 th Transport Layer 3 rd Network Layer 2 nd Link Layer 1 st Physical Layer Application Layer Transport Layer Network Layer Link Layer Link Layer : includes device driver and network interface card Network Layer : handles the movement of packets, i.e. Routing Transport Layer : provides a reliable flow of data between two hosts Application Layer : handles the details of the particular application Source: TCP/IP White Paper by Microsoft TCP/IP Layers Network interface layer Internet layer Host-to-host transport layer Application layer
Network Interface Layer Responsible for sending and receiving TCP/IP packets on the network medium (physical/Data Link) Exchange of data between end system and network Applicable LAN technologies Ethernet, Token Ring, FDDI etc. Applicable WAN technologies X.25 (old), Frame Relay, ATM etc. Destination address provision Internet Layer (IP) Systems may be attached to different networks Routing functions across multiple networks Implemented in end systems and routers
Core Internet Layer Protocols IP A connectionless unreliable protocol that is part of the TCP/IP protocol suite ARP (Address Resolution Protocol) Resolves IP addresses to MAC addresses ICMP (Internet Control Message Protocol) Diagnostics and error reporting (IGMP) Internet Group Management Protocol Management of group multicast
Transport Layer (TCP) Reliable delivery of data Ordering of delivery Transport Layer Sequencing and transmission of packets Acknowledgment of receipts Recovery of packets Flow control In essence, it engages in host-to-host transportation of data packets and the delivery of them to the application layer Core Protocols of the Transport Layer TCP (Transmission Control Protocol) UDP (User Datagram Protocol) Transport Layer TCP Transmission Control Protocol (TCP) One-to-one and connection-oriented reliable protocol Used in the accurate transmission of large amount of data Slower compared to UDP because of additional error checking being performed UDP User Datagram Protocol (UDP) One-to-one or one-to-many,connectionless and unreliable protocol Used for the transmission of small amount of data Accuracy is not of prime concern The overhead of establishing a TCP connection is not warranted Used in video and audio casting Multicasting Broadcasting Also used for multimedia transmission Faster compared to TCP Application Layer Support for user applications e.g. http, SMTP Provides applications with the ability to access the services of the other layers New protocols and services are always being developed in this category Some Core Protocols HTTP FTP Telnet SMTP POP3 IMAP SNMP etc. Packet Encapsulation The data is sent down the protocol stack Each layer adds to the data by prepending headers 22Bytes 20Bytes 20Bytes 4Bytes 64 to 1500 Bytes The Computer Continuum 7-73 Communication Basics of Networks Types of connections of computers into networks: Physical versus Wireless connections The first type: The Physical Connection. Physically connect computers together. Use of wires or optical cables. The connections are called network links. Three most common physical links: Twisted pair Coaxial cable Fiber-optic cable The Computer Continuum 7-74 Communication Basics of Networks Twisted pair Two wires twisted together. Makes them less susceptible to acting like an antenna and picking up radio frequency information or appliance noise. Telephone company uses twisted-pair copper wires to link telephones.
The Computer Continuum 7-75 Communication Basics of Networks Coaxial cable Also two wires: One of the wires is woven of fine strands of copper forming a tube. The wire mesh surrounds a solid copper wire that runs down the center. Space between has a non-conducting material. Makes them more impervious to outside noise.
The Computer Continuum 7-76 Communication Basics of Networks Fiber-optic cable Light is electromagnetic. Can transmit more information down a single strand. It can send a wider set of frequencies. Each cable can send several thousand phone conversations or computer communications.
The Computer Continuum 7-77 Communication Basics of Networks Second type of connections of computers into networks: Wireless connections The link is made using electromagnetic energy that goes through space instead of along wires or cables. Three types of wireless communications commonly used in networking: Infrared Radio frequency Microwave
The Computer Continuum 7-78 Communication Basics of Networks Infrared Commonly used in TV and VCR remote controls. Use infrared frequencies of electromagnetic radiation that behave much like visible light. Must be in the line of sight. Often used to connect keyboards, mice, and printers.
The Computer Continuum 7-79 Communication Basics of Networks Radio frequency Uses radio frequencies. Function even though line of sight is interrupted. Not commonly used because of the possible interference from other sources of electromagnetic radiation such as old electric drills and furnace motors.
The Computer Continuum 7-80 Communication Basics of Networks Microwave Often used to communicate with distant locations. Must be line of sight. Satellite communications use microwaves.
The Computer Continuum 7-81 Communication Basics of Networks Properties of Transmission Five basic properties of both the physical and wireless links: 1. Type of signal communicated (analog or digital). 2. The speed at which the signal is transmitted (how fast the data travels). 3. The type of data movement allowed on the channel (one-way, two-way taking turns, two-way simultaneously). 4. The method used to transport the data (asynchronous or synchronous transmission). 5. Single channel (baseband) and multichannel (broadband) transmission. The Computer Continuum 7-82 Communication Basics of Networks 1. Type of signal communicated (analog or digital). Analog: Those signals that vary with smooth continuous changes. A continuously changing signal similar to that found on the speaker wires of a high-fidelity stereo system. Digital: Those signals that vary in steps or jumps from value to value. They are usually in the form of pulses of electrical energy (represent 0s or 1s).
The Computer Continuum 7-83 Communication Basics of Networks 2. The speed at which the signal is transmitted (how fast the data travels). In digital systems: Speed is measured in... Bits per second (bps). The number of bits (0s and 1s) that travel down the channel per second. Baud rate The number of bits that travel down the channel in a given interval. The number is given in signal changes per second, not necessarily bits per second.
7-84 Communication Basics of Networks MODEM - MOdulator DEModulator
Outgoing: Converts binary data from computer (digital) into telephone compatible signals (analog). Incoming: Converts telephone signal (analog) into binary data for the computer (digital). Can be an external or internal device (usually a card).
The Computer Continuum 7-85 Communication Basics of Networks Speed of Signal: Sample bps and baud rate speeds.
300 bps (=300 baud) Painfully slow to the college-level reader 1200 bps (=1200 baud) Good reader can keep up 2400 bps (=2400 baud) A speed reader would get the general idea 9600 bps (=9600 baud) Impossible to read 14.4 K bps (not measured in baud) 14,400 bps - 10 to 20 sec. wait for graphics 28.8 K bps Minimum desired for WWW (5 to 10 sec. wait for graphics) 56 K bps Efficient speed for WWW.
These speeds are restricted to the maximum speed of the modem at the other end of the connection. The Computer Continuum 7-86 Software Architecture of Networks Types of nodes important to networks.
Hub A device that repeats or broadcasts the network stream of information to individual nodes ( usually personal computers)
Switch A device that receives packets from its input link, and then sorts them and transmits them over the proper link that connects to the node addressed.
Bridge A link between two networks that have identical rules of communication.
Gateway A link between two different networks that have different rules of communication.
Router A node that sends network packets in one of many possible directions to get them to their destination. 87 Channel access on links Channel access method allows several terminals connected to the same multi point trans media to transmit over it and to share it capacity If no arbitration, several stations/users may transmit at the same time: COLLISIONS! How to allocate single shared, broadcast channel among several stations/users.
88 Multiplexing Sharing a link/channel among multiple source- destination pairs. Example: high-capacity long-distance trunks (fiber, microwave links) carry multiple connections at the same time. Channel access scheme is also based on a multiple access protocol and control mechanism
Time Frequency 1 2 N Available bandwidth is divided into frequency bands
Each station is allocated to send its data
In this method when any one frequency level is kept idle and another is used frequently leads ti inefficiency 91 FDM Simple.
But: What if number of users is large? What if number of users changes over time? What if traffic is bursty? 92 TDM
Time Frequency 1 2 N Stations share the bandwidth of the channel in time
Each station is allocated a time slot during which it can send data
Buteach station needs to know the beginning of its slot and the location of its slot 93 TDM (Contd) Time divided into time slots. One or more slots assigned to a data source.
But, also inefficient 1 2 N ... 1 2 ... N frame Time U 1 U 2 ... U N 94 Dynamic Multiplexing Dynamic allocation. In particular, statistical TDM. Dynamically allocates time slots on demand. Increased channel utilization. Examples CDMA,round robin MAC, Scheduled MAC Code division multiple access CDMA differs from FDMA because only one channel occupies the entire bandwidth of the link It differs from TDMA because all stations can send data at the same time without timesharing CDMA simply means communication with different codes It is based on coding theory, each station is assigned a code, which is a sequence of numbers called chips and chips will be added with original data and it can be transmitted thro same medium. 96 Multiple Access Protocols Centralized approaches: Controller grants access to medium. Simple, greater control: priorities, QoS. But, single point of failure and performance bottleneck. Decentralized schemes: All stations collectively run MAC to decide when to transmit.
97 Round-Robin MAC Each station is allowed to transmit; station may decline or transmit (bounded by some maximum transmit time). Centralized (e.g., polling) or distributed (e.g., token ring) control of who is next to transmit. Efficient when many stations have data to transmit over extended period (stream). 98 Scheduled-Access MAC Time divided into slots. Station reserves slots in the future. Multiple slots for extended transmissions. Suited to stream traffic. Lecture 4: 9-6-01 99 Framing Techniques 1. Bye oriented protocols (BISYNC,PPP,DDCMP)
2. Bit oriented protocols(HDLC)
3. Clock based Framing(SoNET)
Byte oriented protocols Collection of bytes rather than collection of bits Sentinel approach Beginning of a frame is denoted by sending a SYN character Data portion contained between STX and ETX
CRC is used to detect transmission error.
SYN SYN SOH HEADER STX BODY ETX CRC Lecture 4: 9-6-01 101 BISYNC Framing Escaping the ETX character by preceding it with a DLE character whenever it appears in the body Byte stuffing Special start of frame byte (e.g. 0xFF) Special escape byte value (e.g. 0xFE) Values actually in text are replaced (e.g. 0xFF by 0xFEFF and 0xFE by 0xFEFE) Worst case can double the size of frame PPP Flag Address Control Protocol Payload Checksum flag Flag Field has 01111110 as starting sequence Address and control fields usually contain default values Protocol filed is used for demultiplexing Payload size can be negotiated Negotiation conducted by a protocol LCP(Link control protocol) LCP sends control messages encapsulated in PPP frames DDCMP Syn Syn Class Count Header Body Crc No of bytes contained in a frame can be included as a field in header
Count field specifies how many bytes are contained in the frame body
Sometimes count field will be corrupted during transmission, receiver accumulate many bytes as count filed indicates---- framing error
Receiver then wait until it sees the next SYN character Bit oriented protocols(HDLC) Beginning sequences Header Body CRC Ending sequences HDLC has both beginning and end of a frame with bit sequence 01111110
Sequence may be appear anywhere in the body of the frame, it can be avoided by bit stuffing
On the sending side, Five consecutive 1s have been transmitted from the body of the message, the sender inserts a 0 before transmitting next bit
On the receiving side, five consecutive 1s arrived, so receiver makes its decision based on the next bit it sees HDLC If next bit is 0, it must have been stuffed . So receiver removes it Suppose next bit is 1 then either end of frame marker or error If it is 0 (i.e last eight bits it has looked at are 01111110) then it end of frame marker If it is 1 (i.e the last eight bits it has looked at are 01111111) then there must have been an error so whole frame may be discarded..
Clock based framing (SONET) Synchronous optical network is used for long distance transmission of data over optical network
Supports multiplexing of several low speed links into one high speed links
SONET It is arranged as nine rows of 90 bytes each, and the first 3 bytes of each row are overhead, with the rest being available for data. The first 2 bytes of the frame contain a special bit pattern, and it is these bytes that enable the receiver to determine where the frame starts. The receiver looks for the special bit pattern consistently, once in every 810 bytes, since each frame is 9 x 90 = 810 bytes long.
Error detection and Correction Types of errors 1. single bit error: only one bit of data unit changing from 0 to 1 and vice versa
. Error detection and correction Burst Error The term Burst Error means that two or more bits in the data unit have changed from 1 to 0 or from 0 to 1 Error detection and correction Redundancy One method is to send every data twice, so that receiver checks every bit of two copies and detect error. Drawbacks Sends n-redundant bits for n-bit message. Many errors are undetected if both the copies are corrupted. Instead of adding entire data, some bits are appended to each unit.. These bits are called error detecting codes. Three error detecting techniques are: Parity check Check sum algorithm Cyclic Redundancy Check
Error detection and correction Parity Check simplest form of error detection is to append a single bit .
Simple parity check Only one redundant bit, called parity bit is added to every data unit so that the total number of 1s in unit become even (or odd) Drawbacks: Receiver can detect an error but it can not specify which bit is error Detect only single bit error
Error detection and correction Two Dimensional Parity It is based on simple parity Two dimensional parity check and block is organized in rows and columnsthen parity of each data unit is calculated Then calculate parity bit of each column, write column parity also Then attach 8 parity bit original data and send to receiver Drawback if two bits in one data unit are changed and two bits in exactly at same position in another data unit is changed, so checker cant detect an error Error detection and correction Check sum algorithm All the words are added and then transmit the result of sum called checksum with the data Receiver performs the same calculation on the received data and compares the result with the received checksum If any corruption in transmitted data, then results will not match. so error occurred at receiver Instead of sending the checksum as such, ones complement of that sum will be send to receiver. If it as zero ,it will be correct one If number has more than n bits, then extra leftmost bits need to be added to the n rightmost bits Data can be divided into 16 bit word and checksum is initialized to zero Lecture 4: 9-6-01 114 Internet Checksum Sender Treat segment contents as sequence of 16-bit integers Checksum: addition (1s complement sum) of segment contents Sender puts checksum value into checksum field in header Receiver Compute checksum of received segment Check if computed checksum equals checksum field value: NO - error detected YES - no error detected. But maybe errors nonethless? Goal: detect errors (e.g., flipped bits) in transmitted segment Lecture 4: 9-6-01 115 Error Detection Cyclic Redundancy Check (CRC) A very popular error detecting code implemented in many data transmission schemes is the cyclic redundancy check (CRC) code. CRC is an international standard approach to error detection. It protects the data with a checksum or cyclic redundancy check CRC was first developed by the CCITT (Committee Consultative International Telegraphic Telephonic) now called ITU T (International Telecommunications Union) CRC is based on binary division. In CRC a sequence of redundant bits, called the CRC or the CRC remainder is appended to the end of a data stream. The resulting data becomes exactly divisible by a second, predetermined binary number. At its destination, the incoming data is divided by the same number
Error Detection Cyclic Redundancy Check (CRC) Polynomial Generator is used to calculate a binary equivalent. Present powers are identified as 1 and a absent powers as 0. CRC generator (divisor) is usually represented not as a string of 1s and 0s but as an algebraic polynomial CRC Generator uses modulo-2 division
Lecture 4: 9-6-01 117 CRC Example ERROR CORRECTION Handled in two ways 1.First one, when an error is discovered, the receiver can have the sender retransmit the entire data unit. 2.In the other, a receiver can use an error correcting code, which automatically corrects certain errors. Types of error correction: 1. Single bit error correction 2. Burst bit error correction
Single Bit Error Correction
To correct a single bit error in an ASCII character, the error correction code must determine which of the seven bits has changed. Determine eight different states: no error, error in position 1, error in position 2, ..error in position 7. Looks like a three bit redundancy code. because three bits can show eight different states. But what if an error occurs in the redundancy bits? Seven bits of data and three bits of redundancy bits equal 10 bits. So three bits are not adequate.. To calculate the number of redundancy bits (r) required to correct a given number of data bits (m) find a relationship between m and r.
If the total number of bits in a transmittable unit is m+r then r must be able to indicate at least m+r+1 different state. Of these, one state means no error and m+r states indicate the location of an error in each of the m+r positions.
So m+r+1 state must be discoverable by r bits. And r bits can indicate 2r different states. Therefore, 2r must be equal to or greater than m+r+1; 2r >=m+r+1
NUMBER OF DATA BITS (M)
NUMBER OF REDUNDANCY BITS (R) TOTAL BITS (M+R) 1 2 3 2 3 5 3 3 6 4 3 7 5 4 9 6 4 10 7 4 11 Hamming code The hamming code can be applied to data units of any length and uses the relationship between data and redundancy bits R.W hamming provides a practical solution for error correction.. It is extension of simple method that can be used to detect and correct the larger set of errors.. Hamming code Seven bit ASCII code requires four redundancy bits that can be added to the end of the data These redundancy bits are placed in positions 1, 2,4,and 8, so this bits as r1,r2,r3 and r4..
Combination used to calculate each of the four r values for seven bit data sequence.. D D D R D D D R D R R 11 10 9 8 7 6 5 4 3 2 1 Hamming code r1 bit is calculated using all bits positions whose binary value include a 1 in the rightmost position. r2 is calculated using all bit position with a 1 in the second position and so on. r1: bits 1,3,5,7,9,11 r2: bits 2,3,6,7,10,11 r3: bits 4,5,6,7 r4: bits 8,9,10,11 Hamming code Calculating r values.. Place each bit of the original character in its appropriate position in the 11 bit unit Calculate the even parties for the various bit combination Parity value for each combination is the value of the corresponding r bit
Hamming code 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 0 0 1 0 1 Hamming code At the receiver side Receiver takes the transmission and recalculates four new r values using the same set of bits used by the sender plus the relevant parity (r) bit for each set. Then it assembles the new parity values into a binary number in order of r position (r8, r4, r2, r1). This step gives us the binary number which is the precise location of the bit in error Once the bit is identified, the receiver can reverse its value and correct the error Hamming code 1 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1
Burst Bit Error Correction
Hamming code can be designed to correct burst errors of certain length Number of redundancy bits required to make these corrections.. To correct double bit errors, the two bits can be a combination of any two bits in the entire sequence. Three bit correction means any three bits in the entire sequence and so on FUNCTIONS OF DATA LINK LAYER Data link layer Functions 1. Line discipline
2. Flow control
3. Error control
4. Framing
LINE DISCIPLINE
Line discipline coordinates the link system.
Line discipline can serve in two ways
1. Enquiry / acknowledgement (ENQ / ACK)
2. Poll / select (POLL / SELECT)
ENQ / ACK Poll Work with topologies where one device is designated as primary and the other devices are secondary Primary device controls the linkSecondary devices follow its instructions.. Primary asks the secondary if they have anything to send- Polling Primary tells the target secondary to get ready to receive - Selecting. POLL Used by the primary device to solicit transmission from the secondary devices. Secondary are not allowed to transmit data unless asked by the primary device. When the primary ready to receive data, it must ask (poll) each device in turn if it has anything to send. If the secondary have data to transmit it sends the data frame otherwise sends a negative acknowledgment (NAK). Poll Primary then polls the next secondary. When the response is positive (a data frame), the primary reads the frame and returns an acknowledgment (ACK). Terminate the transmission: either the secondary sends all data, finishing with an EOT frame, or the primary says timers up. Then the primary cal polls the remaining devices. Poll SELECT
FLOW CONTROL
Set of procedures used to restrict the amount of data flow between sending and receiving stations. Most common retransmission technique: ARQ ARQ has three cases Demaged frames Lost frames Lost acknowledgement Function: Transmission of frames Error checking at receiver Acknowledgement 1. Negative if error detected(NAK) 2. Positive if No error detected(ACK) Automatic Repeat Request ARQ categorized in two types
ARQ- Stop and wait ARQ and Sliding window ARQ
Further Sliding window ARQ divided into two types
1. Go-Back-N
2. Selective repeat STOP AND WAIT sender waits for acknowledgment after every frame it sends. Only after an acknowledgment has been received, then the sender sends the next frame. Sliding Window Sender can transmit several frames before needing an acknowledgment. Receiver acknowledges only some of the frames, using a single ACK to confirm the receipt of multiple data frames SENDER WINDOW Example: Sliding Windows ERROR CONTROL
Error control is implemented with the flow control mechanism.
STOP AND WAIT ARQ It is a form of stop and wait flow control, extended to include retransmission of data in case of lost or damaged frames DAMAGED FRAME LOST DATA FRAME LOST ACKNOWLEDGEMENT STOP AND WAIT ARQ Damaged Frame STOP AND WAIT ARQ Lost Data Frame STOP AND WAIT ARQ LOST ACKNOWLEDGEMENT SLIDING WINDOW ARQ
Used to send multiple frames per time. Number of frame is according to the window size. Sliding window is an imaginary box which is reside on both sender and receiver side. Types 1. go-back-n ARQ 2. selective reject ARQ
GO-BACK-N ARQ
if one frame is lost or damaged, all frames sent since the last frame acknowledged or retransmitted.
Demaged Frame LOST FRAME: LOST ACK SELECTIVE REPEAT ARQ
Selective repeat ARQ retransmits only the damaged or lost frames instead of sending multiple frames. Selective transmission increases the efficiency of transmission and is more suitable for noisy link. Receiver should have sorting mechanism. Damaged Frame Lost Frame Lost ACK The Computer Continuum 7-158 Communication Basics of Networks 4. The method used to transport the data. Two types of data transmission, each requiring a different modem. Asynchronous transmission - Information is sent byte by byte. Cheaper and more commonly used. Synchronous transmission - Data is sent in large blocks rather than in small pieces. Preceded by special information, concerning error detection and block size. These modems are expensive but very fast.
The Computer Continuum 7-159 Communication Basics of Networks 5. Single channel versus multichannel transmission Channel - A path of a signal. Single channel - Capable of only sending/receiving one signal at a time. Phone line: Single line = single phone call at a time. Multichannel - Capable of more than one channel at a time. Fiber-optic cable, microwaves, Satellite transmissions.
The Computer Continuum 7-160 Communication Basics of Networks How is it possible to measure the capacity of communications links? Bandwidth: Digital Number of bits per second (bps) that can be sent over a link. The wider the bandwidth, the more diverse kinds of information can be sent. Simplest is voice, most sophisticated is moving videos. Bandwidth: Analog The difference between the highest and lowest frequencies that can be sent over an analog link (like phone lines). Measurement is given in hertz (Hz). For both: The wider the bandwidth, the more information can flow over the channel.
The Computer Continuum 7-161 Communication Basics of Networks Mbps = megabytes per sec. (millions) Gbps=Gigabytes per sec. (billions)
Typical cable bandwidths used in local area networks. Cable: Typical Bandwidth: Twisted Pair 10 to 100 Mbps Coaxial Cable 10 to 100 Mbps Fiber-optic cable 100 to 200 Mbps
The bandwidths of different services offered by a telephone company: Service: Bandwidth ISDN 64 Kbps/channel T1 1.544 Mbps T3 44.736 Mbps STS-1 51.840 Mbps STS-3 155.250 Mbps STS-12 622.080 Mbps STS-24 1.244160 Gbps STS-48 2.488320 Gbps The Computer Continuum 7-162 The Physical Organization of Networks Two parts to connect computers to networks The hardware needed to connect the computer to the network. The software needed to control the hardware. (Software standards will be discussed in the next section.)
The Computer Continuum 7-163 The Physical Organization of Networks Node: The generic name given to all devices hooked up to a network. Each node must have a unique address assigned to them by the network. Networks are either direct-connected or those that are not directly linked. Direct-connected network: Those whose nodes have direct connections through either physical or wireless links. Point-to-point: Simplest version of direct-connected network. Connecting two computing systems. Example of point to point: Home to ISP. Example of a network that is not directly linked: Internet. The Computer Continuum 7-164 The Physical Organization of Networks The bus network - A continuous coaxial cable to which all the devices are attached. All nodes can detect all messages sent along the bus. The ring network - Nodes linked together to form a circle. A message sent out from one node is passed along to each node in between until the target node receives the message.
Linking nodes: The Computer Continuum 7-165 The Physical Organization of Networks The star network - Each node is linked to a central node. All messages are routed through the central node, who delivers it to the proper node. The tree network - (hierarchical network) Looks like an upside- down tree where end nodes are linked to interior nodes that allow linking through to another end node.
Linking nodes: The Computer Continuum 7-166 The Physical Organization of Networks The fully connected network - All nodes are connected to all other nodes.
Internetworking - Connecting together any number of direct- connected networks. The largest: Internet.
Linking nodes: MAUs in a Token Ring network
Networking Protocols TCP/IP IPX/SPX NetBEUI AppleTalk Applying the OSI Model Table 2-1: Functions of the OSI layers Communication Between Two Systems Figure 2-7: Data transformation through the OSI Model Frame Specifications The two major categories of frame types: Ethernet Four types of Ethernet frames Most popular form characterized by unique way in which devices share a common transmission channel (described in IEEE 802.3 standard) Token Ring: relies on direct links between nodes and a ring topology Nodes pass around tokens (control frames that indicate to network when a node is about to transmit data) IEEE Networking Specifications Apply to connectivity, networking media, error checking algorithms, encryption, emerging technologies, and more Specifications fall under IEEEs Project 802 Effort to standardize physical and logical elements of a network Summary Standards are documented agreements containing precise criteria that are used as guidelines to ensure that materials, products, processes, and services suit their purpose ISOs OSI Model divides networking architecture into seven layers Each OSI layer has its own set of functions and interacts with the layers directly above and below it Application layer protocols enable software to negotiate their formatting, procedural, security, and synchronization with the network Summary (continued) Presentation layer protocols serve as translators between the application and the network Session layer protocols coordinate and maintain links between two devices for the duration of their communication Transport layer protocols oversee end-to-end data delivery Network layer protocols manage logical addressing and determine routes based on addressing, patterns of usage, and availability Summary (continued) Data Link layer protocols organize data they receive from the Network layer into frames that contain error checking routines and can then be transmitted by the Physical layer Physical layer protocols generate and detect voltage to transmit and receive signals carrying data over a network medium Data frames are small blocks of data with control, addressing, and handling information attached to them References http://vi.wikipedia.org/wiki/M_hnh_OSI