第五章习题解答.docx

上传人:b****5 文档编号:4487286 上传时间:2022-12-01 格式:DOCX 页数:12 大小:85.90KB
下载 相关 举报
第五章习题解答.docx_第1页
第1页 / 共12页
第五章习题解答.docx_第2页
第2页 / 共12页
第五章习题解答.docx_第3页
第3页 / 共12页
第五章习题解答.docx_第4页
第4页 / 共12页
第五章习题解答.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

第五章习题解答.docx

《第五章习题解答.docx》由会员分享,可在线阅读,更多相关《第五章习题解答.docx(12页珍藏版)》请在冰豆网上搜索。

第五章习题解答.docx

第五章习题解答

第五章:

运输层

1、试说明运输层在协议栈中的作用?

运输层的通信和网络层的通信有什么重要的区别?

为什么运输层是必不可少的?

答:

(1)首先,从通信和信息处理的角度来看,运输层向它上面的应用层提供通信服务,并为高层用户屏蔽了下层通信通信子网的细节。

其次,运输层的另一个重要功能就是复用和分用功能。

第三,运输层对传输的报文提供了差错检测机制。

第四,根据应用的不同,运输层还采用不同的运输层协议提供不同的服务。

(2)网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信,如下图所示:

(3)虽然无连接的运输服务和无连接的网络服务十分相似,但是运输层依然有它存在的必要性,因为:

事实上,网络层是通信子网的一个组成部分,假设网络服务质量不可靠,频繁地丢失分组,网络层系统崩溃或不停的发出网络重置,这将发生什么情况呢?

因为用户不能对通信子网加以控制,所以无法采用更好的通信处理机来解决网络层服务质量低劣的问题,更不可能通过改进数据链路层纠错能力来改善低层的条件。

因此,解决这一问题的唯一可行的办法就是在网络层的上面增加一层,即运输层。

运输层的存在使得运输服务比网络服务更可靠,分组的丢失、残缺,甚至网络重置都可以被运输层检测到,并采用相应的补救措施,而且由于运输服务独立于网络服务,故可以采用一个标准的原语集提供运输服务。

2、网络层提供数据报或虚电路服务对上面的运输层有何影响?

答:

如果下层的网络十分可靠,例如提供虚电路服务,那么用于完成数据传输的运输层协议就不需要做太多的工作。

当网络层仅使用提供不可靠的数据报服务时,运输层就需要使用一些复杂的协议,以便能够提供更优质的服务。

3、当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向连接的?

答:

在网络层IP提供的是无连接的服务,但是在运输层TCP提供的服务是面向连接的。

但是最终,该应用程序使用的还是面向连接的传输服务。

4、试用画图解释运输层的复用。

画图说明许多个运输用户复用到一条运输连接上,而这一条运输连接又复用到IP数据报上。

答:

答案见辅导材料P155页。

5、试举例说明有些应用程序愿意采用不可靠的UDP,而不愿意采用可靠的TCP。

答:

6、接收端收到有差错的UDP用户数据报时应如何处理?

答:

简单的进行丢弃,其他的什么也不做。

7、如果应用程序愿意使用UDP完成可靠的传输,这可能吗?

请说明理由?

答:

不可能。

因为UDP是无连接的,只提供尽最大可能的交付。

并且UDP没有拥塞控制,当很多主机同时向网络发送高速率的数据时,网络就会产生拥塞,结果会致使大家都收不到正确的数据。

8、为什么说UDP是面向报文的,而TCP是面向字节流的?

答:

在发送方,UDP对应用层送交下来的报文既不合并,也不拆分,按照原样发送,即UDP一次发送一个报文;在接收方,UDP对IP层交上来的UDP数据报,在除去首部后就原封不动的交付给上层的应用进程,即,UDP一次交付一个报文。

TCP是面向字节流的:

TCP仅把应用程序交下来的数据看成一连串的无结构的字节流,并不知道所传输的字节流的含义,也不保证接收方应用程序收到的数据块和发送方发送的数据块的大小是否具有对应关系。

即:

TCP可能把应用层交下来的数据块分成几个部分发送出去,也可能把几个数据块合并成一个发送出去。

在接收端也同样。

9、端口的作用是什么?

为什么端口号要划分为三种?

答:

端口的作用:

发送端:

让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以便组成TPDU;

接收端:

运输层收到IP层交上来的数据后,要根据目的端口号决定应当通过哪个端口将数据交付给应用层中的相应的进程。

从这个意义上讲,端口是用来标志应用层的进程。

把端口号分成三种不同的类型是为了方便不同的应用程序使用:

熟知端口号(系统端口号):

其数值标号为0~1023,把它们指派给TCP/IP最重要的一些应用程序使用,让所有的用户都知道。

当一种新型的应用程序出现后,IANA必须要为它指派一个熟知端口号,否者因特网上的其它应用程序就无法和它进行通信。

登记端口号:

是为了给没有熟知端口号的应用程序使用的。

客户端使用的端口号:

这类端口号仅在客户进程运行时才动态选择的,是留给客户进程选择暂时使用的。

10、试说明运输层中伪首部的作用。

答:

伪首部既不向上也不向下传送,仅仅是为了计算检验和。

11、某个应用进程使用运输层的用户数据UDP,然后继续向下交给IP层后组成IP数据报。

既然都是数据报,是否可以跳过UDP直接交给IP层?

哪些功能UDP提供了但是IP没有提供?

答:

虽然都是数据报,但是应用进程不能跳过UDP直接交给IP层,因为IP数据报只能找到目的主机而无法找到目的进程。

UDP提供了IP所不能提供的复用和分用功能;UDP可以对数据报做包括数据段在内的差错检测,而IP只对其数据报的头部做差错检测。

12、一个应用程序用了UDP,到了IP层之后把数据报再分为4个数据报片发送出去,结果是前两个数据报片丢失,后两个到达了目的站,过了一段时间,应用程序重传UDP,而IP层仍然划分为4个数据报片来传送,结果这次的前两个到达了目的站而后两个丢失了。

试问:

在目的站能否将这四个数据报片组装成一个完整的数据报?

假设在目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中》

答:

不行。

重传时,IP数据报的标识字段会有另一个标识符。

仅当标识符相同的数据报片才能组成一个数据报。

前两个数据报片的标识符和后两个数据报片的标识符不同,所以不能组成一个IP数据报。

13、一个UDP用户数据报的数据字段为8192字节,在链路层要使用以太网来传送,试问应当划分为几个IP数据报片?

说明每个IP数据报片的长度和片偏移字段的值?

答:

以太网帧的数据字段的最大长度是1500字节。

UDP数据报的首部是8个字节,所以整个UDP数据报的长度是8200字节。

假定IP数据报的首部没有选项,即首部长度是20字节。

而IP数据报的片偏移量指出了一个片在原IP数据分组中的相对位置,单位是8字节。

通过以上分析,可将UDP数据报分为6个数据报片,前5个的长度是1480字节(IP数据报是1500字节),最后一个的长度是800字节(IP数据报是820字节),片偏移量分别是:

0,185,370,555,740,925.

14、一个UDP用户数据报的首部的十六进制表示是:

06320045001CE217。

试求源端口,目的端口,用户数据报的总长度、数据部分长度。

这个用户数据报是从客户发送给服务器的,还是服务器发送给客户的?

使用UDP的这个服务器程序是什么?

答:

把UDP数据报的首部各字段如下(每个字段都是2字节):

源端口

目的端口

长度

校验和

因此:

源端口是1586,目的端口是69,UDP用户数据报总长度是28字节,数据部分是20字节。

此UDP用户数据报是从客户发给服务器的,因为目的端口号69<1023,是熟知端口。

服务程序是TFTP。

(查熟知端口表就会知道)。

15、使用TCP对实时话音数据的传输有没有什么问题?

使用UDP在传输数据文件时会有什么问题?

答:

UDP不保证可靠交付,但是UDP比TCP的开销要小。

因此,只要应用程序接受这样的服务质量就可以使用UDP。

如果话音不是实时数据(边接收边播放)就可以使用TCP,因为TCP传输可靠。

接收端用TCP将话音数据接收完毕后,可以在以后的任何时间进行播放。

但假定是实时传输,则必须使用UDP.

16、在停止等待协议中,在什么情况下确认帧可以不使用序号?

在停止等待协议中,如果不使用编号是否可行?

为什么?

答:

(1)在停止等待协议中,仅当数据帧和确认帧在传输的过程中既不会丢失也不会有差错的情况下,确认帧才可以不使用序号(其实,如果在传输的过程中既不丢失也无差错时,根本就不用确认了)。

(2)然而在现实的数据传输中,很难保证数据的传输既不丢失也不出现差错,所以在停止等待协议中应当使用序号。

17、在停止等待协议中,如果收到重复的报文段时不予理睬(即悄悄地丢弃它,其他什么也不做)是否可行?

试举出具体的例子。

答:

不行。

如下图所示:

若对收到的重复的报文不进行重传确认,就会让发送方一直认为它所发送的数据没有正确到达接收端,而继续重传下去;当重传达到一定的次数时,就会认为网络出现了故障。

18、假定在运输层使用停止等待协议。

发送方在发送报文段M0后在设定的时间内未收到确认,于是重传M0,但是M0又迟迟不能到达接收方。

不久,发送方收到了迟到的对M0的确认,于是发送下一个报文段M1,不久就收到了对M1的确认。

接着发送方发送新的报文段M0,但是这个新的M0在传送的过程中丢失了。

正巧,一开始就滞留在网络中的M0现在到达了接收方。

接收方无法分辨M0是旧的。

于是收下了M0,并发送确认。

显然,接收方后来收到的M0是重复的,协议失败了。

试画出类似于图5-9所示的双方交换报文段的过程。

答:

见教材P383

19、试证明:

当用n比特进行分组的编号时,若接收窗口等于1(即只能按序接收分组),则仅在发送窗口不超过2n-1时,连续ARQ协议才能正确运行。

窗口的单位是分组。

答:

如下图所示:

设发送窗口记为WT,接收窗口记为WR.假定用3个比特进行编号,设接收窗口正好在7号分组处(有阴影的分组)。

发送窗口WT的位置不可能比②更靠前,也不可能比③更靠后,也可能不是这种极端位置,如①。

对于①和②的情况,在WT的范围内无重复序号,即WT≦2n。

对于③的情况,在WT+WR的范围内无重复序号,即WT+WR≦2n。

现在WR=1,故发送窗口的最大值WT≦2n-1。

图见教材P383

20、在连续ARQ协议中,若发送窗口等于7,则发送端在开始发送时可以连续发送7个分组,因此,每一个分组发送出去后,都要设置一个超时计时器。

现在计算机中只有一个硬时钟。

设这7个分组发出的时间分别是:

t0,t1,t2,t3,t4,t5,t6,且tout都一样大,试问如何实现这7个超时计时器(这叫软时钟法)?

答:

用相对发送时间实现一个链表,见P383图A-5。

21、假定使用连续ARQ协议,发送窗口大小是3,而序号的范围是【0,15】,而传输媒体保证在接收方能够按序收到分组,在某个时刻,在接收方,下一个期望收到的序号是5.试问:

(1)在发送方的发送窗口中可能出现的序号组合有哪几种?

(2)接收方已经发送出去的、但是在网络中(即还没有到达发送方)的确认分组可能有哪些?

说明这些确认分组是用来确认哪些序号的分组?

答:

(1)接收方期望收到的分组序号是5,说明前5个分组都已经收到了。

若这些确认都已经到达了发送方,则发送窗口的范围是【5,7】。

接收方期望收到序号为5的分组,说明序号为0,1,2,3,4的分组都已经收到,并且发出了确认。

并且对序号为0,1的分组的确认肯定被发送方收到了,否则不可能发送4号分组。

而对于序号为2,3,4的分组的确认假设都丢失了,这时发送窗口应为【2,4】。

因此,发送窗口的大小可以是【2,4】,【3,5】,【4,6】,【5,7】。

(2)接收方期望收到序号为5的分组,说明序号为2,3,4的分组都已经收到,并且发出了确认。

对序号为1的分组的确认肯定被发送方收到了,否则不可能发送4号分组。

由此可见,序号为2,3,4的分组的确认有可能仍滞留在网络中。

这些确认是用来确认序号为2,3,4的分组。

22、主机A向主机B发送一个很长的文件,其长度为L字节,假定TCP使用的MSS为1460字节。

(1)在TCP的序号不能重复使用的情况下,L的最大值是多少?

(2)假定使用上面计算出的文件长度,而运输层、网络层和数据链路层所用的首部开销共66字节,链路的数据率是10Mb/s,试求这个文件所需的最短传输时间。

答:

(1)在TCP报文的首部中,“序号”字段占4字节,即32位,所以序号范围是【0,232-1】,共232个序号,而该序号是对字节流进行的编号,即字节的范围是【0,232-1】,即共232个字节,即4G。

(G=230)

(2)对于长度是L字节的文件,发送方要发送的次数:

次数=L/MSS=4G/1460≈

发送的总字节数=2941759*(1460+66)=4489124234字节

发送需要的总时间=发送的总字节数/数据率

=4489124234/10M

=4489124234/(10*106)

=448.9秒

≈449秒

23、主机A向主机B连续发送了两个TCP报文段,其序号分别是70和100,试问:

(1)第一个报文段携带了多少个字节的数据?

(2)主机B收到第一个报文段后发回的确认中的确认号是多少?

(3)如果主机B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中携带了多少个字节的数据?

(4)如果A发送的第一个报文段丢失了,但是第二个报文段到达了B。

B在第二个报文段到达后给A发送确认,试问这个确认中的确认号应该是多少?

答:

(1)TCP报文中的序号是该报文所发数据流中的第一个字节的编号,因此:

一个报文携带的数据流的编号是【70,99】,共30个字节。

(2)主机B收到第一个报文后发回的确认中的确认号应当是100.

(3)第二个报文段携带的数据流的范围是【100,179】,共80个字节。

(4)这个确认号应当是:

70。

24、一个TCP连接下面使用256kb/s的链路,其端到端的时延为128ms。

经过测试,发现吞吐量只有120kb/s,试问发送窗口W是多少?

(提示:

答案可以有了两种,取决于接收端发出确认的时机?

答:

往还时延等于128ms*2=256ms。

因为实际的吞吐量大约是发送速率的一半,这样发送时间和停止等待时间就大约相等。

假定一次最大发送量等于发送窗口的值W,并且连续发送完窗口内的数据所需的发送时间为T,根据接收端发出确认的时机不同,可以有两种情况:

(1)接收端接收了一个很小的报文后马上给出确认的状况。

此时发送端能够连续发送的时间大约等于等于端到端的往还时延256ms(假设发送端从发出第一个字节开始计时,到收到对第一个字节的确认为止,期间经历了端到端的往还时延256ms,若在该时间段内收不到确认,就应该重传该字节)。

此时发送窗口W的大小为:

256ms×256kb/s÷8=8192字节。

(备注:

1kb=1000bit)

(2)若接收端在接收了一大批数据的最后才给出确认,此时发送窗口的大小为:

256kb/s÷8×发送时间T(单位是字节)。

25、为什么在TCP的首部中要把TCP的端口号放入最开始的4个字节中?

答:

因为在ICMP的差错报文中要包含紧随IP数据报首部后面的8个字节的内容,而紧随IP数据报首部后面的就是IP数据报的数据字段,即TCP报文,而TCP报文的前面的部分又是TCP报文的首部,所以让TCP首部中最开始的4个字节是TCP的端口号,就可以在ICMP差错报文的上述8个字节中有TCP的源端口号和目的端口号。

当TCP收到ICMP差错报文时要用这两个端口号来确定是哪条连接出了差错。

26、为什么在TCP首部中有一个首部长度字段,而UDP的首部中就没有这个字段?

答:

因为TCP报文的首部是可变长度的(有可选项字段),所以用一个首部长度字段来指明首部的长度;而UDP报文的首部是固定长度的,所以就不在用这个字段了。

27、一个TCP报文段的数据部分最多为多少个字节?

为什么?

如果用户要传送的数据的字节长度超过了TCP报文段中的序号字段可能编出的最大序号时,问还能够用TCP来传送吗?

答:

(1)因为TCP报文最终要被封装成IP数据报,而在IP数据报的首部中“总长度”字段为2字节,共16位,因此IP数据报的总长度最大为216-1=65535字节。

此长度减去IP数据报的首部20字节和TCP报文的首部20字节,得到65495字节,就是TCP报文的数据字段的最大长度。

当然,如果IP数据报首部和TCP报文首部都包含有可选项时,则TCP报文中的数据字段的最大值将小于65495字节。

(2)能用。

因为TCP报文的首部中序号字段是对所传输的数据流中的第一个字节的编号,和传输的数据块的大小没有关系。

28、主机A向主机B发送TCP报文段,首部中的源端口号是m而目的端口号是n,当B向A发送回信时,其TCP报文首部中的源端口号和目的端口号分别是什么?

答:

源端口号是n,目的端口号是m。

29、在使用TCP传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确认报文段对应的数据重传。

试说明理由。

答:

接收端使用了累计确认时,发送端若还没等到重传时间到,就收到了对更高序号数据的确认。

30、设TCP使用的最大窗口为65535字节,而传输信道不产生差错,带宽也不受到限制。

若报文段的平均往还时延为20ms,问所能得到的最大吞吐量是多少?

答:

在平均往还时延20ms内,发送的最大数据量是窗口的最大值,即65535字节,因此:

65535*8/(20ms/1000)=26.2mb/s

31、通信信道带宽为1Gb/s,端到端传播时延为10ms,TCP的发送窗口为65535字节。

试问:

可能达到的最大吞吐量是多少?

信道的利用率是多少?

答:

最大吞吐量=65535*8/(0.02往还时延)=26.2mb/s字节

信道利用率=26.2mb/1Gb=2.62%

32、略

33、略

34、略

35、略

36、略

37、在TCP的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?

每一种算法各起到什么作用?

“乘法减小”和“加法增大”个用在什么情况下?

答:

慢开始:

在主机刚刚开始发送报文段时可先将拥塞窗口cwnd设置为一个最大报文段MSS的数值。

在每收到一个对新的报文段的确认后,将拥塞窗口增加一个MSS的数值。

用这样的方法逐步增大发送端拥塞窗口cwnd,可以使分组注入到网络的速率更加合理。

用慢开始算法每经过一个传输轮次,拥塞窗口的值就会加倍。

拥塞避免:

当拥塞窗口值大于慢开始门限时,停止使用慢开始算法而改用拥塞避免算法。

拥塞避免算法使发送端的拥塞窗口每经过一个往返时延RTT(传输轮次)就增加一个MSS的大小,按照线性规律缓慢增长。

不论在慢开始算法中还是在拥塞避免算法中,只要出现了拥塞,就把慢开始门限设置为当前拥塞窗口的一半(但是不能小于2),并把拥塞窗口重新设置为1,然后在重新执行慢开始算法。

快重传算法规定,发送端只要一连收到三个重复的ACK即可断定有分组丢失了,就应立即重传丢失的报文段而不必继续等待为该报文段设置的重传计时器的超时。

快恢复算法:

(1)当发送端收到连续三个重复的ACK时,就认为网络出现了拥塞,要重新设置慢开始门限ssthresh,将其设置为当前拥塞窗口的一半(但是不能小于2)。

(2)与慢开始不同之处:

现在不是将拥塞窗口cwnd设置为1,而是将其设置为新的慢开始门限值。

然后开始执行拥塞避免算法,让拥塞窗口按照线性规律缓慢增长。

“乘法减小”是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢开始门限值ssthresh设置为当前的拥塞窗口值乘以0.5。

当网络频繁出现拥塞时,ssthresh值就下降得很快,以大大减少注入到网络中的分组数。

“加法增大”是指执行拥塞避免算法后,当收到对所有报文段的确认就将拥塞窗口cwnd增加一个MSS大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。

38、设TCP慢开始门限的初始值设置为8(单位是报文段),当拥塞窗口上升到12时网络发生超时,TCP使用慢开始和拥塞避免,试分别求出第一轮次到第15轮次传输的各拥塞窗口的大小。

并说明拥塞窗口每一次变化的原因。

答:

1,2,4,8,9,10,11,12(拥塞,设新的慢开始门限值为6)

1,2,4(不到6,继续用慢开始算法),6,7,8,9

39、TCP的拥塞窗口cwnd的大小和传输轮次的关系如下表所示:

cwnd

1

2

4

8

16

32

33

34

35

36

37

38

39

n

1

2

3

4

5

6

7

8

9

10

11

12

13

cwnd

40

41

42

21

22

23

24

25

26

1

2

4

8

n

14

15

16

17

18

19

20

21

22

23

24

25

26

(1)试画出传输轮次与拥塞窗口的关系图。

(2)指明TCP工作在慢开始阶段的时间间隔。

(3)指明TCP工作在拥塞避免阶段的时间间隔。

(4)在第16轮次和第22轮次之后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文?

(5)在第1轮次、第18轮次和第24轮次发送时,门限值分别被设置为多少?

(6)在第几轮次发送出第70个报文段?

(7)假定在第26轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口和慢开始门限应该设置为多大?

答:

(1)关系图(略)

 

(2)TCP工作在慢开始阶段的时间间隔【1,6】,【23,26】

(3)TCP工作在拥塞避免阶段的时间间隔【7,22】,其中【17,22】是快恢复阶段的拥塞避免。

(4)第16轮次之后是通过收到三个重复的确认检测到丢失了报文(此后用的是快恢复算法)

第22轮次之后是通过拥塞避免(超时)检测到丢失了报文(此后用的是慢开始算法)

(5)第1轮次时,门限为32;在第18轮次时,门限为21;

第24轮次时,门限为13

(6)在第7轮次中

(7)门限应该设置为4,拥塞窗口也应该设置为4(因为此处仅是收到了重复的确认,并不是网络中真的有拥塞产生,应该用快恢复算法,所以新的拥塞窗口应该设置成和门限值一样大)。

40、TCP在进行流量控制时是以分组的丢失作为产生拥塞的标志,有没有不是因为拥塞而引起的分组丢失的情况?

如有,请举出三种情况。

答:

有。

例如:

IP数据报到达了终点,可终点缓存空间小,而使得分组丢失;

较长的IP数据报分片后,部分分片按时到达了终点,但是另一部分分片却丢失了,这样会使得按时到达的分片在等了很长的时间后被丢弃;

由于网络中的某一个网桥或路由器的转发缓存空间较小而使得分组丢失。

41、用TCP传送512字节的数据,设窗口为100字节,而TCP报文段每次也是传送100字节的数据。

再设发送方和接收方的起始序号分别选为100和200,试画出类似于图5-31的工作示意图。

从连接建立阶段到连接释放阶段都要画上。

答:

图示如下:

参考资料,见P159。

 

42、在教材图5-32工作示意图中,在ESTABLISHED状态下,服务器进程能否先不发送ack=u+1的确认?

(因为后面要发送的释放连接的报文段中仍有ack=u+1这一信息)。

答:

不能。

因为,如果服务进程不发这一确认,对于A来说,它迟迟收不到确认,就会认为刚才它发出的释放连接的请求报文丢失了,就会重传这个报文,造成网络资源的浪费。

若A一直收不到确认,那么从A到B的连接就不会被释放。

43、(略)

44、试以具体例子说明为什么一个运输连接可以有多种方式释放。

可以设两个相互通信的用户分别连接到了网络的两个结点上。

答:

以TCP为例,就有两种连接释放方式。

一种方式是在正常条件下的从容释放。

释放在通信的两个方向上分别进行,让双方把需要发送的数据都发送完毕再启动释放过程,而且,在任一个方向上,发出释放请求的一方必须在得到对方的确认后才能完成在该方向上的释放。

另一种方式是在出现非正常条件时必须采用的重置。

有时候,非正常条件(例如主机即将崩溃)的出现回迫使应用程序或网络软件断开正在使用的运输连接。

重置是一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1