International Conference and Workshop on Emerging Trends in Technology (ICWET 2010) – TCET, Mumbai, India
A Novel Approach for Resource Allocation in Broadband Access Networks M A Qadeer
S Habib
Dept. of Computer Engineering Aligarh Muslim University Aligarh- 202002, India
Engineer-PV Tejas Networks Limited Bangalore-560078, India
[email protected]
[email protected]
A Y Javaid
M A Hafeez
Scientist Fellow CSIR hqrs, Rafi Marg New Delhi 110001, India
Commercial Manager Areva T&D India Ltd Chennai, India
[email protected]
[email protected] interdisciplinary departments will be members of two or more VLANs.
ABSTRACT The paper presents a new approach for Bandwidth control in Broadband Access Networks, especially Digital Subscriber Line (DSL) and Cable Internet (DOCSIS) users. The basic idea is to have a broadband line to the server receiving all the incoming bandwidth. The approach is to have bandwidth division among various VLANs in a network connected via a switch to a centralized server. This approach can be implemented either in an institution where the amount of bandwidth to each department falling under one VLAN can be allocated proportional to the usage and requirements or in an industry where bandwidth needs to be allocated to various divisions. The concept of giving bandwidth according to the VLAN has been made to enhance security and ensuring that the traffic of one VLAN reaches that particular VLAN only. The basic idea is to have a broadband line to the server receiving all the incoming bandwidth. The server then queue the packets according to the VLAN id .The VLAN id of some department having paid for higher bandwidth or having more importance will be given higher priority at the server. All packets belonging to a particular VLAN will be queued in the same queue. The VLAN having higher precedence will have more of its packets sent than the other queues to ensure that the VLAN which was allocated higher bandwidth will receive that bandwidth. The idea is to have VLANs spread across multiple switch yet providing the proportionate bandwidth to each VLAN and also provide mobility to each member of VLAN. Some end users who are of
Categories and Subject Descriptors C.2.5 [Computer Communication Networks]: Network Operations – Network management, network monitoring
General Terms Management, Performance, Design, Reliability, Experimentation,
Keywords Broadband Networks, Access Networks, DSL, Bandwidth Control, QoS, Scheduling Algorithms.
DOCSIS,
1. INTRODUCTION The usage and requirements of each department varies in any setup be it institutional or industrial. One department may be using all its bandwidth for bandwidth intensive applications like torrents etc but not doing any fruitful work while some departments may be need a higher bandwidth for applications like internet telephony but may not be receiving that bandwidth. Our approach is to limit the amount of bandwidth that each department has so that the usage is as per the requirements. The allocation/guarantee can be based on the service discipline designed by the network administrator.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
1.1 Why use VLAN architecture for bandwidth allocation
ICWET’10, February 26–27, 2010, Mumbai, Maharashtra, India.
VLAN architecture benefits include: Increased performance Improved manageability
Copyright 2010 ACM 978-1-60558-812-4…$10.00.
268
International Conference and Workshop on Emerging Trends in Technology (ICWET 2010) – TCET, Mumbai, India
being the reason behind selecting the platform for our application as a UNIX platform. The phases are described below.
Network tuning and simplification of software configurations Physical topology independence Increased security options
2.2.1 Authentication As for authentication we have left this for the switch to take care of. The switch on the ingress port if receives a packet having some VLAN id but that VLAN table doesn’t have any member then that packet would be dropped. Switch has to be configured to provide VLAN membership to the end users.
1.1.1 Increased performance Since packets would be forwarded to their respective domains based on their VLAN id , there is no extra overhead of forwarding it to VLANs to which it does not belong.
1.1.2 Improved manageability
2.2.2 Packet Capturing
System is quite scalable and manageable. Any department may be denied bandwidth by blocking its VLAN id.Alternatively any new department may be added by adding a new VLAN id.
Packets can be captured either using hardware or a software. Software tools are often preferred often because of their low cost and high versatility. We will be using the libraries jpcap and winpcap to capture packets.
1.1.3 Increased security options: VLANs have the ability to provide additional security not available in a shared media network environment. By nature, a switched network delivers frames only to the intended recipients. So there is no bandwidth wastage.
After a valid packet has been received by the NIC, this generates a request toward the bus controller for a bus mastering data transfer. At this point the NIC takes control of the bus, transfers the packet to the NIC buffer in the host’s memory, releases the bus and generates a hardware interrupt towards the Advanced Programmable Interrupt Controller (APIC) chip. This chip wakes up the OS interrupt handling routine, which triggers the Interrupt Service Routine of the NIC device driver.
2. DESIGN 2.1 Core of the Design
Figure 1: Application of resource allocator in VLAN environment
2.1.1 Fair Queuing Fair queuing is a technique that allows each flow passing through a network device to have a fair share of network resources [5], [6]. Users or processes having paid for higher bandwidth will be guaranteed that amount of bandwidth at all times.
Figure 2 Bandwidth Control using bandwidth cable modem The ISR of a well written device driver has little to do. Basically it checks if the interrupt to itself and acknowledges it. Then the ISR schedules a lower priority function (called the Deferred Procedure Call DPC) that will later process the hardware request and notify the upper layers that a packet has been received. The CPU will process the DPC routine when no interrupt requests are pending. Interrupt coming from the NIC are disabled when a NIC device driver is performing its work because a processing of a packet has to be completed before the next one is serviced.
2.2 System Design The implementation idea was to simply restrict bandwidth based on application priority because of the reason of the requirement of such bandwidth limiting in any industrial, technical or institutional setup. Basic implementation is a four phase process. Starting from authenticating the user to finally controlling every packet passing through the server, all phases require a powerful and stable server,
269
International Conference and Workshop on Emerging Trends in Technology (ICWET 2010) – TCET, Mumbai, India The solution is to modify the Deferred Procedure Call (DPC) function so that it only notifies the packet capture drivers and not the protocol layer drivers. So packet not destined to the server will only be captured by JPCAP and processed by our software and hence will not result in redundancy
2.2.2.1 Packet Capture Libraries 2.2.2.2 Jpcap is an open source library for capturing and sending network packets from Java applications. It provides facilities to: Capture raw packets live from the wire. Save captured packets to an offline file, and read captured packets from an offline file. Automatically identify packet types and generate corresponding Java objects (for Ethernet, IPv4, IPv6, ARP/RARP, TCP, UDP, and ICMPv4 packets). Filter the packets according to user-specified rules send raw packets to the network
2.2.2.5 How is the Bandwidth actually allocated: Queues can be built on the basis of VLAN id’s if the bandwidth is allocated to the departments. The queues of VLAN which are of higher priority such as an RND dept. will be allowed to send more no. of packets than the VLANs which are of low priority such as sales in order to ensure that they receive the allocated bandwidth. The end VLANs having VLAN id say ID1, ID2 and ID3 have been allocated say 2mbps, 2 mbps and 1 mbps bandwidth respectively. The total bandwidth available to the server is say 5mbps. The NIC queues all the incoming packets irrespective of their VLAN ids. Then they are queued into their respective queues. The packets are sent from the queues to the output buffer at certain intervals. In 1 second time the queue of ID1 will be allowed to send 200 Mb/1500 bytes packets, ID2 will be allowed to send 2Mb/1500 bytes packets and MAC3 will be allowed to send 1Mb/1500 bytes packets considering each packet to be of 1500 bytes. This pattern will be followed in a round robin manner. A timer and a counter are used to ensure that the queues send packets for specified duration only. The time slot available to each queue is based on their VLAN id. The VLAN ids are mapped onto a translation table which gives the allocated bandwidth to that VLAN.
2.2.2.3 What these libraries can’t do Jpcap captures and sends packets independently from the host protocols (e.g., TCP/IP). This means that Jpcap does not (cannot) block, filter or manipulate the traffic generated by other programs on the same machine: it simply "sniffs" the packets that transit on the wire. Therefore, it does not provide the appropriate support for applications like traffic shapers, QoS schedulers and personal firewalls. Packet capture components are usually transparent to other software modules like protocol stacks, thus not influencing the system’s behavior .They just insert a hook in the system so that they can be notified usually through a callback function called tap()-as soon as a new packet arrives from a network. Packet capture components are usually implemented as network protocols drivers in Win32.A packet not destined to the host will be captured by JPCAP if it is running in the promiscuous mode (this mode captures all packets whether destined to the host or not).The NIC upon recognizing that the packet does not belong to it will not send it to the protocol stack but will pass it onto the Ethernet. Our software will queue the packet and send it after a requisite delay. So the destination will receive two packets: One send by our software and one by the NIC.
2.2.3 Packet Queuing When the system sees the packet, it can do one of three things:
2.2.3.1 Discard the packet This allows the system to provide a very robust and granular packet filtering mechanism.
2.2.3.2 Forward the packet at real time
2.2.2.4 The Solution
This means that the packet bypasses the entire bandwidth management system and is immediately forwarded by the device. The end- result is effectively the same as if bandwidth management was not enabled at all. This will be done if some user is having such privileges.
2.2.3.3 Prioritize the packet: This allows the mechanism to provide actual bandwidth management services (applicable to rest of the users). Packets captured in previous step are now maintained in separate dynamic queues based on their destination address so as to transmit to their respective destination.
2.2.3.4 Inserting delay and Packet transmission All of the services are then provided the required rate (based on their priority) by queuing the packets and making them wait for their turn. A queue after sending packets will have to wait for its turn again since the packets are sent in a round robin manner. One problem in sending the packets is that the traffic arrives in bursts. A higher priority queue that has to send more no. of packets may not have those much packets in its queue while the Figure 3: Bandwidth Controller with ADSL Broadband setup
low priority queue may have a higher no. of packets. The solution to this problem is to monitor the flow of incoming
270
International Conference and Workshop on Emerging Trends in Technology (ICWET 2010) – TCET, Mumbai, India packets and to take it as criteria in deciding how much packets each queue will send to guarantee each service its allocated bandwidth. Finally, after determining the required delays for different users, the packets received are now sent to the respective destinations by the data rate determined by inserting delays between transmissions of each packet. The packets are send by first finding out the Network Interface address and then sending the packets to that NIC. The libraries jpcap and winpcap are used for sending the packets.
3. RESULTS The system having an 8 Mbps connection gives following results Figure 4 Bandwidth Allocation in Broadband Access Networks One result of using “best effort” protocols may be that applications may effectively “hog” limited bandwidth resources by sending and/or receiving large numbers of packets over the network. This may starve other applications of bandwidth, thereby preventing those other applications from running as desired. For example, voice over internet protocol (“VoIP”) services may not run reliably while bandwidth-hogging applications (e.g., massively multiplayer online games, certain file sharing applications, etc.) are running over the same network. Some network components (e.g., routers, residential gateways, and modems) attempt to provide certain applications minimum levels of service by allowing port-level configurations. In certain components, specific ports may be designated to send and/or receive certain types of packets and to prioritize those packets, such that a minimum level of service is maintained for those packets where possible. For example, a logical port on a router may be configured to send and receive VoIP packets with a very high priority. In this way, the router may attempt to establish a minimum level of service to VoIP packets, thereby indirectly attempting to establish a minimum level of service to any applications that send and/or receive VoIP packets. However using the bandwidth limitation one can restrict the upstream and downstream bandwidth usage of each application.
Table 1 as shown in Table 1. Pure Bandwidth – Actual available bandwidth to the server. Bandwidth Actually available – Total bandwidth available (i.e., which can be used) due to some delay in server due to its processing.
The performance of our system is quite good in providing the Quality of service required by today’s data operators and organizations. The system will be able to provide actual bandwidth allocated to the particular service. Obviously, in any organization, the resources are allocated on the basis of priorities, so same will be done by our system. Since time is spent in capturing the packets, queuing them and then sending them there is a minor delay in the users receiving the packets. Also the OS has to run many other processes and each process receives a quantum of time to execute. However taking into the account the fewer resources our product requires and the freedom of running the application along with other applications and the near to the allocated bandwidth each user receives, it is obviously better than contemporary Bandwidth Limiters. A short overview of what the implementation of our project might look like can be seen in the Figure 1 and 2.
4. CONCLUSION Many typical networks, including the Internet, may be configured as “best effort” networks. In a best effort network, each packet of information may be given substantially equal priority, such that the network may make a best effort to transmit each packet, regardless of the application from which the packet originates. This may allow a network to remain neutral to and compatible with any potential applications with which it may be used.
271
International Conference and Workshop on Emerging Trends in Technology (ICWET 2010) – TCET, Mumbai, India [3]. Weighted fair bandwidth allocation and active queue management for adaptive flows, Changhee Joo; Saewoong Bahk; Communications Systems, 2004. ICCS 2004. The Ninth International Conference on [4]. Shreedhar M., Varghese George,” Efficient Fair Queuing using Deficit Round Robin” [5]. Douglas E. Comer. [1995] Internetworking with TCP/IP Vol.1: Principles, Protocols, and Architecture. 4th Edition Upper Saddle River: Prentice Hall. [6]. Bo Chen, Yaping Zhou, Hongsheng Xi, Bandwidth Allocation Based on Consumers’ Demand Information, Proceedings of the 6th World Congress on Intelligent Control and Automation, June 21 - 23, 2006, Dalian, China [10].Saswati Sarkar, and Leandros Tassiulas, Fair Bandwidth Allocation for Multicasting in Networks with Discrete Feasible Set, IEEE Transactions On Computers, Vol. 53, No. 7, July 2004 [11].Wei-chih Hong, Zsehong Tsai, Adaptive Bandwidth Allocation Via Dynamic Programming In A Shared Wireless Network, The 18th Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC’07) [12].Heng-Qing Ye, Stability of Data Networks Under an Optimization-Based Bandwidth Allocation, IEEE Transactions On Automatic Control, Vol. 48, No. 7, July 2003
5. REFERENCES [1]. Fair bandwidth Allocation under User capacity Constraints Yonghe Yan El-Atawy, A. Al-Shaer, E. in Network Operations and Management Symposium, 2006. NOMS 2006. 10th IEEE/IFIP [2]. Bandwidth Sharing Schemes for Multimedia Traffic in the IEEE 802.11e Contention-Based WLANs Yang Xiao Frank Haizhon Li Bo Li in Mobile Computing, IEEE Transactions on [7]. T.-W. Angus Lee, S.-H. Gary Chan, Qian Zhang, Wen-Wu Zhu, and Ya-Qin Zhang, Allocation of Layer Bandwidths and FECs for Video Multicast Over Wired and Wireless Networks, IEEE Transactions On Circuits And Systems For Video Technology, Vol. 12, No. 12, December 2002 [8]. Yi-Hsien Tseng, Eric Hsiao-Kuang Wu, and Gen-Huey Chen, Scene-Change Aware Dynamic Bandwidth Allocation for Real-Time VBR Video Transmission Over IEEE 802.15.3 Wireless Home Networks, IEEE Transactions On Multimedia, Vol. 9, No. 3, April 2007 [9]. I-Shyan Hwang, Bor-Jiunn Hwang, Ling-Feng Ku, Pen-Ming Chang, Adaptive Bandwidth Management and Reservation Scheme in Heterogeneous Wireless Networks, 2008 IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing
272