辅导案例-ELEC 5517

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top



ELEC 5517
SOFTWARE DESIGN NETWORKS


UNIVERSITY of SYDNEY

DEPARTMENT of ENGINEERING AND IT



Project Report 2
Group 9





Members Student ID
Siyuan, Lin
Weicheng, Liu
Jessie, Zhang
470109308

480226679

480104780







November 9, 2019
Task 1
Ⅰ. Create a topology showing these industries in a network controlled by the ISP. Please
avoid exchange of information amongst these industries.
The Internet Service Provider (ISP) provides IT service to various customer and can be
divided into three different kinds of industries: telecommunication, bank and media industry.
According to the structure of industries and user host types, we choose the tree topology for
our task just looks like the example provided and arrange nodes to support efficient operation
across the business. In order to avoid information exchange among these industries, the ISP
directly controls them. Three OpenFlow switches S2, S3 and S4 indicate the three required
industries. The screenshot of our topology is shown below:

For details about bandwidths assigned to links between switches and hosts, we will analyze
and discuss at part 3 of task 1.
After clicking the “run” button at Miniedit, we can create the topology and start CLI
Since we need to avoid the exchange of information amongst these industries. We need to
disconnect the links between industries and the ISP, which are s1-s2, s1-s3 and s1-s4.

After we input the command “pingall” we can test the connection between hosts, the host can
only communicate with other hosts within the same switch(h1 can connect with h2 and h3, h4
can connect with h5 and h6 and h7 can connect with h8 and h9). So we successfully ensure
there is no information exchange between industries.

Ⅱ.Send HTTP amongst nodes and capture the OpenFlow packets. Analyse the
captured packets for each industry and show possible similarities and differences of
the results.
Firstly we can use the command “dump” to shows nodes’ information and assigned IP
addresses to hosts at Miniedit. We simply arrange the local IP address according to the order
(for example, h1:10.0.0.1, h2:10.0.0.2).
After turn on the Wireshark to capture the packages, we need to build a Web server for each
industry. We choose the links with the highest bandwidth in each industry as the server which
are h3, h6 and h9. The command is “python -m SimpleHTTPServer 80 &”. HTTP can be sent
from hosts to the server by the command ‘wget’, the results are shown below:




h2 to h3

h3 to h2

h5 to h6
h6 to h5

h8 to h9
h9 to h8
Links Transmission time
h2 to h3 0.00118
h5 to h6 0.00083
h7 to h9 0.000848
h8 to h9 0.000802

We can’t find a significant difference between transmission time and the bandwidths since
we set them all above 1Mbps, they are all shorter than the time required for TCP or
retransmission will happen. There are many similarities including frame size, protocol and
Openflow version. And the part, buffer ID and transmission time are different.

Ⅲ. Show and assign the bandwidth paths to these industries based on the properties
below: a. Voice network b. Data network c. Integrated voice and data network
For voice, data and integrated network, we have selected different application scenarios in
three industries. After our online research and research combined with daily life knowledge,
we have designed differently bandwidth requirements per person, as shown in the following
table.[1]
Telecommunication Text Voice Video
Bandwidth 2kbps 64kbps 1mbps
Bank Office Phone Service ATM
Bandwidth 10kbps 20kpbs 256kbps
Media Image Music Movie
Bandwidth 250kbps 1mbps 5mbps

For the number of users in real life, we assume that the telecommunication industry has 1000
users while bank and media industries both have 100 users. So, the total bandwidth
requirement is:
Telecommunication Text Voice Video Total
Bandwidth 2mbps 64mbps 1000mbps 1066mbps
Bank Office Phone Service ATM Total
Bandwidth 1mbps 2mpbs 26mbps 29mbps
Media Image Music Movie Total
Bandwidth 25mbps 100mbps 500mbps 625mbps

We believe that many technologies, such as synchronization and resolution, are designed
between voice and data, so they should not be simply added together. The required bandwidth
should be considered according to the situation. After adding the bandwidth, the topology is
shown below:

Task 2
When networking devices communicate over a packet-switched network, it may take a
while for information to be generated by one device, transmit to the other device and be
received by the later one. The total time of packet delivery takes is network delay [2].
The term, latency, refers to any of several kinds of delays typically incurred in the
processing of network data. A low-latency network connection experiences small delay
times, while a high-latency connection experiences long delay. Besides propagation delays,
latency may also involve transmission delays (properties of the physical medium) and
processing delays (such as passing through proxy servers or making network hops on the
internet) [3].
1. Transmission delay – time it takes to push the packet's bits onto the link
2. Propagation delay – time for a signal to reach its destination
3. Processing delay – time it takes router to process the packet header
4. Queuing delay – time the packet spends in routing queues
In the field of computer networking and network engineering, network delay is an
important consideration. Varying and excessive delay can cause unwanted side effects such
as packet jitter and lost packets. Packet delay variation, or jitter, creates problems such as
garbled telephone calls and shaky video playback. Packet loss can result in longer
download times and slow web page retrieval [4].
Hence, for speeding up the network path, the delays need to be reduced. These delays can
have impacts on the read and write access in the network. Based on the new speed on the
network paths, we specified the bandwidth paths and corresponding properties in the
Mininet environment by analyzing read access, relating to the download speed, and write
access, relating to the upload speed.

We firstly use command “iperf h1 h2” to test TCP transmission between h1 and h2 as the
initial sample. When we set the delay by 5ms and the loss by 1%, the transmission data
rate: 1.9 Mb/s for upload and 2.26 Mb/s for download.


Propagation delay
To measure the propagation delay, we change the packet loss to 10%, and kept the value of
transmission delay by 5ms. The transmission data rate: 283Kb/s for upload and 349Kb/s
for download. Both uploading and downloading speed decreased.


Transmission delay
We simulate the transmission delay in the mininet by changing the delay to 50 ms. So, the
transmission data rate: 885 Kb/s for upload and 2.34 Mb/s for download. Compared with
the initial sample above (1.9 Mb/s for upload and 2.26 Mb/s for download), the speed of
upload decreased.

Queuing delay
Thirdly, we simulate the queue delay in the mininet by changing the max queue size.


When the max queue size is 1, the TCP bandwidth are: 221Kb/s for upload and 246Kb/s
for download.


When the max queue size increases to 100, the transmission data rate become 1.89Mb/s for
upload and 2.06Mb/s for download.

Conclusion:
If we reduce packet loss (10%-1%) or increase the queue size (1-10), both upload and
download bandwidth will increase significantly. However, if we reduce the delay (100ms-
1ms), only the upload bandwidth will increase, download bandwidth remains the same as
before.
In addition, the Propagation delay and Queue delay will affect both upload (write) and
download (read) speed. The transmission delay will impact the upload (write) speed, and
slightly affect the download bandwidth.

Delay type Value Upload Bandwidth Download Bandwidth
Propagation delay
(Loss)
10%, 5ms 283Kb/s 349Kb/s
1%, 5ms 1.9Mb/s ↑ 2.26Mb/s ↑
Transmission
delay (Delay)
1%, 50ms 885Kb/s 2.34Mb/s
1%, 1ms 1.9Mb/s ↑ 2.26Mb/s →
Queue delay
(Max Queue size)
1 221Kb/s 246Kb/s
10 1.89Mb/s ↑ 2.06Mb/s ↑

In conclusion, Network tools such as ping tests and traceroute measure latency by
determining the time it takes a given network packet to travel from source to destination,
and back. According to research, cable internet connections, latencies of less than 100
milliseconds (ms) are typical, and less than 25 ms is often possible. Taking satellite internet
connections as an example, the typical latencies in satellite can be 500 ms or higher. An
internet service rated at 100 Mbps can perform noticeably worse than a service rated at 20
Mbps if it is running with high latency. Satellite internet service illustrates the difference
between latency and bandwidth on computer networks. Satellite possess both high
bandwidth and high latency. When loading a web page, for example, most satellite users
observe a noticeable delay from the time they enter the address to the time the page begins
loading. This high latency is due primarily to propagation delay as the request message
travels at the speed of light to the distant satellite station and back to the home network.
Once the messages arrive on Earth, however, the page loads quickly, like on other high-
bandwidth internet connections (such as DSL and cable internet) [3].

Task 3
In this section, we are going to use ONOS, which is an open source SDN OS. It can manage
the network components and configurate each element.

1. Implement the customized topology using ONOS as the controller.
As the task 1 and task 2 mentioned above, the structure of the network can be defined as one
Internet service provider, which connects with telecommunication switch, bank switch and
media switch. Three switch is also lined with three host. The telecommunication switch
connects with text host, voice host and video host. The bank switch connects office host,
phone service host and ATM host. The media switch connects with image host, music host
and movie host. We can realize the network structure by python coding which is shown
below:



After the coding, use ONOS to activate the reactive forwarding application and then turn on
the folder terminal and input:

sudo mn - -custom task3.py - -topo mytopo - -controller=remote,ip= 172.17.0.2


In this time, the topology can be seen on the ONOS GUI, which can be shown below:







ISP
Media Telecommunication
Bank
2. Use ONOS flow endpoint API to achieve isolation of the third industry from the rest
of the network.
⚫ Method 1
As the mission required, we need to use flows command in the API. First, we use the ONOS
terminal to find that there are 4 flows in the switch 2.


In order to achieve the isolation of the telecommunication switch, we need to cut down all the
flow from the switch 2. We can find that the device id of switch 2 is of:0000000000000002
and the flow id can be found via GET/flows .

We use the command below and input device id and all the flow id, which is to cut down all
the flow:
DELETE/flows/{deviceId}/{flowId}
After doing so, ONOS GUI will show that the switch 2 is apart from the ISP switch.


Moreover, the flow result in the terminal also shows the flow of switch 2 is not existed.

However, when we use mininet terminal to command “pingall”, the problem happened. As
can be seen on the figure, h1, h2 and h3 should have pinged each other, however, the
connection seems to be all cut down. And the method 1 is failure.
⚫ Method 2
In this way, we have to explore a new method for isolation. We use Device endpoint API. In
order to find the port which is from s2 to s1, we use command:
GET/devices/{id}/ports

In this way, the port is “1” as can be seen from the result. And then we use another command
to disable this port:
Post/devices{id}/portstate/{port_id}
This time, ONOS GUI becomes like this:

Similarly, we use “pingall” in the mininet terminal and the final result is right, which means
that switch 2 is isolated successfully. Method 2 is feasible.





⚫ Method 3
However, we still want to figure out a strategy which is using ONOS flow endpoint API. And
the method 3 developed finally. We type in GET/flows in the mininet terminal and input
“flows” in ONOS terminal.


Again, using get flows, we can find the highest priority one which is connected with IPV4
protocol, then we deleted it.

However, this time, we install intent between each two hosts from h1 h2 and h3.

And then, we type in “pingall” and the result is right. This is because the IPV4 is deleted in
h1-3, and a new link protocol should be built in order to ping with each other.

3. Display and analyze flow statistics at each of the edge switches using ONOS flow
statistics end point API.
To statistic the flow, we can use the statistics part in the API, and we can use the following
command and input the device id to search for the data.
GET/devices/{id}/ports





This is in the situation of the second method, the device id “of:0000000000000002” is the
switch 2 which is telecommunication switch. The device id “of:0000000000000003” is the
switch 3 which is bank switch. The device id “of:0000000000000004” is the switch 4 which
is media switch.


4. Using host endpoint API please add a new host to edge switch s4.
In this section, POST /hosts should be used here. The details of the code should be
explained here. Since we need to add new host on switch 4, whose device id is
“of:0000000000000004”, the elementId should be this figure. Moreover, there are 4 ports
already in the switch 4, in order to add a new host, a new port should be utilized, so the “port”
should be 5. Moreover, we can also set the IP address for the new host, here we choose
“10.0.0.10”.

As can be seen from the topology figure, the host circled is the new added one.



References
[1] "Bandwidth Requirement - an overview | ScienceDirect Topics", Sciencedirect.com,
2019. [Online]. Available: https://www.sciencedirect.com/topics/computer-
science/bandwidth-requirement. [Accessed: 02- Nov- 2019].
[2] Rodney A. Crater, 03 November 2019. What is a Network Delay?. [Online] Available at:
https://www.wisegeek.com/what-is-a-network-delay.htm [Accessed 9 November 2019].
[3] Bradley Mitchell , October 16, 2019. What is Latency? High latency is bad news for your
network. [Online] Available at: https://www.lifewire.com/latency-on-computer-
networks-818119 [Accessed 9 November 2019].
[4] Paul Krzyzanowski , September 29, 2012 . Quality of Service . [Online] Available at:
https://www.cs.rutgers.edu/~pxk/417/notes/03-qos.html [Accessed 9 November 2019].


欢迎咨询51作业君
51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468