FIFTH EDITION Data Communications and Networking Data Communications and Networking McGraw-Hill Forouzan Networking Series Titles by Behrouz A. DATA COMMUNICATIONS. AND. NETWORKING. Second Edition. Behrouz A. Forouzan. DeAnza College with. Catherine Coombs and. Sophia Chung Fegan. Data Communications and Networking, Fourth Edition. by: Behrouz A. Forouzan. Abstract: As one of the fastest growing technologies in our culture today, data.
|Language:||English, Spanish, Arabic|
|ePub File Size:||21.50 MB|
|PDF File Size:||19.49 MB|
|Distribution:||Free* [*Register to download]|
DATA. COMMUNICATIONS. AND. NETWORKING. Fourth Edition. Behrouz A. Forouzan. DeAnza College with. Sophia Chung Fegan. #. Higher Education. Instructors and students using Data Communications and Networking, Fourth Edition by Behrouz A. Forouzan will find a wide variety of resources available at. data communication and networking by behrouz a. forouzan 4th ronaldweinland.info - Ebook download as PDF File .pdf) or read book online. data communication.
Reviewer: Dr. Ravinder Nath Rajotiya - favoritefavoritefavoritefavorite - April 30, Subject: Data Communications and Networking I have thoroughly studied this book as the book is prescribed text book for the course on Data Communication and Networks in our University. At first sight, the book appears to have been written in a simple to understand English Language. The PPTs available as a resource was very useful in teachnig the subject. It covered all the topics of our syllabus except "Socket Interface". Then it differentiates between data and signals, data as those stored in computer in binary form and the signals that travel in the media.
When the angle of incidence is greater than the critical angle, reflection occurs. The beam changes direction at the interface and goes back into the more dense medium.
The inner core of an optical fiber is surrounded by cladding. The core is denser than the cladding, so a light beam traveling through the core is reflected at the boundary between the core and the cladding if the incident angle is more than the critical angle. We can mention three advantages of optical fiber cable over twisted-pair and coax-ial cables: In sky propagation radio waves radiate upward into the ionosphere and are then reflected back to earth.
In line-of-sight propagation signals are transmitted in a straight line from antenna to antenna. Omnidirectional waves are propagated in all directions; unidirectional waves are propagated in one direction. See Table 7. Table 7. As the Table 7. If we consider the bandwidth to start from zero, we can say that the bandwidth decreases with distance. For example, if we can tol-erate a maximum attenuation of 50 dB loss , then we can give the following list-ing of distance versus bandwidth. We can use Table 7.
As Table 7. For example, if we can tol- This means all three figures represent the same thing. We can change the wave length to frequency. For example, the value nm can be written as THz. The curve must be flipped horizontally.
Therefore, we have: See Figure 7. Figure 7. The incident angle 40 degrees is smaller than the critical angle 60 degrees. We have refraction. The light ray enters into the less dense medium. The incident angle 60 degrees is the same as the critical angle 60 degrees.
The light ray travels along the interface. The incident angle 80 degrees is greater than the critical angle 60 degrees. We have reflection. The light ray returns back to the more dense medium.
Switching provides a practical solution to the problem of connecting multiple devices in a network. It is more practical than using a bus topology; it is more effi-cient than using a star topology and a central hub. Switches are devices capable of creating temporary connections between two or more devices linked to the switch. The three traditional switching methods are circuit switching, packet switching, and message switching.
The most common today are circuit switching and packet switching. There are two approaches to packet switching: In a circuit-switched network, data are not packetized; data flow is somehow a continuation of bits that travel the same channel during the data transfer phase. In a packet-switched network data are packetized; each packet is somehow an indepen-dent entity with its local or global addressing information. The address field defines the end-to-end source to destination addressing.
The address field defines the virtual circuit number local addressing. In a space-division switch, the path from one device to another is spatially separate from other paths. The inputs and the outputs are connected using a grid of elec-tronic microswitches. In a time-division switch, the inputs are divided in time using TDM. A control unit sends the input to the correct output device.
TSI time-slot interchange is the most popular technology in a time-division switch. It used random access memory RAM with several memory locations. The RAM fills up with incoming data from time slots in the order received. Slots are then sent out in an order based on the decisions of a control unit. In multistage switching, blocking refers to times when one input cannot be con-nected to an output because there is no path available between them—all the possi-ble intermediate switches are occupied.
One solution to blocking is to increase the number of intermediate switches based on the Clos criteria. A packet switch has four components: An input port performs the physical and data link functions of the packet switch.
The output port performs the same functions as the input port, but in the reverse order. The routing processor performs the function of table lookup in the network layer. The switching fabric is responsible for moving the packet from the input queue to the output queue. We assume that the setup phase is a two-way communication and the teardown phase is a one-way communication. These two phases are common for all three cases. In case a, we have ms.
The ratio for case c is the smallest because we use one setup and teardown phase to send more data. We assume that the transmission time is negligible in this case. This means that we suppose all datagrams start at time 0. The arrival timed are calculated as: In a circuit-switched network, end-to-end addressing is needed during the setup and teardown phase to create a connection for the whole data transfer phase.
After the connection is made, the data flow travels through the already-reserved resources. The switches remain connected for the entire duration of the data transfer; there is no need for further addressing.
In a datagram network, each packet is independent. The routing of a packet is done for each individual packet. Each packet, therefore, needs to carry an end-to- end address. There is no setup and teardown phases in a datagram network connectionless transmission. The entries in the routing table are somehow permanent and made by other processes such as routing protocols.
In a virtual-circuit network, there is a need for end-to-end addressing during the setup and teardown phases to make the corresponding entry in the switching table.
The entry is made for each request for connection. During the data trans-fer phase, each packet needs to carry a virtual-circuit identifier to show which virtual-circuit that particular packet follows. A datagram or virtual-circuit network handles packetized data. For each packet, the switch needs to consult its table to find the output port in the case of a datagram network, and to find the combination of the output port and the virtual circuit iden-tifier in the case of a virtual-circuit network.
In a circuit-switched network, data are not packetized; no routing information is carried with the data. The whole path is established during the setup phase. In circuit-switched and virtual-circuit networks, we are dealing with connections. A connection needs to be made before the data transfer can take place.
In the case of a circuit-switched network, a physical connection is established during the setup phase and the is broken during the teardown phase. In the case of a virtual-circuit network, a virtual connection is made during setup and is broken during the tear-down phase; the connection is virtual, because it is an entry in the table.
These two types of networks are considered connection-oriented. In the case of a datagram network no connection is made. Any time a switch in this type of network receives a packet, it consults its table for routing information. This type of network is con-sidered a connectionless network. The switching or routing in a datagram network is based on the final destination address, which is global.
The minimum number of entries is two; one for the final destination and one for the output port. Here the input port, from which the packet has arrived is irrelevant. The switching or routing in a virtual-circuit network is based on the virtual circuit identifier, which has a local jurisdiction. This means that two different input or output ports may use the same virtual circuit number.
Therefore, four pieces of information are required: Packet 1: In a datagram network, the destination addresses are unique. They cannot be duplicated in the routing table. In a virtual-circuit network, the VCIs are local.
A VCI is unique only in rela-tionship to a port. In other words, the port, VCI combination is unique. This means that we can have two entries with the same input or output ports. We can However, we cannot have two entries with the same port, VCI pair. When a packet arrives at a router in a datagram network, the only information in the packet that can help the router in its routing is the destination address of the packet.
The table then is sorted to make the searching faster. When a packet arrives at a switch in a virtual-circuit network, the pair input port, input VCI can uniquely determined how the packet is to be routed; the pair is the only two pieces of information in the packet that is used for routing.
The table in the virtual-circuit switch is sorted based on the this pair. However, since the number of port numbers is normally much smaller than the number of virtual circuits assigned to each port, sorting is done in two steps: See Figure 8. Figure 8. Only four simultaneous connections are possible for each crossbar at the first stage.
This means that the total number of simultaneous connections is Only six simultaneous connections are possible for each crossbar at the first stage. The number of cross-bars in the first stage can be 13 to have similar crossbars. Some of the input lines can be left unused.
We can see that there is no blocking involved because each 8 input line has 15 intermediate crossbars.
With less than , cross-points we can design a three-stage switch. The total number of crosspoints is , We give two solutions. We first solve the problem using only crossbars and then we replace the cross-bars at the first and the last stage with TSIs. We can replace the crossbar at the first and third stages with TSIs as shown in Figure 8. The total number of crosspoints is and the total number of memory locations is In other words, the input frame has 10 slots and the output frame has only 4 slots.
The data in the first slot of all input TSIs are directed to the first switch, the output in the second slot are directed to the sec-ond switch, and so on. We can see the inefficiency in the first solution. Since the slots are separated in time, only one of the switches at the middle stage is active at each moment. This means that, instead of 4 crossbars, we could have used only one with the same result.
In this case we still need memory locations but only crosspoints. The telephone network is made of three major components: The telephone network has several levels of switching offices such as end offices, tandem offices, and regional offices. A LATA is a small or large metropolitan area that according to the divestiture of was under the control of a single telephone-service provider. These car-riers, sometimes called long-distance companies, provide communication services between two customers in different LATAs.
Signaling System Seven SS7 is the protocol used to provide signaling services in the telephone network. It is very similar to the five-layer Internet model. Telephone companies provide two types of services: Dial-up modems use part of the bandwidth of the local loop to transfer data.
The latest dial-up modems use the V-series standards such as V. Telephone companies developed digital subscriber line DSL technology to pro-vide higher-speed access to the Internet. It uses a device called a digital sub-scriber line access multiplexer DSLAM at the telephone company site. The traditional cable networks use only coaxial cables to distribute video infor-mation to the customers. The hybrid fiber-coaxial HFC networks use a combi-nation of fiber-optic and coaxial cable to do so.
To provide Internet access, the cable company has divided the available bandwidth of the coaxial cable into three bands: The downstream-only video band occupies frequencies from 54 to MHz. The downstream data occupies the upper band, from to MHz. The upstream data occupies the lower band, from 5 to 42 MHz.
The cable modem CM is installed on the subscriber premises. The cable modem transmission system CMTS is installed inside the distribution hub by the cable company.
It receives data from the Internet and passes them to the combiner, which sends them to the subscriber. Packet-switched networks are well suited for carrying data in packets.
The end-to-end addressing or local addressing VCI occupies a field in each packet. Tele-phone networks were designed to carry voice, which was not packetized. A cir-cuit- switched network, which dedicates resources for the whole duration of the conversation, is more suitable for this type of communication. The setup phase can be matched to the dialing process. After the callee responds, the data transfer phase here voice transfer phase starts. When any of the parties hangs up, the data transfer is terminated and the teardown phase starts.
It takes a while before all resources are released. In a telephone network, the telephone numbers of the caller and callee are serving as source and destination addresses. These are used only during the setup dialing and teardown hanging up phases. The delay can be attributed to the fact that some telephone companies use satellite networks for overseas communication. In these case, the signals need to travel sev-eral thousands miles earth station to satellite and satellite to earth station.
See Figure 9. Figure 9. We can calculate time based on the assumption of 10 Mbps data rate: The DSL technology is based on star topology with the hub at the telephone office. The local loop connects each customer to the end office. This means that there is no sharing; the allocated bandwidth for each customer is not shared with neigh-bors. The data rate does not depend on how many people in the area are transfer-ring data at the same time.
The cable modem technology is based on the bus or rather tree topology. The cable is distributed in the area and customers have to share the available band-width.
This means if all neighbors try to transfer data, the effective data rate will be decreased. In a single bit error only one bit of a data unit is corrupted; in a burst error more than one bit is corrupted not necessarily contiguous. Redundancy is a technique of adding extra bits to each data unit to determine the accuracy of transmission. In forward error correction, the receiver tries to correct the corrupted codeword; in error detection by retransmission, the corrupted message is discarded the sender needs to retransmit the message.
A linear block code is a block code in which the exclusive-or of any two code-words results in another codeword. A cyclic code is a linear block code in which the rotation of any codeword results in another codeword. The Hamming distance between two words of the same size is the number of differences between the corresponding bits.
The Hamming distance can easily be found if we apply the XOR operation on the two words and count the number of 1s in the result. The minimum Hamming distance is the smallest Hamming distance between all possible pairs in a set of words. The single parity check uses one redundant bit for the whole data unit. In a two-dimensional parity check, original data bits are organized in a table of rows and columns. The parity bit is then calculated for each column and each row.
The only relationship between the size of the codeword and dataword is the one based on the definition: The remainder is always one bit smaller than the divisor. The degree of the generator polynomial is one less than the size of the divisor.
For example, the CRC generator with the polynomial of degree 32 uses a bit divisor. The degree of the generator polynomial is the same as the size of the remainder length of checkbits.
For example, CRC with the polynomial of degree 32 creates a remainder of 32 bits. In this arithmetic, when a number needs more than n bits, the extra bits are wrapped and added to the number. In this arithmetic, the complement of a number is made by inverting all bits. At least three types of error cannot be detected by the current checksum calcula-tion.
First, if two data items are swapped during transmission, the sum and the checksum values will not change. Second, if the value of one data item is increased intentionally or maliciously and the value of another one is decreased intention-ally or maliciously the same amount, the sum and the checksum cannot detect these changes. The value of a checksum can be all 0s in binary. This happens when the value of the sum after wrapping becomes all 1s in binary.
It is almost impossible for the value of a checksum to be all 1s. For this to happen, the value of the sum after wrapping must be all 0s which means all data units must be 0s. The last example shows how a noise of small duration can affect so many bits if the data rate is high.
The above shows three properties of the exclusive-or operation. First, the result of XORing two equal patterns is an all-zero pattern part b. Second, the result of XORing of any pattern with an all-zero pattern is the original non-zero pattern part c.
Third, the result of XORing of any pattern with an all-one pattern is the complement of the original non-one pattern. The codeword for dataword 10 is This codeword will be changed to if a 3-bit burst error occurs. This pattern is not one of the valid codewords, so the receiver detects the error and discards the received pattern. This pattern is not one of the valid codewords, so the receiver discards the received pattern. Part c and d show that the distance between a codeword and itself is 0.
The code is not linear. We check five random cases. All are in the code. We show the dataword, the codeword, the corrupted codeword, and the interpreta-tion of the receiver for each case: The above result does not mean that the code can never detect three errors.
The last two cases show that it may happen that three errors remain unde-tected. We show the dataword, codeword, the corrupted codeword, the syndrome, and the interpretation of each case: C 7,4 cannot correct two errors. C 7,4 cannot correct three errors. If we rotate one bit, the result is , which is in the code.
If we rotate two bits, the result is , which is in the code. And so on. We use trial and error to find the right answer: To detect single bit errors, a CRC generator must have at least two terms and the coefficient of x0 must be nonzero.
It has more than one term and the coefficient of x0 is 1. It can detect a single-bit error. It will detect all burst errors of size 8 or less. This means 8 out of burst errors of size 9 are left undetected. This means 4 out of burst errors of size 15 are left undetected.
It detects all single-bit error. It will detect all burst errors of size 32 or less. This means out of burst errors of size 33 are left undetected. This means out of burst errors of size 55 are left undetected. We need to add all bits modulo-2 XORing. However, it is simpler to count the number of 1s and make them even by adding a 0 or a 1. We have shown the parity bit in the codeword in color and separate for emphasis.
Dataword Number of 1s Parity Codeword a. Figure Checksum at the receiver site two errors. Checksum at the receiver site one caught error a. In part a, we calculate the checksum to be sent 0x2E32 b. In part b, there is no error in transition.
The receiver recalculates the checksum to be all 0x The receiver correctly assumes that there is no error. In part c, there is one single error in transition.
The receiver calculates the checksum to be 0FFFD. The receiver correctly assumes that there is some error and discards the packet.
In part d, there are two errors that cancel the effect of each other. The receiver calculates the checksum to be 0x The receiver erroneously assumes that there is no error and accepts the packet. This is an example that shows that the checksum may slip in finding some types of errors. This example shows that the checksum can be all 0s. It can be all 1s only if all data items are all 0, which means no data at all. The two main functions of the data link layer are data link control and media access control.
Data link control deals with the design and procedures for commu-nication between two adjacent nodes: Media access control deals with procedures for sharing the link. The data link layer needs to pack bits into frames. Framing divides a message into smaller entities to make flow and error control more manageable. In a byte-oriented protocol, data to be carried are 8-bit characters from a coding system.
Character-oriented protocols were popular when only text was exchanged by the data link layers. In a bit-oriented protocol, the data section of a frame is a sequence of bits. Bit-oriented protocols are more popular today because we need to send text, graphic, audio, and video which can be better represented by a bit pat-tern than a sequence of characters. Character-oriented protocols use byte-stuffing to be able to carry an 8-bit pattern that is the same as the flag.
Byte-stuffing adds an extra character to the data section of the frame to escape the flag-like pattern. Bit-oriented protocols use bit-stuffing to be able to carry patterns similar to the flag.
Bit-stuffing adds an extra bit to the data section of the frame whenever a sequence of bits is similar to the flag. Flow control refers to a set of procedures used to restrict the amount of data that the sender can send before waiting for acknowledgment. Error control refers to a set of procedures used to detect and correct errors. In this chapter, we discussed two protocols for noiseless channels: In this chapter, we discussed three protocols for noisy channels: The second uses pipelining, the first does not.
In the first, we need to wait for an acknowledgment for each frame before sending the next one. In the second we can send several frames before receiving an acknowledgment. If a frame is lost or damaged, all outstanding frames sent before that frame are resent.
In the Selective- Repeat ARQ protocol we avoid unnecessary transmission by sending only the frames that are corrupted or missing. HDLC is a bit-oriented protocol for communication over point-to-point and multi-point links. PPP is a byte-oriented protocol used for point-to-point links. Piggybacking is used to improve the efficiency of bidirectional transmission. When a frame is carrying data from A to B, it can also carry control information about frames from B; when a frame is carrying data from B to A, it can also carry control information about frames from A.
We give a very simple solution. We write two very simple algorithms. We assume that a frame is made of a one-byte beginning flag, variable-length data possibly byte-stuffed , and a one-byte ending flag; we ignore the header and trailer.
We also assume that there is no error during the transmission. Algorithm We assume that a frame is made of an 8-bit flag , variable-length data possibly bit-stuffed , and an 8-bit ending flag ; we ignore header and trailer.
Note that when the algorithm exits from the loop, there are six bits of the ending flag in the buffer, which need to be removed after the loop. A five-bit sequence number can create sequence numbers from 0 to The sequence number in the Nth packet is N mod This means that the th packet has the sequence number mod 32 or 5.
See Algorithm Note that we have assumed that both events request and arrival have the same priority. Note that in this algorithm, we assume that the arrival of a frame by a site also means the acknowledgment of the previous frame sent by the same site. This is a very simple implementation in which we assume that both sites always have data to send.
We can then say Event A: Sender Site: ACK 0 received. Event B: ACK 1 received. Receiver Site: Frame 0 received. Frame 1 received. We can say that in this case, each state defines that a frame or an acknowledgment in transit. Frame 0 arrives and ACK 1 is sent. ACK 1 arrives and Frame 1 is sent.
Event C: Frame 1 arrives and ACK 0 is sent. Event D: ACK 0 arrives and Frame 0 is sent. Since there are no lost or damaged frames and the round trip time is less than the time-out, each frame is sent only once. Here, we have a special situation. Although no frame is damaged or lost, the sender sends each frame twice. The reason is that the the acknowledgement for each frame reaches the sender after its timer expires.
The sender thinks that the frame is lost. In this case, only the first frame is resent; the acknowledgment for other frames arrived on time. We need to send frames. We ignore the overhead due to the header and trailer. In the worst case, we send the a full window of size 7 and then wait for the acknowledgment of the whole window.
In the worst case, we send the a full window of size 4 and then wait for the acknowledgment of the whole window.
The three categories of multiple access protocols discussed in this chapter are ran-dom access, controlled access, and channelization. In random access methods, no station is superior to another station and none is assigned the control over another.
Each station can transmit when it desires on the condition that it follows the predefined procedure. In controlled access methods, the stations consult one another to find which sta-tion has the right to send. A station cannot send unless it has been authorized by other stations. We discuss three popular controlled-access methods: Channelization is a multiple-access method in which the available bandwidth of a link is shared in time, frequency, or through code, between different stations.
In random access methods, there is no access control as there is in controlled access methods and there is no predefined channels as in channelization. Each station can transmit when it desires. This liberty may create collision.
In a random access method, there is no control; access is based on contention. In a controlled access method, either a central authority in polling or other stations in reservation and token passing control the access. Random access methods have less administration overhead. On the other hand, controlled access method are collision free. In a random access method, the whole available bandwidth belongs to the station that wins the contention; the other stations needs to wait.
In a channelization method, the available bandwidth is divided between the stations. If a station does not have data to send, the allocated channel remains idle.
In a controlled access method, the whole available bandwidth belongs to the sta-tion that is granted permission either by a central authority or by other stations. If a station does not have data to send the allocated channel remains idle. We do not need a multiple access method in this case. The local loop provides a dedicated point-to-point connection to the telephone office.
We do need a multiple access, because a channel in the CATV band is normally shared between several neighboring customers. The cable company uses the ran-dom access method to share the bandwidth between neighbors. If we let ns to be the number of stations and nfs to be the number of frames a station can send per sec-ond. This means that either the data rate must be very high or the frames must be very small.
Ravinder Nath Rajotiya - favoritefavoritefavoritefavorite - April 30, Subject: Data Communications and Networking I have thoroughly studied this book as the book is prescribed text book for the course on Data Communication and Networks in our University. At first sight, the book appears to have been written in a simple to understand English Language. The PPTs available as a resource was very useful in teachnig the subject.
It covered all the topics of our syllabus except "Socket Interface". Then it differentiates between data and signals, data as those stored in computer in binary form and the signals that travel in the media.
It explains well the analaog and digital transmission. The transmission happen over the media, so the transmission media have been covered well in the book both the type of media and the impairments. Data link layer covers the link control and the access mechanism staring from framing to flow and the error control. The flow control have been conceptually covered well in chapters 11 and chapter 12 with suitable examples Network layer is covered in four chapters covering the logical addressing, subnet masking.
Then the IPv4 and IPv6 packet formats are explained.