《互联网协议分析与设计》课程教学大纲.docx
互联网协议分析与设计教学大纲一、课程概述课程名称互联网协议分析与设计英文名称Analysis and Design of Network Protocols课程性质专业必修课课程代码22125017总学时40学时理论24学时实践16学时学分2开课学期第五学期先修课程程序设计基础、计算机网络适用专业网络工程开课单位计算机与电气工程学院二、课程简介互联网协议分析与设计是网络工程专业核心课程之一,学生在学完本课程后,能解 理解网络协议和几种协议的代码实现,并能根据需求,分析设计出符合需求的高效的网络传 输协议。本课程在程序设计基础、计算机网络等课程基础上,具体介绍linux编程基础知识、 TCP与UDP网络编程、10复用、服务器模型的选择、arp、icmp等网络基本协议的原理与 实现和web server服务器的设计与实现等内容。课程同时设置16个实验学时,主要涉及linux 编程基础、网络编程基础、TCP/IP协议中常见协议的分析设计与实现、web服务器的设计 与实现四个内容。三、课程目标课程目标1:(理解网络协议)理解网络基本协议TCP和UDP协议的区别及应用场景, 并能用代码实现。(支撑毕业目标1.3)课程目标2:(协议设计)能根据具体应用需求,根据己学网络协议知识,建立网络服 务器模型,并设计符合需求的网络传输协议。(支撑毕业目标3.2)课程目标3:(方案比较)能运用网络编程的基本知识和概念,对服务器端性能进行分 析并综合比较,得出几种服务器模型的优劣及应用场景。(支撑毕业目标4.1)四、课程目标对毕业要求指标点的支撑表41课程目标对毕业要求指标点的支撑毕业要求毕业要求指标点课程目标1231工程知识1.3能够从事计算机网络相关工作所需的软件理论与开发知识, 能将其用于网络系统软件及其应用系统的研发、设计和维护。 具备理解计算机复杂工程问题的能力,能够运用所学知识进行 计算机问题求解。M注:分别用“H、M、L”对应表示“高、中、低”支撑。毕业要求毕业要求指标点课程目标1233设计/开发解 决方案3.2能够根据明确的需求,设计出针对计算机网络相关复杂工程 问题的解决方案,能够用设计文档、原型系统等形式呈现设计 成果。H4研究4.1能够基于科学原理,通过文献研究或相关方法,调研和分析 计算机网络相关应用领域的复杂工程问题的解决方案和实验方 法。H五、教学内容及实施手段表51教学内容与进度要求章节小节内容要求具体要求学生成果课程 目标学 时第二章 程序编 译与运 行(1) Linux下程序编 译与调试认知程序代码编写、编译、运行会使用Vim编写代码 会进行简单程序的编 译与运行12(2) linux开发环境 的搭建认知搭建开发环境能比较流畅的对着教 材编写代码12(3) makefile 文件认知多文件工程的编译Makefile的规则会修改makefile文件12第三章 文件系 统(1) linux文件系统分析文件类型文件的通用操作方法掌握open函数及参 数的用法22第四章 进程和 线程(1)进程及其创建综合进程产生的方式掌握fbrk创建子进程 理解进程和线程的差 别22(2)线程及其创建理解线程的创建线程间的互斥与同步学会在线程中使用信 号量会创建线程并传递参 数22第五、七 章TCP 网络编 程(l)TCP编程理解TCP网络编程流程 服务器/客户端的简单例子理解tcp服务器端编 程的几个函数调试服务器端与客户 端程序22(2) UDP编程理解Udp协议程序的常用函数 Udp协议程序设计中的几个 问题掌握TCP与UDP协 议的区别及其在编程 中的体现第九章10复用数据的10和复用理解IO模型10复用理解5种10模型 掌握select服务器端 编程22第十四 章服务 器模型服务器模型选择理解TCP高级并发服务器模型 10复用循环服务器掌握线程实现并发服 务器模型;掌握select 实现循环服务器模型32第十三 章原始 套接字ARP、ICMP综合ARP ICMP协议及其简单实 现掌握ARP、ICMP协议编程方法22第十八 章web 服务器 编程Web服务器编程综合Web服务器的简单实现理解Web服务器的实现掌握http包头32表52实验/上机部分教学内容与进度要求序 号实验/上机项目实验内容与方法实验 类型学时必做/ 选做课程 目标1linux开发环境的搭 建(1)搭建一个开心的linux代码开发环境。(2)接收帧的解析。验证2必做12编译多个程序的makefile文件编写(1)多文件的项目编译。(2) 一次编译多个可执行文件的makefileo验证2必做13Tcp服务器端与客户 端(1)tcp服务器端编程。(2) tcp客户端编程。(3)程序调试综合2必做14Udp协议编程(1)Udp报文丢失问题。(2) udp数据发送中的乱序。(3) Udp协议中的数据报文截断综合2必做35循环服务器模型(1)单客户端单线程,统 accept(2)单客户端单线程,各线程独自accept使用互斥锁(3) 10复用循环服务器模型验证2必做36手动填充tcp/ip手动填充信息+tcp头+ip头验证2必做27Arp icmp协议编程手动实现简单arp icmp协议验证2必做28web服务器http协议实现一个简单的web服务器程序综合2必做3表5-3课程实施手段序 号采用手段具体目标1以课堂教学为主,理论教学、小组讨论与 课后作业相结合。强化学生工程观点的建立和工程分析能力的培养。2课堂教学采用多媒体课件、电子教案、传 统教学方法和线上教学辅助结合。提高效率,增强教学的直观性和课堂教学的信息量。3小组讨论采用启发式教学,通过学生协作、 自主学习的答辩模式进行。让学生自主分工、查阅资料、研究分析与制作汇报报 告,培养学生提出问题、分析问题和解决问题的能力。六、课程思政表61课程思政内容课程思政教学内容 天下兴亡、匹夫有责:让学生体察到“为中华之崛起而读书”和学好本课 程的使命感、责任感。言必信、行必果:做人要守诚信、大胸怀,大格局。天下为公:做一个使这个世界更美好的程序员。表6-2课程思政具体案例序 号所属章节/ 案例名称案例教学目标思政元素1第1章第1讲Linux操作系统了解Linux操作系统的演化; 熟悉linux命令行操作结合衍生操作系统:红旗、深度、鸿 蒙。鸿蒙的诞生标志中美贸易战转向 科技战,天下兴亡、匹夫有责”强调“天行健,君子以自强不息”。让学生 体察到“为中华之崛起而读书”和学 好本课程的使命感、责任感2第1章第2讲 编译多个程序的 makefile 文件熟悉并自觉遵守GPL通用许可证。课堂讨论“规避GPL许可证or直接编 译进自己的代码中”中华优秀传统文化:诚者,天之道也; 思诚者,人之道也” “言必信、行必 果”做人要守诚信、大胸怀,大格局。自觉遵守GPL通用许可证3第十八章第1讲 Web服务器编程理解开源项目web Server的makefile 文件。掌握web server的原理利用开源项目来开展创新创业大道之行也,天下为公。利用开源项 目来激励学生创新创业。创业态度端 正:不为钱,而是为了使这个世界更 美好七、考核及成绩评定1、考核方法本课程考核采用平时成绩+实验成绩+期末考试的综合考核方式,即: 总成绩=平时成绩*18%+实验成绩*32%+期末考试成绩*50%平时成绩分为2部分:课后作业(8%)、课堂测试(10%)。各考核环节及权重如表7-1所示。表71考核环节及权重表项目名称课程目标考核环节及成绩占比()课程目标 权重 (%)课堂 测试 (10%)课后 作业 (8%)实验 成绩 (32%)期末 成绩 (50%)课程目标122101024课程目标243102037课程目标343122039合计10832501002、考核内容及评价标准实验成绩:占总成绩的32%。分为8次实验,包括一次验证性实验和三次综合性实 验(各占实验成绩25%);每次评分施行百分制,评分内容包括到课、课堂表现、实际操 作和实验报告,评分标准如表7-2所示。表7-2实验考核方案及评价标准课程目标考核内容优秀良好中等及格不及格linux开发环境的搭建实验操作步骤正确,实验实验操作步骤较正确、实实验操作步实验操作步makefile文件编写骤基本正确、 实验预习基 本完整、准骤不够正确 实验预习不 够完整、准不做实课程目标2Tcp服务器端与客户端报告完整(包 括实验预习、 数据处理分 析)验预习较完 整、准确,数 据处理及讨 论较正确验、不 交实验 报告Udp协议编程确,数据处理 及讨论基本 正确确,数据处理 及讨论不够 正确循环服务器模型实验操作步实验操作步实验操作步 骤基本正确、 实验预习基 本完整、准 确,数据处理实验操作步 骤不够正确 实验预习不 够完整、准 确,数据处理课程目标3手动填充tcp/ip骤正确,实验 报告完整(包骤较正确、实 验预习较完不做实 验、不Arp icmp协议编程括实验预习、 数据处理分 析)整、准确,数 据处理及讨 论较正确交实验 报告web服务器http协议及讨论基本 正确及讨论不够 正确 期末考试:占总成绩50%。闭卷考试,考试时间120分钟,成绩采用百分制,卷面 成绩总分100分,考试范围包括123, 4课程目标。具体考试时间与教务办公室联系协商通 知进行。表7-3作业评价标准考核 内容优秀(90100分)良好(8089分)中等(7079分)及格(6069分)不及格(60分以下)作业按时足量提交, 90%以上的概念与 计算正确,方案合 理,书写清晰且文 本规范。按时足量提交,80%以上的概念与 计算正确,方案较 合理,书写比较清 晰、规范。缺量提交,70%以上 的概念与计算正确, 方案基本合理,书写 基本清晰、规范。补交,60%以上的 概念与计算正确, 方案不够合理,书 写不够清晰、规范。提交作业错误 过多,书写混乱 潦草。(不交作 业、抄袭记零 分)。课堂测试:占总成绩的10%0每次课程结束后通过雨课堂进行线上小测试。同时结 合随机课间考勤和互动,每名学生不少于5次,每缺一次扣2%,扣完14%为止,无故缺勤 5次以上者取消本门课程的考核资格。 课后作业:占总成绩的8%o本门课程每章均布置作业,布置次数不低于4次,每 次作业的占比均分,根据学生作业是否按时上交、是否独立完成以及作业完成准确性与可读 性评分。作业具体评分标准如表7-3所示。3、按照工程教育认证标准和学校人才培养要求,考核以学生能力是否有效达成为基准。 为保障学生课程培养能力的达成,规定期末考试卷面成绩应高于一定分数。4、考核周期为一个学年。为使评价结果尽快反馈给各个教学环节,促使各个教学环节 尽快改进,保证教学效果的快速提升,课程考核成绩评价每学年进行1次。5、考核依据计算机与电气工程学院课程目标达成评价实施办法文件进行。八、课程质量评价和持续改进课程结束后由课程责任人以定量和定性评价方法,针对具体课程目标形成文字或图表形 式的报告,针对学生个体和整体的学习成果评价并对相关问题进行分析;课程目标达成与课 程在培养学生解决复杂工程问题能力的具体环节任务的达成相关性分析;对以上各薄弱环节 进行原因分析,提供持续改进建议,并由学院教学指导委员会进行审核。针对学生个体和整 体的课程目标评价方法如下:1、课程考核成绩算分评价法:课程目标达成度算分评价法是以参加课程学习的所有学 生获得课程成绩为样本,对支撑毕业要求中各个指标点对应的课程目标进行达成情况评价, 要由任课教师、课程负责人进行评价。课程目标达成情况评价值计算按下面公式进行:k r课程目标达成评价值 i=l Zj上式中k是该课程目标评价环节数,评价环节有平时过程考核、课后作业、大作业、实验、 期末考试等(具体的依据考核审核表确定);为是第i个评价方式的总分值,口是为学生在第 i个评价方式上的得分,Pi是第i个评价方式在该课程目标评价中的占比。2、教学期间,任课教师通过作业、报告及学生反馈等及时优化教学方式和手段;整个 课程中,任课教师针对学生课程目标未达成者,通过优秀学生与其沟通交流作进一步专题辅 导改进;整体达成度较差部分,通过抽查与学生交流、分析问题,作进一步教学内容及方法 的改善。九、教材与主要参考资料L教材:宋敬彬主编,linux网络编程(第二版)M,北京:清华大学出版社,2014年2月。2.教学参考书目:1瑞安米切尔等编,Python网络爬虫权威指南(第2版),北京:人民邮电出版 社,2019年4月。2刘飕著,网络编程与分层协议设计,北京:机械工业出版社,2011年7月。