教学目的与要求:
1、熟悉TCP和UDP的区别,OSI和TCP/IP协议簇的区别。
2、掌握ARP和RARP的工作原理,常见的TCP/IP中各层的协议。
3、了解TCP/IP各层报文头部格式。
教学基本内容:
1、TCP和UDP的区别。
2、ARP和RARP的工作原理。
3、TCP/IP中各层的协议。
4、TCP/IP各层报文头部格式
教学重点、难点:
1、重点: TCP和UDP的区别;TCP/IP中各层的协议。
2、难点:TCP/IP中各层的协议原理;TCP/IP各层报文头部格式
教学方法:
多媒体讲授法、讨论法、上机操作
| 教学过程: 【旧课复习】:OSI参考模型分层结构、各层的功能是什么?封装与解封装的过程? 2.2 任务二:TCP/IP协议簇探究 2.2.1 TCP/IP与OSI参考模型的比较 Ø OSI参考模型与TCP/IP参考模型 OSI/RM是七层结构:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 TCP/IP 是四层的体系结构:应用层、运输层、网际层和网络接口层。 Ø OSI参考模型与TCP/IP参考模型的比较 (1)共同点: A、都是分层结构,且各层间的协议彼此相互独立; B、两个模型中各个层的功能大体相似,且都使用包交换技术。 (2) 不同点: A、层数不同。 B、OSI的概念清楚,理论较完整,但它既复杂又不实用。 C、OSI模型最大的贡献是使核心概念“服务”、“接口”、“协议”更加明确,而TCP/IP模型没有清楚地区分。 2.2.2 TCP/IP协议簇的层次结构 TCP/IP不是一个单独的协议,而是一个协议簇,是一组不同层次上的多个协议的组合。上面给出了OSI与TCP/IP模型对比、TCP/IP不同层次的协议。 要求:让学生会识别对应层的协议。 2.2.3 TCP/IP协议簇应用层协议 在应用层包含了不同类型的应用进程,如:telnet远程登录、FTP文件传输、TFTP、SMTP、DNS等。 2.2.4 TCP/IP协议簇传输层协议 在传输层,主要包含TCP和UDP 两个协议,其中UDP(用户数据报协议)是不可靠的无连接的协议。利用UDP 的应用层协议有TFTP和SNMP等。TCP是可靠的,面向连接的协议,利用TCP(传输控制协议)的应用层协议有TELNET、FTP 等。 重点:掌握两种协议的区别和联系?对比记忆,加深印象,可以结合学生使用的QQ程序进行说明,UDP不支持可靠传输,因为QQ消息会莫名传输失败。 目的: 让学生从抽象的协议到熟悉的应用,建立链接。加强学习的效果。 TCP 和UDP 采用16 bit 的端口号来识别不同的应用程序。 网络服务一般都是通过知名端口号来识别的。任何TCP/IP 实现所提供的服务都使用知名的1~1023 之间的端口号。这些知名端口号由Internet 号码分配机构( Internet Assigned Numbers Authority, IANA)来管理。现在IANA 管理1~1023之间所有的端口号。 (1)TCP 传输控制协议 位于传输层, 提供可靠的字节流服务。 所谓的字节流服务是指,为了方便传输,将大块数据分割成以报文段(segment) 为单位的数据包进行管理。 而可靠的传输服务是指,能够把数据准确可靠地传给对方。即TCP 协议为了更容易传送大数据才把数据分割, 而且 TCP 协议能够确认数据最终是否送达到对方。所以,TCP连接相当于两根管道(一个用于服务器到客户端,一个用于客户端到服务器),管道里面数据传输是通过字节码传输,传输是有序的,每个字节都是一个一个来传输。 A、TCP 首部的数据格式 如果不计任选字段,它通常是20个字节。每个TCP 段都包含源端和目的端的端口号,用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。TCP 为应用层提供全双工服务。这意味数据能在两个方向上独立地进行传输。因此连接的每一端必须保持每个方向上的传输数据序号。 B、TCP三次握手/建立连接 TCP 是面向连接的传输层协议,所谓面向连接就是在真正的数据传输开始前要完成连接建立的过程,否则不会进入真正的数据传输阶段。 TCP 的连接建立过程通常被称为三次握手( three-way handshake),要求学生掌握。握手过程中使用了 TCP 的标志(flag) —— SYN(synchronize) 和ACK。 第1次:主机A给B说:我想给你发数据,可以吗? 第2次:主机B给A说:可以啊,你什么时候发? 第3次:主机A给B发一个数据包确认:我现在就发哦,你接收吧! 经过这3次对话后,主机A才正式向主机B发送数据。 具体过程见下图: · 第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。 · 第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。 · 第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,完成三次握手。
C、TCP 四次握手/终止连接 一个TCP 连接是全双工(即数据在两个方向上能同时传递),因此每个方向必须单独进行关闭。当一方完成它的数据发送任务后就发送一个FIN来终止这个方向连接。当一端收到一个FIN,它必须通知应用层另一端已经终止了那个方向的数据传送。所以TCP 终止连接的过程需要四个过程,称之为四次握手过程。 · 客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。 · 服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。 · 服务器B关闭与客户端A的连接,发送一个FIN给客户端A。 · 客户端A发回ACK报文确认,并将确认序号设置为收到序号加1
【补充】: 1、1、TCP使用滑动窗口机制来进行流量控制 建立连接时,各端分配一个缓冲区用来存储接收的数据,并将缓冲区的尺寸发送给另一端。接收方发送的确认消息中包含了自己剩余的缓冲区尺寸。剩余缓冲区空间的数量叫做窗口。其实就是建立连接的双虎互相知道彼此剩余的缓冲区大小。 2、TCP使用拥塞控制机制 拥塞控制:防止过多的数据注入到网路中,这样可以使网络中的路由器或链路不至于阻塞。拥塞控制是一个全局性的过程,和流量控制不同,流量控制是点对点的控制。(慢开始、拥塞避免、快重传、快恢复) (2)UDP 用户报文协议 UDP 是一个简单的面向数据报的传输层协议,UDP 不提供可靠性,它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。UDP 和TCP在首部中都有覆盖它们首部和数据的检验和。UDP 的检验和是可选的,而TCP 的检验和是必需的。UDP的首部开销小,只有8个字节。 两个传输层协议TCP 与UDP 具有不同的特点,适合在不同的网络环境及不同的应用需求中使用。 结合身边应用程序,比如QQ就是采用UDP协议,不支持可靠传输,让学生印象深刻。 (3)2个协议的区别 1) TCP提供面向连接的传输,通信前要先建立连接(三次握手机制);UDP提供无连接的传输,通信前不需要建立连接。 5)应用场景区别:TCP协议需要三次握手通信成功后进行建立,应用场景:互联网和企业网上客户端应用,数据传输性能让位于数据传输的完整性,可控制性和可靠性。UDP协议是直接发送,不会判断是否接收和发送成功,应用场景:当强调输出性能而非完整性时,如音频和多媒体的应用。 2.2.5 网络层协议 IP提供3种主要的功能: ● 无连接的,不可靠的传递服务 ● 数据包分段和重组 ● 路由功能 ICMP(Internet互连网控制报文协议)是IP协议的附属协议,主要被用来与其他主机或路由器交换错误报文和其他重要信息。尽管ICMP主要被IP使用,但应用程序也可以访问它,例如我们常用的两个诊断工具ping 和traceroute,都使用了ICMP协议。ARP(地址解析协议)和RARP(反向地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。 (1)IP 数据包格式IP数据包中包含的主要部分如下: u 版本:目前的协议版本号是4,因此IP有时也称作I P v 4。它的下一个版本就是IPv6。IPv6是由128位二进制数码表示。我们使用的第二代互联网IPv4技术,核心技术属于美国。 问学生:了解IPV4和IPV6了解不,为什么要引入IPV6? u 生存时间TTL(time-to-live):该字段设置了数据包可以经过的最多路由器数。它指定了数据报的生存时间。TTL的初始值由源主机设置(通常为32或64),一旦经过一个处理它的路由器,它的值就减去1。当该字段的值为0 时,数据报就被丢弃,并发送ICMP报文通知源主机。 u 协议字段:根据它可以识别是哪个协议向IP传送数据。TCP、UDP、ICMP和IGMP及一些其他的协议都要利用IP传送数据,因此IP必须在生成的IP首部中加入某种标识,以表明其承载的数据属于哪一类。为此,IP在首部中存入一个长度为8 bit的数值,称作协议域。其中1表示为ICMP协议,2表示为IGMP协议,6表示为TCP 协议,17 表示为UDP协议。 u 首部检验和字段:根据IP首部计算的检验和码。它不对首部后面的数据进行计算。因为ICMP、IGMP、UDP 和TCP 在它们各自的首部中均含有同时覆盖首部和数据效验和码。每一份IP数据报都包含32 bit 的源IP地址和目的IP地址。 (2)ICMPICMP 是一种集差错报告与控制于一身的协议。在所有TCP/IP 主机上都可实现ICMP。ICMP 消息被封装在IP 数据报里,ICMP 经常被认为是IP 层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP 或UDP)使用。一些ICMP报文把差错报文返回给用户进程。 常用的“ping”就是使用的ICMP协议。“ping”这个名字源于声纳定位操作,目的是为了测试另一台主机是否可达。该程序发送一份ICMP 回应请求报文给主机,并等待返回ICMP回应应答。一般来说,如果不能Ping到某台主机,那么就不能Telnet 或者FTP 到那台主机。反过来,如果不能Telnet 到某台主机,那么通常可以用Ping 程序来确定问题出在哪里。Ping程序还能测出到这台主机的往返时间,以表明该主机离我们有“多远”。 PING程序 PING 用来测试两个主机之间的连通性。 PING 使用了 ICMP 回送请求与回送回答报文。 PING 是应用层直接使用网络层 ICMP 的例子,它没有通过运输层的 TCP 或UDP。 PING程序执行实例。 课堂练习: 1. ping l 在打开的cmd窗口输入命令ping 127.0.0.1。这里的IP地址127.0.0.1是本地回环地址,如果本地址无法ping通,则表明该主机的TCP/IP协议不能正常工作。 l ping域名可以检查外网是否连通。比如:ping www.baidu.com。可以看到图1-4是和外网Internet连通的情况。 l ping 网络中的其他主机。在电脑A Ping 对方主机电脑B的IP地址192.168.1.2。在电脑A和电脑B连接正常的情况下。 l ping 命令的几种特殊应用 a. ping IP –t ,ping IP -t是连续对IP地址进行ping指令,停止需要按组合键ctrl+c。 b. ping IP -l & ping IP –n,ping IP -l <Byte>是指执行传输规定字节大小的ping指令。 c. ping –a IP -S <源地址> ,网络中的设备有好几个网络地址时,需要用到带源地址ping。ping –a IP -S <源地址>是将目的地址解析为主机名并带源地址ping。 2. Tracerout(Tracert) Tracerout程序基本原理和工作流程。 (1)源向目的地发送一系列UDP段 第一个 TTL =1第二个 TTL=2, 等不可达的端口号 (2)当第n个数据报到达第n个路由器: 路由器丢弃数据报,并向源发送一个ICMP差错报文 (超时报文),报文包含该路由器的IP地址,源根据收到的ICMP报文计算RTT,Traceroute执行上述过程3次 (3)停止规则 UDP段最终到达目的主机,目的地返回ICMP “终点不可达”分组(由于无进程接收该分组),当源得到该ICMP,停止。 总结:ping命令主要检测结果,tracert命令主要看过程! 实验上机:《实验指导书》:第二章 网络常用命令的使用
(3)ARP 工作机制(已知目标主机的IP地址,解析对应的MAC地址) ARP 协议需要为IP地址和MAC地址这两种不同的地址形式提供对应关系。 ARP 过程如下:ARP 发送一份称作ARP 请求的以太网数据帧给以太网上的每个主机。这个过程称作广播,ARP请求数据帧中包含目的主机的IP地址,其意思是“如果你是这个IP地址的拥有者,请回答你的硬件地址。 连接到同一LAN的所有主机都接收并处理ARP 广播,目的主机的ARP 层收到这份广播报文后,根据目的IP地址判断出这是发送端在寻问它的MAC地址。于是发送一个单播ARP 应答。这个ARP 应答包含IP 地址及对应的硬件地址。收到ARP 应答后,发送端就知道接收端的MAC 地址了。 【提问】:IP地址与MAC地址的区别? 【回答】: (1)IP地址放在IP数据报的首部(在网络层以上使用)。 (2)硬件地址放在MAC帧的首部(在链路层以下使用)。 【提问】:但是IP地址是32位,MC地址是48位,如何完成他们之间的映射呢? 【回答】:ARP 高效运行的关键是由于每个主机上都有一个ARP 高速缓存。这个高速缓存存放了最近IP地址到硬件地址之间的映射记录。当主机查找某个IP地址与MAC地址的对应关系时首先在本机的ARP缓存表中查找,只有在找不到时才进行ARP广播。 【提醒学生注意】:ARP请求是广播方式,而ARP应答是单播方式。 【补充】:如何在思科软件上查看ARP协议转换过程呢?(学生上机操作) 1、 通过arp –a,arp –d,arp –s,来查看、删除、增加本机相关地址转换。 2、通过查看软件上ARP缓存表。 (4)RARP 工作机制(已知目标主机的MAC地址,解析对应的IP地址) RARP 实现过程是主机从接口卡上读取唯一的硬件地址,然后发送一份RARP 请求(一帧在网络上广播的数据),请求某个主机(如DHCP 服务器或BOOTP 服务器)响应该主机系统的IP地址。 DHCP服务器或BOOTP 服务器接收到了RARP的请求,为其分配IP地址等配置信息,并通过RARP 回应发送给源主机。 【提醒学生注意】:RARP请求是广播方式,而RARP应答是单播方式。 | 补充内容 底层为上层服务,各部分写作。团结协作,高效率办事。
重点掌握
|
| 思考题、讨论、作业、技能操作: 1、作业P30: 2、3、4、5 2、实验任务:上机验证应用层、传输层、网络层各协议命令。 3、下次课预习:项目3 IPv4地址规划 | |
| 参考资料(含参考书籍、文献、网络资料): 1、许圳彬,王田甜,《IP网络技术》,北京:人民邮电出版社,2012.8 2、张俊星,黄成哲,《数据通信技术》,人民邮电出版社,2019.7 | |
| 教学小结: TCP/IP 协议是互联网的标准,它是多个不同层次协议的集合。每个层次有不同的分工:应用层支持 FTP、Telnet 等应用程序;传输层包含TCP 和UDP 协议,提供流量控制,可靠传输等;网络层负责寻址和转发。 通过本次课的学习,了解TCP/IP的数据包结构,理解TCP/IP的五层分层与OSI七层的对应关系,能熟练的掌握TCP/IP的协议族各层的协议类型、作用。TCP/IP与 1、OSI参考模型比较 2、TCP/IP协议簇的层次结构、各主要层次协议 教学反思: 通过课堂学习,学生对各层的参考模型的理解不够深入,通过讲解收发邮件等过程进行对比。
| |

