WOW NETWORK SIMULATOR Duke Lee, Mustafa Ergen, Jeff Ko WOW WOW UC Berkeley UC Berkeley.

Slides:



Advertisements
Similar presentations
Device Layer and Device Drivers
Advertisements

COMS W6998 Spring 2010 Erich Nahum
Communication Networks Recitation 3 Bridges & Spanning trees.
Network Simulation One tool to simulation network protocols for the Internet is the network simulator (NS) The simulation environment needs to be set-
Introduction to NS. Information Main website Documentation, mailing list archive, tutorial Location of Source codes –C++ files.
The Journey of a Packet Through the Linux Network Stack
LINUX NETWORK IMPLEMENTATION Jianyong Zhang. Introduction The layer structure of network: 1) BSD socket layer: general data structure for different protocols.
TELE202 Lecture 8 Congestion control 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »X.25 »Source: chapter 10 ¥This Lecture »Congestion control »Source:
Layer 1 of the TCP/IP protocol stack: Network Access Layer (NAL). Functions, performed on the layer. МАС address in Ethernet networks. Layer 1 of the TCP/IP.
Modular Protocol Architecture Link Layer Protocol Interface Specification Ruchira Datta UC Berkeley WOW Group.
Introduction Future wireless systems will be characterized by their heterogeneity - availability of multiple access systems in the same physical space.
Socket Programming.
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
Computer Networks NS. Features F Event driven simulator –developed at UC Berkeley F Network Topologies –nodes (connectivity), links (bandwidth, delay)
July 15, 2002 SCI02 ORLANDO Wireless Token Ring Protocol1 UC Berkeley WOW Wireless Token Ring Protocol (WTRP) A Medium Access Control Protocol for QoS.
Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Mid-Semester Presentation Spring 2005 Network Sniffer.
Matnet – Matlab Network Simulator for TinyOS Alec WooTerence Tong July 31 st, 2002.
Chapter 4 Queuing, Datagrams, and Addressing
Introduction to Linux Network 劉德懿
QualNet 2014/05/ 尉遲仲涵. Outline Directory Structure QualNet Basic Message & Event QualNet simulation architecture Protocol Model Programming.
OMNET++. Outline Introduction Overview The NED Language Simple Modules.
High Speed Digital Design Project SpaceWire Router Student: Asaf Bercovich Instructor: Mony Orbach Semester: Winter 2009/ Semester Project Date:
HyunJun Choi Aug 27, 2004 OPNET Simulator HyunJun Choi Aug 27, 2004 Informational Communication University.
LWIP TCP/IP Stack 김백규.
Fall 2004FSU CIS 5930 Internet Protocols1 Architecture of Network Implementation Reading: Chapters 3 and 4.
Role and Mechanism of Queue Internet Engineering.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Hyung-Min Lee ©Networking Lab., 2001 Chapter 8 ARP and RARP.
Ethernet Driver Changes for NET+OS V5.1. Design Changes Resides in bsp\devices\ethernet directory. Source code broken into more C files. Native driver.
Internet Protocol ECS 152B Ref: slides by J. Kurose and K. Ross.
Network Simulator-2 Sandeep singla 1998A2A7540. NS-2 A discrete event simulator Focused on modeling network protocols –Wired, wireless –TCP,UDP,unicast,multicast.
1 Network Simulator Tutorial. 2 Network Simulation * Motivation: Learn fundamentals of evaluating network performance via simulation Overview: fundamentals.
1 Introduction to NS-2 r Tutorial overview of NS m Create basic NS simulation r Walk-through a simple example m Model specification m Execution and trace.
1 The Architecture and Protocol Design for Underwater Network Presented by James.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
Socket Buffer 발표자 유 종 욱 발표일 2003년 10월.
Ethernet Overview it the IEEE standard for Ethernet.
Linux Operations and Administration Chapter Eight Network Communications.
Linux Networking Stack 指導老師 李正帆
Implementation of Embedded OS Lab5 Real-time Programming on μ C/OS-III.
1 CSE 5346 Spring Network Simulator Project.
Queuing Delay 1. Access Delay Some protocols require a sender to “gain access” to the channel –The channel is shared and some time is used trying to determine.
An Efficient Gigabit Ethernet Switch Model for Large-Scale Simulation Dong (Kevin) Jin.
Page 12/9/2016 Chapter 10 Intermediate TCP : TCP and UDP segments, Transport Layer Ports CCNA2 Chapter 10.
5: DataLink Layer 5a-1 Bridges and spanning tree protocol Reference: Mainly Peterson-Davie.
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
A New MAC Protocol for Wi-Fi Mesh Networks Tzu-Jane Tsai, Hsueh-Wen Tseng, and Ai-Chun Pang IEEE AINA’06.
LonWorks Introduction Hwayoung Chae.
AN EFFICIENT TDMA SCHEME WITH DYNAMIC SLOT ASSIGNMENT IN CLUSTERED WIRELESS SENSOR NETWORKS Shafiq U. Hashmi, Jahangir H. Sarker, Hussein T. Mouftah and.
Network Models. 2.1 what is the Protocol? A protocol defines the rules that both the sender and receiver and all intermediate devices need to follow,
Lecture 3: Stateless Packet Filtering. 2 Agenda 1 1 Linux file system - networking sk_buff 2 2 Stateless packet filtering 3 3 About next assignment 4.
Interaction and Animation on Geolocalization Based Network Topology by Engin Arslan.
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Chapter 3 Transport Layer
Introduction to TCP/IP networking
Zero-copy Receive Path in Virtio
sudo ./snull_load Two interfaces created: sn0, sn1
Scaling the Network: The Internet Protocol
Introduction to ns-2: “The” Network Simulator
EEC-484/584 Computer Networks
Layer 1 of the TCP/IP protocol stack: Network Access Layer (NAL)
Communication Networks NETW 501 Tutorial 3
EEC-484/584 Computer Networks
Protocol layering and data
EEC-484/584 Computer Networks
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Scaling the Network: The Internet Protocol
Protocol layering and data
Chapter 5 Data Link Layer – Hub, Switch
Control-Data Plane Separation
Presentation transcript:

WOW NETWORK SIMULATOR Duke Lee, Mustafa Ergen, Jeff Ko WOW WOW UC Berkeley UC Berkeley

WOW Simulator Animator input Define geographical distribution Define the functional parameters of the network nodes. Define network layer protocols Define traffic characteristics down to each node. Simulator core Network Modules Drive the event. Analyzer output Statistical graphing tool. Visual Tracer output Packet-level visualization tool. (NAM)

WOW Simulator Finite State Machine Event Driven Simulation Seed State List Simulation Functions Handler Functions

WOW Event Scheduler CHANNEL INFO. NODE Application WTP –timers IP –DSDV, etc. Link Layer –Timers,WTRP Channel –Packet transmission Node Info –position –topology SCHEDULER PHSICAL LAYER LINK LAYER IP TCPUDP ICMP QUEUE Application

WOW Scheduler Algorithm struct event { struct event *next; struct event *prev; unsigned long expiration; unsigned long data; void (*handler)(unsigned long); }

WOW Event Scheduler add_timer( event *ev); delete_timer(event *ev); mod_timer(event *ev); while(1) { tmp=take_event(); update_clock ; update_position; tmp.handler(); } SIMULATOR Event Queue add_event take_event

WOW Event Queue Packet Transmission Timer initialization tx_1 Event Queue rx_5 rx_2 rx_1 CHANNEL Packet transmission timer_7 tm_7

WOW Simulator Functions update_topology(); record_topology(); record_transmission(); record_reception(); Record Function is a periodic event which periodically starts monitoring SIMULATOR Event Queue record_function record_topology Output Files record_transmission record_reception

WOW Architecture Overall Design DEV1 ANIMATOR GUI DEV2 SCHEDULER … DEV3 ANALYZER GUI VISUAL TRACER GUI SIMULATOR MODULE LINUX MODULES CHANNEL MODULE State List State List State List INFO

WOW Interface Initialize_simulation; Initialize_topology; Initialize_traffic; Initialize_record_function; Main Loop Network Module MONITORING CBR CHANNEL SCHEDULER [1] [2] [3] [4] [5]

WOW [1] CBR-Data Traffic used to send periodic packet to the module. sits in the Logical Link Control above the network module. transmit (received something from the top layer) –int tx_handler (struct device *dev, struct sk_buff * skb) receive –int app_rx (struct device * dev, struct sk_buff * inskb, unsigned short network_proto)

WOW [2] Scheduler used to send data to channel module transmit first schedule a event and wait about a transmission time. –int transmit (struct device *dev, struct sk_buff skb) called when the module get the event from the scheduler. – received something from the bottom layer. –void rx_handler(struct device *dev, struct sk_buff *skb)

WOW [3] Channel scheduler to channel –void _transmit (struct device * dev) channel go through for each node and assign packet reception for those who can get the packet. channel to scheduler –void add_timer (struct timer_list * timer)

WOW [4] Monitoring Functions I void record_topology (struct simulation_struct * siminfo, struct device *device_list, struct device * dev, float time, float difftime); void start_transmission (struct simulation_struct * siminfo, struct device * sender, float time); void end_transmission (struct simulation_struct * siminfo, struct device * sender, float time); void start_reception (struct simulation_struct * siminfo, struct device * sender, float time); void end_reception (struct simulation_struct * siminfo, struct device * sender, float time);

WOW [4] Monitoring Functions II void record_transmission (struct simulation_struct * siminfo, struct device * device_list, struct device * sender, unsigned char * packet, float time); void record_reception (struct simulation_struct * siminfo, struct device * device_list, struct device * sender, unsigned char * packet, float time); printpacketinfo (* packet); needed for different packet types.

WOW [5] Inside Functions Randomize Functions basic random function should be used for determinism. –unsigned long net_random(void);

WOW Conclusion Unique Simulator Functions Specific Handler Functions Linux Scheduler Functions General Event Type NAM

WOW NAM Allows backward and forward run Node variables: color,shape … Node marking Variable Tracing Annotation Node Exec Button Save frames as a movie

WOW Appendix I Transport protocol create sk_buff from output buffers While device drivers create them for incoming data. TCP IP MAC Dev. sk_buff

WOW Appendix II struct cbr_struct { struct cbr_struct * next; unsigned long start_time; struct device * source; struct device * dest; struct timer_list cbr_timer; int packetsize; int numpackets; int bandwidth; void * handler; }; struct timer_list { struct timer_list *next; struct timer_list *prev; unsigned long expires; unsigned long data; void(*function)(unsigned long); }; sk_buff sk – pointer to owning socket stamp – arrival time dev - pointer to receiving/transmiting device h- pointer to transport layer header nh- pointer to network layer header mac- pointer to link layer header dst – pointer to dst_entry cb –TCP per –packet control information len – actual data length csum- checksum protocol- packet network protocol truesize- buffer size head- pointer to head of buffer data- pointer to data head Tail- pointer to tail End- pointer to end Destructor-pointer to destruct function