首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
CAN201 代做、代写 Python语言编程
项目预算:
开发周期:
发布时间:
要求地区:
CAN201 Introduction to Networking Networking Project
CAN201 Introduction to Networking
Networking Project
Contribution to Overall Marks Submission Deadline of Part I Submission Deadline of Part II Type
Learning Outcome
40%
17th Nov. 2022, 23:59 18th Dec. 2022, 23:59 Team coursework [A] [B] [C] [D]
How the work should be submitted?
SOFT COPY ONLY!
Every team leader must submit the work through Learning Mall. Specification of Part II (20% of overall marks)
This part of the networking project aims to use Mininet to create a simple SDN network topology and emulate a traffic control function through using the SDN flow entry. Assuming that the client side only knows the service running on server 1 and communicates with server 1 (without knowing the existence of the service on server 2). However, the SDN controller can manipulate (forward/redirect) the traffic without the awareness of the client. The detailed project tasks are specified as follows. For Part II, the client side program and server side program will be given.
Task 1
Use Mininet Python library to create a Python file to build a simple SDN network topology as Fig. 1 shows. Note that Client uses IP address 10.0.1.5/24, Server1 uses IP address 10.0.1.2/24, and Server2 uses 10.0.1.3/24. Also, Client, Server1 and Server2 need to use the MAC address as Fig. 1 presents.
Task 2
Program and run an SDN controller application using Ryu framework (see Task 4.1 and Task 5.1) and make sure every node (i.e., Client, Server1 and Server2) are reachable with each other. In other words, they can ‘ping’ with each other. Notice that any flow entry (excluding the table-miss flow entry) should set an idle timeout of 5 seconds.
Figure 1. A simple SDN network topology
1
CAN201 Introduction to Networking Networking Project
Task 3
Apply the given socket client program (client.py) and the given socket server program (server.py) to this SDN network topology. Specifically, run server.py on both Server1 and Server2, and run client.py on Client. With that, use the socket client side on Client to send traffic to the socket server side on Server1. Notice that wait 5 seconds after ping (the idle timeout mentioned in Task 2) and then start run the client.py, which is to make sure that the flow entry caused by ICMP ping packets has been removed.
Task 4
4.1. Program an SDN controller application that is able to create a flow entry after receiving the first (TCP SYN segment caused) Packet_In SDN packet (from the SDN switch to the SDN controller), then install the flow entry to the SDN switch, and then send out the Packet_Out SDN packet that contains the TCP SYN segment, whereby all the following traffic sent from Client to Server1 is forwarded to Server1.
4.2. With task 4.1, use Wireshark/Tcpdump on Client to capture the packets and then calculate the networking latency (from the first SYN segment till the last ACK segment indicating the TCP 3- way handshake is done).
Task 5
5.1. Program an SDN controller application that is able to create a flow entry after receiving the first (TCP SYN segment caused) Packet_In SDN packet (from the SDN switch to the SDN controller), then install the flow entry to the SDN switch, and then send out the Packet_Out SDN packet that contains the TCP SYN segment, whereby all the following traffic sent from Client to Server1 is redirected to Server2.
5.2. With task 5.1, use Wireshark/Tcpdump on Client to capture the packets and then calculate the networking latency (from the first SYN segment till the last ACK segment indicating the TCP 3- way handshake is done).
Submission:
Codes:
>= Python 3.6;
The whole implementation includes multiple Python scripts as follows:
1) Network topology Python file (which is used to create the SDN network topology for completing Task 1). Please name it “networkTopo.py”.
2) The Ryu SDN controller Python program (for performing Task 2 and Task 4.1). Please name it “ryu_forward.py”.
3) The Ryu SDN controller Python program (for performing Task 2 and Task 5.1). Please name it “ryu_redirect.py”.
Project Report:
A cover page with your full names (pinyin for Chinese student; name on your passport for international student) and student IDs of the whole team;
4 ~ 6 pages (including everything such as the reference while excluding the cover page), double columns, using the IEEE template provided;
PDF format, LaTeX is recommended, IEEE template; 2
CAN201
Introduction to Networking Networking Project
Including:
- Abstract
- Introduction: project task specification (introduce some background about SDN and describe
the task of this project, do not copy from this document and use your own words), challenge (identify the research/development problems you are going to address), practice relevance (come up with the potential applications with your proposal, e.g., load balance, secure traffic control, etc.), contributions (key points that you did for this coursework).
- Related Work: research papers, technical reports, or similar applications that solve or facilitate network traffic redirection.
- Design: the design of you solution, which should include the network system design diagram (and you need to describe it using your own words) based on Fig. 1, the workflow of your solution (in particular, the steps of creating the flow entry, installing the flow entry, etc.), the algorithm (i.e., the kernel pseudo codes of the network traffic redirection function) for the SDN controller.
- Implementation: the host environment where you develop the implementation, such as the host CPU, Memory, Operating System, etc. Also, the development softwares or tools, like the IDE, the Python libraries, the SDN controller software (i.e., Ryu here), etc. Further, steps of implementation (e.g., program flow charts), programming skills (OOP, Parallel, etc.) you used, and the actual implementation of the traffic redirection function. In addition, the difficulties you met and how did you solve them.
- Testing and Results: testing environment (can be more or less the same with your host implementation environment), testing steps (the steps of using the developed Python programs to complete the project tasks 1-4, including snapshots), and testing results, i.e., the networking latency comparison between the forwarding case (Task 4.2) and the redirection case (Task 5.2), and you should apply figures of bars or curves for showing average performance.
- Conclusion: what you did for this project and any future work for improvement.
- Acknowledgement: individual contribution percentage should be clarified here if the project is a teamwork by using this format: Student1’s name (ID) contributes XX% to the project,
Student2’s name (ID) contributes XX% to the project, and Student3’s name (ID) contributes XX% to the project, etc. If there is no clarification of individual contribution, it is considered that all the individual team contributes the same percentage to the project.
- Reference [IEEE format]
Meanwhile, you have to follow the compulsory requirement (no tolerance1):
Only ZIP file is allowed to submit;
The ZIP file should be named as: CAN201-CW-Part-II-Student1name-Student2name-
Student3name-Student4name-Student5name
The ZIP file includes two folders, i.e., “Codes” and “Report”. The Codes folder includes all
the Python files, and the Report folder includes the report file;
Python files are: networkTopo.py, ryu_forward.py, ryu_redirect.py;
The report file should be named as: Report_Part_II.pdf;
Allowed Python modules:
os, sys, shutil, socket, struct, hashlib, math, tqdm, numpy, threading, multiprocessing, gzip, zlib, zipfile,
1 It means that if you do not follow the compulsory requirement, your work will be marked as zero. 3
CAN201 Introduction to Networking Networking Project
time, mininet, ryu.
Marking Criteria
The following marking scheme is for the team, and every team member shall contribute to the project. Also, several specific rules should be followed:
1. Every team should use the “ACKNOWLEDGMENT” section of the IEEE template to describe the individual contribution(s) using the following format: Student1’s name (ID) contributes XX% to the project, Student2’s name (ID) contributes XX% to the project, and Student3’s name (ID) contributes XX% to the project, etc.
2. If there is no clarification about the individual contributions, it is considered that every team member in the same team has the same contribution percentage and will have the same mark of the CW project.
3. The individual contribution must be in a range: for a 5-person team, it must be 10% - 30% (15% and 30% are included); for a 4-person team, it must be 15% - 35% (15% and 35% are included). If any individual contribution percentage of a team is out of the range (e.g., a 5-person team has the contributions like: 60%, 10%, 10%, 10%, 10%), the team may go through a review by the module leader
about the contribution discrepancy.
4. The algorithm for calculating individual mark as follows:
a. Assuming the 3-person team’s mark is m, student1 contributes x%, student2 contributes y% and student3 contributes z%, student4 contributes u%, student5 contributes v%.
b. The student who gets the most contribution will get mark m.
c. Student
d. Student
e. Student
f. Student
g. Student
Report (50%) Marking Criteria
Contents (40%)
Typography (5%) Writing (5%)
Marking Scheme: 1. Contents (40%)
1.1. Abstract (3%) - Good (3%)
1’s mart will be x/max(x,y,z,u,v)*m. 2’s mart will be y/max(x,y,z,u,v)*m. 3’s mart will be z/max(x,y,z,u,v)*m. 4’s mart will be u/max(x,y,z,u,v)*m. 5’s mart will be v/max(x,y,z,u,v)*m.
Item Mark
Abstract 3% Introduction 5% Related Work 4% Design 8% Implementation 7% Testing and Results 7% Conclusion 3% Reference 3% Report structure, style, and format 5%
Language
5%
- Appropriate (1-2%)
- No abstract (0%) 1.2. Introduction (5%)
4
CAN201
Introduction to Networking
Networking Project
- Excellent (5%)
- Lack of necessary parts (1%-4%)
- No introduction (0%)
1.3. Related Work (4%)
- Sufficient (4%)
- Not enough (1%-3%)
- No introduction (0%)
1.4. Design (8%)
- Excellent: adequate and accurate figures and text description (8%)
- Reasonable: clear figures and text description (4%-7%)
- Incomplete: unclear figures and text description (1%-3%)
- No design (0%)
1.5. Implementation (7%)
- Excellent: sufficient details of implementation (7%)
- Reasonable: clear description of implementation (4%-6%)
- Incomplete: unclear description of implementation (1%-3%)
- No implementation (0%)
1.6. Testing and Results (7%)
- Excellent: sufficient testing description, correct experimental results using figures with clear text
description and analysis (7%)
- Acceptable: clear testing description, appropriate experimental results using figures with
acceptable text description and analysis (3%-6%)
- Incomplete: lack of testing description, experimental results with figures, or text description and
analysis (1%-2%)
- No testing and results (0%)
1.7. Conclusion (3%)
- Excellent conclusion (3%)
- Acceptable conclusion (1%-2%)
- No conclusion (0%)
1.8. Reference (3%)
- Excellent reference with the correct IEEE format (3%)
- Incorrect or inconsistent reference format (1%-2%)
- No reference (0%)
2. Typography (5%)
- Beautiful and clear typography: 5%
- Acceptable typography: 2%-4%
- Bad typography: 0% ~ 1%
3. Writing (5%)
- Accurate and concise language: 3%-5%
- Unclear and confusing language: 1% ~ 2%
Codes (50%)
Program testing steps:
5
CAN201 Introduction to Networking Networking Project
1.Forwarding case:
1.1 Run the networkTopo.py to create the SDN network topology. Check Client, Server1, and Server2 use the correct IP addresses and MAC addresses.
1.2. Run ryu_forward.py on Controller, and use Client to ping Server1’s IP address and Server2’s IP address.
1.3. Run server.py on both Server1 and Server2, and also run client.py on Client after the previous ICMP ping incurred flow entry’s idle timeout (i.e., 5 seconds).
a. Show the flow table on Switch.
b. Show Server1 receives the traffic sent from Client.
2.Redirection case:
2.1 Run the networkTopo.py to create the SDN network topology. Check Client, Server1, and Server2 use the correct IP addresses MAC addresses.
2.2. Run ryu_redirect.py on Controller, and use Client to ping Server1’s IP address and Server2’s IP address.
2.3. Run server.py on both Server1 and Server2, and also run client.py on Client after the previous ICMP ping incurred flow entry’s idle timeout (i.e., 5 seconds).
c. Show the flow table on Switch.
d. Show Server2 receives the traffic sent from Client.
Marking scheme:
1. Step 1.1 and 2.1 (10%)
- Complete topology with correct IP addresses: 10%
- Incomplete topology or incorrect IP addresses: 3%-9% (3 MAC and 3 IP addresses, 1 for host names)
- No networkTopo.py or not executable networkTopo.py: 0%-2%
Note: if no networkTopo.py or the networkTopo.py is not executable, the marking stops here. 2. Step 1.2 (5%)
- The program ryu_forward.py can work and Client can ping Server1 and Server2: 5%
- If ryu_forward.py can work but Client cannot ping Server1 or Server2: 3%-4%
- If no ryu_forward.py or ryu_forward.py is not executable: 0%-1%
Note: if no ryu_forward.py or ryu_forward.py is not executable, no marking for Step 1.3.
3. Step 1.3 (10%)
- The flow entry can be shown correctly and Server1 can receive traffic: 10%
- The flow entry cannot be shown correctly or Server1 cannot receive traffic: 5%
- Neither the above: 0%
4. Step 2.2 (10%)
- The program ryu_redirect.py can work and Client can ping Server1 and Server2: 10%
- If ryu_redirect.py can work but Client cannot ping Server1 or Server2: 6%-8%
- If no ryu_redirect.py or ryu_redirect.py is not executable: 0%-3%
Note: if no ryu_redirect.py or ryu_redirect.py is not executable, no marking for Step 2.3.
5. Step 2.3 (15%)
- The flow entry can be shown correctly and Server2 can receive traffic: 15%
- The flow entry cannot be shown correctly or Server2 cannot receive traffic: 7%
- Neither the above: 0%
6
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代写dts207tc、sql编程语言代做
2024-12-25
cs209a代做、java程序设计代写
2024-12-25
cs305程序代做、代写python程序...
2024-12-25
代写csc1001、代做python设计程...
2024-12-24
代写practice test preparatio...
2024-12-24
代写bre2031 – environmental...
2024-12-24
代写ece5550: applied kalman ...
2024-12-24
代做conmgnt 7049 – measurem...
2024-12-24
代写ece3700j introduction to...
2024-12-24
代做adad9311 designing the e...
2024-12-24
代做comp5618 - applied cyber...
2024-12-24
代做ece5550: applied kalman ...
2024-12-24
代做cp1402 assignment - netw...
2024-12-24
热点标签
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
软件定制开发网!