Chapter 2 Data Communications Concepts What We’ll Be Covering Data Communications Concepts: Data Communications Architecture Data Digitization Data Transmission Techniques Data Communication Techniques Error Control Techniques Overall Data Communications Architecture Data Digitization The process of transforming humanly readable characters into machine readable code is character encoding. Characters are turned into a series of ones and zeroes (bits). 8 bits = 1 byte aka 1 octet The most commonly used standards are ASCII, EBCDIC, and UNICODE 7-Bit ASCII Code table • ASCII encoding is used on most computers today • ASCII table available from Resources page under the “Documents” link EBCDIC Code Table • EBCDIC is used on IBM Mainframes Unicode Table ISO 10646 standard 16 bits = 65,536 characters Start Accessories System Tools Character Map Serial vs. Parallel Data Transmission Serial vs. parallel Data Transmission Transmission Characteristic Serial Parallel Transmission Description One bit after another, one at a time All bits in a single character transmitted simultaneously Comparative Speed Slower Faster Distance Limitation Farther Shorter Application Between two computers, from computers to external devices, local and wide area networks Within a computer along the computer’s busses, between a drive controller and a hard drive Cable Description All bits travel down a single wire, one bit at a time Each bit travels down its own wire simultaneously with other bits. Synchronous vs. Asynchronous transmission Half vs. Full duplex Data communications sessions are bidirectional in nature. There are two environments available for handling this bi-directional traffic: full and half duplex. In a full duplex communications environment both devices can transmit at the same time. In a half duplex environment you can only hear or talk at any given point in time. Given the choice of full or half duplex it is usually better to choose full duplex. Modulation vs. Demodulation This process is done by a mo(dulator)dem(odulator) Modem Based Communication Channels The dial-up modem allows connections through the phone network Carrier Wave There are three properties of a wave that can be modulated or altered: Amplitude Frequency Phase Amplitude Modulation Each vertical lines separates opportunities to identify a 1 or 0 from another. These timed opportunities are known as signaling events. The proper name for one signaling event is a baud Frequency Modulation frequency shift keying or FSK Phase Modulation phase shift keying or PSK Detecting Phase Shifting Quadrature Phase Shift Keying Increasing Transmission Efficiency There are two ways in which a given modem can transmit data faster: increase the signaling events per second, or baud rate. find a way for the modem to interpret more than one bit per baud. Differential Quadrature Phase Shift keying This technique improves transmission rate by increasing the number of events per baud Quadrature Amplitude Modulation • Combines Amplitude Modulation with Phase Modulation Data Compression Data compression techniques improve throughput. Data compression The sending device replaces strings of repeating character patterns with a special code that represents the pattern. The code is significantly smaller than the pattern it represents. This results in the amount of data sent between the sending device and the receiving device to increase. Packetization The process of dividing the data steam flowing between devices into structured blocks known as packets. A packet is a group of bits organized in a pre-determined, structured manner consisting of a piece of the data stream to which management information is added. Packetization This data stream is divided into 3 packets Note the addition of header information to the data portion Packetization The predetermined structure of a packet is critical. Through the use of standards, devices know the number of bits in each section; the header, data portion and trailer. Determined by Network Architectures (Ethernet) and Protocols (TCP/IP) Encapsulation / De-encapsulation In a layered protocol, each layer adds a header according to the layer’s syntax. The sending device adds this information in a process of encapsulation The receiving device reverses the this process (de-encapsulation) Encapsulation/De-encapsulation in the OSI model Multiplexing 3 Types: 1. Frequency Division Multiplexing (FDM) 2. Time Division Multiplexing (TDM) 3. Statistical Time Division Multiplexing (STDM) Frequency Division Multiplexing Time Division Multiplexing Statistical Time Division Multiplexing Switching Switching allows temporary connections to be established, maintained and terminated between sources and destinations Circuit Switching The work to create a signal path is done up front; a switch fabric creates a direct path between the source and the destination. Communication takes place just as if the temporary circuit were a permanent direct connection: The switched dedicated circuit makes it appear to the user of the circuit as if a wire has been run directly between the communicating devices. Packet switching In a packet switched network, packets of data travel one at a time from the message source to the message destination. The physical path taken by one packet may be different than that taken by other packets in the data stream. The path is unknown to the end user. A series of packet switches pass packets among themselves as they travel from source to destination Circuit vs Packet Switching Datagram Delivery on a Packet Switched Network Connectionless vs. Connection-Oriented Networks Error Control Techniques Error Prevention Error Detection Error Correction Flow Control Error Prevention Reducing Noise & Interference on Lines Improves Signal to Noise Ratio Filters Amplifiers Repeaters Adaptive Protocols Transmission speed is adjusted based on error rates Error Detection Process The transmitting and receiving devices agree on how the error check is to be calculated The transmitting device calculates and transmits the error check along with the transmitted data The receiving device re-calculates the error check based on the received data and compares its newly calculated error check to the error check received with the data If the two error checks match, everything is fine. If they do not match, an error has occurred The Error Detection Process Error Detection Techniques Parity (VRC) Longitudinal Redundancy Checks (LRC) Checksums Cyclic Redundancy Checks (CRC) Parity Parity, also known as a (Vertical Redundancy Check or VRC), is the simplest error detection technique. Parity works by adding an error check bit to each character. Parity Checking Simple parity checking Also known as Vertical Redundancy Check (VRC) Parity Checking Parity checks can miss multiple bit errors Longitudinal Redundancy Check (LRC) Longitudinal Redundancy Checks (LRC) seek to overcome the weakness of simple, bit-oriented one directional parity checking.. LRC adds a second dimension to parity. Longitudinal Redundancy Check (LRC) LRC improves parity checking at the cost of extra data transmitted Checksums Checksums are also block-oriented error detection characters added to a block of data characters. a checksum is calculated by adding the decimal face values of all of the characters sent in a given data block and sending only the least significant byte of that sum. The receiving modem generates its own checksum and compares the locally calculated checksum with the transmitted checksum Checksum Calculation Add ASCII Decimal Value of Characters Divide by 255 Remainder is the Checksum Character Transmitted If 128 Letter A’s are transmitted (A) 65 X 128 = 8,320 8,320/255 = 32 r160 160 in binary = 10100000 Cyclic Redundancy Check (CRC) Uses Binary Division 16-bit CRC uses a 17-bit divisor 32-bit CRC uses a 33-bit divisor Error burst up to 1 bit less than CRC can be detected 100% of the time Larger error bursts at 100 - ½ CRC percent of the time Error Correction The receiving device detects the error and requests a re-transmission The sending device then retransmits the portion that contained the error. EC Protocol sophistication based on: How transmission is requested How much data must be retransmitted How retransmission time is minimized Automatic Retransmission Request (ARQ) Discrete ARQ (ACK/NAK) Continuous ARQ Selective ARQ Discrete ARQ (ACK/NAK) Also known as “stop and wait” Receiver sends an Acknowledgement (ACK) if no errors are detected Receiver sends a Negative Acknowledgement (NAK) if errors are detected If sender receives ACK it sends next block of data If sender receives NAK it retransmits original block Continuous ARQ Eliminates need for sender to wait for ACK or NAK Also known as “sliding window” protocol Sequence number is appended to each block of data sent Receiver only sends NAK when error is detected & returns sequence number Sender slides back to sequence number and begins retransmission Selective ARQ Continuous ARQ requires retransmission from point of error Selective ARQ only requires retransmission of sequence number with error Flow Control To prevent buffer overflows the receiving device sends a signal to the sending device The flow control software constantly monitors the amount of free space available in buffer memory and tells the sending device to stop sending data when there is insufficient storage space. When the buffer once again has room the sending device is told to resume transmitting