代写网络路由器实验、代做Network实验

代写网络路由器实验、代做Network实验
Plagiarism is a SERIOUS matter. Please read it carefully.
How to seek assistance?
Assignments must be submitted independently. Students may seek assistance through:
I. A dedicate page on OpenLearning for assignment 2, where you may post questions and
get assistance from fellow classmates and assignment supervisor, Arash Shaghaghi.
Assignment assistance will not be provided through email. Please DO NOT send emails
and use ONLY OpenLearning.
II. Consultation: there will be consultation sessions for this assignment. Students may book
consultation by sending date, time and an overview of the problem they wish to discuss
before attending the consultation through the course
The dates for consultations along with further information about this will be posted on
OpenLearning.
III. Please note support for questions posted on OL for Assignment 2 will be ceased by 20
October, 11:59 PM. No questions will be answered by tutors/LIC about Assignment 2
after this time.
The purpose of this assignment is to gain insights into the performance of different network-layer
routing algorithms. Your task is to develop a program that will evaluate the performance of 3
different routing protocols over a virtual circuit network (i.e. a network with a connection-based
network layer, unlike the Internet) as well as a virtual packet network (like the connection-less
network layer of the Internet).
Change Log
Verion 1.0.1 minor changes including number of packets in page 4, sample output log and the sum
of blocked and routed packets, 27 September 2017.
Version 1.0 released on 15th September 2017.
Important: Updates to the assignment, including any corrections and clarifications, will be posted
on OpenLearning. You are responsible to check the relevant page regularly and ensure you access
the latest version of this document and any further information made available there. Student will
be informed of major changes/updates through class announcements.
Page 2 of 11
Learning Objectives: On completing this assignment you will gain sufficient expertise in the
following skills:
? Understanding and developing routing protocols
? Performance analysis of some routing protocols over virtual circuit and virtual packet
networks
Specification:
You will implement the following program:
RoutingPerformance
? The RoutingPerformance program will accept the following command line arguments:
o NETWORK_SCHEME: this argument specifies the network type that will be
evaluated. You program should implement two different network types, called here as
virtual circuit network and virtual packet network. Accordingly, the argument will
take one of the following values: CIRCUIT and PACKET corresponding to those
network types, respectively.
http://www.daixie0.com/contents/14/1251.html
o ROUTING_SCHEME: this specifies the routing scheme that will be evaluated. Your
program should implement 3 routing protocols, which are essentially variants of
Dijkstra’s algorithm, as explained later in the specification. This argument will take
on one of the following values: SHP, SDP and LLP corresponding to the 3 routing
protocols: Shortest Hop Path (SHP), Shortest Delay Path (SDP) and Least Loaded
Path (LLP), respectively.
o TOPOLOGY_FILE: this file contains the network topology specification.
o WORKLOAD_FILE: this file contains the virtual connection requests in the network.
o PACKET_RATE: this positive integer value shows the number of packets per second
which will be sent in each virtual connection.
? The network topology that will be used for the evaluation will be specified in the
TOPOLOGY_FILE (the second argument). We will be using both a virtual circuit network
and a virtual packet network to evaluate the performance of the routing protocols. Note
that a routing protocol is required in both networks to determine the path between
the source and destination of a virtual circuit during the connection. The main
difference between the virtual circuit network and virtual packet network is how end-toend
path is determined. The former is similar to the circuit switching networks and the
path is determined only at the connection establishment phase and such a path will be used
for all packet transmission through the connection. In other words, one virtual connection
in the virtual circuit network follows the same path for transmitting all packets. However,
a virtual connection in the virtual packet network uses the routing protocol to determine
the path for each packet independently. Thus, such virtual connection needs to invoke the
routing protocol N times, where N is the number of packets transmitted through the
connection. In other words, one virtual connection in the virtual packet network has N
virtual circuits for transmitting N packets.
? A simple example of a network topology specification for a network with 4 routers (routers
will be referred to as nodes in the rest of the specification), labelled A, B, C and D is as
follows:
A B 10 19
A C 15 20
Page 3 of 11
B C 20 20
B D 30 70
C D 8 20
This example network topology has 5 links connection the 4 nodes as shown in the figure
below (Figure 1 on the next page). Each line in this file defines a point-to-point link. For
example, the first line specifies a link from node A to node B, with a one-way propagation
delay of 10 milliseconds and a capacity that can accommodate up to 19 simultaneous
virtual circuits at any given time. All links are assumed to be bi-directional, with identical
propagation delay in both directions (hence, the ordering of the names of the two endpoints
of the point-to-point link does not matter, i.e. the first line in the example above could have
been replaced with “B A 10 19”). Further, each connection in either virtual circuit network
or virtual packet network is also assumed to be bi-directional and consumes unit resource
(i.e. a resource of 1). There will be at most one direct link between any two nodes in the
graph. You may assume that the topology will form a connected graph i.e. there will be no
isolated nodes. The first task for your program is to read in the topology file and construct
a suitable internal representation of the network topology, using an appropriate data
structure. You may want to consult standard data structures textbooks for standard
representations of undirected graphs, which would be an appropriate way to model the
network. You may assume that all node names are single upper-case alphabetic characters
(i.e., a maximum of 26 nodes from A to Z), all propagation delays d are positive integers
(0 < d < 200) and expressed in milliseconds, and all link capacities C are positive integers
(0 < C < 100) and indicate the number of virtual connections that can be supported by a
link. A more complex network topology, which you may use for testing your code is
available on the assignment webpage (topology.txt).
Figure 1: Topology for the above example
? The network is initially empty, i.e., there are no virtual circuits established. The virtual
circuit requests that arrive in the network will be specified in the virtual connection
requests in WORKLOAD_FILE (third argument), which is ordered by time. The next step
for your program is to read in the arriving virtual connection request workload (from the
file), one request at a time, in timestamp order, and attempt to establish the virtual circuits
in the network according to the routing algorithm in use (routing algorithms are explained
later). The virtual connection workload for the network is specified in a simple fourcolumn
format as follows:
Page 4 of 11
0.123456 A D 12.527453
7.249811 B C 48.129653
8.975344 B D 6.124743
10.915432 A C 106.724339
15.817634 B C 37.634569
Each line of this file describes one virtual connection request. The first column specifies
the time (in seconds) at which the connection is established. You may assume that time
starts at 0 seconds and that time values will be represented up to 6 decimal digits (i.e.
microseconds). The second column specifies the originator (source node) for the request,
and the third column specifies the recipient (destination node) for the request. The final
column specifies the time duration for which this virtual connection remains active for
sending the packets. As an example, the first line in the above file contains a connection
request that originated at time 0.123456 seconds for a virtual circuit to be established from
node A to node D. This request will be active for duration of 12.527453 seconds. A more
comprehensive virtual connection workload, which you may use for testing your program,
is available on the assignment webpage in the workload.txt file. (Note that, this workload
is consistent with the topology specified in topology.txt)
? We assume that all virtual connections have the same value for packet rate (fourth
argument), which determines the number of packets per second in a connection. For
example, if the packet rate value is 2 packets per second, the first virtual connection in the
above example will have 25 packets (rounded value of 2 * 12.527453), the first packet
starts at exactly the connection establishment time 0.123456 and finishes at 0.123456+0.5,
the second one starts at time 0.123456+0.5 and finishes at 0.123456+1, …, the last packet
starts at time 0.123456+12.5 and finishes at 0.123456+12.527453. Clearly, for the case of
virtual circuit network, you will create only one virtual circuit using the routing protocol
for sending all packets. In other words, you don’t need to consider the packet rate as each
virtual connection will be assigned to only one virtual circuit with the same specification
presented for the connection (including above four features). However, in the case of the
virtual packet network, you need to extract the starting time and duration of each packet
according to the packet rate value as you must invoke the routing protocol to find an
appropriate path for each packet. For example, …..
? For each virtual circuit request in the above workload, your program must use the specified
routing algorithm to determine if the circuit can be established. To be more specific, your
program must select the “best” route depending on the routing protocol in use (routing
protocols are explained in the next bullet point) from the source to the destination of the
circuit and then determine if there is sufficient capacity along each link of this end-to-end
path to accommodate the circuit. Recall that each virtual circuit uses unit capacity on each
link. You may assume that the routing decision for each request can be made in zero
processing time. A virtual circuit that is successfully established must be counted as such,
and the network resources associated with that circuit marked as "busy" for the duration
of the circuit. For this purpose, assume that each circuit consumes exactly one unit (i.e.,
one "circuit") of link capacity on each link. Of course, recall that virtual circuits are
bidirectional. When a circuit terminates, the resources (i.e. unit capacity) along the
individual links of the end-to-end path are released, and become available for subsequent
circuits that are established in the network. A circuit request that is not routed successfully
is said to be "blocked". A blocked request means that there is no physical path currently
available from the specified source to the specified destination (according to the routing
protocol in use). Such requests (packets) must be immediately discarded from further
Page 5 of 11
consideration by your program. Your program must count and report the number of
blocked requests (packets). A list of performance metrics that your program must measure
and report is specified later in the specification.
? Your program should implement the following three routing protocols to determine the
least cost path between the source and destination. The first argument in the argument list
(as explained earlier) will determine which protocol should be used for a particular run of
your program. The algorithms are essentially variants of Dijkstra’s algorithm (i.e. linkstate
routing) with each scheme using a different “cost” metric.
(1) Shortest Hop Path (SHP): This algorithm tries to find the shortest path currently
available from the source to the destination, where the length of a path refers to the
number of hops (i.e. links) traversed. In essence this is Dijkstra’s algorithm with the
cost of each link set to 1. Note that, this algorithm ignores the delay and load associated
with each link.
(2) Shortest Delay Path (SDP): This algorithm tries to find the shortest path currently
available from the source to the destination, where the length of the path refers to the
cumulative propagation delay for traversing the chosen links in the path. In other
words, this is Dijktra’s algorithm with the cost of each link set to the propagation delay.
Recall that the network topology file specifies the delay along each link in the network.
Note that, this algorithm ignores the number of hops and the load associated with each
link.
(3) Least Loaded Path (LLP): This algorithm tries to find the least loaded path currently
available from the source to the destination, where the load of a path is defined to be
the maximum load on any link in the path. The load on a link is defined as the ratio of
its current number of active virtual circuits to the capacity, C, of that link for carrying
virtual circuits. Note that, this algorithm ignores the number of hops and the delay
associated with each link. There are two main differences between LLP and the other
two algorithms(SHP and SDP). Firstly, the path cost in LLP is not an additive function,
as is the case with the other two algorithms (in SHP and SDP the cost of the path is
simply the sum of the cost along each individual link that constitutes the path).
Secondly, link costs (i.e. the link load) change with time, whereas in both SHP and
SDP the link costs are static over the entire lifetime.
http://www.daixie0.com/contents/14/1251.html

本团队核心人员组成主要包括硅谷工程师、BAT一线工程师,国内Top5硕士、博士生,精通德英语!我们主要业务范围是代做编程大作业、课程设计等等。

我们的方向领域:window编程 数值算法 AI人工智能 金融统计 计量分析 大数据 网络编程 WEB编程 通讯编程 游戏编程多媒体linux 外挂编程 程序API图像处理 嵌入式/单片机 数据库编程 控制台 进程与线程 网络安全  汇编语言 硬件编程 软件设计 工程标准规等。其中代写代做编程语言或工具包括但不限于以下范围:

C/C++/C#代写

Java代写

IT代写

Python代写

辅导编程作业

Matlab代写

Haskell代写

Processing代写

Linux环境搭建

Rust代写

Data Structure Assginment 数据结构代写

MIPS代写

Machine Learning 作业 代写

Oracle/SQL/PostgreSQL/Pig 数据库代写/代做/辅导

Web开发、网站开发、网站作业

ASP.NET网站开发

Finance Insurace Statistics统计、回归、迭代

Prolog代写

Computer Computational method代做

因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:[email protected]

微信:codinghelp

猜你喜欢

转载自www.cnblogs.com/python3years/p/8909625.html
今日推荐