Project : Packet Handling in Linux / Wireless Ad-hoc Networking
Introduction
Packet handling in Linux
Computer Networks (Broadly Internet) has revolutionized our lives. It changed the way we interact, do business and live in this world. Linux Operating Systems has gained its popularity in industry domain and research/educational institutions. Linux and Networking are perfectly compatible to each other. Linux was originally designed with one view of networking and it is still the most popular operating system for deploying Servers. Personal Computer Manufactures are coming up with Computers with loaded Linux Operating System. Also Wireless Networking is a exciting technology it has provided user with the ability to roam freely and still share useful data and information among themselves. Wireless LAN (Wireless Local Area Network) is based on the standard from Institute of Electrical and Electronics Engineers (IEEE) 802.11x standard.
This research work will look into various aspects of Linux Networking like TCP/IP packet formation, Internet Protocols (TCP, UDP), Routing Protocols, NAT (Network Address Translation), ARP( Address Resolution Protocol), RARP (Reverse Address Resolution Protocol). Focus is also done to find the relevant code in the Linux Source Code Files . It was really exciting to see the code files for the underlying technology that is being used and deployed very well. For eg. TCP/IP protocol is undoubtedly the most popular Internet protocol that is being deployed. It provides Connection oriented reliable services to the end to end user. Research paper investigated into the relevant source code e in the Linux Source Code Files and 'clipped' source to show the process of packet formation in TCP/IP stack, header formation, buffer management of network packets, route table maintenance, Forwarding of packet high level protocols like ARP (Address Resolution Protocol), NAT (Network Address Translation).
Paper also inspected into the Wireless Networking aspect of Linux Networking. I researched on a MIT (Roofnet and Click Modular Router) protocol [See References]. An experimental test-bed is also deployed and demonstrated in the class.
Links For : Packet Handling under Linux
Code Used [pdf]
Linux Source Files Used: [Please Click on individual file name to see the Online repository]
Reading:
1) Chapter 1 of Andrew S. Tanenbaum (Computer Networks) --Please Read about TCP/IP and OSI Models (Just a review will help).
(I will review it in the class but it will be quick to cover the whole presentation)
2) IP Forwarding/IP Routing
http://www.troubleshooters.com/linux/ip_fwd.htm
3) Overview of NAT (Network Address Translation)
Why NAT?
Article about why and what of NAT?
-- http://www.vicomsoft.com/knowledge/reference/nat.html
(I will cover this in presentation, just a quick reading will help)
4) ARP (Address Resolution Protocol)
(Handouts Provided)
5) Wireless Resources -- Click Modular router
-- HostAP driver for Wireless Cards link
-- pcmcia-cs Card Services link
-- Wireless Ad-Hoc Networking Online Links [Very Useful] link
-- Wireless Ad-Hoc Networking Textbook : by Charles Perkins
=================================================================
Other Useful Links:
-- Network Buffers and Memory management ( Slight part was covered in my presentation) Link
-- Linux Kernel Architecture and other OS links( Found it very useful: all presentations) Link
-- Internet Protocols RFC 791 ( TCP/UDP) Link
-- Setting up Linux Network Link
==========================================================
updated : 11:20 am : 12/12/2004