1.OSI(七层)开放式互联网参考模型
网络协议:在当前的市面上存在者四层,五层,七层协议,而国际标准化组织指定的七层模型是业界提出的概念形框架。
1.第一层:物理层
2个硬件之间如何进行通信(网线)
物理层主要定义了物理设备的标准,比如网线的类型,光线的接口类型,他的主要作用是传输比特流,它的主要租用是传输比特流,就是从1/0转化为电流强弱来进行传输,到达目的之后再转化为1/0,也就是我们常说的数模转换。这一层的数据是比特。
网卡即是工作在这一层里面的
常用协议: ISO2110,IEEE802,IEEE802.2
常用硬件: 中继器、集线器、还有我们通常说的双绞线也工作在物理层
2.第二层:数据链路层
为同一局域网内部的网络/数据通信提供点到点的数据传输通道,通过MAC地址寻址把数据传输到目的节点。
数据链路层的通信只能在同一网段进行,要在不同网段间进行,必须依靠网络层和传输层。
数据链路层提供的不是物理线路,而是在物理层的物理线路基础之上,通过数据链路层协议构建的虚拟数据传输通道,并且只能在同一段内进行数据转发。
常用协议:SLIP,CSLIP,PPP,ARP,RARP,MTU。(在OSI模型中ARP协议属于链路层;而在TCP/IP模型中,ARP协议属于网络层。)
常用硬件:网桥、以太网交换机、网卡(其实网卡是一半工作在物理层、一半工作在数据链路层),本层将比特数据组成了帧,其中交换机工作在这一层里面,对帧解码,并根据帧当中包含的信息把数据发送到正确的接收方
3.第三层:网络层
随着网络节点的不断增加,点对点通信的时候是需要经过多个节点的,如何找到目标节点,如何通过最优路径变成了首要需求,此时就有个网络层
他的主要作用是将网络地址翻译为具体的物理地址,并决定如何将数据从发送方路由到接收方,由于网络层处理并智能指导数据传送,连接网络各段,所以路由器属于网络层,
为不同网段之间的数据转发提供路径选择,通过IP地址(也有可能是其他网络地址)把数据包转发到目的节点。网络层这种寻址功能我们称为“路由寻址”,就是选择哪一条路径到达下一个节点。
网络层的功能仅起到不同网络间转发数据包的功能,最终数据还是要在目的网络的数据链路层进行传输(数据传输到数据链路层,然后通过MAC寻址找到目标),在到达下一个节点设备(如路由器)再进行转发。
常用协议:IP,ICMP,RIP,OSPF,BGP,IGMP
常用硬件:路由器
此层的数据我们称为数据包,本层我们需要关注的主要是TCP/IP协议里面的IP协议
4.第四层:传输层
随着网络通信需求的扩大,可能需要发送海量的数据,而网络在通信的过程当中会中断好多次,为了保证大量数据传输的正确性,需要对大量数据进行切分,将其切分为一个一个的小数据包,然后在 进行发送
其中一个段落丢失了怎么办,要不要重新传输,每个段落要按照怎样的循序抵达吗/这就是传输层所做的事情,传输层解决了主机之间的数据传输,数据之间的传输可以是不同网络的,并且传输层解决了传输质量的问题,该层被称为ISO当中最重要的一层
传输层当中我们需要关注的协议有TCP/IP协议当中的TCP协议和UDP协议,此时我们可以保证给计算机发送正确的封装后的信息了
是在下面三层构建的网络平台基础上专门为通信双方构建端到端(不是点到点)的数据传输通道,使通信双方就像在直接进行数据传输一样。这个端到端的传输通道是可以跨网络的。
常用协议: TCP,UDP
常用硬件:网关
5.第五层:会话层
用户级别的体验:每次发送数据包都要调用TCP去打包,然后调用IP协议去找路由,然后自己去找,这是很麻烦的
所以我们要去建立一个自动收发包,自动寻址,
会话层的作用就是自动建立和管理应用程序之间的通信,现在我能保证应用程序自动收发包和寻址了,但是我要用Linux下给Windows下发送信息
为具体的用户建立会话进程。
常用协议: 无
常用硬件:网关
6.第六层:表述层
在表示层数据将按照网络可以理解的方式来格式化数据,这种格式化随着网络类型的不同而不同,此时虽然发送方指导自己发送的是什么东西,占多少字节,但是接收方肯定不知道
定义了数据格式及加密
是对用户网络应用数据的具体解释,包括在网络通信中可采用的信息技术、可采用的加密方式等。
常用协议: 无
常用硬件:网关
7.第七层:应用层
此时应用层的网络协议诞生了,他规定发送方和接收方必须使用一个固定长度的消息头,消息头必须使用某种固定的组成而且,消息头里必须激励消息体的长度等信息,以便接收方可以正确的解析发送发发送的数据,应用层可以让我们更加方便的接收数据,如果没有他,我们也可以传输数据,不过接收到的就是0/1,
0/1,它对应用程序之间的通信服务
该层我们要关注的是TCP/IP协议当中的HTTP协议。
用户进行具体网络应用的层次,是具体网络应用的体现者,负责接受用户的各种网络应用进程的调用。(负责接收处理进程的调度)
常用协议: TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
常用硬件:网关
总结:OSI模型注重通信协议必要的功能是什么,而TCP/IP更加强调在计算机上面实现协议应该开发哪种程序
2.OSI的实现TCI/IP(四层)
TCP/IP泛指以下协议:
TCP/IP四层协议体系: 实际应用非常广泛,从实质上讲,TCP/IP体系只有最上面的三层,最底下的网络接口层实际上没有什么内容。
网络接口层:合并了原来OSI中的物理层和数据链路层,提供局域网的功能。
网际层:同OSI网络层
运输层:同OSI运输层
应用层:合并了OSI中最上面的三层。
五层协议体系: 《计算机网络第七版》中,为了方便介绍网络原理,而引人的体系。实际应用还是TCP/IP协议体系。
物理层:同OSI物理层
数据链路层:同OSI数据链路层
网络层:同OSI网络层
运输层:同OSI运输层
应用层:合并了OSI中最上面的三层。
1.路由器、中继器、集线器、交换机、网关、网桥各自的概念以及作用?
路由器(Router):
工作范围:网络层,不同网络之间
功能:是一种计算机网络设备,提供了路由与转送两种重要机制,可以决定数据包从来源端到目的端所经过 的路由路径(host到host之间的传输路径),这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转 送。路由工作在OSI模型的第三层——即网络层,例如网际协议。
中继器:
工作范围:物理层
功能:中继器是将一条电缆传输过来的信号经过放大和调整以后再传输给另一个电缆。因此,它是物理层上的网络延长设备。一般而言,中继器连接的双方是相同的物理介质,但是有些也可以完成不同媒介之间的连接。但是中继器只是完成了信号的转换,而不能完成转发。也就是说,中继器不能再传输速度不同的介质之间完成转发。
交换机:
工作范围:数据链路层
功能:交换机内部的CPU会在每个端口成功连接时,通过ARP协议学习它的MAC地址,保存成一张ARP表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。也就是说,交换机也有一张表,记录的是port-mac。按照传输数据包的层次,交换机可以分为一、二.....七层交换机。
网关:
工作范围:运输层、应用层
功能:网关(Gateway)负责第三层(网络层)以上的数据中继,***实现不同体系结构的网络协议转换***,它通常采用软件的方法实现,并且与特定的应用服务一一对应。比如:OSI的文件传输服务FTAM和TCP/IP的文件传输服务FTP,尽管二者都是文件传输但是由于所执行的协议不同不能直接进行通信,而需要网关将两个文件传输系统互连,达到相互进行文件传输的目的。
3.TCP的三次握手和四次挥手
1.IP协议是无连接的通信协议
他不会占用2个正在通信的计算机之间的通信线路,这样IP就降低了对网络线路的需求,每条线可以同时满足不同的计算机之间的通信需要,通过IP,消息,或者其他数据会被分割为较小的独立的包,通过Internet在计算机之间传送,IP负责将每个包路由至他的目的地,但是IP协议没有做任何确认来确认数据包是否按照顺序发送,或者包是否被破坏,所以IP协议是不可靠的,需要由他的上层协议(TCP)来控制
2.传输控制协议TCP
面向连接的,可靠的,基于字节流的传输层通信协议
将应用层的数据流分割为报文段并发送给目标节点的TCP层:应用层向TCP发送数据流,TCP分割为报文段,报文段的长度一般受该计算机网络的数据链路层的最大传输单元及IMPU的限制,之后TCP将结果包传送给IP层,有IP层来通过网络将包传送给莫表节点的TCP层,TCP为了保证结果不丢失包,就给每个包一个序号,及SCSLIB
数据包有序号,对方收到则发送ACK确认,为收到则重传
TCP使用奇偶校验和来检验数据在传输过程当中是否有错误
TCP报文头:
在传输层当中使用协议端口号,TCP协议的端口号可以唯一标示主机当中的一个进程
IP地址+协议+端口号,在一些场合当中也成为套接字Socket
TCP Flags:
URG:紧急指针标志
***ACK:确认序号标志,ACK=1,表示前面确认的ack是有效的***
PSH:push标志
RST:重置连接标志
***SYN:同步序列号,用于建立连接,在连接请求当中SYN=1,ACK=0,当 SYN=1 而 ACK=0 时,表 明这是一个连接请求报文。对方若同意建立连接,则应在响应报文中使 SYN=1 和 ACK=1. 因此, SYN 置 1 就表示这是一个连接请求或连接接受报文。***
***FIN:finish标志,用于释放连接,FIN=1,标示发送方已经没有数据发送了,关闭本方数据流***
3.TCP的三次握手(建立连接)
1.首先由 Client 发出请求连接即 SYN=1 ACK=0 (请看头字段的介绍), TCP 规定 SYN=1 时不能携带数据,但要消耗一个序号,因此声明自己的序号是 seq=x
2.然后 Server 进行回复确认,即 SYN=1 ACK=1 seq=y, ack=x+1,
3.再然后 Client 再进行一次确认,但不用 SYN 了,这时即为 ACK=1, seq=x+1, ack=y+1.然后连接建立,为什么要进行三次握手呢(两次确认)。
1️⃣为什么要进行三次握手(两次确认)?,为什么一次确认不可以?
主要是为了防止已经失效的请求报文突然传输到B,从而造成错误
4.TCP的四次挥手(关闭连接)
为什么要四次挥手?
那么,为什么要等待2MSL的时间呢?
保证A最后发送的ACK报文段能够到达B。因为这个报文可能丢失,因此B会重传最后一个确认报文段,A再重新发送确认报文,并且重启计时器,直到A,B都能正常进入到CLOSED状态;
防止上面提到的“已失效的连接请求报文”。这段时间内,这些连接请求报文就可能在网络中消失。
4.TCP如何确保数据传输的正确性
1.校验和: TCP在发送报文之前,发送方要计算校验和,收到数据后,接收方也要计算校验和,如果校验和不相等则丢弃。
2.三次握手
3.超时重传(ARQ):ARQ(Automatic Repeat reQuest)自动重传请求
超时的原因:
接收方没有收到TCP报文段:网络延迟或者丢包;
发送方没有收到ACK报文段:网络延迟或者ACK报文丢失。
4.流量控制:流量控制的目的是让接收方来得及接收数据。这样避免了数据丢包以及网络拥塞等情况。
5.拥塞控制:拥塞控制就是防止过多的数据注入到网络中,这样使网络中的路由器或者链路不至于过载
3.流量控制
如果发送者发送过快,接收者来不及接收,那么就会有分组丢失。为了避免分组丢失,控制发送者的发送速度,使得接收者来得及接收,这就是流量控制。
流量控制根本目的是防止分组丢失,它是构成TCP可靠性的一方面。
1.流量控制的实现方式
由滑动窗口协议(连续ARQ协议)实现。滑动窗口协议既保证了分组无差错、有序接收,也实现了流量控制。
2.滑动窗口协议
在ARQ协议发送者每次只能发送一个分组,在应答到来前必须等待。而连续ARQ协议的发送者拥有一个发送窗口,发送者可以在没有得到应答的情况下连续发送窗口中的分组,接收者收到的字节会存入接收窗口,接收者会对已经正确接收的有序字节进行累计确认,发送完确认应答后,接收窗口就可以向前移动指定字节。。这样降低了等待时间,提高了传输效率。
4.拥塞控制
拥塞控制:拥塞控制是作用于网络的,它是防止过多的数据注入到网络中,避免出现网络负载过大的情况;
流量控制:流量控制是作用于接收者的,它是控制发送者的发送速度从而使接收者来得及接收。
PS:拥塞控制是针对于网络而言的,它是防止往网络中写入太多分组,从而导致网络拥塞的情况;而流量控制是针对接收者的,它是通过控制发送者的发送速度保证接收者能够来得及接收.
1.拥塞控制的目的?
缓解网络压力
保证分组按时到达
2.拥塞控制的方法
TCP进行拥塞控制的方法主要有四种:慢开始、拥塞避免、快重传、快恢复.
https://www.cnblogs.com/anzhengyu/p/11232804.html
慢开始:当主机开始发送数据时,由小到大的增大窗口值,每收到一个报文段的确认,我们就将cwnd+1,这样下来,cwnd总体上是乘以2^n的倍数增长。
拥塞避免:cwnd=窗口门限ssthresh
快重传:就是发送方一连收到三个对同一个报文段的重复确认
快恢复:
1.慢开始
一开始设置cwnd = 1,发送第一个报文段M1,接收方收到后确认M1;
收到M1的确认后,cwnd设置为2,并发送M2,M3,接收方确认M2,M3;
收到M2,M3的确认后,cwnd设置为4,并发送M4,M5,M5,M7;
在TCP的实际运行中,发送方只要收到一个对新报文段的确认,其拥塞窗口cwnd就立即加1,并可以立即发送新的报文段,而不需要等这个轮次中所有的确认都收到后再发送新的报文段。一开始先设置一个比较小的拥塞窗口值cwnd(报文段的倍数),然后进行数据传输,每收到一个报文段的确认,我们就将cwnd+1,这样下来,cwnd总体上是乘以2^n的倍数增长。(慢启动非增长速度慢,只是增长的初始基数比较小)
为了防止拥塞窗口cwnd增长过大引起网络拥塞,还需要设置一个慢开始门限ssthresh状态变量。慢开始门限ssthresh的用法:
当cwnd<ssthresh时,使用上述的慢开始算法;
当cwnd>ssthresh时,停止使用慢开始算法而改用拥塞避免算法;
当cwnd=ssthresh时,既可以使用慢开始算法,也可以使用拥塞避免算法。
2.拥塞避免法
因为慢启动算法的增长比较快,当cwnd = ssthresh(预先设置好的门限值)时,我们启动拥塞避免算法,窗口值开始线性增长。
随着拥塞避免算法的进行,网络出现超时的情况(这时判断为拥塞出现)。这时将cwnd降为一开始的值,重新进行慢开始-拥塞避免,并且此时的门限值设为出现拥塞时的cwnd的一半。
3.快重传
快重传的目的是为了让发送方尽早知道某个报文段的丢失。如何知道呢?当我们重复收到某一个报文段的3次确认时,我们就可以判断,它的下一个报文段可能出现了丢失。这时我们启动快重传算法,立即重传丢失的报文段。
4.快恢复
发送方将门限值ssthresh设为cwnd的一半,并将cnwd设为门限值,开始执行拥塞避免算法。快恢复算法具有“乘法减小”特点。
5.面试真题
1.路由器和交换机的区别是什么?
工作层次不同:
交换机是工作在OSI/RM体系结构的第二层(数据链路层),而路由器一开始就设计工作在OSI模型的网络层。由于交换机工作在OSI的第二层(数据链路层),所以它的工作原理比较简单,而路由器工作在OSI的第三层(网络层),可以得到更多的协议信息,路由器可以做出更加智能的转发决策。
数据转发所依据的对象不同:
交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。而路由器则是利用不同网络的ID号(即IP地址)来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。MAC地址通常是硬件自带的,由网卡生产商来分配的,而且已经固化到了网卡中去,一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。
传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域:
由交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在某些情况下会导致通信拥挤和安全漏洞。连接到路由器上的网段会被分配成不同的广播域,广播数据不会穿过路由器。虽然第三层以上交换机具有VLAN功能,也可以分割广播域,但是各子广播域之间是不能通信交流的,它们之间的交流仍然需要路由器。
路由器提供了防火墙的服务:
路由器仅仅转发特定地址的数据包,不传送不支持路由协议的数据包传送和未知目标网络数据包的传送,从而可以防止广播风暴。 交换机一般用于LAN-WAN的连接,交换机归于网桥,是数据链路层的设备,有些交换机也可实现第三层的交换。路由器用于WAN-WAN之间的连接,可以解决异性网络之间转发分组,作用于网络层。他们只是从一条线路上接受输入分组,然后向另一条线路转发。这两条线路可能分属于不同的网络,并采用不同协议。相比较而言,路由器的功能较交换机要强大,但速度相对也慢,价格昂贵,第三层交换机既有交换机线速转发报文能力,又有路由器良好的控制功能,因此得以广泛应用。
2.IP地址是如何分类的?
IP地址 = 网络号 + 主机号
IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。
A、B、C类IP地址的网络号字段分别是1、2、3个字节长,而在网络号的1-3位是类别位,分别是:0、10、110。
A、B、C类IP地址的主机号字段分别为3、2、1个字节。
A、B、C类IP地址是单播地址,D类IP地址(前四位为1110)为多播地址,E类IP地址(前四位1111)保留为以后使用。
3.MAC地址和IP地址的区别?
https://www.2cto.com/os/201412/357193.html
1.MAC地址的长度、表示方法、分配方法及其唯一性
MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE(Istitute of Electrical and Electronics Engineers,电气与电子工程师协会)分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。
2.IP地址与MAC地址在互连网中的作用
既然每个以太网设备在出厂时都有一个唯一的MAC地址了,那为什么还需要为每台主机再分配一个IP地址呢?或者说为什么每台主机都分配唯一的IP地址了,为什么还要在网络设备(如网卡,集线器,路由器等)生产时内嵌一个唯一的MAC地址呢?主要原因有以下几点:(1)IP地址的分配是根据网络的拓朴结构,而不是根据谁制造了网络设置。若将高效的路由选择方案建立在设备制造商的基础上而不是网络所处的拓朴位置基础上,这种方案是不可行的。(2)当存在一个附加层的地址寻址时,设备更易于移动和维修。例如,如果一个以太网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。(3)无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。
3. 区别
1.对于网络上的某一设备,如一台计算机或一台路由器,其IP地址可变(但必须唯一),而MAC地址不可变。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分配IP地址为192.168.0.112 ,也可以将它改成192.168.0.200。而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址永远唯一且不能由用户改变。
2. 长度不同。IP地址为32位,MAC地址为48位。
3. 分配依据不同。IP地址的分配是基于网络拓朴,MAC地址的分配是基于制造商。
4. 寻址协议层不同。IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。
4.简述ARP协议的工作原理。
ARP:Address Resolution Protocol,地址解析协议
功能:为了从网络层的IP地址,解析出在数据链路层使用的硬件地址。注意:ARP解决的是同一局域网上的主机和路由器的IP地址和硬件地址的映射问题。
工作原理:
当端口连接建立的时候,交换机的cup会按照ARP协议协议找到他要连接的主机的Mac地址,然后发送数据包。
(1)首先,每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
(2)当源主机要发送数据时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MA C 地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包, 该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址。
(3)当本网络的所有主机收到该 ARP 数据包时,首先检查数据包中的 IP 地址是否是自己 的 IP 地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的 IP 和 M AC 地址写入到 ARP 列表中,如果已经存在,则覆盖,然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。
(4)源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此 信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。
广播发送 ARP 请求,单播发送 ARP 响应。
补充:
生存时间:ARP对每一个映射地址的项目都设有生存时间(例如10-20分钟),这是为了防止该局域网中某些主机的硬件地址发生改变的情况。
5.TCP和UDP的区别。
TCP:传输控制协议,Transmission Control Protocol
UDP:用户数据报协议,User Datagram Protocol
TCP是面向连接的,UDP是无连接的。
TCP在传输数据之前必须建立有效的连接,数据传输后也要释放连接。而UDP在传输前不需要建立连接,远程主机接收到UDP用户数据报之后也不需要给出确认。
TCP提供可靠的全双工通信,UDP尽最大努力通信,不保证可靠。
TCP占用资源多,UDP占用资源少。
运输协议数据单元不同,TCP是TCP报文段,UDP是用户数据报。
TCP是面向字节流的,UDP是面向报文的。
面向字节流:虽然应用程序和TCP的交互是一次一个数据块(大小不等),但是TCP把应用程序交下来的数据只看出一连串的无结构字节流。TCP不知道字节流的具体含义,也不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块之间的大小关系。但是接收方应用程序收到的字节流必须与发送方发送的字节流完全一致。
面向报文:发送方的UDP对应用程序交下来的报文添加首部后直接交付给IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
TCP有拥塞控制,UDP没有拥塞控制
TCP不提供广播和多播服务,UDP支持一对一、多对一、一对多、多对多的交互通信。
6.端口以及对应的服务?
端口号分类:
服务器端使用的端口号。
熟知端口号:0~1023。IANA把一些端口号指派给了TCP/IP最重要的一些程序。当有一些新的应用程序出现后,IANA必须给它指定 一个熟知端口号,否则互联网上的其他应用进程无法和它进行通信。
登记端口号:1024~49151。这类端口号是为没有熟知端口号的应用程序使用。这类端口号必须在IANA中按照规定的手续进行登记,以防止重复。
客户端使用的端口号:49152~65535。只有在客户端进程运行时才动态选择,因此又叫短暂端口号。这类端口号留给客户进程选择暂时使用,通信结束后就释放,不再占用。