Skip to main content

NETWORK BASICS

Network 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. A computer network consists of a collection of computers, printers and other equipment that is connected together so that they can communicate with each other.  


Network application
A Network application is any application running on one host and provides a communication to another application running on a different host, the application may use an existing application layer protocols such as: HTTP(e.g. the Browser and web server), SMTP(e.g. the email-client). And may be the application does not use any existing protocols and depends on the socket programming to communicate to another application. So the web application is a type of the network applications. 
There are lots of advantages from build up a network, but the th…

ROUTER & ROUTING PROTOCOL


ROUTER PROTOCOL


Routers are most often used in Transmission Control Protocol/Internet Protocol (TCP/IP) networks, the Internet being the prime example of a large routed network. Routers can be used either to connect many smaller networks into a larger network called an inter-network or to segment a large network into smaller sub networks in order to improve performance or manageability. Routers are also sometimes used to join dissimilar media, such as unshielded twisted-pair (UTP) cabling and fiber-optic cabling, and different network architectures, such as Token Ring and Ethernet. Routers can also be used to connect local area networks (LANs) to telecommunication services such as leased lines or Digital Subscriber Line (DSL). A router used to connect a LAN to a leased line such as a T1 line is often called an access server, and a router used to access DSL servers is known as a DSL router. These routers often support basic firewall functionality to filter out packets Based on their source or destination network address. 



Routers are similar to bridges in that they both forward packets and can be used to either segment or join networks. However, routers use Layer 3 (network layer) addresses such as IP addresses to forward packets, but bridges employ Layer 2 addresses (MAC addresses) for this purpose. Routers work at the network layer (Layer 3) of the Open Systems Interconnection (OSI) reference model. They forward packets between networks on the basis of their destination logical addresses (IP addresses in the case of TCP/IP). Routers also route packets based on the available paths and their costs, thus taking advantage of redundant paths that can exist in a mesh topology network. To do this, routers contain internal tables called routing tables that keep track of the paths that packets can take as they move across the internetwork, along with the cost of reaching each remote network. Because routers operate at a higher OSI level than bridges do, they have more powerful switching and filtering capabilities. They also generally require greater processing power, which results in routers usually costing more than bridges. Also, because routers use network addresses for routing packets, they can only work if the network protocol is a “routable protocol” such as TCP/IP or Internetwork Packet Exchange/Sequenced Packet Exchange (IPX/SPX). This is different from bridges, which are basically protocol-independent Layer 2 devices. 


Static routers: These must have their routing tables Configured manually with all network addresses and paths within the internetwork. 

Dynamic routers: These automatically create their routing tables by listening to network traffic and communicating with other routers. 

Routers are generally used to connect different networks together. Router routing is the process by which a router examines an incoming packet and determines which interface on the router to forward the packet to. This is different from host routing, which is routing that occurs at the host itself. Usually the term router routing is simply abbreviated as routing. Whether this actually refers to host routing or router routing can usually be determined from the context of the discussion. 


The term ROUTING stands for forwarding packets from one network to another across an internetwork. Routing is a method of joining multiple networks in a way that allows packets to travel from one network to the next. To do this, devices called routers are used to connect different networks. These routers accept packets destined to remote networks and forward them to the next step along the way. 


Routing can be classified in different ways depending on what is under consideration. For example, there is 

Host routing: This is routing that occurs at the host itself. Each host on an IP network normally maintains its own internal routing table. This table is used to determine whether to send a packet to the local network, to a specific router interface, or to the default gateway address. 

Router routing: This is routing that occurs at the routers that connect the various networks. Networks connected by routers are generally called subnets, although this term has a more precise meaning in the context of IP addressing. Most of the discussion below focuses on router routing, which is usually simply called routing. Routing can also be classified according to how routers are configured to forward packets, specifically: 

Static routing: Administrators manually enter entries in router tables. 

Dynamic routing: Routing tables can be updated automatically when different routers communicate with one another using routing protocols. 

Routing Information Protocol (RIP) is a standards-based, distance-vector, interior gateway protocol (IGP) used by routers to exchange routing information. RIP uses hop count to determine the best path between two locations. Hop count is the number of routers the packet must go through till it reaches the destination network. The maximum allowable number of hops a packet can traverse in an IP network implementing RIP is 15 hops. It has a maximum allowable hop count of 15 by default, meaning that 16 is deemed unreachable. RIP works well in small networks, but it's inefficient on large networks with slow WAN links or on networks with a large number of routers installed. In a RIP network, each router broadcasts its entire RIP table to its neighboring routers every 30 seconds. When a router receives a neighbor's RIP table, it uses the information provided to update its own routing table and then sends the updated table to its neighbors. 



  • A classful protocol, broadcasts updates every 30 seconds, hold-down period 180 seconds. Hop count is metric (Maximum 15). 
  • RIP supports up to six equal-cost paths to a single destination, where all six paths can be placed in the routing table and the router can load-balance across them. The default is actually four paths, but this can be increased up to a maximum of six. Remember that an equal-cost path is where the hop count value is the same. RIP will not load-balance across unequal-cost paths 


  • RIPv2 uses multi-casts, version 1 use broadcasts, 
  • RIPv2 supports triggered updates—when a change occurs, a RIPv2 router will immediately propagate its routing information to its connected neighbors. 
  • RIPv2 is a classless protocol. RIPv2 supports variable-length subnet masking (VLSM) 
  • RIPv2 supports authentication. You can restrict what routers you want to participate in RIPv2. This is accomplished using a hashed password value. 



1
Fast Ethernet/Gigabit Ethernet RJ-45 port 0/1
6
Gigabit Ethernet port 0/3
2
Gigabit Ethernet port 0/1
7
CPU Reset 
3
Fast Ethernet/Gigabit Ethernet RJ-45 port 0/2
8
CompactFlash Disk slot (disk2)
4
Gigabit Ethernet port 0/2
9
Console port 
5
Fast Ethernet/Gigabit Ethernet RJ-45 port 0/3
10
Auxiliary port 

No.
LED Label
LED
Colour
In the Power Up state, the LED is
LED flashes when there is traffic
1
LINK (Interfaces 0/1, 0/2, 0/3) 
RJ-45 and GBIC ports
Green
On, indicating that a link has been established 
No
2
EN (Enable) (Interfaces 0/1, 0/2, 0/3
RJ-45 ports only
Green
On if the RJ-45 port is selected

Off if the GBIC port is selected 

3
SLOT ACTIVE
CompactFlash Disk 
Green
On when the slot is being used

4
POWER ON
Power
Green
On and stays on
N


1
Console port
4
Cable to console terminal or DTE
2
Auxiliary port
5
Cable to modem or DCE
3
RJ-45 connectors



When a new Cisco router boots up for the first time (or every time the configuration is completely cleared) it asks the user if they want to run through a list of prompts to configure the router; most Cisco engineers tend to ignore this initial setup wizard (for lack of a better word) and just configure the router manually. When a Cisco router is initially booted there are no passwords configured, the only thing that is needed to configure the router is a serial rollover cable or USB cable (newer devices). Once a connection is established the basic configuration of the device can be done, this will be covered next. 
The first prompt (if the user says ‘no’ to the initial configuration prompt) that the user will see is a user exec mode prompt; user exec mode prompt (represented by the ‘>’) 
To configure a Cisco router (and mode other Cisco platforms) the user needs to be in the privileged exec mode, to gain access to this prompt enter the enable command. 
Now that the user is in privileged exec mode they are able to access all of the commands on the router including the ability to alter the configuration. To alter the configuration from this prompt the user must enter the ‘configuration terminal’ command (often notated by its shortened form – ‘conf t’). The initial configuration mode that is accessed is referred to as Global configuration mode; all configuration commands at this level affect the whole system. It is at this prompt where the hostname, domain name and passwords are configured. To configure the hostname of the router the hostname hostname command is used; once the device hostname is configured, the prefix of the prompt will change to reflect the change. The second thing that is being configured is the router’s domain name. To configure the domain name of the router the ‘ip domain-name domain-name’ command is used; The last thing that will be shown configured in global configuration mode is typically the most important part of any networked devices configuration: the password. There are two methods of configuring the enable password on a Cisco router; the first utilizes an easily reversible encryption technique that has long been depreciated (which will not be covered) and the second uses MD5 to hash the password in the configuration (which is much more secure). It is important to note here that the enable password will not prevent local users from accessing the user exec mode, but will prevent them from getting into privileged exec mode without a password. To configure an enable password using this second technique the ‘enable secret password’ command is used; The next thing that will be configured is an IPv4 address on an interface. To perform this the user must know the identifier of the configured interface. On some platforms this is marked on the port on others it will be shown as a number value and the specific name will depend on the location of the interface module (in modular chassis). For the purposes of this article the interface is the first available Fast Ethernet interface which is labeled ‘0/0’. This interface will be configured with an IPv4 address of 10.10.10.1 with a subnet mask of 255.255.255.0 (/24). One commonly forgotten configuration task is the enabling of the interface. The command that is used to perform this is ‘no shutdown’; Configuration on a Cisco Router 
This article will now pivot to the configuration of the lines on a Cisco router. The most commonly used line types used on a Cisco router are console and VTY. The console line (a total of 1) allows a local user to access the router when physically connected to the console port. By default, there is no password configured on this port so any user with physical access can, at least, access user exec mode.  To alter this, a password can be configured on the console line; to do this the user must access the console line configuration mode using the ‘line console 0’ command and issue the ‘password’ command, 


The last thing that will be covered in this article is the configuration that is required to enable Telnet access to the router. This configuration is completed through the VTY terminal configuration mode. On most Cisco routers the VTY lines that are used for Telnet (and SSH) connections are labeled from 0 through 4 (For a total of 5). Typically, all of these lines are configured at the same time. To gain access to this mode the ‘line vty 0 4’ command is used; once the user has access to VTY terminal configuration mode then they need to perform two commands: ‘login’ and ’password’. The first command is used to enable a login prompt when accessing the router via the terminal lines; the second is used to set the password that is used to ensure authorized access via the terminal lines. 


When a device has multiple paths to reach a destination, it always selects one path by preferring it over others. This selection process is termed as Routing. Routing is done by special network devices called routers or it can be done by means of software processes. The software based routers have limited functionality and limited scope. 

A router is always configured with some default route. A default route tells the router where to forward a packet if there is no route found for specific destination. In case there are multiple path existing to reach the same destination, router can make decision based on the following information: 

  • Hop Count 
  • Bandwidth 
  • Metric 
  • Prefix-length 
  • Delay 

Routes can be statically configured or dynamically learnt. One route can be configured to be preferred over others. 


Most of the traffic on the internet and intranets known as unicast data or unicast traffic is sent with specified destination. Routing unicast data over the internet is called unicast routing. It is the simplest form of routing because the destination is already known. Hence the router just has to look up the routing table and forward the packet to next hop. 


By default, the broadcast packets are not routed and forwarded by the routers on any network. Routers create broadcast domains. But it can be configured to forward broadcasts in some special cases. A broadcast message is destined to all network devices. 
Broadcast routing can be done in two ways (algorithm): 

  • A router creates a data packet and then sends it to each host one by one. In this case, the router creates multiple copies of single data packet with different destination addresses. All packets are sent as unicast but because they are sent to all, it simulates as if router is broadcasting. This method consumes lots of bandwidth and router must destination address of each node. 
  • Secondly, when router receives a packet that is to be broadcasted, it simply floods those packets out of all interfaces. All routers are configured in the same way. 

This method is easy on router's CPU but may cause the problem of duplicate packets received from peer routers. 
Reverse path forwarding is a technique, in which router knows in advance about its predecessor from where it should receive broadcast. This technique is used to detect and discard duplicates. 
Multicast Routing 
Multicast routing is special case of broadcast routing with significance difference and challenges. In broadcast routing, packets are sent to all nodes even if they do not want it. But in Multicast routing, the data is sent to only nodes which wants to receive the packets. 

The router must know that there are nodes, which wish to receive multicast packets (or stream) then only it should forward. Multicast routing works spanning tree protocol to avoid looping. 
Multicast routing also uses reverse path Forwarding technique, to detect and discard duplicates and loops. 

Anycast packet forwarding is a mechanism where multiple hosts can have same logical address. When a packet destined to this logical address is received, it is sent to the host which is nearest in routing topology. 

Anycast routing is done with help of DNS server. Whenever an Anycast packet is received it is enquired with DNS to where to send it. DNS provides the IP address which is the nearest IP configured on it. 


There are two kinds of routing protocols available to route unicast packets: 

Distance Vector is simple routing protocol which takes routing decision on the number of hops between source and destination. A route with less number of hops is considered as the best route. Every router advertises its set best routes to other routers. Ultimately, all routers build up their network topology based on the advertisements of their peer routers,  


Link State protocol is slightly complicated protocol than Distance Vector. It takes into account the states of links of all the routers in a network. This technique helps routes build a common graph of  the entire network. All routers then calculate their best path for routing purposes. For example, Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (ISIS). 


Unicast routing protocols use graphs while Multicast routing protocols use trees, i.e. spanning tree to avoid loops. The optimal tree is called shortest path spanning tree. 
  • DVMRP  - Distance Vector Multicast Routing Protocol 
  • MOSPF  - Multicast Open Shortest Path First 
  • CBT  - Core Based Tree 
  • PIM  - Protocol independent Multicast 
Protocol Independent Multicast is commonly used now. It has two flavors: 
This mode uses source-based trees. It is used in dense environment such as LAN. 
This mode uses shared trees. It is used in sparse environment such as WAN. 


The routing algorithms are as follows: 

Flooding is simplest method packet forwarding. When a packet is received, the routers send it to all the interfaces except the one on which it was received. This creates too much burden on the network and lots of duplicate packets wandering in the network. 

Time to Live (TTL) can be used to avoid infinite looping of packets. There exists another approach for flooding, which is called Selective Flooding to reduce the overhead on the network. In this method, the router does not flood out on all the interfaces, but selective ones. 

Routing decision in networks, are mostly taken on the basis of cost between source and destination. Hop count plays major role here. Shortest path is a technique which uses various algorithms to decide a path with minimum number of hops. 
In real world scenario, networks under same administration are generally scattered geographically. There may exist requirement of connecting two different networks of same kind as well as of different kinds. Routing between two networks is called internetworking. 

Networks can be considered different based on various parameters such as, Protocol, topology, Layer-2 network and addressing scheme.

In internetworking, routers have knowledge of each other’s address and addresses beyond them. They can be statically configured go on different network or they can learn by using internetworking routing protocol. 

Routing protocols which are used within an organization or administration are called Interior Gateway Protocols or IGP. RIP, OSPF are examples of IGP. Routing between different organizations or administrations may have Exterior Gateway Protocol, and there is only one EGP i.e. Border Gateway Protocol. 

If they are two geographically separate networks, which want to communicate with each other, they may deploy a dedicated line between or they have to pass their data through intermediate networks. 
Tunneling is a mechanism by which two or more same networks communicate with each other, by passing intermediate networking complexities. Tunneling is configured at both ends. 

When the data enters from one end of Tunnel, it is tagged. This tagged data is then routed inside the intermediate or transit network to reach the other end of Tunnel. When data exists the Tunnel its tag is removed and delivered to the other part of the network. Both ends seem as if they are directly connected and tagging makes data travel through transit network without any modifications. 


Most Ethernet segments have their maximum transmission unit (MTU) fixed to 1500 bytes. A data packet can have more or less packet length depending upon the application. 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. If the data packet size is less than or equal to the size of packet the transit network can handle, it is processed neutrally. If the packet is larger, it is broken into smaller pieces and then forwarded. This is called packet fragmentation. Each fragment contains the same destination and source address and routed through transit path easily. At the receiving end it is assembled again. If a packet with DF (don’t fragment) bit set to 1 comes to a router which cannot handle the packet because of its length, the packet is dropped. 
When a packet is received by a router has its MF (more fragments) bit set to 1, the router then knows that it is a fragmented packet and parts of the original packet is on the way. If packet is fragmented too small, the overhead is increases. If the packet is fragmented too large, intermediate router may not be able to process it and it might get dropped. 
Every computer in a network has an IP address by which it can be uniquely identified and addressed. An IP address is Layer-3 (Network Layer) logical address. This address may change every time a computer restarts. A computer can have one IP at one instance of time and another IP at some different time. 

While communicating, a host needs Layer-2 (MAC) address of the destination machine which belongs to the same broadcast domain or network. A MAC address is physically burnt into the Network Interface Card (NIC) of a machine and it never changes. 
On the other hand, IP address on the public domain is rarely changed. If the NIC is changed in case of some fault, the MAC address also changes. This way, for Layer-2 communication to take place, a mapping between the two is required. 

To know the MAC address of remote host on a broadcast domain, a computer wishing to initiate communication sends out an ARP broadcast message asking, Who has this IP address? Because it is a broadcast, all hosts on the network segment (broadcast domain) receive this packet and process it. ARP packet contains the IP address of destination host, the sending host wishes to talk to. When a host receives an ARP packet destined to it, it replies back with its own MAC address. 

Once the host gets destination MAC address, it can communicate with remote host using Layer-2 link protocol. This MAC to IP mapping is saved into ARP cache of both sending and receiving hosts. Next time, if they require to communicate, they can directly refer to their respective ARP cache. 
Reverse ARP is a mechanism where host knows the MAC address of remote host but requires to know IP address to communicate. 


ICMP is network diagnostic and error reporting protocol. ICMP belongs to IP protocol suite and uses IP as carrier protocol. After constructing ICMP packet, it is encapsulated in IP packet. Because IP itself is a besteffort non-reliable protocol, so is ICMP. 

Any feedback about network is sent back to the originating host. If some error in the network occurs, it is reported by means of ICMP. ICMP contains dozens of diagnostic and error reporting messages. 
ICMP-echo and ICMP-echo-reply are the most commonly used ICMP messages to check the reachability of end-to-end hosts. When a host receives an ICMP-echo request, it is bound to send back an ICMP-echoreply. If there is any problem in the transit network, the ICMP will report that problem. 


IPv4 is 32-bit addressing scheme used as TCP/IP host addressing mechanism. IP addressing enables every host on the TCP/IP network to be uniquely identifiable. 

IPv4 provides hierarchical addressing scheme which enables it to divide the network into sub-networks, each with well-defined number of hosts. IP addresses are divided into many categories:
  • Class A  - it uses first octet for network addresses and last three octets for host addressing 
  • Class B  - it uses first two octets for network addresses and last two for host addressing 
  • Class C  - it uses first three octets for network addresses and last one for host addressing 
  • Class D - it provides flat IP addressing scheme in contrast to hierarchical structure for above three. 
  • Class E - It is used as experimental. 
IPv4 also has well-defined address spaces to be used as private addresses (not routable on internet), and public addresses (provided by ISPs and are routable on internet). 

Though IP is not reliable one; it provides Best-Effort-Delivery mechanism. 


Exhaustion of IPv4 addresses gave birth to a next generation Internet Protocol version 6. IPv6 addresses its nodes with 128-bit wide address providing plenty of address space for future to be used on entire planet or beyond. 

IPv6 has introduced Anycast addressing but has removed the concept of broadcasting. IPv6 enables devices to self-acquire an IPv6 address and communicate within that subnet. This auto-configuration removes the dependability of Dynamic Host Configuration Protocol (DHCP) servers. This way, even if the DHCP server on that subnet is down, the hosts can communicate with each other. 
IPv6 provides new feature of IPv6 mobility. Mobile IPv6 equipped machines can roam around without the need of changing their IP addresses.
IPv6 is still in transition phase and is expected to replace IPv4 completely in coming years. At present, there are few networks which are running on IPv6. There are some transition mechanisms available for IPv6 enabled networks to speak and roam around different networks easily on IPv4. These are: 
  • Dual stack implementation 
  • Tunneling 
  • NAT-PT 

A process on one host identifies its peer host on remote network by means of TSAPs, also known as Port numbers. TSAPs are very well defined and a process which is trying to communicate with its peer knows this in advance. 

For example, when a DHCP client wants to communicate with remote DHCP server, it always requests on port number 67. When a DNS client wants to communicate with remote DNS server, it always requests on port number 53 (UDP). 

The two main Transport layer protocols are: 
The transmission Control Protocol (TCP) is one of the most important protocols of Internet Protocols suite. It is most widely used protocol for data transmission in communication network such as internet. 

  • TCP is reliable protocol. That is, the receiver always sends either positive or negative acknowledgement about the data packet to the sender, so that the sender always has bright clue about whether the data packet is reached the destination or it needs to resend it. 
  • TCP ensures that the data reaches intended destination in the same order it was sent. 
  • TCP is connection oriented. TCP requires that connection between two remote points be established before sending actual data. 
  • TCP provides error-checking and recovery mechanism. 
  • TCP provides end-to-end communication. 
  • TCP provides flow control and quality of service. 
  • TCP operates in Client/Server point-to-point mode. 
  • TCP provides full duplex server, i.e. it can perform roles of both receiver and sender. 

The length of TCP header is minimum 20 bytes long and maximum 60 bytes. 
  • Source Port (16-bits)  - It identifies source port of the application process on the sending device. 
  • Destination Port (16-bits) - It identifies destination port of the application process on the receiving device. 
  • Sequence Number (32-bits) - Sequence number of data bytes of a segment in a session.
  •  Acknowledgement Number (32-bits)  - When ACK flag is set, this number contains the next sequence number of the data byte expected and works as acknowledgement of the previous data received. 
  • Data Offset (4-bits)  - This field implies both, the size of TCP header (32-bit words) and the offset of data in current packet in the whole TCP segment. 
  • Reserved (3-bits)  - Reserved for future use and all are set zero by default. 
  • Flags (1-bit each) o NS - Nonce Sum bit is used by Explicit Congestion Notification signaling process. 

o CWR - When a host receives packet with ECE bit set, it sets Congestion Windows Reduced to acknowledge that ECE received. 
o ECE -It has two meanings: 
  • If SYN bit is clear to 0, then ECE means that the IP packet has its CE (congestion experience) bit set. 
  • If SYN bit is set to 1, ECE means that the device is ECT capable. 

o URG - It indicates that Urgent Pointer field has significant data and should be processed. 
o ACK - It indicates that Acknowledgement field has significance. If ACK is cleared to 0, it indicates that packet does not contain any acknowledgement. 
o PSH - When set, it is a request to the receiving station to PUSH data (as soon as it comes) to the receiving application without buffering it. 
o RST - Reset flag has the following features:  
  • It is used to refuse an incoming connection. 
  • It is used to reject a segment. 
  • It is used to restart a connection. 

o SYN - This flag is used to set up a connection between hosts. 
o FIN - This flag is used to release a connection and no more data is exchanged thereafter. Because packets with SYN and FIN flags have sequence numbers, they are processed in correct order. 
  • Windows Size - 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, i.e. how much data is the receiver expecting. 
  • Checksum - This field contains the checksum of Header, Data and Pseudo Headers. 
  • Urgent Pointer - It points to the urgent data byte if URG flag is set to 1. 
  • Options - It facilitates additional options which are not covered by the regular header. Option field is always described in 32-bit words. If this field contains data less than 32-bit, padding is used to cover the remaining bits to reach 32-bit boundary. 

TCP communication between two remote hosts is done by means of port numbers (TSAPs). Ports numbers can range from 0 – 65535 which are divided as: 
  • System Ports (0 – 1023) 
  • User Ports ( 1024 – 49151) 
  • Private/Dynamic Ports (49152 – 65535) 

TCP communication works in Server/Client model. The client initiates the connection and the server either accepts or rejects it. Three-way handshaking is used for connection management. 

Client initiates the connection and sends the segment with a Sequence number. Server acknowledges it back with its own Sequence number and ACK of client’s segment which is one more than client’s Sequence number. Client after receiving ACK of its segment sends an acknowledgement of Server’s response. 


Either of server and client can send TCP segment with FIN flag set to 1. When the receiving end responds it back by Acknowledging FIN, that direction of TCP communication is closed and connection is released. 


TCP uses the concept of window size to accommodate the need of Bandwidth management. 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. 
For example, the client uses windows size 2 and sends 2 bytes of data. When the acknowledgement of this segment received the windows size is doubled to 4 and next sent the segment sent will be 4 data bytes long. When the acknowledgement of 4-byte data segment is received, the client sets windows size to 8 and so on. 
If an acknowledgement is missed, i.e. data lost in transit network or it received NACK, then the window size is reduced to half and slow start phase starts again. 


TCP uses port numbers to know what application process it needs to handover the data segment. Along with that, it uses sequence numbers to synchronize itself with the remote host. All data segments are sent and received with sequence numbers. The Sender knows which last data segment was received by the Receiver when it gets ACK. The Receiver knows about the last segment sent by the Sender by referring to the sequence number of recently received packet. 
If the sequence number of a segment recently received does not match with the sequence number the receiver was expecting, then it is discarded and NACK is sent back. If two segments arrive with the same sequence number, the TCP timestamp value is compared to make a decision. 


The technique to combine two or more data streams in one session is called Multiplexing. When a TCP client initializes a connection with Server, it always refers to a well-defined port number which indicates the application process. The client itself uses a randomly generated port number from private port number pools. 
Using TCP Multiplexing, a client can communicate with a number of different application process in a single session. For example, a client requests a web page which in turn contains different types of data (HTTP, SMTP, FTP etc.) the TCP session timeout is increased and the session is kept open for longer time so that the three-way handshake overhead can be avoided. 
This enables the client system to receive multiple connection over single virtual connection. These virtual connections are not good for Servers if the timeout is too long. 


When large amount of data is fed to system which is not capable of handling it, congestion occurs. TCP controls congestion by means of Window mechanism. TCP sets a window size telling the other end how much data segment to send. TCP may use three algorithms for congestion control: 
  • Additive increase, Multiplicative Decrease 
  • Slow Start 
  • Timeout React 

TCP uses different types of timer to control and management various tasks: 

  • This timer is used to check the integrity and validity of a connection. 
  • When keep-alive time expires, the host sends a probe to check if the connection still exists. 
  • This timer maintains stateful session of data sent. 
  • If the acknowledgement of sent data does not receive within the Re-transmission time, the data segment is sent again. 
  • TCP session can be paused by either host by sending Window Size 0. 
  • To resume the session a host needs to send Window Size with some larger value. 
  • If this segment never reaches the other end, both ends may wait for each other for infinite time. 
  • When the Persist timer expires, the host re-sends its window size to let the other end know. 
  • Persist Timer helps avoid deadlocks in communication. 
  • After releasing a connection, either of the hosts waits for a Timed-Wait time to terminate the connection completely. 
  • This is in order to make sure that the other end has received the acknowledgement of its connection termination request. 
  • Timed-out can be a maximum of 240 seconds (4 minutes). 

TCP is very reliable protocol. It provides sequence number to each of byte sent in segment. It provides the feedback mechanism i.e. when a host receives a packet, it is bound to ACK that packet having the next sequence number expected (if it is not the last segment). 

When a TCP Server crashes mid-way communication and re-starts its process it sends TPDU broadcast to all its hosts. The hosts can then send the last data segment which was never unacknowledged and carry onwards. 


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. 


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 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 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 



    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. 




            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. 




                    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 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. 
                    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. 

                    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. 
                    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. 
                    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. 

                    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 include sharing and transferring files over the network. 
                    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. 
                    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. 


                    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. 
                    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 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 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. 
                    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. 


                    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. 


                    a) Communication  
                    b) Maintain standards  
                    c) Metropolitan communication  
                    d) None of Above  
                    a) session layer 
                     b) transport layer  
                    c) network layer  
                    d) data link layer  
                    a) UTP  
                    b) FTP  
                    c) TCP  
                    d) Nvt  
                    a) File Server  
                    b) Printer Server  
                    c) Utility Server Gateway 

                    Comments

                    Popular posts from this blog

                    What if Analysis

                    What-If Analysis What-If Analysis in Excel allows you to try out different values (scenarios) for formulas. The following example helps you master what-if analysis quickly and easily.  Use scenarios to consider many different variables  A scenario is a set of values that Excel saves and can substitute automatically in cells on a worksheet. You can create and save different groups of values on a worksheet and then switch to any of these new scenarios to view different results. 
                    Create Different Scenarios 
                    Note: You can simply type in a different revenue and Cost into cell B2 and B3 respectively to see the corresponding result of a scenario in cell B4. However, what-if analysis enables you to easily compare the results of different scenarios.  
                    I. On the Data tab, click What-If Analysis and select Scenario Manager from the list. The Scenario Manager Dialog box appears  II. Add a scenario by clicking on Add.  III. Type a name (e.g. “First Case”), select cell B2 and B3 (represents “Revenue” and “…

                    PROFESSIONAL ENGLISH

                    Asking For and Giving Opinions on Likes and Dislikes

                    Words Meaning Sample Sentence Opinion A statement or judgment formed about some matter. Bhoomika gave her final opinion on the company’s matter. Dialogue A conversation between two or more people. Her dialogue stated her opinion about the company’s matter. Expression The action of making known one’s thought or feelings. Her expression was sad at the meeting. Frank An open, honest, and direct speech or writing Bhoomika is very frank with her friends. Recover Return to normal state of health, mind or strength. The company’s economic crisis will be recovered soon. Turmoil A state of great disturbance. The company is facing financial turmoil. Economics The branch of knowledge concerned with the production, consumption, and transfer of wealth. Bhoomika studied Economics at the State University. Betrayed Expose to danger by treacherously giving information to an enemy.

                    DAILY LIFE VOCABULARY

                    Apology Etiquette and Office Vocabulary 

                    Chapter Vocabulary

                    Word Meaning Sample Sentence Stressed A state of any mental or emotional tension. Ram seems much stressed after his poor exam. Launch An act of instance of starting something. The government launched a new scheme for the poor people. Error A mistake Ravi found a grammatical error in his new grammar book. Scold Blaming someone for any wrong doing Bhuvan scolded his employees for their poor performance. Accuse Claiming that someone has done something wrong. Bharati accuses her friend Chaya for stealing her necklace. Fair Good and honest Ravi got promoted for doing a fair job. Ashamed Embarrassed or guilty because of one’s action. <