2024-2025-1数据通信技术

周玮、段恒利、景文芳

目录

  • 1 应用型示范课程材料
    • 1.1 省级示范性课程申报书
    • 1.2 省级示范性课程中期材料
    • 1.3 数据通信技术课程大纲
    • 1.4 数据通信技术授课计划
    • 1.5 数据通信技术教案
      • 1.5.1 课程讲义(教学设计)
  • 2 第一单元初识计算机网络
    • 2.1 1.1认知计算机网络
    • 2.2 1.2了解网络基础知识
  • 3 第二单元解构网络协议框架
    • 3.1 2.1 初识OSI参考模型
    • 3.2 2.2TCP/IP协议簇探究
  • 4 第三单元IPv4地址规划
    • 4.1 3.1初识IPv4地址
    • 4.2 3.2带子网划分的编址
  • 5 第四单元网络基础设备操作
    • 5.1 4.1 交换机的工作原理
    • 5.2 4.2路由器工作原理
  • 6 第五单元 搭建局域网
    • 6.1 5.1 玩转vlan技术(vlan的配置及应用)
    • 6.2 5.2打造无环的交换网络
    • 6.3 5.3链路聚合的配置及应用
  • 7 第六单元 如何实现网络间互联
    • 7.1 6.1 初识路由技术
    • 7.2 6.2 VLAN间路由调试
    • 7.3 6.3部署RIP
    • 7.4 6.4 深入研究OSPF协议
  • 8 第七单元 常用网络技术研究
    • 8.1 7.1 ACL技术的应用
    • 8.2 7.2NAT技术的实施
    • 8.3 7.3 DHCP的配置及应用
2.2TCP/IP协议簇探究

教学目的与要求:

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不是一个单独的协议,而是一个协议簇,是一组不同层次上的多个协议的组合。上面给出了OSITCP/IP模型对比、TCP/IP不同层次的协议。

 

要求:让学生会识别对应层的协议。

 

2.2.3  TCP/IP协议簇应用层协议

 

在应用层包含了不同类型的应用进程,如:telnet远程登录、FTP文件传输、TFTP、SMTP、DNS等。

  

2.2.4  TCP/IP协议簇传输层协议

 

在传输层,主要包含TCPUDP 两个协议,其中UDP用户数据报协议是不可靠的无连接的协议。利用UDP 的应用层协议有TFTPSNMP等。TCP是可靠的,面向连接的协议,利用TCP传输控制协议的应用层协议有TELNETFTP 等。

 

重点:掌握两种协议的区别和联系?对比记忆,加深印象,可以结合学生使用的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连接相当于两根管道(一个用于服务器到客户端,一个用于客户端到服务器),管道里面数据传输是通过字节码传输,传输是有序的,每个字节都是一个一个来传输。

 

ATCP 首部的数据格式

 

如果不计任选字段,它通常是20个字节。每个TCP 段都包含源端和目的端的端口号,用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。TCP 为应用层提供全双工服务。这意味数据能在两个方向上独立地进行传输。因此连接的每一端必须保持每个方向上的传输数据序号

 

BTCP三次握手/建立连接

 

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),此包发送完毕,完成三次握手。

 

 

 

CTCP 四次握手/终止连接

 

一个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提供无连接的传输,通信前不需要建立连接。
   2) TCP提供可靠的传输(有序,无差错,不丢失,不重复);UDP提供不可靠的传输。
   3) TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组;UDP是面向数据报的传输,没有分组开销。
   4) TCP提供拥塞控制和流量控制机制;UDP不提供拥塞控制和流量控制机制。

5应用场景区别:TCP协议需要三次握手通信成功后进行建立,应用场景:互联网和企业网上客户端应用,数据传输性能让位于数据传输的完整性,可控制性和可靠性。UDP协议是直接发送,不会判断是否接收和发送成功,应用场景:当强调输出性能而非完整性时,如音频和多媒体的应用。

 

2.2.5  网络层协议

 

IP提供3种主要的功能:

 

● 无连接的,不可靠的传递服务

 

● 数据包分段和重组

 

● 路由功能

 

ICMPInternet互连网控制报文协议)是IP协议的附属协议,主要被用来与其他主机或路由器交换错误报文和其他重要信息。尽管ICMP主要被IP使用,但应用程序也可以访问它,例如我们常用的两个诊断工具ping traceroute都使用了ICMP协议。ARP(地址解析协议)和RARP(反向地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。

1IP 数据包格式

  

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传送数据。TCPUDPICMPIGMP及一些其他的协议都要利用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)ICMP

ICMP 是一种集差错报告与控制于一身的协议。在所有TCP/IP 主机上都可实现ICMPICMP  消息被封装在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命令主要看过程!

 

实验上机:《实验指导书》:第二章  网络常用命令的使用

 

 

 

3ARP 工作机制(已知目标主机的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缓存表。

 


4RARP 工作机制(已知目标主机的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协议簇的层次结构、各主要层次协议

 

教学反思:

 

通过课堂学习,学生对各层的参考模型的理解不够深入,通过讲解收发邮件等过程进行对比。