首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
CAN201编程设计辅导、讲解Python程序语言、Python设计编程辅导 解析R语言编程|调试Matlab程序
项目预算:
开发周期:
发布时间:
要求地区:
CAN201 Introduction to Networking Coursework 2
1
CAN201 Introduction to Networking
Coursework 2
Routing simulation
Contribution to Overall Marks 25%
Submission Deadline Monday 15th Jan. 2021, 23:59
Type Individual coursework
Learning Outcome [A][B][C][D]
How the work should be submitted?
• SOFT COPY ONLY!
• You must submit your work through Learning Mall.
Specification
Routing algorithms are very important to determine good paths from sending hosts to receiving host
through a network of routers. In this coursework, you will simulate the routing process using Python
Socket network programming. The goal of this project is to Bellman-Ford distance vector algorithm
Requirements
• You should design only one app for a node, which is used to simulate the routing behavior of a
router. For each app, it will start with the initial distance information of neighbors and IP addresses
+ port numbers of their neighbors. Each app should run without errors and load its own
information.
• Each app should implement UDP communication to exchange information with their neighbors.
You should create a protocol to exchange distance vector information, as required by BellmanFord.
• In order to simulate the group behaviors of routers, unfixed number of apps will be started. The
starting order of nodes is not fixed.
• Nodes should asynchronously exchange distance vector information as needed until the algorithm
converges. After convergence, each node should output its distance vector table to a json file (one
file per node with a given format).
CAN201 Introduction to Networking Coursework 2
2
Data Format (All files are located in CWD, ALL!!!)
Distance information of each node’s neighbors is stored in a json file named with the node
name + “_distance”. (They are given, your apps should load them)
For Graph 1 in the right side, there are four json files to represent these four nodes:
u_distance.json v_distance.json
{
"v": 2,
"w": 5,
"x": 1
}
{
"u": 2,
"w": 3
}
w_distance.json x_distance.json
{
"v": 3,
"u": 5,
"x": 3
}
{
"u": 1,
"w": 3
}
IP addresses + port numbers of each node’s neighbors and this node is stored in a json file named
with the node name + “_ip.json”. (They are given, your apps should load it)
For Graph 1:
u_ip.json v_ip.json
{
"u": ["127.0.0.1", 10000],
"v": ["127.0.0.1", 10001],
"w": ["127.0.0.1", 10002],
"x": ["127.0.0.1", 10003]
}
{
"v": ["127.0.0.1", 10001],
"u": ["127.0.0.1", 10000],
"w": ["127.0.0.1", 10002]
}
w_ip.json x_ip.json
{
"w": ["127.0.0.1", 10002],
"u": ["127.0.0.1", 10000],
"v": ["127.0.0.1", 10001],
"x": ["127.0.0.1", 10003]
}
{
"x": ["127.0.0.1", 10003],
"u": ["127.0.0.1", 10000],
"w": ["127.0.0.1", 10002]
}
Graph 1: An example
CAN201 Introduction to Networking Coursework 2
3
The output distance vector table of each node should be stored in a json file named with node
name + “_output.json”. (Your apps should output them)
For Graph 1:
u_output.json v_output.json
{
"v": {
"distance": 2,
"next_hop": "v"
},
"w": {
"distance": 4,
"next_hop": "x"
},
"x": {
"distance": 1,
"next_hop": "x"
}
}
{
"u": {
"distance": 2,
"next_hop": "u"
},
"w": {
"distance": 3,
"next_hop": "w"
},
"x": {
"distance": 3,
"next_hop": "u"
}
}
w_output.json x_output.json
{
"v": {
"distance": 3,
"next_hop": "v"
},
"x": {
"distance": 3,
"next_hop": "x"
},
"u": {
"distance": 4,
"next_hop": "x"
}
}
{
"u": {
"distance": 1,
"next_hop": "u"
},
"w": {
"distance": 3,
"next_hop": "w"
},
"v": {
"distance": 3,
"next_hop": "u"
}
}
What should be submitted:
Codes:
• Python 3;
• Your application can be implemented using multiple Python scripts;
• But there is only one application.
A development report:
• A cover page with your full name and student ID;
CAN201 Introduction to Networking Coursework 2
4
• 3~ 8 pages, single column, 1.5x line space, 2.54cm margins, Serif font1
, font size:12pt;
• PDF format, LaTeX is recommended;
• Including:
- Abstract
- Introduction: project requirement (do not copy from this document), background, literature
review (try to find research papers, development reports or testing report of similar apps), and
introduce what you did in this coursework;
- Methodology: proposed protocols (using FSM or mind map), proposed functions and ideas;
- Implementation: steps of implementation, program flow charts, programming skills (OOP,
Parallel…) you used, what difficulties you met and how to solve them;
- Testing and results: testing environment, testing plan and testing results (screenshot, tables or
curves for showing performance)
- Conclusion: what you did and why you did it. Future plan and so on.
- Reference [IEEE format]
Meanwhile, you have to follow the compulsory requirement (no tolerance2
):
• The file structure of your submission:
• Only ZIP file is allowed to submit.
• The starting Python script file should be named as “main.py”;
• Run command: python3 main.py --node
3
Marking Criteria
Report (40%)
Marking Criteria Item Mark
Structure (5%) Structure 5%
Contents (30%)
Abstract 2%
Introduction 4%
Methodology 6%
Implementation 7%
Testing and results 8%
Conclusion and reference 3%
Format and language
(5%)
Report style and format 3%
Language 2%
Marking scheme:
1. Structure (5%)
1 Eg. Times New Roman, Modern No. 20 or Cambria. 2 It means that if you do not follow the compulsory requirement, your work will be marked as zero. 3 Eg. python3 main.py -- node x. Your app should open x_distance.json and x_ip.json and finally output x_output.json.
ZIP Compress
CAN201 Introduction to Networking Coursework 2
5
- Well organized structure: 5%
- Reasonable structure: 3% ~ 4%
- Disordered structure: 0% ~ 2%
2. Contents (30%)
2.1. Abstract (2%)
- Appropriate abstract (2%)
- No abstract (0%)
2.2. Introduction (4%)
- Excellent (4%)
- Lack of necessary parts (1%-3%)
- No introduction (0%)
2.3. Methodology (6%)
- Excellent methodology: sufficient and accurate figures and text description (6%)
- Reasonable methodology: clear figures and text description (3%-5%)
- Incomplete methodology (1%-2%)
- No methodology (0%)
2.4. Implementation (7%)
- Excellent implementation: sufficientsteps of the implementation with proper figures or charts (7%)
- Reasonable methodology: clear steps of the implementation with figures or charts (4%-6%)
- Incomplete implementation (1%-3%)
- No implementation (0%)
2.5. Testing and results (8%)
- Excellent: sufficient testing plan for different cases, sufficient results to show the performance with
proper analysis (7%-8%)
- Acceptable: clear testing plan, clear results to show the performance with analysis (3%-6%)
- Lack of testing plan, results or analysis (1%-2%)
- No testing and results (0%)
2.6. Conclusion and reference (3%)
- Excellent conclusion and reference with the correct format (2%-3%)
- Acceptable conclusion and reference (1%)
- No conclusion or incorrect reference (0%)
3. Format and language (5%)
3.1. Report style and format (3%)
- Beautiful and clear typography: 3%
- Acceptable typography: 2%
- Bad typography: 0% ~ 1%
3.2. Language (2%)
- Accurate and concise language: 2%
- Unclear and confusing language: 0% ~ 1%
• Code (60%)
Code running environment:
• The same virtual machine as CW1;
• You have to test your app using the provided virtual machine without any modification;
CAN201 Introduction to Networking Coursework 2
6
• The app that cannot be executed properly in this virtual machine will be marked as zero.
Code testing steps:
1. Your app (you have only one app with a single python file or multiple python files) will be
run on only one virtual machine VM;
2. Your app will be started in different terminals (run together, but maybe not start together):
python3 main.py --node
python3 main.py --node
python3 main.py --node
python3 main.py --node
python3 main.py --node
……
python3 main.py --node
3. Your apps can run without any error (RUN)
4. Each of your apps should be running until getting the final result and write to the
corresponding json file (eg. u_output.json …) (RES4 = [RES1, RES2…RESn5]).
Marking Criteria Item for testing Mark
Phase 1 (20%) RUN 20%
If you cannot pass Phase 1, your app will not go to the testing of the next phase.
Phase 2 (30%) 30% / n * len(RES) 30%
Coding style (10%) Comments / readability 10%
4 Results include only distances. The next hops will not be checked. 5 No more than 10 in this test.
An example:
Terminal1> python3 main.py --node u
Terminal2> python3 main.py --node v
Terminal3> python3 main.py --node w
Terminal4> python3 main.py --node x
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代做 program、代写 c++设计程...
2024-12-23
comp2012j 代写、代做 java 设...
2024-12-23
代做 data 编程、代写 python/...
2024-12-23
代做en.553.413-613 applied s...
2024-12-23
代做steady-state analvsis代做...
2024-12-23
代写photo essay of a deciduo...
2024-12-23
代写gpa analyzer调试c/c++语言
2024-12-23
代做comp 330 (fall 2024): as...
2024-12-23
代写pstat 160a fall 2024 - a...
2024-12-23
代做pstat 160a: stochastic p...
2024-12-23
代做7ssgn110 environmental d...
2024-12-23
代做compsci 4039 programming...
2024-12-23
代做lab exercise 8: dictiona...
2024-12-23
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!