Application Protocols in Computer Network ”; Previous Next There are several protocols which work for users in Application Layer. Application layer protocols can be broadly divided into two categories: Protocols which are used by users.For email for example, eMail. Protocols which help and support protocols used by users.For example DNS. Few of Application layer protocols are described below: Domain Name System The Domain Name System (DNS) works on Client Server model. It uses UDP protocol for transport layer communication. DNS uses hierarchical domain based naming scheme. The DNS server is configured with Fully Qualified Domain Names (FQDN) and email addresses mapped with their respective Internet Protocol addresses. A DNS server is requested with FQDN and it responds back with the IP address mapped with it. DNS uses UDP port 53. Simple Mail Transfer Protocol The Simple Mail Transfer Protocol (SMTP) is used to transfer electronic mail from one user to another. This task is done by means of email client software (User Agents) the user is using. User Agents help the user to type and format the email and store it until internet is available. When an email is submitted to send, the sending process is handled by Message Transfer Agent which is normally comes inbuilt in email client software. Message Transfer Agent uses SMTP to forward the email to another Message Transfer Agent (Server side). While SMTP is used by end user to only send the emails, the Servers normally use SMTP to send as well as receive emails. SMTP uses TCP port number 25 and 587. Client software uses Internet Message Access Protocol (IMAP) or POP protocols to receive emails. File Transfer Protocol The File Transfer Protocol (FTP) is the most widely used protocol for file transfer over the network. FTP uses TCP/IP for communication and it works on TCP port 21. FTP works on Client/Server Model where a client requests file from Server and server sends requested resource back to the client. FTP uses out-of-band controlling i.e. FTP uses TCP port 20 for exchanging controlling information and the actual data is sent over TCP port 21. The client requests the server for a file. When the server receives a request for a file, it opens a TCP connection for the client and transfers the file. After the transfer is complete, the server closes the connection. For a second file, client requests again and the server reopens a new TCP connection. Post Office Protocol (POP) The Post Office Protocol version 3 (POP 3) is a simple mail retrieval protocol used by User Agents (client email software) to retrieve mails from mail server. When a client needs to retrieve mails from server, it opens a connection with the server on TCP port 110. User can then access his mails and download them to the local computer. POP3 works in two modes. The most common mode the delete mode, is to delete the emails from remote server after they are downloaded to local machines. The second mode, the keep mode, does not delete the email from mail server and gives the user an option to access mails later on mail server. Hyper Text Transfer Protocol (HTTP) The Hyper Text Transfer Protocol (HTTP) is the foundation of World Wide Web. Hypertext is well organized documentation system which uses hyperlinks to link the pages in the text documents. HTTP works on client server model. When a user wants to access any HTTP page on the internet, the client machine at user end initiates a TCP connection to server on port 80. When the server accepts the client request, the client is authorized to access web pages. To access the web pages, a client normally uses web browsers, who are responsible for initiating, maintaining, and closing TCP connections. HTTP is a stateless protocol, which means the Server maintains no information about earlier requests by clients. HTTP versions HTTP 1.0 uses non persistent HTTP. At most one object can be sent over a single TCP connection. HTTP 1.1 uses persistent HTTP. In this version, multiple objects can be sent over a single TCP connection. Print Page Previous Next Advertisements ”;
Category: data Communication Computer Network
DCN – Useful Resources
Computer Network Useful Resources ”; Previous Next The following resources contain additional information on Data Communication & Computer Networks. Please use them to get more in-depth knowledge on this topic. Useful Links on DCN Computer Networks on Wikipedia – This is Computer Networks on Wikipedia. Useful Books on DCN To enlist your site on this page, please drop an email to [email protected] Print Page Previous Next Advertisements ”;
DCN – Network Services
Network Services ”; Previous Next Computer systems and computerized systems help human beings to work efficiently and explore the unthinkable. When these devices are connected together to form a network, the capabilities are enhanced multiple-times. Some basic services computer network can offer are. Directory Services These services are mapping between name and its value, which can be variable value or fixed. This software system helps to store the information, organize it, and provides various means of accessing it. Accounting In an organization, a number of users have their user names and passwords mapped to them. Directory Services provide means of storing this information in cryptic form and make available when requested. Authentication and Authorization User credentials are checked to authenticate a user at the time of login and/or periodically. User accounts can be set into hierarchical structure and their access to resources can be controlled using authorization schemes. Domain Name Services DNS is widely used and one of the essential services on which internet works. This system maps IP addresses to domain names, which are easier to remember and recall than IP addresses. Because network operates with the help of IP addresses and humans tend to remember website names, the DNS provides website’s IP address which is mapped to its name from the back-end on the request of a website name from the user. File Services File services include sharing and transferring files over the network. File Sharing One of the reason which gave birth to networking was file sharing. File sharing enables its users to share their data with other users. User can upload the file to a specific server, which is accessible by all intended users. As an alternative, user can make its file shared on its own computer and provides access to intended users. File Transfer This is an activity to copy or move file from one computer to another computer or to multiple computers, with help of underlying network. Network enables its user to locate other users in the network and transfers files. Communication Services Email Electronic mail is a communication method and something a computer user cannot work without. This is the basis of today’s internet features. Email system has one or more email servers. All its users are provided with unique IDs. When a user sends email to other user, it is actually transferred between users with help of email server. Social Networking Recent technologies have made technical life social. The computer savvy peoples, can find other known peoples or friends, can connect with them, and can share thoughts, pictures, and videos. Internet Chat Internet chat provides instant text transfer services between two hosts. Two or more people can communicate with each other using text based Internet Relay Chat services. These days, voice chat and video chat are very common. Discussion Boards Discussion boards provide a mechanism to connect multiple peoples with same interests.It enables the users to put queries, questions, suggestions etc. which can be seen by all other users. Other may respond as well. Remote Access This service enables user to access the data residing on the remote computer. This feature is known as Remote desktop. This can be done via some remote device, e.g. mobile phone or home computer. Application Services These are nothing but providing network based services to the users such as web services, database managing, and resource sharing. Resource Sharing To use resources efficiently and economically, network provides a mean to share them. This may include Servers, Printers, and Storage Media etc. Databases This application service is one of the most important services. It stores data and information, processes it, and enables the users to retrieve it efficiently by using queries. Databases help organizations to make decisions based on statistics. Web Services World Wide Web has become the synonym for internet.It is used to connect to the internet, and access files and information services provided by the internet servers. Print Page Previous Next Advertisements ”;
Application Layer Introduction ”; Previous Next Application Layer Application layer is the top most layer in OSI and TCP/IP layered model. This layer exists in both layered Models because of its significance, of interacting with user and user applications. This layer is for applications which are involved in communication system. A user may or may not directly interacts with the applications. Application layer is where the actual communication is initiated and reflects. Because this layer is on the top of the layer stack, it does not serve any other layers. Application layer takes the help of Transport and all layers below it to communicate or transfer its data to the remote host. When an application layer protocol wants to communicate with its peer application layer protocol on remote host, it hands over the data or information to the Transport layer. The transport layer does the rest with the help of all the layers below it. There’is an ambiguity in understanding Application Layer and its protocol. Not every user application can be put into Application Layer. except those applications which interact with the communication system. For example, designing software or text-editor cannot be considered as application layer programs. On the other hand, when we use a Web Browser, which is actually using Hyper Text Transfer Protocol (HTTP) to interact with the network. HTTP is Application Layer protocol. Another example is File Transfer Protocol, which helps a user to transfer text based or binary files across the network. A user can use this protocol in either GUI based software like FileZilla or CuteFTP and the same user can use FTP in Command Line mode. Hence, irrespective of which software you use, it is the protocol which is considered at Application Layer used by that software. DNS is a protocol which helps user application protocols such as HTTP to accomplish its work. Functions of Application Layer The functions of application layer are explained below − User Interface: It represents the user interface to low-level layers and multiple application processes. Security: It is responsible for the execution of the security tests at the user entity points. File Transfer: The application layer supports the file transfer access and management (FTAM). It enables customers to create files in a remote system to retrieve the documents from a remote system and to handle or control the files in a remote system. E-mail: It supports a basis for email forwarding and string. Database Access: It supports distributed database sources and global data about several objects and functions. Addressing: It is used for the connection between user and server. There is a requirement for addressing. When a user requests the server, the request includes the server address and its address. The server responds to the user request and the request consists of the destination address, i.e., client address. Directory Services: An application includes a distributed database that supports the global data about multiple objects and functions. Print Page Previous Next Advertisements ”;
DCN – User Datagram Protocol
User Datagram Protocol ”; Previous Next The User Datagram Protocol (UDP) is simplest Transport Layer communication protocol available of the TCP/IP protocol suite. 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. Features UDP is used when acknowledgement of data does not hold any significance. UDP is good protocol for data flowing in one direction. UDP is simple and suitable for query based communications. UDP is not connection oriented. UDP does not provide congestion control mechanism. UDP does not guarantee ordered delivery of data. UDP is stateless. UDP is suitable protocol for streaming applications such as VoIP, multimedia streaming. UDP Header UDP header is as simple as its function. 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 – Length field specifies the entire length of UDP packet (including header). It is 16-bits field and minimum value is 8-byte, i.e. the size of UDP header itself. Checksum – 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. UDP application Here are few applications where UDP is used to transmit data: Domain Name Services Simple Network Management Protocol Trivial File Transfer Protocol Routing Information Protocol Kerberos Print Page Previous Next Advertisements ”;
DCN – Network Switching
Network Switching ”; Previous Next Switching is process to forward packets coming in from one port to a port leading towards the destination. When data comes on a port it is called ingress, and when data leaves a port or goes out it is called egress. A communication system may include number of switches and nodes. At broad level, switching can be divided into two major categories: Connectionless: The data is forwarded on behalf of forwarding tables. No previous handshaking is required and acknowledgements are optional. Connection Oriented: Before switching data to be forwarded to destination, there is a need to pre-establish circuit along the path between both endpoints. Data is then forwarded on that circuit. After the transfer is completed, circuits can be kept for future use or can be turned down immediately. Circuit Switching When two nodes communicate with each other over a dedicated communication path, it is called circuit switching.There ”is a need of pre-specified route from which data will travels and no other data is permitted.In circuit switching, to transfer the data, circuit must be established so that the data transfer can take place. Circuits can be permanent or temporary. Applications which use circuit switching may have to go through three phases: Establish a circuit Transfer the data Disconnect the circuit Circuit switching was designed for voice applications. Telephone is the best suitable example of circuit switching. Before a user can make a call, a virtual path between caller and callee is established over the network. Message Switching This technique was somewhere in middle of circuit switching and packet switching. In message switching, the whole message is treated as a data unit and is switching / transferred in its entirety. A switch working on message switching, first receives the whole message and buffers it until there are resources available to transfer it to the next hop. If the next hop is not having enough resource to accommodate large size message, the message is stored and switch waits. This technique was considered substitute to circuit switching. As in circuit switching the whole path is blocked for two entities only. Message switching is replaced by packet switching. Message switching has the following drawbacks: Every switch in transit path needs enough storage to accommodate entire message. Because of store-and-forward technique and waits included until resources are available, message switching is very slow. Message switching was not a solution for streaming media and real-time applications. Packet Switching Shortcomings of message switching gave birth to an idea of packet switching. The entire message is broken down into smaller chunks called packets. 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. Packet switching enhances line efficiency as packets from multiple applications can be multiplexed over the carrier. The internet uses packet switching technique. Packet switching enables the user to differentiate data streams based on priorities. Packets are stored and forwarded according to their priority to provide quality of service. Print Page Previous Next Advertisements ”;
DCN – Quick Guide
Computer Network Quick Guide ”; Previous Next Data Communication Overview A system of interconnected computers and computerized peripherals such as printers is called computer network. This interconnection among computers facilitates information sharing among them. Computers may connect to each other by either wired or wireless media. Classification of Computer Networks Computer networks are classified based on various factors.They includes: Geographical span Inter-connectivity Administration Architecture Geographical Span Geographically a network can be seen in one of the following categories: It may be spanned across your table, among Bluetooth enabled devices,. Ranging not more than few meters. It may be spanned across a whole building, including intermediate devices to connect all floors. It may be spanned across a whole city. It may be spanned across multiple cities or provinces. It may be one network covering whole world. Inter-Connectivity Components of a network can be connected to each other differently in some fashion. By connectedness we mean either logically , physically , or both ways. Every single device can be connected to every other device on network, making the network mesh. All devices can be connected to a single medium but geographically disconnected, created bus like structure. Each device is connected to its left and right peers only, creating linear structure. All devices connected together with a single device, creating star like structure. All devices connected arbitrarily using all previous ways to connect each other, resulting in a hybrid structure. Administration From an administrator’s point of view, a network can be private network which belongs a single autonomous system and cannot be accessed outside its physical or logical domain.A network can be public which is accessed by all. Network Architecture Computer networks can be discriminated into various types such as Client-Server,peer-to-peer or hybrid, depending upon its architecture. There can be one or more systems acting as Server. Other being Client, requests the Server to serve requests.Server takes and processes request on behalf of Clients. Two systems can be connected Point-to-Point, or in back-to-back fashion. They both reside at the same level and called peers. There can be hybrid network which involves network architecture of both the above types. Network Applications Computer systems and peripherals are connected to form a network.They provide numerous advantages: Resource sharing such as printers and storage devices Exchange of information by means of e-Mails and FTP Information sharing by using Web or Internet Interaction with other users using dynamic web pages IP phones Video conferences Parallel computing Instant messaging Computer Network Types Generally, networks are distinguished based on their geographical span. A network can be as small as distance between your mobile phone and its Bluetooth headphone and as large as the internet itself, covering the whole geographical world, Personal Area Network A Personal Area Network (PAN) is smallest network which is very personal to a user. This may include Bluetooth enabled devices or infra-red enabled devices. PAN has connectivity range up to 10 meters. PAN may include wireless computer keyboard and mouse, Bluetooth enabled headphones, wireless printers and TV remotes. For example, Piconet is Bluetooth-enabled Personal Area Network which may contain up to 8 devices connected together in a master-slave fashion. Local Area Network A computer network spanned inside a building and operated under single administrative system is generally termed as Local Area Network (LAN). Usually,LAN covers an organization’ offices, schools, colleges or universities. Number of systems connected in LAN may vary from as least as two to as much as 16 million. LAN provides a useful way of sharing the resources between end users.The resources such as printers, file servers, scanners, and internet are easily sharable among computers. LANs are composed of inexpensive networking and routing equipment. It may contains local servers serving file storage and other locally shared applications. It mostly operates on private IP addresses and does not involve heavy routing. LAN works under its own local domain and controlled centrally. LAN uses either Ethernet or Token-ring technology. Ethernet is most widely employed LAN technology and uses Star topology, while Token-ring is rarely seen. LAN can be wired,wireless, or in both forms at once. Metropolitan Area Network The Metropolitan Area Network (MAN) generally expands throughout a city such as cable TV network. It can be in the form of Ethernet,Token-ring, ATM, or Fiber Distributed Data Interface (FDDI). Metro Ethernet is a service which is provided by ISPs. This service enables its users to expand their Local Area Networks. For example, MAN can help an organization to connect all of its offices in a city. Backbone of MAN is high-capacity and high-speed fiber optics. MAN works in between Local Area Network and Wide Area Network. MAN provides uplink for LANs to WANs or internet. Wide Area Network As the name suggests,the Wide Area Network (WAN) covers a wide area which may span across provinces and even a whole country. Generally, telecommunication networks are Wide Area Network. These networks provide connectivity to MANs and LANs. Since they are equipped with very high speed backbone, WANs use very expensive network equipment. WAN may use advanced technologies such as Asynchronous Transfer Mode (ATM), Frame Relay, and Synchronous Optical Network (SONET). WAN may be managed by multiple administration. Internetwork A network of networks is called an internetwork, or simply the internet. It is the largest network in existence on this planet.The internet hugely connects all WANs and it can have connection to LANs and Home networks. Internet uses TCP/IP protocol suite and uses IP as its addressing protocol. Present day, Internet is widely implemented using IPv4. Because of shortage of address spaces, it is gradually migrating from IPv4 to IPv6. Internet enables its users to share and access enormous amount of information worldwide. It uses WWW, FTP, email services, audio and video streaming etc. At huge level, internet works on Client-Server model. Internet uses very high speed backbone of fiber optics. To inter-connect various continents, fibers are laid under sea known to us as submarine communication cable. Internet is widely deployed on World Wide Web services
Data-link Layer Introduction ”; Previous Next Data Link Layer is second layer of OSI Layered Model. This layer is one of the most complicated layers and has complex functionalities and liabilities. Data link layer hides the details of underlying hardware and represents itself to upper layer as the medium to communicate. Data link layer works between two hosts which are directly connected in some sense. This direct connection could be point to point or broadcast. Systems on broadcast network are said to be on same link. 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 is responsible for converting data stream to signals bit by bit and to send that over the underlying hardware. At the receiving end, Data link layer picks up data from hardware which are in the form of electrical signals, assembles them in a recognizable frame format, and hands over to upper layer. Data link layer has two sub-layers: Logical Link Control: It deals with protocols, flow-control, and error control Media Access Control: It deals with actual control of media Functionality of Data-link Layer Data link layer does many tasks on behalf of upper layer. These are: Framing Data-link layer takes packets from Network Layer and encapsulates them into Frames.Then, it sends each frame bit-by-bit on the hardware. At receiver’ end, data link layer picks up signals from hardware and assembles them into frames. Addressing Data-link layer provides layer-2 hardware addressing mechanism. Hardware address is assumed to be unique on the link. It is encoded into hardware at the time of manufacturing. Synchronization When data frames are sent on the link, both machines must be synchronized in order to transfer to take place. Error Control Sometimes signals may have encountered problem in transition and the bits are flipped.These errors are detected and attempted to recover actual data bits. It also provides error reporting mechanism to the sender. Flow Control Stations on same link may have different speed or capacity. Data-link layer ensures flow control that enables both machine to exchange data on same speed. Multi-Access When host on the shared link tries to transfer the data, it has a high probability of collision. Data-link layer provides mechanism such as CSMA/CD to equip capability of accessing a shared media among multiple Systems. Print Page Previous Next Advertisements ”;
DCN – Client-Server Model
Client Server Model ”; Previous Next Two remote application processes can communicate mainly in two different fashions: Peer-to-peer: Both remote processes are executing at same level and they exchange data using some shared resource. Client-Server: One remote process acts as a Client and requests some resource from another application process acting as Server. In client-server model, any process can act as Server or Client. It is not the type of machine, size of the machine, or its computing power which makes it server; it is the ability of serving request that makes a machine a server. A system can act as Server and Client simultaneously. That is, one process is acting as Server and another is acting as a client. This may also happen that both client and server processes reside on the same machine. Communication Two processes in client-server model can interact in various ways: Sockets Remote Procedure Calls (RPC) Sockets In this paradigm, the process acting as Server opens a socket using a well-known (or known by client) port and waits until some client request comes. The second process acting as a Client also opens a socket but instead of waiting for an incoming request, the client processes ‘requests first’. When the request is reached to server, it is served. It can either be an information sharing or resource request. Remote Procedure Call This is a mechanism where one process interacts with another by means of procedure calls. One process (client) calls the procedure lying on remote host. The process on remote host is said to be Server. Both processes are allocated stubs. This communication happens in the following way: The client process calls the client stub. It passes all the parameters pertaining to program local to it. All parameters are then packed (marshalled) and a system call is made to send them to other side of the network. Kernel sends the data over the network and the other end receives it. The remote host passes data to the server stub where it is unmarshalled. The parameters are passed to the procedure and the procedure is then executed. The result is sent back to the client in the same manner. Print Page Previous Next Advertisements ”;
Data-link Control & Protocols ”; Previous Next Data-link layer is responsible for implementation of point-to-point flow and error control mechanism. Flow Control When a data frame (Layer-2 data) is sent from one host to another over a single medium, it is required that the sender and receiver should work at the same speed. That is, sender sends at a speed on which the receiver can process and accept the data. What if the speed (hardware/software) of the sender or receiver differs? If sender is sending too fast the receiver may be overloaded, (swamped) and data may be lost. 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. Sliding Window In this flow control mechanism, both sender and receiver agree on the number of data-frames after which the acknowledgement should be sent. As we learnt, stop and wait flow control mechanism wastes resources, this protocol tries to make use of underlying resources as much as possible. Error Control When data-frame is transmitted, there is a probability that data-frame may be lost in the transit or it is received corrupted. In both cases, the receiver does not receive the correct data-frame and sender does not know anything about any loss.In such case, both sender and receiver are equipped with some protocols which helps them to detect transit errors such as loss of data-frame. Hence, either the sender retransmits the data-frame or the receiver may request to resend the previous data-frame. Requirements for error control mechanism: Error detection – The sender and receiver, either both or any, must ascertain that there is some error in the transit. Positive ACK – When the receiver receives a correct frame, it should acknowledge it. Negative ACK – When the receiver receives a damaged frame or a duplicate frame, it sends a NACK back to the sender and the sender must retransmit the correct frame. Retransmission: The sender maintains a clock and sets a timeout period. If an acknowledgement of a data-frame previously transmitted does not arrive before the timeout the sender retransmits the frame, thinking that the frame or it’s acknowledgement is lost in transit. There are three types of techniques available which Data-link layer may deploy to control the errors by Automatic Repeat Requests (ARQ): Stop-and-wait ARQ The following transition may occur in Stop-and-Wait ARQ: The sender maintains a timeout counter. When a frame is sent, the sender starts the timeout counter. If acknowledgement of frame comes in time, the sender transmits the next frame in queue. If acknowledgement does not come in time, the sender assumes that either the frame or its acknowledgement is lost in transit. Sender retransmits the frame and starts the timeout counter. If a negative acknowledgement is received, the sender retransmits the frame. Go-Back-N ARQ Stop and wait ARQ mechanism does not utilize the resources at their best.When the acknowledgement is received, the sender sits idle and does nothing. In Go-Back-N ARQ method, both sender and receiver maintain a window. 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. The receiver keeps track of incoming frame’s sequence number. When the sender sends all the frames in window, it checks up to what sequence number it has received positive acknowledgement. If all frames are positively acknowledged, the sender sends next set of frames. If sender finds that it has received NACK or has not receive any ACK for a particular frame, it retransmits all the frames after which it does not receive any positive ACK. Selective Repeat ARQ In Go-back-N ARQ, it is assumed that the receiver does not have any buffer space for its window size and has to process each frame as it comes. This enforces the sender to retransmit all the frames which are not acknowledged. In Selective-Repeat ARQ, the receiver while keeping track of sequence numbers, buffers the frames in memory and sends NACK for only frame which is missing or damaged. The sender in this case, sends only packet for which NACK is received. Print Page Previous Next Advertisements ”;