Download presentation
Presentation is loading. Please wait.
1
探究式示范建设课程汇报 计算机网络 宁波大学信息科学与工程学院 王晓东/周宇 2012.6
2
课程基本信息 1、 课程属性 课程名称:计算机网络 课程对象:通信工程 电子信息 电气工程 计算机 课程学分:3 课程学时:68学时
课程对象:通信工程 电子信息 电气工程 计算机 课程学分:3 课程学时:68学时 Computer Networking
3
课程基本信息 2、教材选用 Computer Networking: A Top Down Approach Featuring the Internet,4rd edition Jim Kurose, Keith Ross Addison-Wesley. 计算机网络—自顶向下方法与Internet特色 (第4版 影印版)高等教育出版社 #1 Computer Networks and the Internet #2 Application Layer #3 Transport Layer #4 Network Layer and Routing #5 Link Layer and Local Area Networks Computer Networking
4
课程基本信息 3、课程群关系 计算机网络 无线网络技术 信息安全技术 传感网络技术 网络系统集成 Java语言与Internet程序设计
Computer Networking
5
课程基本信息 4、教学目标任务 本课程主要介绍计算机网络当前的主流技术、基本原理及应用领域中的各种工程问题。
学生通过本课程的学习,重点反映计算机网络的原理性知识,以及网络体系结构中众多协议的要点和基本概念,要求学生主要掌握计算机网络的基本原理,熟练掌握数据链路层、网络层和传输层、应用层的主要功能和核心协议思想。 运用自顶向下方法和internet特色,以TCP/IP协议为例重点介绍Internet应用层协议和可靠传输协议、流量和拥塞控制算法,并通过自主学习和探究实验进行计算机网络的协议分析,能够初步掌握计算机协议编程技术。
6
课程基本信息 5、知识体系 课程知识核心体系: 以协议原理为主 并兼顾组网应用 在学生的技术素质的培养上: 以应用能力为主 并兼顾开发能力
课程意义: 在信息专业学生的知识和技能体系结构中起着贯穿性 的作用 传授处理复杂问题、分层问题、构建问题等方法论和 世界观。 Computer Networking
7
课程组织 课堂 讲授 让学生用自己动手实验探究的方法进行学习和应用,使学生成为课堂精彩的一部分! 自顶向下方法和互联网为实例
(17) 自顶向下方法和互联网为实例 实验探究(30) 团队调研报告 个人读书报告 个人课后作业 团队研究项目 开放实验 让学生用自己动手实验探究的方法进行学习和应用,使学生成为课堂精彩的一部分! Computer Networking
8
课程特色一 理论和实验融合教学 Computer Networking 强化实验 岛式组团 理实 融合 在实验室上课,将实验和理论授课打通
精讲多练,强化学生自学和探究环节 用动手探究环节来驱动学生学习 培养学生的实验能力和实践精神 不光可以在理论不便讲授时采用实验分析辅助 还可以在理论讲授后让学生马上动手实验验证和分析 部分环节让学生先实验后提出问题、带着问题听课 或者让学生自己分析、讨论和总结得出结论 大大提高了学生的分析能力和学习兴趣 Computer Networking
9
课程特色二 技术和原理感知式教学 协议 实验 体验 “通过今天的课程,我突然有了网络应用中数据包交换和传输的真实感受,就像当年海伦凯勒把手伸到水流中豁然领悟‘水’的含义一样,真的好兴奋哦!”很多学生在计算机网络课程探究式教学中都有过类似的感叹。 Computer Networking
10
课程特色三 应用和研究成就式教学 每班每组学生报告全程录像! 自主选题 编制计划 收集资料 动手实验 整理汇报 交流印证
Computer Networking
11
团队组织 5-6人一组(组长) 每个小组一个小岛 每个小组一个组名 团队任务: 完成合作教学任务(同,协作完成)
完成团队专项研究(异,开放实验) 腾讯、微软、百度、淘宝等专题 创建和维护团队博客(人人小站) 展示团队成果 越丰富越好 越个性越好 “成就驱动” 7 7
12
人人教学网站 课程主站 http://zhan.renren.com/dawnet
课程主站 X-pec 霸气爷们波 春田花花幼儿园 七星阁 相聚岛 真我风采 火力全开 愤怒的小强 梦之翼 非常6+1 Computer Networking
13
团队进度安排 指导学生分组 指导学生建立小组网站 组织学生开放实验选课 安排进行WEB2.0技术调研 指导SKYPE研究论文研读
日期 内容 备注 第一周 指导学生分组 指导学生建立小组网站 第二周 组织学生开放实验选课 第四周 安排进行WEB2.0技术调研 第七周 指导SKYPE研究论文研读 分组选取研究应用主题 第八周 初步选取关注问题 指导技术资料查找 第九周 选取要解决的第一个问题 老师演示的研究方法 第十周 指导尝试解决第一个问题的方法 学习第3、第4章的知识 第十一周 重新设定要解决的问题 第十二周 设计方案分析问题 查找更多资料,借鉴前人的研究 第十三周 形成初步报告 第十四周 汇报交流 精彩纷呈 第十六周 递交最终报告 Computer Networking
14
课程考核成绩 个人作业 探究报告 团队作业 100% 期末考核 实验考核 10% 13% 17% 50%
Computer Networking
15
单元说课 第二章 第2&3次课 HTTP协议 Computer Networking
16
单元教学内容与目标 学习内容: 前导知识: 实验软件: 课前预习: 教学组织:
HTTP协议的特性,包括GET方法、服务器响应、单对象、多对象等知识。 以宁大网站首页为例。 前导知识: Wireshark抓包的基础。 实验软件: 开源的WIRESHARK。 课前预习: 学生课前预习HTTP协议的主要特性。 教学组织: 学生分成2人一组(每个实验岛6人),在实验室授课。 师生一起动手实验并分析讨论,循序渐进的深入探究HTTP协议。 学会自己如何一步一步的掌握协议知识。 Computer Networking
17
1.课程导入 Computer Networking
18
2.基本概念 Computer Networking
19
Some jargon Web page consists of objects
Object can be HTML file, JPEG image, Java applet, audio file,… Web page consists of base HTML-file which includes several referenced objects Each object is addressable by a URL Example URL(Uniform Resource Locator): Web 和 Http 一些术语: Web页由一些对象组成 对象可以是HTML文件、JPEG图像、Java小程序、声音文件等 Web由包含引用页的基本HTML文件组成 每个对象是可以用URL设定地址的 URL的一个例子: path name Protocol host name 2: Application Layer
20
HTTP overview HTTP: hypertext transfer protocol
Web’s application layer protocol client/server model client: browser that requests, receives, “displays” Web objects server: Web server sends objects in response to requests HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 HTTP request PC running Explorer HTTP response HTTP总览 Web的应用层协议 客户机/服务器模式 客户机:浏览器,请求、接收、显示Web对象 服务器:Web服务器为请求响应发送对象 HTTP 1.0:RFC1945 HTTP 1.1:RFC1945 HTTP request Server running Apache Web server HTTP response Mac running Navigator 2: Application Layer
21
HTTP overview (continued)
Uses TCP: client initiates TCP connection (creates socket,>1024,dynamic) to server(fixed,port 80) server accepts TCP connection from client HTTP messages (application-layer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server),again,…. TCP connection closed HTTP总览: 使用TCP协议: 客户端发起到服务器(80端口)的TCP连接(创建端口,客户端自己的端口,一般在1024以上) 服务器接收客户端的TCP连接 HTTP消息(应用层协议消息)在浏览器和Web服务器之间交换(多次往复的) TCP连接关闭 HTTP是无状态的: 服务器不维护以前客户端请求的信息 维护状态的协议是复杂的: 过去的历史状态必须被维护 如果服务器或客户机崩溃,他们所查看到的状态会不一致,必须进行协调(很难) 2: Application Layer
22
HTTP request message two types of HTTP messages: request, response
ASCII (human-readable format) request line (GET, POST, HEAD commands) GET /index.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:cn (extra carriage return, line feed) header lines HTTP请求消息 HTTP消息的两种类型:请求、响应 HTTP请求消息: ASCII(人可读格式) 请求行(GET、POST、HEAD命令) 头部行 执行换行指出消息结束 Carriage return, line feed indicates end of message 2: Application Layer
23
Method types HTTP/1.0 GET POST HEAD HTTP/1.1 GET, POST, HEAD
asks server to leave requested object out of response HTTP/1.1 GET, POST, HEAD PUT uploads file in entity body to path specified in URL field DELETE deletes file specified in the URL field 方法类型 HTTP/1.0 GET POST HEAD(请求服务器在响应之外留下请求的对象)(来获得HTTP报头) HTTP/1.1 GET、POST、HEAD PUT(在实体中上传文件到URL字段的路径) DELETE(删除在URL字段中指定的文件) 2: Application Layer
24
HTTP response message status line (protocol status code status phrase)
HTTP/ OK Connection close Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 2004 …... Content-Length: 6821 Content-Type: text/html DEMO data data data data data ... header lines HTTP响应消息 状态行(协议状态码,状态短语) 头部行 数据,比如所请求的HTML文件 data, e.g., Requested HTML file 2: Application Layer
25
HTTP response status codes
In first line in server->client response message. A few sample codes: 200 OK request succeeded, requested object later in this message 301 Moved Permanently requested object moved, new location specified later in this message (Location:) 400 Bad Request request message not understood by server 404 Not Found requested document not found on this server 505 HTTP Version Not Supported HTTP响应状态码 服务器给客户端的第一行响应信息,下面是一些例子: 200 OK:请求成功,请求的对象在消息的后面 301 Moved Permanently:请求的对象移动了,新的位置在消息的后面(Laction:.....) 400 Bad Request:请求的消息服务器无法处理 404 Not Found:请求的文档在服务器上没有发现 505 HTTP Version Not Supported:HTTP版本不支持 2: Application Layer
26
3. 理论实验融合探究教学 Computer Networking
27
DIY!now 2.1 基本的HTTP GET/Response
设置capture filter 清空internet缓存 完成一次简单的HTTP访问 仔细观察HTTP的数据包结构 分析GET和Response 深入一步 访问一个跳转网页,了解302状态码 访问一个错误网页,体验404状态码 2: Application Layer
28
探究任务与问题 2: Application Layer
29
DIY!now 2.2 得到较长的HTTP文档 通过浏览器访问一个较长的网页 分析多个数据包传输的过程
观察“Continuation or non-HTTP traffic DATA”或“TCP Segment of a Reassembled PDU ” 2: Application Layer
30
DIY!now 2.3 基本的HTTP post/Response
访问mail.nbu.edu.cn 用任意用户名登录 对捕获到的post和response进行分析 研究chunked编码和set-cookie的作用 2: Application Layer
31
Reading-works 2.1 WEB数据传输安全
我们发现HTTP协议在GET、POST及其响应数据都是 明文传输的,这在电子商务、电子政务应用中会出现 商业利益和个人隐私问题,请通过动手实验或网络搜 索调研: 1 研究你所使用的WEB电子邮局是否存在账户、密 码安全问题? 2 目前有没有具有安全性更好的HTTP协议标准? 提示:HTTPS和SSL 2: Application Layer
32
DIY!now 2.4带有内嵌对象的HTML文档 访问一个带两个图片的网页; 观察和分析首页、两个图片的下载过程;
2: Application Layer
33
DIY!now 2.5 多重对象的HTML文档 再次访问google首页; 观察后续多个图片的下载过程;
2: Application Layer
34
Persistent HTTP(难点) Nonpersistent HTTP issues:
requires 2 RTTs per object OS overhead for each TCP connection browsers often open parallel TCP connections to fetch referenced objects Default in HTTP/1.0 Persistent HTTP server leaves connection open after sending response subsequent HTTP messages between same client/server sent over open connection Persistent without pipelining: client issues new request only when previous response has been received one RTT for each referenced object Persistent with pipelining: default in HTTP/1.1 client sends requests as soon as it encounters a referenced object as little as one RTT for all the referenced objects HTTP连接 非持续的HTTP: 每个对象需要2个rtts 操作系统要处理每个TCP连接 浏览器可以并行请求 HTTP/1.0使用非持续的HTTP 持续的HTTP: 服务器发送完一个响应保留连接 后续的HTTP消息在同一个C/S间可以在打开的连接上传输 持续但没有流水线: 客户端在传完上一个响应后开始新的请求 每个对象一个RTT 持续并且流水线: HTTP/1.1默认 客户端尽量的请求每一个参考对象 一个对象一个RTT 2: Application Layer
35
Nonpersistent HTTP Suppose user enters URL www.nbu.edu.cn time
(contains 5 text files, 1 css file, 31 gif images) Suppose user enters URL 1a. HTTP client initiates TCP connection to HTTP server (process) at on port 80 1b. HTTP server at host waiting for TCP connection at port 80. “accepts” connection, then notifying client 2. HTTP client sends HTTP request message (containing URL) into TCP connection socket. Message indicates that client wants object index.html 非持续的HTTP 假设用户输入URL 包含文本和关联的10个jpg图像 1a. HTTP客户端发起TCP连接到HTTP服务器的进程,在 1.b 2. HTTP客户端发送包含URL的HTTP请求信息给TCP连接的socket。消息指出客户端需要的对象index.html。 3.HTTP服务器接收请求消息,表单响应消息包含请求的对象,发送消息给socket 3. HTTP server receives request message, forms response message containing requested object, and sends message into its socket time 2: Application Layer
36
Nonpersistent HTTP (cont.)
4. HTTP server closes TCP connection. 5. HTTP client receives response message containing html file, displays html. Parsing html file, finds 31 referenced jpeg objects and other files time 4. HTTP服务器关闭TCP连接 5.HTTP客户端接收响应信息包含HTML文件,显示HTML文件,解析HTML文件,发现31个关联对象和其他文件 6.重复1-5步完成31个jpeg和其他文件对象 6. Steps 1-5 repeated for each of 31 jpeg objects and other files 2: Application Layer
37
NonPersistent HTTP Total (index.html+36files) >74RTT
Nonpersistent HTTP issues: requires 2 RTTs per object OS must work and allocate host resources for each TCP connection but browsers often open parallel TCP connections to fetch referenced objects RTT RTT 1 RTT RTT 2 RTT 3 . 35 持续的HTTP 非持续HTTP问题: 每个对象需要2RTT 操作系统必须工作和分配主机资源给每个TCP连接 但浏览器经常打开TCP连接来获取链接的对象 持续的HTTP: 发送响应后服务器保留链接打开(状态) 同一客户机/服务器后来的HTTP消息通过(原来的)连接发送 持续但并不并发: 仅当遇到以前的(对象),客户端发出新的请求 每个链接的对象一个RTT 持续且并发: HTTP/1.1的默认值 客户端一遇到链接的对象就发送请求 所有的链接对象仅仅一个RTT Total (index.html+36files) = 2RTT*37 + transmit time >74RTT RTT 36 RTT time time 2: Application Layer
38
Persistent HTTP Persistent HTTP
server leaves connection open after sending response subsequent HTTP messages between same client/server are sent over connection RTT Index.html RTT 持续的HTTP 非持续HTTP问题: 每个对象需要2RTT 操作系统必须工作和分配主机资源给每个TCP连接 但浏览器经常打开TCP连接来获取链接的对象 RTT 1 2: Application Layer
39
Persistent HTTP Persistent without pipelining:
RTT Index.html RTT 1 Persistent without pipelining: client issues new request only when previous response has been received one RTT for each referenced object RTT 2 RTT 3 . 35 持续的HTTP 持续但并不并发: 仅当遇到以前的(对象),客户端发出新的请求 每个链接的对象一个RTT 36 Total (index.html+36files) = 2RTT+RTT*36 + transmit time >38RTT RTT time time 2: Application Layer
40
Persistent HTTP Persistent with pipelining: default in HTTP/1.1
client sends requests as soon as it encounters a referenced object as little as one RTT for all the referenced objects RTT RTT Index.html 持续且并发: HTTP/1.1的默认值 客户端一遇到链接的对象就发送请求 所有的链接对象仅仅一个RTT RTT 1 3 36 RTT 2 Total (index.html+36files)= 2RTT+2RTT + transmit time>4RTT 2: Application Layer
41
NoPersistent with pipelining:
RTT RTT Index.html RTT 1 2 36 RTT 持续且并发: HTTP/1.1的默认值 客户端一遇到链接的对象就发送请求 所有的链接对象仅仅一个RTT Total (index.html+36files)= 2RTT+2RTT + transmit time>4RTT 2: Application Layer
42
Persistent with pipelining, Issume MAX conection=8
RTT RTT Index.html RTT 1 3 9 RTT 2 11 17 RTT 10 19 25 RTT 18 27 33 RTT 26 RTT 35 36 34 Total (index.html+36files)= 2RTT+RTT*6 + transmit time>8RTT 2: Application Layer
43
NoPersistent with pipelining, Issume MAX conection=8
RTT RTT Index.html RTT 2 1 8 RTT RTT 10 16 9 RTT RTT 18 17 24 RTT RTT 26 32 25 RTT RTT 34 36 33 35 RTT Total (index.html+36files)= 2RTT+2RTT*5 + transmit time>12RTT 2: Application Layer
44
4.单元小结与分析 Computer Networking
45
Team-works 2.1 一个连接并行下载多个?
前面实验研究了来自不同服务器和同一服务器多个对象 的传输实例,我们也分析了HTTP的不同工作模式,现在 讨论一下这样一种工作模式,即:一个TCP连接中并行 下载多个HTTP对象。 目前有没有存在这样的HTTP工作方式? 这样的HTTP工作方式会带来什么问题? 2: Application Layer
46
We are all the wonderful part of course.
宁波大学信息科学与工程学院 2012
Similar presentations