june 28 presentation

17
NS3: Modeling Satellite Networks Andrew McGarry Summer Intern 781-734-4234 [email protected] LinQuest Proprietary Information

Upload: andrew-mcgarry

Post on 09-Jan-2017

119 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: June 28 Presentation

LinQuest Proprietary Information

NS3: Modeling Satellite NetworksAndrew McGarry

Summer Intern

[email protected]

Page 2: June 28 Presentation

05/02/2023 2LinQuest Proprietary Information

Overview

The Project Goals

Near term Mid term Long term

Relevancy to LinQuest Progress Future Simulations Summary

Page 3: June 28 Presentation

05/02/2023 3LinQuest Proprietary Information

The Project

Become familiar with ns3 Ns3 is an open-source discrete event simulator used to model networks Similar to the commercial software called OpNet Modeler

Simulate a multi-point network Includes a TCP connection over a satellite link

Gradually increase the complexity of the model Include things such as dynamic link rates Change the maximum size of the congestion window Possibly include Quality of Service algorithms

Page 4: June 28 Presentation

05/02/2023 4LinQuest Proprietary Information

Goals

Near Term Install ns3 and understand how data is gathered and analyzed Learn about how computer networks work

How the Open Systems Interconnection (OSI) layers interact, what distinguishes them How different networking protocols behave, such as TCP, UDP, multicast Become familiar with networking terminology

Mid Term Learn how to instantiate router models in ns3 Design and construct the multi-point network

Long Term Analyze the performance of a TCP connection over a satellite link

Analyze what happens when the maximum size of the congestion window is changed Determine how changing the bandwidth of the satellite link will change performance Possibly add Quality of Service filtering

Determine if changing the maximum CWND size is beneficial

Page 5: June 28 Presentation

05/02/2023 5LinQuest Proprietary Information

Relevancy

LinQuest works extensively in military satellite communications Signal generation, modulation, encryption integration Provides systems engineering and acquisitions support Supports the army, navy, air force

LinQuest’s strength is in the Layer 1 aspect of satellite communications This project expands into Layers 3 (Internet) and 4 (Transport) Analyzes the data these radio connections shuttle, rather than the physical link itself

The Impact Provides capability LinQuest can continue to use to simulate real network environments

used by naval vessels, army ground stations, etc. May uncover real problems with these network setups allowing LinQuest to provide

solutions

Page 6: June 28 Presentation

05/02/2023 6LinQuest Proprietary Information

Progress-Setup

Whole operation takes place in a VM Using VirtualBox v. 4.2.12

Fedora 18 VM Ns3 requires a Linux environment, and I’m familiar with Fedora 18 from last year

Eclipse Open-source IDE with support for a large number of languages Great for debugging and building the simulations I’m putting together

Page 7: June 28 Presentation

05/02/2023 7LinQuest Proprietary Information

A Typical Workspace

Page 8: June 28 Presentation

05/02/2023 8LinQuest Proprietary Information

Open Source discrete event simulator Discrete event simulation- models a system as a sequence of

events in time. No changes are assumed to take place between events

Allows one to simulate complex networks and sample data from the simulation

How It’s Set Up Core is a collection of c++ classes (modules) User can interact with the classes by creating c++ or python

programs which implement them The simulation is not real-time

The user specifies start and stop times for applications in the simulation Data collected during the simulation is thrown into files which are easily

modified for use with graphing utilities

Page 9: June 28 Presentation

05/02/2023 9LinQuest Proprietary Information

Network Simulator 3 - Basic Concepts

Nodes Represent the computing elements in a network (computers, routers, etc.)

Net Devices Provides nodes access to a specific type of connection Represents network cards which are installed in computing elements Multiple net devices can be installed in each node, but each net device only connects to a

single channel Channels

The physical connections over which the communications data passes Represents wires, wireless signals, other physical radio communications which carry data

Applications The name says it all. These represents applications installed on the computing elements in

a network Can be clients, servers, etc.

Page 10: June 28 Presentation

05/02/2023 10LinQuest Proprietary Information

Network Simulator 3 - Tracing

Tracing is the primary method for collecting data from simulations Sources and Sinks

Sources are pre-defined (or custom, if you’re code-savvy) methods buried in the basic classes of ns3 (nodes, applications, net devices, etc.) which can be “hooked” and connected to sinks

Sinks take the raw data provided by the sources and modify the format of the results to user’s specification

That data is then collected in a file for review after the simulation is complete Difficult to figure out since the return types and connect paths are

complex Tutorial recommends borrowing other people’s code instead of trying to figure out connect

paths yourself

Page 11: June 28 Presentation

05/02/2023 11LinQuest Proprietary Information

Tutorials

First Simulate a network with the following map: Includes a point-to-point connection, csma network,

and implements the global routing protocol Fourth

Introduced the tracing system Fifth

Sets up a point-to-point TCP connection between two nodes and uses tracing to collect data on the size of the transmitting node’s congestion window.

Page 12: June 28 Presentation

05/02/2023 12LinQuest Proprietary Information

Tracing Output from Fifth

Cwnd Size (bytes)

Time (seconds)

Cwnd Size (bytes) vs. Time (seconds)

Page 13: June 28 Presentation

05/02/2023 13LinQuest Proprietary Information

State Transition Diagram

CWND X 2

CWND + (CWND_MAX /

CWND)

CWND_TRANS = CWND_OLD / 2

CWND = 536 bytes (?)CWND +

(CWND_MAX / CWND)

CWND X 2

NO TIMEOUT & CWND < (CWND_MAX / 2)

NO TIMEOUT & CWND > (CWND_MAX / 2)

NO TIMEOUT & CWND > (CWND_OLD / 2)

NO TIMEOUT & CWND < (CWND_MAX / 2)

NO TIMEOUT & CWND < (CWND_OLD / 2)

TIMEOUT

NO TIMEOUT & CWND < CWND_MAX

TIMEOUT

TIMEOUT

START

CWND = CWNDNO TIMEOUT &

CWND = CWND_MAX

NO TIMEOUT & CWND = CWND_MAX

NO TIMEOUT

TIMEOUT

TIMEOUT

Page 14: June 28 Presentation

05/02/2023 14LinQuest Proprietary Information

Future Simulations

Setup includes two domains connected through a satellite link First iteration will only include one node behind each of the routers TCP connection over a satellite link

Assume .125 second uplink and downlink delay Ideal model for ground terminals

I’m looking to analyze traffic behavior at the routers, not the ground terminals

Echo Client

Router

Terminal/ Modem

Router

Terminal/ Modem

Satellite

Echo Server

Page 15: June 28 Presentation

05/02/2023 15LinQuest Proprietary Information

Test Parameters

Variable number of terminals Variable number of nodes behind the routers Adjust the maximum congestion window size

Congestion window: maximum number of outstanding bytes. Maintained by sender Include UDP traffic Perhaps add a quality of service regime

Gives varying levels of priority to different users Aircraft carrier networks assign priority based on rank What happens as usage at each rank fluctuates?

Page 16: June 28 Presentation

05/02/2023 LinQuest Proprietary Information 16

Full Simulation

Page 17: June 28 Presentation

05/02/2023 17LinQuest Proprietary Information

Summary

Project: Model a simple satellite network in ns3, and gradually increase the complexity of the model Change parameters such as congestion window size, connection bandwidth. Add quality of

service filtering Goals

Near: learn about computer networks, how to use ns3 Mid: simulate a multi-point network which includes a satellite link Far: analyze the increasingly complex model- determine whether changing the maximum

CWND size is beneficial