You are on page 1of 22

Aims Main aim is to create a tool to identify congestion in the network of an organisation.

By capturing packets on the egress interface on the edge layer 3 devices. Using these captured packets from the edge layer 3 devices, a detailed report can be written analysing the results and formulating a set of recommendations. Objectives Main Objective is to detect congestion on egress interface of layer 3 devices by developing an application. An Active Queue Management (AQM) mechanism detects congestion and alerts an indication of detected congestion to the egress nodes. Application records detected congestion and reports are generated with a set of recommendations. Detailed documentation of developing the application is produced at each stage. Background Delay is one of the main problem caused by the congestion, by this tool one (administrator) can examine Origin of congestion measurements Specific reports.

Methodology Congestion symptoms provide to characterize the congestion. Its difficult task to achieve the flow rate between server and user but can measure the packet loss, latency etc. By this tool one can answer few questions like who are using the network, for which application, and what the destination is and time of the data flow. Network Joining of one or more systems or computers together to make them to communicate each other like sending files, controlling etc. network can be interconnected to another network and can perform communication between the systems in the network. There are different types of networks, which are characterized based on spatial distance. 1. Local Area Network (LAN) 2. Wide Area Network (WAN) 3. Metropolitan Area Network (MAN) Networks are also characterised by the different implementation of data transmission methodologies. LANs in which computers are connected together in same place. WANs are combination of LANs which are in different areas with special devices like hubs.

Circuit Switching and Packet Switching Networks: Networks are also characterised based on how the paths for communication between the communicating devices are determined. There are two ways of approaches to determine the paths; static path in which path will be determined in advance or variable path which was determined by individual data elements Circuit Switching methodology uses set up or connection between devices referred as circuit. This circuit may be fixed one or dynamically created one. Commonly used circuit switching network is telephone system. When a call is established, data is passed between source and destination. Circuit uses many intermediate devices in between source and destination, when finishes circuit is terminated.

Source

Destination n

Packet Switching is a method in which no particular path is used for data communication, but the data is fragmented into small sets or pieces of packets and are passed across the network. On the destination these packed are recombined to make whole data. In packet switching no particular path or circuit is setup for communication between the source and destination. Data packets which are fragmented in source are passed in different devices or else same packet may pass through different devices. Protocol: A protocol, in contrast, is a set of rules governing the format and meaning of the packets, or messages that are exchanged by the peer entities within a layer. Entities use protocols to implement their service definitions. They are free to change their protocols at will, provided they do not change the service visible to their users. Andrew S. Tanenbaum Computer Networks Prentice hall fourth edition pg:35 A protocol is described as a means for communication in between entities.

Messages:

Network architectures are mainly based on packet switching, in which small pieces of data are sent across the network. These small sets of data are messages which tell what action to be performed. Different types of messages are present at each layer of OSI Referenc Model (explained in detail in later pages). Packet refers to message which was transmitted at network layer of OSI Reference Model. Which contains two basic information Payload (user data) and header information Datagram messages at transport layer of OSI Reference Model, which are sent to above layers. Frames are messages that are transmitted among the low level layers of OSI Reference Model; these are operated at Data-Link layer of OSI Reference Model. Basically frame is addition of header and tailer to the Packet from above layers. o Header contains addressing information which was added at the beginning of the data packet from above layers.it contains information like Frame Start and Quality Control. o Footer is attached at the end of the data packet. Which contains error detection and frame stop. Cell is a fixed size message unlike frames and packets. Protocol Data Unit (PDU) is a general term used to refer protocol message in OSI layer. PDU are sent between layers which contains header information of layer N (lower layers) along with compressed or encrypted message from the Layer N+1 (above layers).

Network models: OSI Reference Model is layered standardization of communication protocol, which has 7 layers. Two major components of OSI model are seven-layer model and protocols. Each layer in OSI model has its own importance, upper layers of the model requests service from lower layers.

Application layer

DATA

Presentation Layer

DATA Session Layer

DATA

Transport Layer

Frames Segments

Network Layer

Packets

Data link layer

Physical layer

Bits

Application Layer (Layer 7): Application layer is the top most layer i.e., 7th layer in OSI model. Functionalities of application layer are to provide network services to applications like http, https, ftp etc. Data to and fro is done by the user is done at this layer. Readable data format at end system. Presentation layer (Layer 6):

Presentation layer is 6th layer and main functionalities of this is to format data like encrypting and decrypting, and also compression. Main protocols used at this layer are SSL, TLS. Session layer (Layer 5): Session layer is responsible for starting and ending the sessions for communication or transfer of data. In this layer received segments are converted to data.

Transport Layer (Layer 4): Transport layer receives packets from its bottom layer and converts them segments and passes it to the above layers. Its main functionality is to ensure the Quality of Service (QoS) it also deals with transmission and receiving of packets. Main protocols used at this layer are TCP, UDP, and SPX. Network Layer (Layer 3): Network layer is responsible for the data transmission along a particular path. Network layer provides different types of devices that are responsible for choosing best optimal path from desired paths. By assigning IP address to the packet so that it can reach destination along the path. Main functionalities are to addressing, identifying possible routes and routing the packets along the identified path. Protocols used at this layer are ICMP, ARP, IP etc., Data-Link Layer: Receives data bits from the below layer and coverts them to frames, which are forwarded to above layers. It links one host to other Physical layer: Signal received at physical layer is transformed to 0s and 1s. it is the layer that is physical connected to the end systems.

TCP/IP Reference model is collection of many protocols used for internet. Data formatting, addressing, routing, transmission of data and its delivery at the end system is provided by this model. This model has four abstract layers, each layers have their own protocols

TCP/IP reference model from http://technet.microsoft.com/en-us/library/cc786900(v=ws.10).aspx November 2012. Application layer (Layer 4): Top layer in TCP/IP model is application layer which defines TCP/IP application protocols and also it defines connectivity of host system to the layer. It mainly concentrate on the protocols like Domain Naming Service (DNS), File Transfer Protocol (FTP), HTTP (Hyper Text Transfer Protocol) etc., which are high level protocols that helps in manipulation of data in frontend. Transport Layer (Layer 3): Transport layer provides devices that are carry the data packets to destination or into source. Transport layer provides connection status while data transferring and service level. TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) are two main protocols are used in this layer. Internet Layer (Layer 2): Provides service to its above layer (transport layer which is layer 3) and request service from it bellow layer (Network interface layer which is layer 1). Internet layer converts data received from its above layer in to IP datagrams by adding additional information (source and destination IP addresses) that are used for the flow datagrams across the network. Internet layer also helps in routing of these IP datagrams. Main protocols that are used in this Layer are Internet Control Message Protocol (ICMP), Internet Protocol (IP), Address Resolution Protocol (ARP). accessed on 14th

Network Interface Layer: Network interface is the lowest layer in TCP/IP model. This layer details how data is sent physically across the network through optical fiber, coaxial cable. Protocols used in this layer are Ethernet, X.25, Frame relay etc. CSMA/CD (Carrier Sense Multiple Access/ collision Detection) is used by Ethernet to determine how data is transferred across the network

Router Before going to the router we should know what layer 3 devices are. Layer 3 devices are network layer devices of OSI reference model which performs layered communication. Network Layer process the data PDUs from its above layer and process by the IP address in the packets network header. Router is network device i.e., layer 3 devices and some switches as well are layer 3 devices. They perform layered communication between the end systems. To perform this communication, router performs. Addressing Routing Encapsulation De-encapsulation Packet forwarding

Router generates routing tables to forward the packets in to the network, consists of following attributes network id, next HOP, metrics, interface, gateway. Functionalities of Router The main function of a router is to manage the path on which data is transferred along the network. Routers can also be defined as a layer 3 packet switch. Based on TCP/IP networking protocols data is transmitted on the network. While transmitting information, data is converted to packets, which contains additional information like next hop address, destination address, TOS. Design of router is to direct these packets on the shortest or best route to the destination. Routers are of two types: Dynamic Router and Static Router. The dynamic Router is programmed to manage data traffic across the network, by a routing protocol, whereas a static router is to be configured manually by administrator who programs all of the necessary routes that are needed for data packets. Layer 3 Packet Switch

Main operational part of the Layer 3 switch is switching of packets. Difference in Layer 3 Switch to the router is in physical implementation, when comparing to the operational part of the router in switching of packets. Router uses microprocessor- based engines for its packet switching, whereas a Layer 3 uses ASIC hardware (Application Specific Integrated Circuit). Packet switching engine always concern about incoming packets, tracing destination address and comparing with routing table and forward the frame to the destination port. Packet switching engine also can do packet manipulation by means of creating an Ethernet frame with MAC address of its own as source, Time-To-Live field decrementing in the IP header and Frame Check Sequence recalculation. Layer 3 packet switching techniques are also referred as packet by packet. Ref: http://faculty.ccri.edu/tonyrashid/Files/CCNP/Layer3Switching.pdf

Routing Protocols: Routing protocols are set of rules that are meant to define how to transfer packets or communicate to other routers in the network. These routing protocols are responsible for the exchange of information like routing tables to the other routers in the network. There are two different types of routing protocols. a) Static routing protocols b) Dynamic routing protocols Routers gather information of neighbour routers in form of routing tables which states the network topology whether router is connected directly or through other networks. If static routing protocols are enabled then administrator has to define the routing table. If dynamic routing protocols are used then the changes and updates are done dynamically. A routing protocol is the language a router speaks with other routers in order to share information about reachability and status of the network Ref: Routing TCP/IP volume 1(CCIE Professional Development) by Jeff Doyle published by Cisco Press Dynamic routing Protocols: Dynamic routing protocol provides the path and updates routing table functions. If the path specified by the protocol is unreachable then alternate next-best path is provided to reach the destination. All the routing protocols are built based on an algorithm which contains following functions: a) Function that provides information about reachability to the networks to the different routers in the network. b) Function of getting information from the other networks.

c) Function to find best paths. d) Function that checks the network topology dynamically. Features Classful/ classless Category Ripv1 Classful RIP v2 Classless OSPF Classless IGRP Classful EIGRP Classless

Distancevector

Distancevector 120

Link state

Distancevector 100

Hybrid

Administrative 120 cost

110

Internal:90 External :170 delay

Metric

HOP

HOP

Bandwidth

Delay

Routing Protocols http://www.cisco.com/en/US/docs/net_mgmt/active_network_abstraction/3.7/reference/guide /routpro.html. Network Performance Issues: Main theme of networking is communication i.e., sending data from one host to another host or destination. One of the important characteristics to be considered is speed, the rate of data that is transmitted from source to destination. While implementing high-performance network, following characteristics are to be noted, Quality is key characteristics in terms of quality of components that are used to implement. Because it may effect on reliability (especially transferrin of data) and managing (administration). Speed is one of the main aspects of performance issues, rate of transfer at source may differ receiver side to receive the packets. Bandwidth is capacity of network to carry data in carrying medium, which indicates amount of data that can be transferred in a unit of time. Throughput is a measure of how much data that can be passed or transferred per unit of time in the network through interface. Through put is measured in terms of bits per second (bps), Bytes per second (Bps) and Megabits per second (Mbps). Latency is timing of actual data that is sent on interface. Latency is answer of question, how long did the packet take at time of sent to time of receiving or arriving.

Congestion Congestion occurs when there is sustained network overload. In otherwords congestion occurs when there is need of more resources than the capacity, due to more queuing in the network there will be loss of packets, which results in packet retransmission. Flow-control: Flow control is preventing the overflow of the data in receiver side. Flow control is very helpful in decreasing the delay and congestion. For an instance when a fast sender sends the data to the receiver 1. if the both are in the same speed of sending the data and receiving the data, which uses the sliding protocol where window is large and there will be congestion 2. if the window size is small then link will not be congested. Flow control occurs at two levels: 1. host to host 2. router to router Congestion control Congestion control controls the network from being overloaded by users. In wired networks the congestion problem is controlled by allocating additional resources at the routers during connection setup/configuration. In wireless networks by using choke packets (explicit messages) from the network to the sources, or by implicit means such as timeout on a packet loss to control the congestion. Congestion Avoidance: Congestion occurred when data packets are passed on a high-speed LAN, and sent to a slower WAN network. The congestion can also occur when more than one input stream is a router that is less than the sum of the inputs. Congestion avoidance is a methodology of dealing with lost packets. By this congestion Avoidance the data loss can be achieved and reliable bandwidth will be in use. For every packet that was passed on the network will reach the destination. Congestion in Transport Layer Transport layer is layer 4 in OSI Reference model which provides certain functionalities that are required for communication between application of source and destination systems. Transport layer process the data from above layers in to single flow to its lower layers. Transport layer also performs error detection, congestion control, Quality of Service and data transfer. Error detection processes whether appropriate data is transferred to application layer across the network. Quality of Service will be improved when there is low congestion.

There are may be buffer overflow, low bandwidth, resending of same packets to destination which causes congestion across the network. For an instance when there is buffer overflow, layer3 devices like routers discard any arriving packets this is due to congestion at buffers. When many hosts sends data packets to a single source which may lead to buffer overflow at receiver, leading to inaccessible to other hosts that wants to send data to same receiver. So network needs proper congestion control mechanisms to avoid congestion. Otherwise congestion leads to low performance. TCP at transport layer provides certain mechanisms that provide congestion control. TCP congestion control process the transmission speed by special flag bits. Field Study on Congestion control: A link or node in the network will have congestion during the flow of data or packets, consisting of the quality of service. Typically, it effects on the delay, packet loss, or are blocking new connections. This is a result of the last two only a little increase in growth or increasing network performance/load leads and that it provides a reduction in the real network performance. Data packet are lost during transmission across the network, packets that are lost during transmission are not regained but are re-transmitted to the receiver by the sender if there is an ACK packet transmission to the sender as acknowledgement to the packet it received. Congestion occurs when there is large number of data on to the network when there is no enough bandwidth to carry the packets. To reduce the congestion traffic these packets were passed to an additional buffer so that these excess packets are stored based on the sequence number in the data packet helps in the acknowledgement packet retransmission is achieved. The main aim of congestion control is to keep the system operating close to the rated capacity, even in the extreme performance/overload. This is obtained by limiting services to the authorized users. Quality of Service For the scrutiny and control of the data traffic across the network, Quality of Service is used at this point to control and inspect the packets. QoS uses the protocols that are defined to characterise the data transfer. Due to increase in multimedia data traffic (audio and video files), QoS became important part of network Characteristics. QoS is generally referred in providing a better services to particular network traffic using different technologies like SONET, Asynchronous Transfer Mode (ATM), IP-routed networks. Features of QoS are Providing dedicated bandwidth Avoiding network congestion Managing network congestion Setting priorities to the packets on the network.

QoS Architecture To provide the features of QoS across the network is to provide end-to-end QoS delivery, for these three main components are required. QoS using of features like queuing, scheduling, and traffic shaping with in a single network element. QoS signalling techniques for coordinating QoS from end-to-end between network elements. QoS policing and management functions to control and administer end-to-end traffic across a network. Quality of Service Overview http://www.cisco.com/en/US/docs/ios/12_0/qos/configuration/guide/qcintro.html , accessed on 30th November Quality of Service Models a) Best effort Service Model in which application forwards data in any quantity and also it forwards without acknowledging the network. Network may or may not deliver data without throughput. This service model are most prominent for large network applications like email servers. b) Integrated Service, this service provides multiple services to network application. Before sending data traffic across the network, applications requests a set of services from the network, which was made by explicit signalling. Profile information which can enhance the bandwidth and delay properties are sent in explicit signalling. On the basis of the profile information which was received from the application, network performs the admission control.

R. Braden, D. Clark & S. Shenker,"Integrated Services in the Internet Architecture: an Overview," RFC 1633, June 1994.
c) Differentiated Services, also provides multiple services as of integrated services. But the difference is that these services do not signal explicitly before sending traffic. In this network based on the each packet's specification it delivers specific services. This service is suitable for aggregate flows since it uses specifications. Nichols K., Blake, S., Baker, F. and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, December 1998. http://www.ietf.org/rfc/rfc2474.txt Major QoS Features Major QoS features provided by many of the layer3 router vendors are

I.

Classification: this feature provides ability to divide data traffic into multiple classes. For an instance, using Tos field (which are 3 bits)bits from IP header can divide the traffic in to possible 8 different classes where two are reserved and remaining six are set to packet division in to traffic classes. Most of the classifications are based on the policies which are set by the network administrator. Policies are set of rules which include classification of packets on the basis of port address of source and destination, application port, or may be a access list. IP Precedence allows choosing a traffic class of services based on the three bits of TOS field in IPV4 header. Based on these bits network specifies type of services to be given to the traffic. To prioritize the traffic some of the queuing mechanisms use IP Precedence. Policy-Based Routing allows routing the packets by manual policy configuration for traffic. This classification provides network more control and extending the mechanisms of routing protocols. In this Policy-Based routing one can use IP Precedence and set a paths for certain traffic to flow (for example priority traffic on the more bandwidth links). Committed Access Rate (CAR) allows to implementation of classification services and policy mechanisms by rate limit. A classification service of CAR allows using of IP precedence to the packets that are in to network. By this classification of CAR provides division of network into multiple levels of classes.

II.

Congestion management is one of the main features of QoS to control and operate congestion across the network or a link. Networks handle traffic i.e., overflowed in the network elements by using queuing techniques. Queuing algorithms are used to sort the traffic and to provide priorities at output links. Queuing algorithms solve particular traffic flow problems and had effect on performance. Major Queuing algorithms are FIFO Queuing is a mechanism in which packets are stored when congestion occurs and forwards them when there is no congestion in the network. Packets are sent in order in first come first serve basis that is in which they are arrived in to queuing through interface. All the packets are treated equally there is no higher priority packets or low priority packets. FIFO is the fastest mechanism of queuing, which has effect on large links that have small delay and minimum congestion.

Priority queuing is a mechanism which allows to prioritized the traffic in to the network using priority list, which are applied at the interface using priority command. Priority queuing contains different tasks 1) Creating priority list 2) And applying them to an interface.

Example configuration of priority queuing. a) Creating priority-list: Router(config)# access-list 15 permit 192.168.10.1 0.0.255.255 Router(config)# priority-list 1 protocol ip high list 15 (priority queueing based on type of protocol) Router(config)# priority-list 1 queue-limit 10 25 35 55 (this command specifies the queue limit for high, medium, normal and low queue limit) b) assigning priority-list to an interface: Router(config)# interface fa0/1 Router(config-if)# priority group 1 http://www.cisco.com/en/US/docs/ios/12_2/qos/configuration/guide/qcfpq.pdf Weighted Fair Queuing queuing provides dynamic queuing mechanism, on the basis of weights of the traffic bandwidth of the queues are divides. By which all the traffic data are allocated to fair bandwidth. WFQ is defined by a flow-based algorithm which continuously allocates interactive traffic to the queue so that there will be decrease in response time and sharing of remaining bandwidth will be done for the high bandwidth flows. Configuring WFQ To configure WFQ to an interface Router(config)# interface serial 0/0 Router(config-if)#fair-queue 64 512 18 Custom queuing allows specifying the packets to drop from the queue. Custom Queuing allocates particular bandwidth to the particular traffic. Configuring custom queue requires a) Creating Queue list. Router(config)# interface fa0/0 Router(config)# custom-queue-list 2 Bandwidth of an interface can be controlled by using custom-queue. This can be done by allocating specified byte count to the output queue. This implies defining the how much amount of data bytes to be moved from current queue to the next queue.

Router(config)#queue-list list_number queue queue_number limit limit_number Router(config)# queue-list 2 queue 15 limit 40 b) assigning packets to the queue. Packets can be assigned to queues on the basis of type of protocol or may be interface of the router. Router(config)# queue-list list-number protocol protocol-name queuenumber queue-keyword keyword-value Router(config)# queue-list 2 protocol ip 15 list 10 III. Congestion avoidance mechanisms provide monitoring traffic to avoid congestion at the network interfaces. This is done by dropping the packets. Most common using avoidance mechanisms are Random Early Detection (RED) and Weighted Random Early Detection (WRED). Tail drop is also avoidance mechanism. Trail Drop is a configured in default in a router, when there is no other avoidance mechanisms are implemented. Tail drop doesnt classify classes of packets and treats every packet equally. When output queue is full then tail drop drops the packets which are entering in to the system until congestion is eliminated. Random Early Detection is based on TCP congestion control methods by dropping packets of high congestion periodically, and RED alerts packet source to slow down its transmission rate. RED alerts the end source when to slow down their transmission rate by controlling size of the queue. Weighted Random Early Detection is a mechanism in which packets are dropped according to IP precedence. WRED drops lower precedence packets than the packets which have higher precedence. So that probability of packet traffic which are higher priority, delivery is higher than the packets which are low priority. Benefits: The output buffers are filled during congestion when RED is configured then tail drops appears and drops all the packets until output buffer is empty. By dropping all the packets at a time leads to global synchronization of TCP hosts, so that TCP host limits its transmission rates. As soon as congestion is cleared, hosts transmission rates are increased again causing congestion. RED drops the packets from the higher congestion traffic. Thus the host which transmission rates are high are limited than the host that transmits small traffic. Based on different IP precedence different priority and weights are provided by the WRED, thus producing Quality of Service (QoS) to various traffic. During congestion low priority traffic is dropped than the traffic with high precedence.

Limitations: WRED mechanism has few limitations i. WRED is used when there is large TCP /IP traffic. Because TCP retransmits the dropped packets at the same rate compared to other protocols. Traffic other than TCP/IP traffic will be set to lower precedence i.e., set to 0. WRED cant be configured on a sub-interface.

ii.

iii.

IV.

Signalling gives end-to-end Quality of Service across the network. Signalling is a traffic handling mechanisms. Qos Signalling uses IP either IP precedence or RSVP. To classify QoS service to a particular traffic either in-band or out-of-band signalling are used. QoS signalling uses RSVP for assured QoS whereas IP precedence for differentiated service.

Differentiated services Differentiated service is one of the best QoS models, which allows users to classify network information and mark them to differentiate with other information. Differentiated service provides marking of packet based on ToS field in IPv4, so that each packet marked receives per-hop behaviour at each node in the network. To achieve end-to-end QoS, differentiated services architecture has two components: a) Packet Marking b) Per-hop behaviour Packet marking in differentiated services is different from ip precedence where only three bits are used for marking but in differentiated service architecture uses six bits to classify/mark the packets
0 1 2 3 4 5 6 7

Class Selector codepoint


unsed

Differentiated Services CodePoint (DSCP)

http://www.cisco.com/en/US/technologies/tk543/tk766/technologies_white_paper09186a008 00a3e2f_ps6610_Products_White_Paper.html

This field is DS field with six bits as Differentiated Service Codepoint. With this DSCP a packet can be classified into 64 different classes. Per Hop Behaviour Packets that are marked with same DSCP value are known to be Behaviour Aggregate. These packets may be from different applications. Per Hop Behaviour is externally observable behaviour of a node applied at DS-compliant node to a DS BA. S. Blake Torrent, D. Black, M. Carlson, E. Davies , Z. Wang, W. Weiss An Architecture for Differentiated Services, RFC 2475 ,December 1998 http://www.ietf.org/rfc/rfc2475.txt

Default PHB states that packet classified with DSCP with the value of 000000 receives best services from the node which compiles the requirements of DiffServ. If any packet which are not classified to any PHB then the packet is mapped to default. Class-Sector PHB allows using ip precedence scheme with backward compatibility. First three bits in the DS field are known as class-sector codepoint. This PHB provides the same forwarding and marking behaviour of ip precedence. Nichols K., Blake, S., Baker, F. and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, December 1998. http://www.ietf.org/rfc/rfc2474.txt Expedited Forwarding PHB implemented using priority queuing so that it provides low latency, assured bandwidth services. V. Jacobson, K. Nichols, K. Poduri An Expedited Forwarding PHB RFC 2598, June 1999
http://tools.ietf.org/html/rfc2598

Assured forwarding PHB provides different bandwidth and space for different traffic. There four different clases of assured forwarding (AF1, AF2, AF3, AF4). Depending on Service level agreement (SLA) with provider. Each class of Assured Forwarding (AFx) defines three drop precedence values.

If there is congestion in a DS-node on a specific link, and packets of a particular AFx class (for example AF1) need to be dropped, packets in AFxy will be dropped such that the dP(AFx1) <= dP(AFx2) <= dp(AFx3), where dP(AFxy) is the probability that packets of the AFxy class will be dropped. J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, Assured Forwarding PHB Group,RFC 2597 June 1999 https://tools.ietf.org/html/rfc2597

DROP Precedence Low Drop Precedence

Class#1 (AF11) 001010

Class#2 AF21 010010 AF22 010100 AF23 010110

Class#3 AF31 011010 AF32 011100 AF33 011110

Class#4 AF41 100010 AF42 100100 AF43 100110

Medium Drop Precedence

AF12 001100

High Drop Precedence

AF13 001110

http://www.cisco.com/en/US/technologies/tk543/tk766/technologies_white_paper09186a008 00a3e2f_ps6610_Products_White_Paper.html

DiffServ Architecture

meter P1/P 2 P2 Un-trusted Marking Shaping classifier P3 Marker P2/P 3 Dropper/ shaper Droppin g

DiffServ Traffic Conditioner Block Figure: DiffServ Architecture http://www.cisco.com/en/US/technologies/tk543/tk766/technologies_white_paper09186a008 00a3e2f_ps6610_Products_White_Paper.html

Modelling plan

Important part of software development is modelling. Modelling is one of the fundamental software development framework activities. A model represents either requirements or the solution using an abstract and graphical representation. Model helps the developers to experience the system even before it is really developed. The stakeholders can use the models to approve or reject the understanding of the developers. Java Java is an object oriented, multithreaded programming language developed by Sun Microsystems in 1991. It is designed to be small, simple and portable across different platforms as well as operating systems. Java is a unique technology which was designed on the basis of three

key elements. They are the usage of applets, powerful programming language constructs and a rich set of significant object classes. When a program is complied, it is translated into machine code or processor instructions that are specific to the processor. In the java programming there are two parts: a java compiler and a java interpreter. The complier generates byte code from the program which non-human understandable instead of machine code and the job of interpreter is to execute the byte code. The disadvantages of using the byte code is the execution speed, system specific programs run directly on the hardware, they are faster than the java byte code. Java Programming can be written in notepad, Word pad, MS-DOS editors etc. To get java complier and Runtime Environment is to download suns java development kit. This provides system input and output capabilities and other utility functions in addition to the classes that support networking, common Internet protocols and user interfaces toolkit functions.
Bytecode Bytecode allows Java to solve both the security and the portability problems. The outcome of a Java compiler is not an executable code, it is a bytecode which is a highly optimized set of instructions which is executed by the Java run-time system, which is called the Java Virtual Machine (JVM). the output of Java program bytecode converts the it as portable so that every platform can run the program. Java program is interpreted also helps to make it secure. Execution of Java program is under the control of the JVM, the JVM can contain the program and prevent it from generating side effects outside of the system. The use of bytecode enables the Java run-time system to execute programs much faster than you might expect.

Java Virtual Machine (JVM) The java virtual machine is an important element of the java technology. The virtual machine can be embedded within a web browser or an operating system. Once a piece of Java code is loaded onto a machine, it is verified. As part of the loading process, a class loader is invoked and does byte code verification makes sure that the code thats has been generated by the compiler will not corrupt the machine that its loaded on. Byte code verification takes place at the end of the compilation process to make sure that is all accurate and correct. So byte code verification is integral to the compiling and executing of java code

Java code

Javac

Bytecode

.class .java

JVM

WHAT CAN JAVA TECHNOLOGY DO?


The most common types of programs written in the Java programming language are applets and applications (java swing programming). An applet is a tiny program which runs within a Javaenabled browser. High-level Java programming language is also a powerful software platform.

An application is a standalone program that runs directly on the Java platform. A special kind of application known as a server serves and supports clients on a network. Examples of servers are Web servers, proxy servers, mail servers, and print servers. Another specialized program is a servlet. A servlet can almost be thought of as an applet that runs on the server side. Java Servlets are a popular choice for building interactive web applications, replacing the use of CGI scripts. Servlets are similar to applets in that they are runtime extensions of applications. Instead of working in browsers, though, servlets run within Java Web servers, configuring or tailoring the server. Java platform gives you the following features:

The essentials: Objects, strings, threads, numbers, input and output, data structures, system properties, date and time, and so on.

Applets: The set of conventions used by applets. Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data gram Protocol) sockets, and IP (Internet Protocol) addresses.

Internationalization: Help for writing programs that can be localized for users worldwide. Programs can automatically adapt to specific locales and be displayed in the appropriate language.

Security: Both low level and high level, including electronic signatures, public and private key management, access control, and certificates. Software components: Known as JavaBeansTM, can plug into existing component architectures.

Object serialization: Allows lightweight persistence and communication via Remote Method Invocation (RMI). Java Database Connectivity (JDBCTM): Provides uniform access to a wide range of relational databases.

Java Swing

You might also like