1、教学重点和难点:教学重点和难点:u 端口和套接字端口和套接字u TCPTCP报文的格式及其字段的含义报文的格式及其字段的含义u TCPTCP连接建立和拆除的过程连接建立和拆除的过程u TCPTCP可靠数据传输技术可靠数据传输技术u TCPTCP流量控制和拥塞控制流量控制和拥塞控制u TCPTCP重发机制重发机制u UDPUDP报文格式报文格式u 常用的常用的TCP/IPTCP/IP应用用程序应用用程序第第8 8章章 TCP/UDPTCP/UDP协议协议 8.1 TCP/IP 8.1 TCP/IP 的传输层的传输层 8.1.1 8.1.1 传输层协议传输层协议 TCP/IPTCP/IP的传输层的
2、协议的传输层的协议提供传输控制协议(提供传输控制协议(TCPTCP)用户数据报协议(用户数据报协议(UDPUDP)UDPUDP提供无连接的服务,提供无连接的服务,UDPUDP在传送数据之前不需要建立连接。在传送数据之前不需要建立连接。TCPTCP则提供面向连接的服务。在传送数据之前必须先建立连接,数据则提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。传送结束后要释放连接。TCPTCP不提供广播或多播服务。不提供广播或多播服务。8.1 TCP/IP 8.1 TCP/IP 的传输层的传输层 8.1.2 8.1.2 端口和套接字端口和套接字 传输层协议实现应用进程间端到端
3、的通信。计算机传输层协议实现应用进程间端到端的通信。计算机中的不同进程可能同时进行通信,这时它们会用端口号中的不同进程可能同时进行通信,这时它们会用端口号进行区别,通过网络地址和端口号的组合达到惟一标识进行区别,通过网络地址和端口号的组合达到惟一标识的目的,即套接字(的目的,即套接字(SocketSocket)。)。TCPTCP和和UDPUDP都使用端口和都使用端口和套接字。套接字是套接字。套接字是IPIP地址加上一个端口。地址加上一个端口。8.1 TCP/IP 8.1 TCP/IP 的传输层的传输层 发送套接字源发送套接字源IPIP地址源端口号地址源端口号 接收套接字目的接收套接字目的IPI
4、P地址目的端口号地址目的端口号 每个端口都拥有一个叫端口号的整数描述符,每个端口都拥有一个叫端口号的整数描述符,用来标识不同的端口或进程。用来标识不同的端口或进程。8.1 TCP/IP 8.1 TCP/IP 的传输层的传输层 FTPFTPTelnetTelnetSMTPSMTPDNSDNSTFTPTFTPHTTPHTTPSNMPSNMPRIPRIP212325536980161520TCPUDP端口号端口号传输层传输层应用层应用层应用层与传输层之间的接口应用层与传输层之间的接口这种端口号一般都小于这种端口号一般都小于10241024。它们基本上都被分配。它们基本上都被分配给了已知的应用协议。给
5、了已知的应用协议。这些端口由于已经有了固定的使用者,不能被动态这些端口由于已经有了固定的使用者,不能被动态地分配给其他应用程序。地分配给其他应用程序。8.1 TCP/IP 8.1 TCP/IP 的传输层的传输层(1)(1)保留端口保留端口 8.1 TCP/IP 8.1 TCP/IP 的传输层的传输层 TCPTCP协议和协议和UDPUDP协议的一些常用保留端口协议的一些常用保留端口UDPUDP保留端口举例保留端口举例端端 口口 号号关关 键键 字字应应 用用 协协 议议5353DNSDNS域名服务域名服务6969TFTPTFTP简单文件传输协议简单文件传输协议161161SNMPSNMP简单网络
6、管理协议简单网络管理协议520520RIPRIPRIPRIP路由选择协议路由选择协议TCPTCP保留端口举例保留端口举例2121FTPFTP文件传输协议文件传输协议2323TelnetTelnet虚拟终端协议虚拟终端协议2525SMTPSMTP简单邮件传输协议简单邮件传输协议5353DNSDNS域名服务域名服务8080HTTPHTTP超文本传输协议超文本传输协议119119NNTPNNTP网络新闻传输协议网络新闻传输协议这种端口的端口号一般都大于这种端口的端口号一般都大于10241024。这一类的端。这一类的端口没有固定的使用者,它们可以被动态地分配给应用口没有固定的使用者,它们可以被动态地分
7、配给应用程序使用。也就是说,在使用应用软件访问网络的时程序使用。也就是说,在使用应用软件访问网络的时候,应用软件可以向系统申请一个大于候,应用软件可以向系统申请一个大于10241024的端口号的端口号临时代表这个软件与传输层交换数据,并且使用这个临时代表这个软件与传输层交换数据,并且使用这个临时的端口与网络上的其他主机通信。临时的端口与网络上的其他主机通信。unetstatnetstat命令查看端口使用情况命令查看端口使用情况 8.1 TCP/IP 8.1 TCP/IP 的传输层的传输层(2)(2)动态分配的端口动态分配的端口某些软件厂商通过使用注册端口,使它的特定软件享有某些软件厂商通过使用
8、注册端口,使它的特定软件享有固定的端口号,而不用向系统申请动态分配的端口号。一般,固定的端口号,而不用向系统申请动态分配的端口号。一般,这些特定的软件要使用注册端口,其厂商必须向端口的管理这些特定的软件要使用注册端口,其厂商必须向端口的管理机构注册。机构注册。大多数注册端口的端口号大于大多数注册端口的端口号大于10241024。TCPTCP协议和协议和UDPUDP协议都允许协议都允许1616位的端口值,分别能够提供位的端口值,分别能够提供6553665536个端口。不论端口号大于还是小于个端口。不论端口号大于还是小于10241024,以上三种端,以上三种端口都分别属于口都分别属于TCPTCP协
9、议和协议和UDPUDP协议。当然,也有些协议的端口协议。当然,也有些协议的端口既属于既属于TCPTCP协议也属于协议也属于UDPUDP协议。协议。8.1 TCP/IP 8.1 TCP/IP 的传输层的传输层(3)(3)注册端口注册端口8.1 TCP/IP 8.1 TCP/IP 的传输层的传输层 端口概念示意图端口概念示意图()()()()()()()()()()()()()()()()主机主机B B主机主机C C端口端口1 端口端口2 端口端口3 端口端口4端口端口1 端口端口2端口端口3 端口端口4连接连接1连接连接2连接连接3连接连接4TCPTCP的协议数据单元被称为报文段(的协议数据单元
10、被称为报文段(SegmentSegment),),TCPTCP通过通过报文段的交互来建立连接、传输数据、发出确认、进行差错报文段的交互来建立连接、传输数据、发出确认、进行差错控制、流量控制及关闭连接。报文段分为两部分,即报文段控制、流量控制及关闭连接。报文段分为两部分,即报文段头和数据,所谓报文段头就是头和数据,所谓报文段头就是TCPTCP为了实现端到端可靠传输所为了实现端到端可靠传输所加上的控制信息,而数据则是指由高层即应用层来的数据。加上的控制信息,而数据则是指由高层即应用层来的数据。8.2 8.2 传输控制协议传输控制协议TCPTCP 15.2.1 TCP15.2.1 TCP报文段的格式
11、报文段的格式 8.2 8.2 传输控制协议传输控制协议TCPTCP 目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移 保留保留编码位编码位TCP首部首部TCP数据部分数据部分IP数据部分数据部分IP首部首部TCP数据报数据报TCP首部首部比特比特04816924312020字节字节的固定的固定首部首部TCPTCP报文段的首部报文段的首部源端口和目的端口字段:各占源端口和目的端口字段:各占 2 2 字节。端口是运输层与应用层的字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。服务接口。运输层的
12、复用和分用功能都要通过端口才能实现。8.2 8.2 传输控制协议传输控制协议TCPTCP 比特比特0481692431目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN序号字段:占序号字段:占 4 4 字节。字节。TCP TCP 连接中传送的数据流中的连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。报文段所发送的数据的第一个字
13、节的序号。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 确认号字段:占确认号字段:占 4 4 字节,是期望收到对方的下一个字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。报文段的数据的第一个字节的序号。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定
14、的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 数据偏移:占数据偏移:占 4 bit4 bit,它指出,它指出 TCP TCP 报文段的数据起始处报文段的数据起始处距离距离 TCP TCP 报文段的起始处有多远。报文段的起始处有多远。“数据偏移数据偏移”的单位的单位不是字节而是不是字节而是 32 bit 32 bit 字(字(4 4 字节为计算单位)。字节为计算单位)。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首
15、部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 保留字段:占保留字段:占 6 bit6 bit,保留为今后使用,但目前应置为,保留为今后使用,但目前应置为 0 0。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 紧急比特紧急比特 URG URG:当:当 URG URG 1 1 时,表明紧急指针字段有效。它告诉系时,表明紧急指针字段
16、有效。它告诉系统此报文段中有紧急数据,应尽快传送统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据相当于高优先级的数据)。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 确认比特确认比特 ACK ACK:只有当:只有当 ACK ACK 1 1 时确认号字段才有效。时确认号字段才有效。当当 ACK ACK 0 0 时,确认号无效。时,确认号无效。目的端口目的端口源端口源端口
17、序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 推送比特推送比特 PSH(PuSH)PSH(PuSH):接收:接收 TCP TCP 收到推送比特置收到推送比特置 1 1 的报文段,就尽快地交付给接收应用进程,而不再等到的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。整个缓存都填满了后再向上交付。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验
18、和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 复位比特复位比特 RST(ReSeT)RST(ReSeT):当:当 RST RST 1 1 时,表明时,表明 TCP TCP 连接连接中出现严重差错(如由于主机崩溃或其他原因),必须释放中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。连接,然后再重新建立运输连接。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据
19、偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 同步比特同步比特 SYN SYN:同步比特:同步比特 SYN SYN 置为置为 1 1,就表,就表示这是一个连接请求或连接接受报文。示这是一个连接请求或连接接受报文。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 终止比特终止比
20、特 FIN(FINal)FIN(FINal):用来释放一个连接。当:用来释放一个连接。当FIN FIN 1 1 时,表时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。明此报文段的发送端的数据已发送完毕,并要求释放运输连接。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 窗口字段:占窗口字段:占 2 2 字节。窗口字段用来控制对方发送的数据量,字节。窗口字段用来控制
21、对方发送的数据量,单位为字节。单位为字节。TCP TCP 连接的一端根据设置的缓存空间大小确定自己连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 检验和:占检验和:占 2 2 字节。检验和字段检验的范围包括首部和数据这两部分。字
22、节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在在计算检验和时,要在 TCP TCP 报文段的前面加上报文段的前面加上 12 12 字节的伪首部。字节的伪首部。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 紧急指针字段:占紧急指针字段:占 16 bit16 bit。紧急指针指出在本报文段中的紧。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。急数据
23、的最后一个字节的序号。目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项任选项填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFIN8.2 8.2 传输控制协议传输控制协议TCPTCP 选项字段选项字段 :长度可变。:长度可变。TCP TCP 只规定了一种选项,即最大报文段长只规定了一种选项,即最大报文段长度度 MSS(Maximum Segment Size)MSS(Maximum Segment Size)。MSS MSS 告诉对方告诉对方 TCPTCP:“我的缓我的缓存所能接收的报文段
24、的数据字段的最大长度是存所能接收的报文段的数据字段的最大长度是 MSS MSS 个字节。个字节。”目的端口目的端口源端口源端口序号序号确认号确认号窗口窗口紧急指针紧急指针校验和校验和任选项(长度可变)任选项(长度可变)填充填充数据偏移数据偏移保留保留TCP首部首部2020字节字节的固定的固定首部首部URGACKPSHRSTSYNFINMSS MSS 是是 TCP TCP 报文段中的数据字段的最大长度。报文段中的数据字段的最大长度。数据字段加上数据字段加上 TCP TCP 首部才等于整个的首部才等于整个的 TCP TCP 报报文段。文段。MSSMSS的选择较小,网络的利用率就降低。的选择较小,网
25、络的利用率就降低。选择较大,选择较大,TCPTCP报文段太长,则报文段太长,则IPIP层传输时就有可能分解层传输时就有可能分解成多个短数据报片,传输时开销增大。成多个短数据报片,传输时开销增大。MSSMSS(TCPTCP报文段数据部分大小)默认值是报文段数据部分大小)默认值是536536字节。字节。TCPTCP报文段是报文段是536+20536+20字节。字节。8.2 8.2 传输控制协议传输控制协议TCPTCP TCPTCP将所要传送的整个报文(这可能包括许多个报文将所要传送的整个报文(这可能包括许多个报文段)看成是一个个字节组成的数据流,然后对每一个数段)看成是一个个字节组成的数据流,然后
26、对每一个数据流编一个序号。在连接建立时,双方要商定初始序号。据流编一个序号。在连接建立时,双方要商定初始序号。TCPTCP就将每一次所传送的报文段中的第一个数据字节的序就将每一次所传送的报文段中的第一个数据字节的序号,放在号,放在 TCPTCP首部的序号字段中。首部的序号字段中。TCPTCP的确认是对接收到的数据的最高序号(即收到的的确认是对接收到的数据的最高序号(即收到的数据流中的最后一个序号)表示确认。但返回的确认序数据流中的最后一个序号)表示确认。但返回的确认序号是已收到的数据的最高序号加号是已收到的数据的最高序号加1 1。也就是说,确认序号。也就是说,确认序号表示期望下次收到的第一个数
27、据字节的序号。表示期望下次收到的第一个数据字节的序号。8.2 8.2 传输控制协议传输控制协议TCPTCP 15.2.2 15.2.2 序号与确认序号与确认 TCPTCP连接包括建立连接、数据传输和拆除连接三个过连接包括建立连接、数据传输和拆除连接三个过程。程。TCPTCP通过通过TCPTCP端口提供连接服务,最后通过连接服务端口提供连接服务,最后通过连接服务来接收和发送数据。来接收和发送数据。TCPTCP连接的申请、打开和关闭必须遵连接的申请、打开和关闭必须遵守守TCPTCP协议的规定。协议的规定。TCPTCP使用三次握手协议来建立连接。使用三次握手协议来建立连接。连接可以由任何一方发起,也
28、可以由双方同时发起。一连接可以由任何一方发起,也可以由双方同时发起。一旦一台主机上的旦一台主机上的TCPTCP软件已经主动发起连接请求,运行在软件已经主动发起连接请求,运行在另一台主机上的另一台主机上的TCPTCP软件就被动地等待握手。软件就被动地等待握手。8.2 8.2 传输控制协议传输控制协议TCPTCP 15.2.3 TCP15.2.3 TCP连接的建立和拆除连接的建立和拆除 8.2 8.2 传输控制协议传输控制协议TCPTCP 主机主机A A主机主机B B连接请求连接请求SYN=1,seq=xSYN=1,seq=x确认确认确认确认SYN=1,ACk=1,seq=ySYN=1,ACk=1
29、,seq=y,ACKACKx+1x+1ACK=1,seq=x+1ACK=1,seq=x+1,ACKACKy+1y+1三次握手建立三次握手建立TCPTCP连接连接8.2 8.2 传输控制协议传输控制协议TCPTCP 发送发送4 4个数据段的过程个数据段的过程8.2 8.2 传输控制协议传输控制协议TCPTCP 主机主机B B应用进程释放连接应用进程释放连接应用进程释放连接应用进程释放连接主机主机A A确认确认确认确认FIN=1,FIN=1,ACk=1,seq=y ACk=1,seq=y,ACKACKx+1x+1 ACK=1,seq=y ACK=1,seq=y,ACKACKx+1x+1FIN=1,
30、seq=xFIN=1,seq=x通知主机通知主机应用进程应用进程A A不再发送报文不再发送报文 ACK=1,seq=x+1 ACK=1,seq=x+1,ACKACKy+1y+1B B不再发送报文不再发送报文TCPTCP连接释放的过程连接释放的过程 8.2 8.2 传输控制协议传输控制协议TCPTCP 8.2.4 TCP8.2.4 TCP可靠数据传输技术可靠数据传输技术 TCPTCP协议采用了许多与数据链路层类似的机制来保证协议采用了许多与数据链路层类似的机制来保证可靠的数据传输,如采用序列号、确认、滑动窗口协议可靠的数据传输,如采用序列号、确认、滑动窗口协议等。等。TCPTCP协议的目的是为了
31、实现端到端结点之间的可靠协议的目的是为了实现端到端结点之间的可靠数据传输,而数据链路层协议则为了实现相邻结点之间数据传输,而数据链路层协议则为了实现相邻结点之间的可靠数据传输。的可靠数据传输。1.1.流量控制流量控制8.2 8.2 传输控制协议传输控制协议TCPTCP 8.2.5 TCP8.2.5 TCP流量控制与拥塞控制流量控制与拥塞控制 TCPTCP采用大小可变的滑动窗采用大小可变的滑动窗口机制实现流量控制功能。口机制实现流量控制功能。主机主机A A主机主机B B主机主机A A还能发送还能发送200200字节字节利用可变滑动窗口进行流量控制利用可变滑动窗口进行流量控制SEQSEQ1 1SE
32、QSEQ101101SEQSEQ201201ACKACK201201,WINWIN300300SEQSEQ301301SEQSEQ401401SEQSEQ201201ACKACK501501,WINWIN200200ACKACK601601,WINWIN0 0SEQSEQ501501丢失!丢失!主机主机A A还能发送还能发送300300字节字节允许允许A A再发送再发送300300字节(序号字节(序号201201至至500500)A A还能发送还能发送200200字节(序号字节(序号301301至至500500)A A还能发送还能发送100100字节(序号字节(序号401401至至500500
33、)A A超时重发,但不能发送序号超时重发,但不能发送序号500500以后的数据以后的数据允许允许A A再发送再发送200200字节(序号字节(序号501501至至700700)A A还能发送还能发送100100字节(序号字节(序号601601至至700700)不允许不允许A A再发送,(到序号再发送,(到序号600600的数据都收到了)的数据都收到了)8.2 8.2 传输控制协议传输控制协议TCPTCP 8.2.6 8.2.6 重发机制重发机制 TCPTCP每发送一个报文段,就设置一次定时器。只要定时每发送一个报文段,就设置一次定时器。只要定时器设置的重发时间到而还没有收到确认,就要重发这一报
34、器设置的重发时间到而还没有收到确认,就要重发这一报文段。大家知道,文段。大家知道,TCPTCP是在一个互连网的环境下工作。发送是在一个互连网的环境下工作。发送的报文段可能只经过一个高速率的局域网,但也可能是经的报文段可能只经过一个高速率的局域网,但也可能是经过多个低速率的广域网。报文段的端到端的时延会相差很过多个低速率的广域网。报文段的端到端的时延会相差很多倍。多倍。(1 1)发送数据之前不需要建立连接,减少了开销和)发送数据之前不需要建立连接,减少了开销和发送数据之前的时延。发送数据之前的时延。(2 2)UDPUDP不使用拥塞控制,也不保证可靠交付,因此不使用拥塞控制,也不保证可靠交付,因此
35、主机不需要维持具有许多参数的、复杂的连接状态表。主机不需要维持具有许多参数的、复杂的连接状态表。(3 3)UDPUDP用户数据报只有用户数据报只有8 8个字节的首部。个字节的首部。(4 4)由于)由于UDPUDP没有拥塞控制,因此网络出现的拥塞不没有拥塞控制,因此网络出现的拥塞不会使源主机的发送效率降低。会使源主机的发送效率降低。8.3 8.3 用户数据报协议用户数据报协议UDPUDP 8.3.1 UDP8.3.1 UDP概述概述 应用层协议使用的传输层协议应用层协议使用的传输层协议应应 用用关关 键键 字字传输层协议传输层协议域名服务DNSUDPUDP简单文件传输协议TFTP路由选择协议RI
36、PIP地址配置BOOTP、DHCP简单网络管理协议SNMP远程文件服务器NFSIP电话专用协议流式多媒体通信专用协议多播IGMP文件传输协议FTPTCPTCP远程虚拟终端协议Telnet万维网HTTP简单邮件传输协议SMTP域名服务DNS8.3 8.3 用户数据报协议用户数据报协议UDPUDP 8.3.2 UDP8.3.2 UDP数据报的首部格式数据报的首部格式 目的端口目的端口源端口源端口校验和校验和UDP报文长度报文长度首部首部UDP数据部分数据部分数据数据(UDP报文报文)IP报头报头首部首部比特比特0481692431封装封装传送传送 8.3 8.3 用户数据报协议用户数据报协议UDP
37、UDP 8.3.3 UDP8.3.3 UDP报文的发送和接收报文的发送和接收 UDPUDP报文也是通过报文也是通过IPIP协议来发送和接收的。协议来发送和接收的。在发送数据时,在发送数据时,UDPUDP实体构造好实体构造好UDPUDP报文后,交付报文后,交付给给IPIP协议,协议,IPIP协议将整个协议将整个UDPUDP报文封装在报文封装在IPIP数据报中,数据报中,形成形成IPIP数据报发送到网络中。数据报发送到网络中。在接收数据时,在接收数据时,UDPUDP实体判断实体判断UDPUDP报文的目的端口报文的目的端口是否与当前使用的某个端口匹配。若匹配,则将报文是否与当前使用的某个端口匹配。若
38、匹配,则将报文存入接收队列;若不匹配,则向源端发送一个端口不存入接收队列;若不匹配,则向源端发送一个端口不可达的可达的ICMPICMP报文,同时丢弃报文,同时丢弃UDPUDP报文。报文。IpconfigIpconfig命令可以显示所有当前的命令可以显示所有当前的 TCP/IP TCP/IP 网络配网络配置值(如置值(如IPIP地址、网关、子网掩码)、刷新动态主机配地址、网关、子网掩码)、刷新动态主机配置协议置协议 (DHCP)(DHCP)和域名系统和域名系统 (DNS)(DNS)设置。设置。语法格式为:语法格式为:ipconfig/all/renewAdapter ipconfig/all/r
39、enewAdapter/release Adapter/flushdns/displaydns/release Adapter/flushdns/displaydns/registerdns/showclassidAdapter/registerdns/showclassidAdapter/setclassidAdapter ClassID /setclassidAdapter ClassID 8.4 8.4 任务:常用任务:常用TCP/IP TCP/IP 实用程序的使用实用程序的使用 8.4.1 hostname 8.4.1 hostname命令命令此程序用于显示当前计算机的名称,即主机名。
40、此程序用于显示当前计算机的名称,即主机名。8.4.2 ipconfig8.4.2 ipconfig命令命令 8.4.3 netstat 8.4.3 netstat命令命令 8.4 8.4 任务:常用任务:常用TCP/IP TCP/IP 实用程序的使用实用程序的使用 netstatnetstat命令可以显示当前活动的命令可以显示当前活动的TCPTCP连接、计算机侦连接、计算机侦听的端口、以太网统计信息、听的端口、以太网统计信息、IPIP路由表、路由表、IPv4IPv4统计信息统计信息(对于(对于IPIP、ICMPICMP、TCPTCP和和UDPUDP协议)以及协议)以及IPv6IPv6统计信息统
41、计信息(对于(对于IPv6IPv6)。)。netstat-a-e-n-o-p Protocol-r netstat-a-e-n-o-p Protocol-r-s Interval-s Interval8.4.4 Nbtstat8.4.4 Nbtstat命令命令 8.4 8.4 任务:常用任务:常用TCP/IP TCP/IP 实用程序的使用实用程序的使用 NbtstatNbtstat命令可以显示基于命令可以显示基于 TCP/IP TCP/IP 的的 NetBIOS NetBIOS(NetBT)(NetBT)协议统计资料、本地计算机和远程计算机的协议统计资料、本地计算机和远程计算机的 NetBIOS NetBIOS 名称表和名称表和 NetBIOS NetBIOS 名称缓存。名称缓存。Nbtstat Nbtstat 可以刷可以刷新新 NetBIOS NetBIOS 名称缓存和使用名称缓存和使用 Windows Internet Windows Internet 名称服名称服务务 (WINS)(WINS)注册的名称。注册的名称。nbtstat-a RemoteName-A IPAddress-c-n nbtstat-a RemoteName-A IPAddress-c-n-r-R-RR-s-S Interval-r-R-RR-s-S Interval