高级计算机网络(田野) 2022春 2021春 2020春 2019春 2018春 2017春 2015秋 2015春  课程号:COMP6103P01
2022春 2021春 2020春 2019春 2018春 2017春 2015秋 2015春  课程号:COMP6103P01
9.2(5人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:一般
选课类别:基础 教学类型:理论课
课程类别:研究生课程 开课单位:计算机科学与技术系
课程层次:硕士 学分:3.0
课程主页:暂无(如果你知道,劳烦告诉我们!)
简介

本课程的教学目标是在学生已经学过的计算机网络的基本理论知识以及网络的基本应用基础上,跟踪计算机网络理论和技术发展的最新动向,讲授计算机网络的新概念、新技术、新发展和新应用,使学生掌握网络的最新理论和技术,始终把握网络信息时代的脉搏。通过具体网络实践,解决实际问题,掌握网络科研和工程的基本技能,以适应现代信息化社会对计算机网络的要求,为进一步利用计算机网络资源、从事相关的学习和研究打下基础。课程紧跟计算机网络的发展前沿,重点介绍网络体系结构、网络核心机制、网络关键技术和网络系统方向具有代表性的前沿成果,具体方向包括数据中心网络、新型网络协议、软件定义网络/网络功能虚拟化、新一代互联网和未来网络等,并指导学生使用ns-3、mininet、Pyretic、ONOS等先进的工具环境,开展面向新型网络的实验实践。本课程强调实际动手能力的培养。

最后更新:

点评 写点评
排序 学期
评分 评分 5条点评
QJ 2020春

我是物院转来的,前期跟课有点吃力,所幸网课可以回放,经常一段话放五六遍。横向比较本专业的同学,大都比较轻松。

田老师上课的方式是带我们读论文,近二三十年的关键论文读一遍,基本上带到前沿了。本质上每一章就是一个协议。

课程评价围绕实验和考试。考试开卷,重题多,考论文上的概念。ns3和mininet的实验坑很多,pyretic比较简单。投了很多时间精力进去,最后结果也是过得去。如果有师兄师姐的话请尽量抱紧大腿吧。

虽然不和计网打交道,还是保质保量完成。最后给了90分还可以。田老师很认真的,实验的基本操作会带你走一遍,至少知道查资料的方向了,虽然讲的内容网上都有更详细的。

总之以后再也不会碰计网了。ns3和mininet,我们再也不见。


个人整理的部分实验资料:

SDN之mininet教程:https://my.oschina.net/u/2245781/blog/889820

SDN之mininet&POX介绍:https://www.jianshu.com/p/d33a75aaa080

mininet使用指南,有讲fat tree:https://www.sdnlab.com/11495.html

fat tree拓扑源码:

  1. 详细:https://github.com/muzixing/fattree/blob/master/fattree.py
  2. 精简:https://github.com/howar31/MiniNet/blob/master/topo-fat-tree.py

 

RipL:某大佬基于mininet做的fat tree拓扑

  1. Main RipL repository: github.com/brandonheller/ripl
  2. Main RipL-POX repository: github.com/brandonheller/riplpox
  3. Murphy’s updated RipL-POX repository: github.com/MurphyMc/riplpox

 

ubuntu系统安装mininet(云服务商一般不提供pyretic镜像,直接用ubuntu装即可)

git clone http://github.com/mininet/mininet

cd mininet ./util/install.sh -a # -a指安装其他包,仅安装mininet将-a换成-n3v

中间可能会报错,提示找不到ifconfig

sudo apt install net-tools

测试(任选一个)

sudo mn

sudo mn --test pingall

 

拓扑结构:3种方法:直接mn、修改mininet/custom/topo-2sw-2host.py文件以及手撸python脚本

同个拓扑结构,写法不同表现不同,会出现千人千面的坑。

python脚本直接进入mininet>提示符:

net = Mininet(topo)

net.start()

CLI(net)

net.stop()

运行文件:

chmod a+x simpleTest.py sudo ./simpleTest.py

拓扑图:miniedit

sudo mininet/examples/miniedit.py

POX

各项功能见wiki。POX是斯坦福开发的,两个链接内容相同:

https://openflow.stanford.edu/display/ONL/POX+Wiki.html#POXWiki-openflow.spanning_tree

https://noxrepo.github.io/pox-doc/html/

pox命令

./pox.py forwarding.l2_learning openflow.spanning_tree --no-flood --hold-down

其他终端关闭pox进程

lsof -i:6633

kill -9 PID

pox内部终止(^C失效的情况下)

exit()

生成树spanning tree用于解决循环网络冲突。openflow.spanning_tree依赖于openflow.discovery循环网络问题。openflow.discovery原理:http://www.aiuxian.com/article/p-2445866.html

循环网络无限转发packet的bug(原因很多,其中一个):https://github.com/noxrepo/pox/issues/139

循环网络实例:http://www.brianlinkletter.com/using-pox-components-to-create-a-software-defined-networking-application/(2pod-fat tree表现良好,4pod出现bug:2个edge switch不通)

查看switch流表:(下方等价)https://mailman.stanford.edu/pipermail/mininet-discuss/2013-November/003432.html

$ sudo ovs-ofctl dump-flows s1 mininet> dpctl dump-flows s1

 

POX不直接显示spanning tree,要修改代码。位置在line111附近。

$ vim ~/pox/pox/openflow/spanning_tree.py

到这里为止决定放弃POX。

这个实验已经浪费了我一周的时间,极大打击了自我效能感。不知道为啥我要老老实实磕这个实验,mininet带着POX滚粗克,现在!

 

改变方案。

目前可行的方案是直接用mininet命令行,开启OpenflowVSwitch的STP(生成树)支持。

OVS虚拟openflow交换机配置汇总:https://www.cnblogs.com/zfyouxi/p/4904733.html

stp实例https://stackoverflow.com/questions/30888845/how-to-enable-brctl-stp-using-python-script

 

3 2
我好难过请问网课在哪看啊?我官网上只找到郑烇和蒋凡老师的高级计算机网络视频,没找到田野老师的视频。
ABCDE回复 @我好难过: 去年这门课是线上上课,所以有回放

立即登录,说说你的看法

秋裤 2021春

 YYDS! 

 上课不点名,爱去就去。 (野哥讲的论文都很OK,但是先研院11f的教室设备属实不行,不坐前排基本听不清

 一共三个大作业,具体可以参考其它点评(建议早点配置好环境    “借鉴”前辈们的project也方便些 

 期末开卷,就是上课讲的论文,复制粘贴ppt,over。

 

2 0
boj 2015春

田野老师的高级计算机网络课程是读论文的形式,每节课讲一到两篇计算机网络领域的经典论文。内容涵盖 Internet 历史、网络测量、P2P、TCP 拥塞控制、内容分发网络、广域网(BGP)、数据中心网络、软件定义网络、内容中心网络等。

课程主页已经 404 了,类似这个:

https://www.cs.princeton.edu/courses/archive/fall14/cos561/syllabus.html

虽然我是搞网络研究的,但这些经典论文还是有很多没有读过,毕竟网络这个方向挺大的。

这门课程的实践性比较强,要求用 mininet 和 NS-3 分别仿真一个网络拓扑。内容也很新,很多论文是近年 SIGCOMM/NSDI 上的。

我当年的作业: https://git.lug.ustc.edu.cn/boj/advanced-network-course/

期末考试是开卷,允许带论文,我记得考了一个用 pynetic 实现某个网络功能,我之前还真没细读过 pyretic,考试的时候才现场看着论文里的语法写的。

2 2
Indigo6帮大佬更新一下地址,lug的git换地址了 https://git.lug.ustc.edu.cn/boj/advanced-network-course/
boj回复 @Indigo6: 多谢,我更新一下

立即登录,说说你的看法

Indigo6 2021春

课程评价其它人说的很全面了,实验又有了变化,我更新一下实验参考:

Github: https://github.com/Indigo6/advanced-network-course

Ustc 超算 Gitlab: https://git.ustc.edu.cn/Indigo6/advanced-network-course

1 0
silence 2021春

整体评价:水课。

  • 到课:完全不用去。
  • 作业:没有纸质作业,只有实验。
  • 实验:总共三个,多年没变,如果自己做的话有点蛋疼。建议无脑copy师兄的。照着做,自己出一遍图,再照猫画虎写个实验文档即可。
  • 考试:建议向师兄要一下往届复习资料,再打印一些PPT。论文也建议打印,因为ppt可能有遮挡,且内容可能不全。
  • 出分时间:8月末。(因为今年张荣比较忙,审核卡了很久
  • 给分:听助教的说法是大部分人85+。对于我自己的得分,我很满意。

0 0

田野

教师主页: 戳这里

其他老师的「高级计算机网络」课

郑烇 7.8 (4) 2021秋 2020秋...
未知 2020春 2019春...
蒋凡 2011秋
张信明 2020秋

田野老师的其他课

计算机网络 9.3 (11) 2021秋 2020秋...
排队论及其应用 2016春 2011秋
软件工程 2014春 2012秋