Data Communications. Dr Yvan Petillot. Computer Networks. Data Communications and Computer Networks. A bit of history Networks are an academic. Data communication techniques predate computers by at least a hundred . The principal reasons for computer networks then are resource. PDF | On Nov 15, , Yekini Nureni and others published DATA COMMUNICATION & NETWORKING.
|Language:||English, Spanish, Hindi|
|ePub File Size:||20.31 MB|
|PDF File Size:||11.65 MB|
|Distribution:||Free* [*Regsitration Required]|
Data Communication and Computer Network i. About the Tutorial. This tutorial gives very good understanding on Data Communication and Computer. Networks. Data Communication and Computer Networks. Page 2. DATA COMMUNICATIONS. Data communications are the exchange of data between two devices via. DATA. COMMUNICATIONS. AND. NETWORKING. Fourth Edition. Behrouz A. Forouzan. DeAnza College with. Sophia Chung Fegan. #. Higher Education.
A computer can have one IP at one instance of time and another IP at some different time. It may contains local servers serving file storage and other locally shared applications. On the other end. This may have many reasons as given: Data Communication and Computer Network Microwave antennas concentrate the waves making a beam of it. When set.
Microwave transmission depends highly upon the weather conditions and the frequency it is using. Because of frequency light uses. Light Transmission Highest most electromagnetic spectrum which can be used for data transmission is light or optical signaling. Laser works as Tx transmitter and photo-detectors works as Rx receiver. Laser beam is generally 1mm wide hence it is a work of precision to align two far receptors each pointing to lasers source.
Infrared cannot cross wall-like obstacles. Infrared wave is used for very short range communication purposes such as television and its remote. Because laser transmission is unidirectional. Laser is safe for data transmission as it is very difficult to tap 1mm wide laser without interrupting the communication channel. Data Communication and Computer Network Lasers cannot penetrate obstacles such as walls.
FDM is an analog technology. In TDM the shared channel is divided among its user by means of time slot. When multiple senders try to send over a single medium. On the other end of communication. Each user can transmit data within the provided time slot only. Digital signals are divided in frames.
Multiplexing divides the high capacity medium into low capacity logical medium which is then shared by different streams. Channels are separated by guard bands.
FDM divides the spectrum or carrier bandwidth in logical channels and allocates one user to each channel. FDM is used. All mediums are capable of multiplexing. Guard band is a frequency which is not used by either channel. Frequency Division Multiplexing When the carrier is frequency. Communication is possible over the air radio frequency.
Time Division Multiplexing TDM is applied primarily on digital signals but can be applied on analog signals as well. All channels are divided in such a way that they do not overlap with each other. Each user can use the channel frequency independently and has exclusive access of it.
In fiber optic mode. Wavelength Division Multiplexing Light has different wavelength colors. Both ends. Signals from different channels travel the path in interleaved manner. This is an analog multiplexing technique and is done conceptually in the same manner as FDM but uses light as signals.
When channel A transmits its frame at one end. Multiplexer and De-multiplexer are timely synchronized.
On the other end. Signals travel with these codes independently. The receiver knows in advance the chip code signal it has to receive. CDM uses orthogonal codes to spread signals.
FDM divides the frequency in smaller channels but CDM allows its users to full bandwidth and transmit signals all the time using a unique code.
Each station is assigned with a unique code. A communication system may include number of switches and nodes. Circuit Switching When two nodes communicate with each other over a dedicated communication path.
The data is forwarded on behalf of forwarding tables. In circuit switching to transfer the data. Applications which use circuit switching may have to go through three phases: Circuits can be permanent or temporary.
No previous handshaking is required and acknowledgements are optional. Before switching data to be forwarded to destination. After the transfer is completed. At broad level. Data is then forwarded on that circuit. There is a need of pre-specified route from which data travels and no other data is permitted. When data comes on a port it is called ingress. Before a user can make a call. Telephone is the best suitable example of circuit switching.
A switch working on message switching. If the next hop is not having enough resource to accommodate large size message. In message switching. Message Switching This technique was somewhere in middle of circuit switching and packet switching. Data Communication and Computer Network Circuit switching was designed for voice applications. Packet Switching Shortcomings of message switching gave birth to an idea of packet switching.
The switching information is added in the header of each packet and transmitted independently. It is easier for intermediate networking devices to store small size packets and they do not take much resources either on carrier path or in the internal memory of switches. Data Communication and Computer Network This technique was considered substitute to circuit switching.
Message switching is replaced by packet switching. As in circuit switching the whole path is blocked for two entities only. The entire message is broken down into smaller chunks called packets. Message switching has the following drawbacks: The internet uses packet switching technique.
Packets are stored and forwarded according to their priority to provide quality of service. Data Communication and Computer Network Packet switching enhances line efficiency as packets from multiple applications can be multiplexed over the carrier. Packet switching enables the user to differentiate data streams based on priorities. This direct connection could be point to point or broadcast. At the receiving end. The work of data link layer tends to get more complex when it is dealing with multiple hosts on single collision domain.
Data link layer works between two hosts which are directly connected in some sense. Data link layer hides the details of underlying hardware and represents itself to upper layer as the medium to communicate. These errors are detected and attempted to recover actual data bits. Systems on broadcast network are said to be on same link. Data link layer has two sub-layers: It deals with protocols.
This layer is one of the most complicated layers and has complex functionalities and liabilities. At receiver end. Addressing Data-link layer provides layer-2 hardware addressing mechanism.
These are: Framing Data-link layer takes packets from Network Layer and encapsulates them into Frames. It is encoded into hardware at the time of manufacturing. Data link layer is responsible for converting data stream to signals bit by bit and to send that over the underlying hardware. It also provides error reporting mechanism to the sender.
It deals with actual control of media. Data link layer picks up data from hardware which are in the form of electrical signals. Error Control Sometimes signals may have encountered problem in transition and the bits are flipped.
Hardware address is assumed to be unique on the link. Synchronization When data frames are sent on the link. Functionality of Data-link Layer Data link layer does many tasks on behalf of upper layer. Multi-Access When host on the shared link tries to transfer the data. Data-link layer ensures flow control that enables both machine to exchange data on same speed.
Applications such as voice and video may not be that affected and with some errors they may still function well. Types of Errors There may be three types of errors: Single bit error In a frame. Multiple bits error Frame is received with more than one bits in corrupted state. Burst error Data-link layer uses some error control mechanism to ensure that frames data bit streams are transmitted with certain level of accuracy. The upper layers work on some generalized view of network architecture and are not aware of actual hardware data processing.
But to understand how errors is controlled. Most of the applications would not function expectedly if they receive erroneous data. This way number of 1s remains even. This technique involves binary division of the data bits being sent. The sender performs a division operation on the bits being sent and calculates the remainder. Before sending the actual bits. The divisor is generated using polynomials. But when more than one bits are erroneous.
In both cases. Data Communication and Computer Network Frame contains more than1 consecutive bits corrupted. If the counter-check at receiver end fails. If the number of 1s is odd. Parity Check One extra bit is sent along with the original bits to make number of 1s either even in case of even parity. The sender transmits data bits as codewords. The sender while creating a frame counts the number of 1s in it. If the count of 1s is even and even parity is used.
Error control mechanism may involve two possible ways: Actual data bits plus the remainder is called a codeword. If a single bit flips in transit. The receiver simply counts the number of 1s in a frame. If the count of 1s is odd and odd parity is used. Forward Error Correction is used. To locate the bit in error. In the latter case.
Backward Error Correction When the receiver detects an error in the data received. The first one. To correct the error in data frame. Forward Error Correction When the receiver detects some error in the data received.
But in case of wireless transmission retransmitting may cost too much. Backward Error Correction. Data Communication and Computer Network At the other end. Error Correction In the digital world. If the remainder contains all zeros the data bits are accepted. Data Communication and Computer Network For m data bits. Two types of mechanisms can be deployed to control the flow: Stop and Wait This flow control mechanism forces the sender after transmitting a data frame to stop and wait until the acknowledgement of the data-frame sent is received.
As we learnt. Sliding Window In this flow control mechanism. Flow Control When a data frame Layer-2 data is sent from one host to another over a single medium.
If sender is sending too fast the receiver may be overloaded. The sender maintains a clock and sets a timeout period. When the receiver receives a correct frame. Requirements for error control mechanism: The sender and receiver. When the receiver receives a damaged frame or a duplicate frame.
In such case. Stop and wait ARQ If an acknowledgement of a data-frame previously transmitted does not arrive before the timeout. When the acknowledgement is received. Sender retransmits the frame and starts the timeout counter.
When the sender sends all the frames in window. If all frames are positively acknowledged. Data Communication and Computer Network The sending-window size enables the sender to send multiple frames without receiving the acknowledgement of the previous ones.
The receiving-window enables the receiver to receive multiple frames and acknowledge them. This enforces the sender to retransmit all the frames which are not acknowledged. The sender in this case.
Network layer takes the responsibility for routing packets from source to destination within or outside a subnet. Network layer has the responsibility to route the packets from source to destination. Routing may include various tasks aimed to achieve a single goal. These can be: Network layer manages options pertaining to host and network addressing. Internet protocol is widely respected and deployed Network Layer protocol which helps to communicate end to end devices over the internet.
Same with protocols. Layer-3 Functionalities Devices which work on Network Layer mainly focus on routing.
Layer 3 can provide various features as: It comes in two flavors. Two different subnet may have different addressing schemes or non-compatible addressing types. IPv4 which has ruled the world for decades but now is running out of address space. Network Layer Features With its standard functionalities. Hosts in different subnet need a mechanism to locate each other. Because IP addresses are assigned in hierarchical manner. DNS is a server which provides Layer-3 address of remote host mapped There are different kinds of network addresses in existence: This task can be done by DNS.
Network Addresses are always logical i. The host which needs to communicate outside its subnet. Network address is always configured on network interface card and is generally mapped by system with the MAC address hardware address or layer-2 address of the machine for Layer-2 communication. IP addressing provides mechanism to differentiate between hosts and network. Multicast traffic uses special treatment as it is most a video stream or audio with highest priority.
Network address can be of one of the following: Anycast is just similar to unicast. A gateway is a router equipped with all the information which leads to route packets to the destination host. Routers take help of routing tables. The next router on the path follows the same thing and eventually the data packet reaches its destination. A default route tells the router where to forward a packet if there is no route found for specific destination. The software based routers have limited functionality and limited scope.
A router is always configured with some default route. Routing is done by special network devices called routers or it can be done by means of software processes.
This selection process is termed as Routing. One route can be configured to be preferred over others. It is the simplest form of routing because the destination is already known. In case there are multiple path existing to reach the same destination. Routing unicast data over the internet is called unicast routing. Unicast routing Most of the traffic on the internet and intranets known as unicast data or unicast traffic is sent with specified destination.
Hence the router just has to look up the routing table and forward the packet to next hop. Broadcast routing can be done in two ways algorithm: A broadcast message is destined to all network devices. This technique is used to detect and discard duplicates.
All routers are configured in the same way. All packets are sent as unicast but because they are sent to all. But it can be configured to forward broadcasts in some special cases. Routers create broadcast domains. Multicast routing also uses reverse path Forwarding technique.
When a packet destined to this logical address is received. The router must know that there are nodes. Anycast Routing Anycast packet forwarding is a mechanism where multiple hosts can have same logical address. Multicast routing works spanning tree protocol to avoid looping. In broadcast routing.
But in Multicast routing. Data Communication and Computer Network Multicast Routing Multicast routing is special case of broadcast routing with significance difference and challenges. This technique helps routes build a common graph of the entire network. Multicast Routing Protocols Unicast routing protocols use graphs while Multicast routing protocols use trees.
Whenever an Anycast packet is received it is enquired with DNS to where to send it. All routers then calculate their best path for routing purposes. The optimal tree is called shortest path spanning tree. It takes into account the states of links of all the routers in a network.
Every router advertises its set best routes to other routers. A route with less number of hops is considered as the best route. Unicast Routing Protocols There are two kinds of routing protocols available to route unicast packets: Distance Vector Routing Protocol Distance Vector is simple routing protocol which takes routing decision on the number of hops between source and destination.
Protocol independent Multicast Protocol Independent Multicast is commonly used now. Time to Live TTL can be used to avoid infinite looping of packets. Shortest path is a technique which uses various algorithms to decide a path with minimum number of hops. It is used in sparse environment such as WAN. It has two flavors: In this method. Routing Algorithms The routing algorithms are as follows: Flooding Flooding is simplest method packet forwarding.
There exists another approach for flooding. Hop count plays major role here. This creates too much burden on the network and lots of duplicate packets wandering in the network. It is used in dense environment such as LAN. When a packet is received. Common shortest path algorithms are: Shortest Path Routing decision in networks.
Border Gateway Protocol. Layer-2 network and addressing scheme. Tunneling If they are two geographically separate networks.
Routing between different organizations or administrations may have Exterior Gateway Protocol. Routing between two networks is called internetworking. Networks can be considered different based on various parameters such as. Tunneling is a mechanism by which two or more same networks communicate with each other. In internetworking. Tunneling is configured at both ends. Routing protocols which are used within an organization or administration are called Interior Gateway Protocols or IGP.
There may exist requirement of connecting two different networks of same kind as well as of different kinds. They can be statically configured go on different network or they can learn by using internetworking routing protocol. Each fragment contains the same destination and source address and routed through transit path easily.
This is called packet fragmentation. A data packet can have more or less packet length depending upon the application. At the receiving end it is assembled again.
Devices in the transit path also have their hardware and software capabilities which tell what amount of data that device can handle and what size of packet it can process. Both ends seem as if they are directly connected and tagging makes data travel through transit network without any modifications.
If a packet with DF do not fragment bit set to 1 comes to a router which cannot handle the packet because of its length. When data exists the Tunnel its tag is removed and delivered to the other part of the network. If the packet is larger. This tagged data is then routed inside the intermediate or transit network to reach the other end of Tunnel.
If the data packet size is less than or equal to the size of packet the transit network can handle. If the packet is fragmented too large. If packet is fragmented too small. A computer can have one IP at one instance of time and another IP at some different time.
This address may change every time a computer restarts. If the NIC is changed in case of some fault. IP address on the public domain is rarely changed. On the other hand. This way. ICMP contains dozens of diagnostic and error reporting messages.
Next time. Once the host gets destination MAC address. When a host receives an ARP packet destined to it. IPv4 provides hierarchical addressing scheme which enables it to divide the network into sub-networks. It uses first three octets for network addresses and last one for host addressing. Any feedback about network is sent back to the originating host.
It provides flat IP addressing scheme in contrast to hierarchical structure for above three. If there is any problem in the transit network. Because IP itself is a best-effort non-reliable protocol. If some error in the network occurs. IP addresses are divided into many categories: It uses first octet for network addresses and last three octets for host addressing.
ARP packet contains the IP address of destination host. When a host receives an ICMP-echo request. It uses first two octets for network addresses and last two for host addressing. After constructing ICMP packet. IPv6 has introduced Anycast addressing but has removed the concept of broadcasting.
There are some transition mechanisms available for IPv6-enabled networks to speak and roam around different networks easily on IPv4. Mobile IPv6-equipped machines can roam around without the need of changing their IP addresses. Though IP is not reliable one. It is used as experimental. IPv6 provides new feature of IPv6 mobility. IPv6 is still in transition phase and is expected to replace IPv4 completely in coming years. IPv6 enables devices to self-acquire an IPv6 address and communicate within that subnet.
IPv6 addresses its nodes with bit wide address providing plenty of address space for future to be used on entire planet or beyond. IPv4 also has well-defined address spaces to be used as private addresses not routable on internet.
At present. Transport layer takes data from upper layer i. All modules and procedures pertaining to transportation of data or data stream are categorized into this layer. It numbers every byte in the segment and maintains their accounting. Application layer and then breaks it into smaller size segments.
Transport layer offers peer-to-peer and end-to-end connection between two processes on remote hosts. TSAPs are very well defined and a process which is trying to communicate with its peer knows this in advance. As all other layers. User Datagram Protocol It provides unreliable communication between two hosts. Transmission Control Protocol It provides reliable communication between two hosts. The two main Transport layer protocols are: Data Communication and Computer Network For example.
It is most widely used protocol for data transmission in communication network such as internet. Header The length of TCP header is minimum 20 bytes and maximum 60 bytes. TCP requires that connection between two remote points be established before sending actual data. Reserved for future use and all are set zero by default. Nonce Sum bit is used by Explicit Congestion Notification signaling process.
When ACK flag is set. It indicates that Urgent Pointer field has significant data and should be processed. This field implies both. If ACK is cleared to 0. It has two meanings: Sequence number of data bytes of a segment in a session. It indicates that Acknowledgement field has significance. When a host receives packet with ECE bit set. It identifies source port of the application process on the sending device. It identifies destination port of the application process on the receiving device.
When set. Three-way handshaking is used for connection management.
This field is used for flow control between two stations and indicates the amount of buffer in bytes the receiver has allocated for a segment. This flag is used to set up a connection between hosts. This field contains the checksum of Header. Option field is always described in bit words. If this field contains data less than bit. Ports numbers can range from 0 — which are divided as: This flag is used to release a connection and no more data is exchanged thereafter.
It points to the urgent data byte if URG flag is set to 1. It facilitates additional options which are not covered by the regular header. The client initiates the connection and the server either accepts or rejects it. Reset flag has the following features: Bandwidth Management TCP uses the concept of window size to accommodate the need of Bandwidth management. Data Communication and Computer Network Establishment Client initiates the connection and sends the segment with a Sequence number.
When the acknowledgement of this segment received the windows size is doubled to 4 and next Window size tells the sender at the remote end the number of data byte segments the receiver at this end can receive.
TCP uses slow start phase by using window size 1 and increases the window size exponentially after each successful communication. These virtual connections are not good for Servers if the timeout is too long. If the sequence number of a segment recently received does not match with the sequence number the receiver was expecting.
The Receiver knows about the last segment sent by the Sender by referring to the sequence number of recently received packet. Multiplexing The technique to combine two or more data streams in one session is called Multiplexing. The client itself uses a randomly generated port number from private port number pools.
TCP may use three algorithms for congestion control: This enables the client system to receive multiple connection over single virtual connection.
TCP sets a window size telling the other end how much data segment to send. When a TCP client initializes a connection with Server. FTP etc. All data segments are sent and received with sequence numbers. If two segments arrive with the same sequence number. Along with that. Congestion Control When large amount of data is fed to system which is not capable of handling it.
Using TCP Multiplexing. When the acknowledgement of 4-byte data segment is received. TCP controls congestion by means of Window mechanism. Data Communication and Computer Network the segment sent will be 4 data bytes long. Error Control and Flow Control TCP uses port numbers to know what application process it needs to handover the data segment.
If an acknowledgement is missed. Crash Recovery TCP is very reliable protocol. Retransmission timer: It provides sequence number to each of byte sent in segment. Persist timer: Keep-alive timer: It provides the feedback mechanism i.
The hosts can then send the last data segment which was never unacknowledged and carry onwards. It involves minimum amount of communication mechanism. UDP is said to be an unreliable transport protocol but it uses IP services which provides best effort delivery mechanism. In UDP, the receiver does not generate an acknowledgement of packet received and in turn, the sender does not wait for any acknowledgement of packet sent. This shortcoming makes this protocol unreliable as well as easier on processing.
Requirement of UDP A question may arise, why do we need an unreliable protocol to transport the data? We deploy UDP where the acknowledgement packets share significant amount of bandwidth along with the actual data.
For example, in case of video streaming, thousands of packets are forwarded towards its users. Acknowledging all the packets is troublesome and may contain huge amount of bandwidth wastage. The best delivery mechanism of underlying IP protocol ensures best efforts to deliver its packets, but even if some packets in video streaming get lost, the impact is not calamitous and can be ignored easily.
Loss of few packets in video and voice traffic sometimes goes unnoticed. UDP header contains four main parameters: Source Port: This 16 bits information is used to identify the source port of the packet. Destination Port: This 16 bits information is used identify application level service on destination machine. Length field specifies the entire length of UDP packet including header. It is bits field and minimum value is 8-byte, i. This field stores the checksum value generated by the sender before sending.
IPv4 has this field as optional so when checksum field does not contain any value, it is made 0 and all its bits are set to zero. Application layer is where the actual communication is initiated and reflects.
When an application layer protocol wants to communicate with its peer application layer protocol on remote host. This layer is for applications which are involved in communication system. Not every user application can be put into Application Layer except those applications which interact with the communication system. There is an ambiguity in understanding Application Layer and its protocol. Because this layer is on the top of the layer stack. Application layer takes the help of Transport and all layers below it to communicate or transfer its data to the remote host.
This layer exists in both layered Models because of its significance. A user may or may not directly interacts with the applications. The transport layer does the rest with the help of all the layers below it. A system can act as Server and Client simultaneously. In client-server model. Itis not the type of machine. This may also happen that both client and server processes reside on the same machine.
Both remote processes are executing at same level and they exchange data using some shared resource. One remote process acts as a Client and requests some resource from another application process acting as Server. Remote Procedure Call This is a mechanism where one process interacts with another by means of procedure calls. When the request is reached to server. Both processes are allocated stubs. The process on remote host is said to be Server.
The second process acting as a Client also opens a socket. Data Communication and Computer Network Communication Two processes in client-server model can interact in various ways: This communication happens in the following way: One process client calls the procedure lying on remote host.
It can either be an information sharing or resource request. It passes all the parameters pertaining to program local to it. Few of Application layer protocols are described below: FTP uses out-of-band controlling i. When an email is submitted to send. It uses UDP protocol for transport layer communication. Application layer protocols can be broadly divided into two categories: DNS uses hierarchical domain based naming scheme.
This task is done by means of email client software User Agents the user is using. While SMTP is used by end user to only send the emails. User Agents help the user to type and format the email and store it until internet is available.
Data Communication and Computer Network The client requests the server for a file. In this version. To access the web pages. After the transfer is complete. When a user wants to access any HTTP page on the internet. When the server receives a request for a file. At most one object can be sent over a single TCP connection. For a second file. The second mode.
User can then access his mails and download them to the local computer. Hypertext is well organized documentation system which uses hyperlinks to link the pages in the text documents. POP3 works in two modes. When a client needs to retrieve mails from server. HTTP is a stateless protocol. HTTP versions: HTTP works on client server model. The most common mode. When the server accepts the client request.
File Services File services include sharing and transferring files over the network. User accounts can be set into hierarchical structure and their access to resources can be controlled using authorization schemes. Accounting In an organization. User can upload the file to a specific server. As an alternative. File Sharing One of the reason which gave birth to networking was file sharing.
Because network operates with the help of IP addresses and humans tend to remember website names. This software system helps to store the information. When these devices are connected together to form a network. Directory Services provide means of storing this information in cryptic form and make available when requested.
This system maps IP addresses to domain names. Some basic services computer network can offer are: Directory Services These services are mapping between name and its value.
File sharing enables its users to share their data with other users. File Transfer Two or more people can communicate with each other using text based Internet Relay Chat services. These days. Databases help organizations to make decisions based on statistics.
Remote Access This service enables user to access the data residing on the remote computer. Network enables its user to locate other users in the network and transfers files. Internet Chat Internet chat provides instant text transfer services between two hosts. The computer savvy peoples. Communication Services Email Electronic mail is a communication method and something a computer user cannot work without.
All its users are provided with unique IDs. Data Communication and Computer Network This is an activity to copy or move file from one computer to another computer or to multiple computers. Social Networking Recent technologies have made technical life social.
This may include Servers. Application Services These are nothing but providing network based services to the users such as web services. Email system has one or more email servers. It stores data and information. This can be done via some remote device. It enables the users to put queries. Databases This application service is one of the most important services. Resource Sharing To use resources efficiently and economically.
Discussion Boards Discussion boards provide a mechanism to connect multiple peoples with same interests. This feature is known as Remote desktop. Other may respond as well. When a user sends email to other user. It is used to connect to the internet. Flag for inappropriate content. Related titles. Principles of Computer Networks and Communications. Wireless Communications and Networks - Recent Advances. Book Description Express Learning is a series of books designed as quick reference guides to important undergraduate computer courses.
Overview of Data Communications and Networking 2. Analog and Digital Transmission 4. Transmission Media 5. Error Detection and Correction 7. Flow and Error Control 8. Media Access Control 9. Routing and Congestion Control Application Layer Protocols Network Security Index Back Cover.