How to Simulate Wide Area Networks Projects Using MATLAB

To simulate Wide Area Networks (WANs) using MATLAB has includes to designing the communication framework which extents large geographic areas, associating multiple local networks, routers, and gateways. In such replication, we will concentrate on data transmission via routers and links, routing protocols, and the parameters like delay, throughput, and packet delivery ratio (PDR).

Here’s a step-by-step guide to simulate Wide Area Networks (WANs) projects using MATLAB:

Steps to Simulate Wide Area Networks Projects in MATLAB

Step 1: Understand WAN Components

A typical WAN simulation that contain:

  • Routers: Devices which route packets among networks.
  • Links: Connections among routers, each with connected bandwidth, delay, and capacity.
  • Nodes: Devices which creates and receive data.
  • Traffic: The data transmit among nodes, routed via the network.

Step 2: Set Up the MATLAB Environment

We can utilize MATLAB’s built-in functions to replicate the data flow, routing, and communication among routers. MATLAB’s Communications Toolbox is helpful for replicating network communications, since custom scripts can be utilized to design the traffic, routing, and link behaviour.

Step 3: Define the WAN Topology

Describe the simple topology of the WAN, that contain of nodes (routers) and links. A WAN can have numerous topologies such as mesh, star, or ring.

% Define network topology parameters

num_routers = 5;  % Number of routers

num_links = 6;    % Number of links connecting routers

area_size = 1000; % Area size for router positioning (1000×1000 meters)

% Define positions of the routers

router_positions = rand(num_routers, 2) * area_size;

% Define links between routers (each pair represents a link between two routers)

links = [

1, 2;  % Link between Router 1 and Router 2

1, 3;  % Link between Router 1 and Router 3

2, 4;  % Link between Router 2 and Router 4

3, 5;  % Link between Router 3 and Router 5

4, 5;  % Link between Router 4 and Router 5

2, 3   % Link between Router 2 and Router 3

];

% Plot the network topology

figure;

scatter(router_positions(:, 1), router_positions(:, 2), ‘bo’);

hold on;

for i = 1:num_links

plot([router_positions(links(i, 1), 1), router_positions(links(i, 2), 1)], …

[router_positions(links(i, 1), 2), router_positions(links(i, 2), 2)], ‘g-‘);

end

title(‘WAN Topology’);

xlabel(‘X Position (m)’);

ylabel(‘Y Position (m)’);

Step 4: Define Link Properties

Each link in the WAN has possessions such as bandwidth, delay, and capacity. These factors effects on how data flows over the network.

% Define link properties

link_bandwidth = [100, 50, 200, 150, 100, 75];  % Link bandwidth in Mbps

link_latency = [10, 20, 15, 25, 10, 18];  % Link latency in milliseconds

% Define link capacities (in bits)

link_capacity = link_bandwidth * 1e6;  % Convert Mbps to bits

Step 5: Implement Traffic Generation

Replicate traffic generation among nodes. We can create traffic using numerous models, like Poisson or constant bit rate (CBR), to mimic realistic traffic flows.

% Define traffic flows between routers (source, destination, data rate in Mbps)

traffic_flows = [

1, 5, 10;  % Traffic from Router 1 to Router 5 at 10 Mbps

2, 4, 20;  % Traffic from Router 2 to Router 4 at 20 Mbps

];

% Simulate data transmission

packet_size = 1500 * 8;  % Packet size in bits (1500 bytes)

num_packets = 1000;      % Number of packets to send

transmission_rate = traffic_flows(:, 3) * 1e6;  % Transmission rate in bits per second

Step 6: Implement Routing Algorithms

In WAN, routing techniques are vital for regulating the paths packets take among routers. We can execute routing protocols like Dijkstra’s shortest path algorithm or Bellman-Ford algorithm.

Here is an instance of using Dijkstra’s techniques to estimate the shortest path among routers according to link latency.

% Define adjacency matrix for link latencies

latency_matrix = inf(num_routers);  % Initialize with infinity

for i = 1:num_links

latency_matrix(links(i, 1), links(i, 2)) = link_latency(i);

latency_matrix(links(i, 2), links(i, 1)) = link_latency(i);

end

% Implement Dijkstra’s algorithm to find the shortest path

function [dist, path] = dijkstra(latency_matrix, source, destination)

num_routers = size(latency_matrix, 1);

visited = false(1, num_routers);

dist = inf(1, num_routers);

prev = -ones(1, num_routers);

dist(source) = 0;

for i = 1:num_routers

[~, u] = min(dist + visited * inf);  % Find the unvisited node with minimum distance

visited(u) = true;

for v = 1:num_routers

if ~visited(v) && latency_matrix(u, v) ~= inf && dist(u) + latency_matrix(u, v) < dist(v)

dist(v) = dist(u) + latency_matrix(u, v);

prev(v) = u;

end

end

end

% Reconstruct the path

path = [];

u = destination;

while u ~= -1

path = [u, path];

u = prev(u);

end

end

% Find the shortest path from Router 1 to Router 5

[dist, path] = dijkstra(latency_matrix, 1, 5);

disp([‘Shortest path from Router 1 to Router 5: ‘, num2str(path)]);

disp([‘Total latency: ‘, num2str(dist(5)), ‘ ms’]);

Step 7: Simulate Data Transmission and Queueing

Replicate the transmission of data via the network, considering the bandwidth, delay, and queuing impacts at each router.

% Simulate data transmission between routers

for flow = 1:size(traffic_flows, 1)

source = traffic_flows(flow, 1);

destination = traffic_flows(flow, 2);

[dist, path] = dijkstra(latency_matrix, source, destination);  % Find shortest path

% Simulate packet transmission along the path

for hop = 1:length(path)-1

% Simulate delay at each link based on latency and link utilization

link_id = find(ismember(links, [path(hop), path(hop+1)], ‘rows’));

if isempty(link_id)

link_id = find(ismember(links, [path(hop+1), path(hop)], ‘rows’));

end

link_delay = link_latency(link_id);

disp([‘Packet delayed by ‘, num2str(link_delay), ‘ ms on link ‘, num2str(path(hop)), ‘-‘, num2str(path(hop+1))]);

end

end

Step 8: Evaluate Network Performance

Measure the parameters like:

  • Latency: End-to-end delay for packets.
  • Throughput: Total number of data successfully delivered over the network.
  • Packet Delivery Ratio (PDR): Ratio of successfully delivered packets to total sent packets.
  • Jitter: Variability in packet delay.

% Calculate packet delivery ratio (PDR)

packets_sent = num_packets;

packets_received = packets_sent – round(rand * 0.1 * num_packets);  % Simulate packet loss

pdr = packets_received / packets_sent;

disp([‘Packet Delivery Ratio (PDR): ‘, num2str(pdr)]);

% Calculate throughput (in Mbps)

throughput = (packets_received * packet_size) / (sum(link_latency) / 1000);  % Throughput = data/time

disp([‘Throughput: ‘, num2str(throughput / 1e6), ‘ Mbps’]);

Step 9: Visualize Network Performance

Utilize MATLAB’s plotting tools to envision the network performance over time or via diverse environments like throughput and delay as traffic load increases.

% Example: Plot throughput over time

time = 1:num_packets;

throughput_values = throughput * ones(1, num_packets);

figure;

plot(time, throughput_values);

xlabel(‘Time (seconds)’);

ylabel(‘Throughput (Mbps)’);

title(‘Throughput over Time’);

Step 10: Advanced Features (Optional)

  1. Congestion Control: Execute congestion control mechanisms such as TCP to handle traffic and prevent overloading links.
  2. Load Balancing: To share traffic via multiple paths to balance load and enhance effectiveness.
  3. Fault Tolerance: Mimic network failures such as a router going down and reroute traffic consequently.
  4. Quality of Service (QoS): Apply QoS policies to select specific kinds of traffic such as voice, video according to bandwidth or latency desires.
  5. Security: Incorporate security protocols to mimic encryption, authentication, or firewall features in the WAN.

Step 11: Run the Simulation

Once everything is configured, execute the simulation for numerous configurations and traffic patterns. We can validate with numerous topologies, link properties, and routing techniques to track on how they effects on network performance.

With the help of this procedure you can obtain the knowledge and can be able to simulate the Wide Area Networks project in MATLAB tool. Additional specific details regarding the Wide Area Networks project also provided.

We concentrate on data transmission via routers and links, routing protocols, and the parameters like delay, throughput, and packet delivery ratio (PDR) related to your projects, send to phdprime.com a message we will give you best assistance.

Opening Time

9:00am

Lunch Time

12:30pm

Break Time

4:00pm

Closing Time

6:30pm

  • award1
  • award2