第8章运输层优秀PPT.ppt

上传人:1398****507 文档编号:57463453 上传时间:2022-11-05 格式:PPT 页数:45 大小:478KB
返回 下载 相关 举报
第8章运输层优秀PPT.ppt_第1页
第1页 / 共45页
第8章运输层优秀PPT.ppt_第2页
第2页 / 共45页
点击查看更多>>
资源描述

《第8章运输层优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第8章运输层优秀PPT.ppt(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第8 8章章 运输层运输层运输协议概述运输协议概述TCP/IPTCP/IP体系中的运输层体系中的运输层用户数据报协议用户数据报协议UDPUDP传输限制协议传输限制协议TCPTCP8.1 8.1 运输协议概述运输协议概述OSI上三层上三层OSI上三层上三层OSI下三层下三层OSI下三层下三层用户进程管理用户进程管理通信子网通信子网向上提供标准的传输服务向上提供标准的传输服务向下屏蔽不同的通信子网向下屏蔽不同的通信子网运输层只存在于通信子网以外的主机中,运输层只存在于通信子网以外的主机中,在通信子网中没有运输层在通信子网中没有运输层运输层的功能:运输层的功能:1 1)运运输输层层用用来来标标识识

2、主主机机中中的的应应用用进进程程。IPIP协协议议虽虽然然能能够够把把分分组组送送到到目目的的主主机机,但但是是无无法交付给主机中的应用进程。法交付给主机中的应用进程。2 2)复复用用与与分分用用:发发送送端端共共用用网网络络层层供供应应的的服服务;接收端则进行分用处理。见图务;接收端则进行分用处理。见图8 82,82,83 3。3 3)运输层要对收到的报文进行差错检测)运输层要对收到的报文进行差错检测运运输输层层向向高高层层屏屏蔽蔽了了下下面面通通信信子子网网的的细细微微环环节节,它它使使应应用用进进程程望望见见的的就就是是似似乎乎在在两两个个运运输输层层实体之间有一条端到端的逻辑通信信道实

3、体之间有一条端到端的逻辑通信信道这这条条逻逻辑辑信信道道因因运运输输层层运运用用的的不不同同协协议议而而有有很很大大的的差差别别。运运输输层层有有两两种种不不同同的的运运输输协协议议,即面对连接的即面对连接的TCPTCP和无连接的和无连接的UDPUDP。运输层向上供应牢靠的和不行靠的逻辑通信信道运输层向上供应牢靠的和不行靠的逻辑通信信道8.2 TCP/IP体系中的运输层8.2.18.2.1运输层中的两个协议运输层中的两个协议用户数据报协议用户数据报协议UDP(User Datagram UDP(User Datagram Protocol)Protocol)运输限制协议运输限制协议TCP(Tr

4、ansmission Control TCP(Transmission Control Protocol)Protocol)与各种网络接口与各种网络接口IPIPUDPUDPTCPTCP应用层应用层lUDPUDP在传送数据之前不须要建立连接,也不在传送数据之前不须要建立连接,也不给出确认,供应不行靠服务,但效率高。给出确认,供应不行靠服务,但效率高。lTCPTCP在传送数据之前须要建立连接,需给出在传送数据之前须要建立连接,需给出确认,供应牢靠服务,但效率低。确认,供应牢靠服务,但效率低。8.2.2 端口的概念什么是端口?什么是端口?端口是运输层的地址,用来标识应用端口是运输层的地址,用来标识应

5、用层的进程。层的进程。当传输层收到当传输层收到TCPTCP报文或报文或UDPUDP报文,要依报文,要依据其首部中的端口号来确定应当交给哪据其首部中的端口号来确定应当交给哪个应用进程。个应用进程。应用进程应用进程应用进程应用进程应用进程应用进程应用进程应用进程应应用用层层传传输输层层网网络络层层端口端口端口端口端口端口端口端口端口端口端口端口端口端口端口端口TCPTCP复用复用UDPUDP复用复用NSAPNSAPNSAPNSAPNSAPNSAPNSAPNSAPUDPUDP分用分用TCPTCP分用分用IPIP复用复用IPIP分用分用IPIP数据报数据报IPIP数据报数据报端口是一个端口是一个161

6、6比特的地址,并用端口号进行标识。比特的地址,并用端口号进行标识。端口号分为两类:端口号分为两类:一类是熟知端口,由因特网指派名字和号码公司一类是熟知端口,由因特网指派名字和号码公司ICANNICANN负责安排给一些常用的应用层程序固定运负责安排给一些常用的应用层程序固定运用,其数值一般为用,其数值一般为0 010231023。如:。如:FTPFTP用用2121,TELNETTELNET用用2323,SMTPSMTP用用2525,DNSDNS用用5353,HTTPHTTP用用8080等。等。另一类是一般端口,用来随时安排给恳求通信的另一类是一般端口,用来随时安排给恳求通信的客户进程。其数值大于

7、客户进程。其数值大于10231023端口号与端口号与IPIP地址结合运用地址结合运用两个进程运用两个进程运用TCPTCP进行通信时,先要建立进行通信时,先要建立“连连接接”,一条连接由它的两个端点来标识,这,一条连接由它的两个端点来标识,这样的端点称为插口样的端点称为插口(socket),(socket),就是我们常说的就是我们常说的“套接字套接字”。插口包括插口包括IPIP地址(地址(3232比特)和端口号(比特)和端口号(1616比比特),共特),共4848比特。比特。例例:(131.6.23.13131.6.23.13;15011501)和)和(130.42.85.15130.42.85

8、.15;2525)。)。8.3 用户数据报协议UDP8.3.1、用户数据报的用途、用户数据报的用途 优点:优点:发送数据之前不须要建立连接,因而削减了发送数据之前不须要建立连接,因而削减了开销和发送数据之前的时延;开销和发送数据之前的时延;UDP没有拥塞限制,也不保证牢靠交付;没有拥塞限制,也不保证牢靠交付;UDP用户数据报只有用户数据报只有8个字节的首部开销,比个字节的首部开销,比TCP的的20个字节的首部要短;个字节的首部要短;由于由于UDP没有拥塞限制,因此网络出现的拥没有拥塞限制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实塞不会使源主机的发送速率降低。这对某些实时应用是很

9、重要的。时应用是很重要的。运用运用UDP和和TCP协议的各种应用协议的各种应用应用应用应用层协议应用层协议传输层协议传输层协议名字转换名字转换DNSUDP选路协议选路协议RIPUDP网络管理网络管理SNMPUDP远程文件服务器远程文件服务器NFSUDPIP电话电话专用协议专用协议UDP流式多媒体通信流式多媒体通信专用协议专用协议UDP电子邮件电子邮件SMTPTCP远程终端接入远程终端接入TELNETTCP万维网万维网HTTPTCP文件传送文件传送FTPTCP各字段意义检验和字段:防止传输中出错。检验和字段:防止传输中出错。在计算检验和时在在计算检验和时在UDPUDP用户数据报之前要增加用户数据

10、报之前要增加1212个字节的伪首部。个字节的伪首部。所谓所谓“伪首部伪首部”是因为这种伪首部并不是是因为这种伪首部并不是UDPUDP用用户数据报真正的首部。只是在计算检验和时,户数据报真正的首部。只是在计算检验和时,临时运用。临时运用。伪首部既不向下传送,也不向上递交。伪首部既不向下传送,也不向上递交。8.4 传输限制协议TCP8.4.1、TCP报文段的首部源端口源端口目的端口目的端口序号序号确认号确认号数据数据偏移偏移保保留留URGACKPSHRSTSYNFIN窗口窗口检验和检验和紧急指针紧急指针选项(长度可变)选项(长度可变)填充填充首部数据TCP首首部部20字字节节的的固固定定首首部部3

11、2位位各字段意义源端口和目的端口源端口和目的端口:各占2个字节。序号序号:占4个字节,是本报文段所发送的数据部分第一个字节的序号。TCP传送的报文可看成是连续的数据流,每一个字节都对应于一个序号。例如,一报文段的序号为300,而该数据共100字节,则下一个报文段的序号就是400。确认序号确认序号:占4字节,是期望收到对方下次发送的数据的第一个字节的序号,也就是期望收到的下一个报文段首部中的序号值。数据偏移:占数据偏移:占4 4比特,表示数据起先的地方离比特,表示数据起先的地方离TCPTCP报文段报文段的起始处有多远。这事实上就是的起始处有多远。这事实上就是TCPTCP报文段首部的长度。报文段首

12、部的长度。由于首部长度不固定,因此数据偏移字段是必要的。由于首部长度不固定,因此数据偏移字段是必要的。保留字段:保留字段:6 6比特,供今后运用,目前置为比特,供今后运用,目前置为0 0。6 6个比特的限制字段个比特的限制字段紧急比特紧急比特URGentURGent:当:当URG=1URG=1时,表明此报文应尽快传送,时,表明此报文应尽快传送,而不要按原来的排队依次来传送。与而不要按原来的排队依次来传送。与“紧急指针紧急指针”字段字段协作运用,由于数据中既有一般数据又有紧急数据,紧协作运用,由于数据中既有一般数据又有紧急数据,紧急指针指出在本报文段中的紧急数据的最终一个字节的急指针指出在本报文

13、段中的紧急数据的最终一个字节的序号,使接收方可以知道紧急数据共有多长。序号,使接收方可以知道紧急数据共有多长。确认比特确认比特ACKACK:只有当:只有当ACK=1ACK=1时,确认序号字段才有意义。时,确认序号字段才有意义。推送比特推送比特PSHPSH:当:当PSH=1PSH=1时,表明尽快发送,不要等到整时,表明尽快发送,不要等到整个缓存都填满了之后再发。个缓存都填满了之后再发。复位比特复位比特ReSeTReSeT:当:当RST=1RST=1时,表明出现严峻差错,必需时,表明出现严峻差错,必需释放连接,然后再重建传输连接。释放连接,然后再重建传输连接。同步比特同步比特SYN SYN:在建立

14、连接时运用,当:在建立连接时运用,当SYN=1SYN=1而而ACK=0ACK=0时,时,表明这是一个连接恳求报文段。对方若同意建立连接,表明这是一个连接恳求报文段。对方若同意建立连接,在发回的报文段中使在发回的报文段中使SYN=1SYN=1和和ACK=1ACK=1。因此,。因此,SYN=1SYN=1表示表示这是一个连接恳求或连接接受报文,而这是一个连接恳求或连接接受报文,而ACKACK的值用来区的值用来区分是哪一种报文。分是哪一种报文。终止比特终止比特FINalFINal:用来释放一个连接,当:用来释放一个连接,当FIN=1FIN=1时,表明时,表明欲发送的字节串已经发完,并要求释放传输连接。

15、欲发送的字节串已经发完,并要求释放传输连接。窗口窗口WindowWindow:占:占2 2字节。此窗口告知对方,字节。此窗口告知对方,“在在未收到我的确认时,你能够发送的数据的字节数未收到我的确认时,你能够发送的数据的字节数至多是此窗口的大小。至多是此窗口的大小。”检验和覆盖了完全的检验和覆盖了完全的TCPTCP报文段:报文段:TCPTCP首部和首部和TCPTCP数据。数据。选项字段:只规定了一种选项即最大报文段长度,选项字段:只规定了一种选项即最大报文段长度,用以告知对方:用以告知对方:“我的缓存所能接收的报文段的我的缓存所能接收的报文段的数据字段的最大长度数据字段的最大长度”,默认值为,默

16、认值为536536字节。字节。8.4.2 TCP的数据编号与确认TCP协议是面对字节的,协议是面对字节的,TCP整个报文看成是一整个报文看成是一个个字节流组成的数据流,并使每一个字节对应个个字节流组成的数据流,并使每一个字节对应一个序号。一个序号。报文序号为报文段中第一字节的序号报文序号为报文段中第一字节的序号如:序号如:序号x,长度,长度L的报文段,则:下一报文的报文段,则:下一报文序号为序号为xL确认序号表示接收端期望下次收到的数据中的第一确认序号表示接收端期望下次收到的数据中的第一个数据字节的序号。个数据字节的序号。TCP发送报文段的时机TCP有三种基本机制来限制报文段的发送:(1)TC

17、P维持一个变量,它等于最大报文段长度MSS。只要发送缓存从发送进程得到的数据到达MSS字节时,就组装成一个TCP报文段,然后发送出去;(按数量)(2)发送端的应用进程指明要求发送报文段,即TCP支持的推送(push)操作;(按紧迫度)(3)发送端的一个计时器时间到了,这时就把当前已有的缓存数据装入报文段发送出去。(按时间)限制发送时机的相应算法(1)Nagle算法:发送端应用进程将欲发送的数据逐个字节地送到发送端的TCP缓存。发送端将第一个字符先发送出去,将后面到达的字符都缓存起来。当发送端收到对第一个字符的确认后,再将缓存中的全部字符装成一个报文段发送出去,同时接着对随后到达的字符进行缓存。

18、算法还规定,当到达的字符已达到窗口大小的一半或已达到报文段的最大长度时,就马上发送。(2)让接收端等待一段时间,使得或者缓存已能有足够的空间容纳一个较长的报文段,或者缓存已有一半的空间处于空的状态时,才向发送端发送确认。通常将上述两种方法协作运用。使得在发送端不发送很小的报文段的同时,接收端也不要在缓存刚刚有了一点空位置就连忙将一个很小的窗口大小通知给发送端。8.4.3 TCP流量限制和拥塞限制TCP接受可变发送窗口的技术进行流量限制,窗口大小的单位是字节。在TCP报文段首部的窗口字段写入的数值就是当前给对方设定的窗口数值。发送窗口在连接建立时由双方商定,在通信过程中,接收端可依据自己的资源状

19、况,随时动态地调整自己的接收窗口,并且告知对方,使对方的发送窗口和自己的接收窗口一样。HDLC中发送窗口和接收窗口是如何确定的?1 100101 200301 400401 500501 600601 700701 800801 900201 300接收端许诺的发送窗口已发送并确认已发送未确认可连续发送不行发送 说明:发送端要发送的数据共9个报文段,每个报文段长100字节,共900个字节;而接收端确定的发送窗口为500字节;在当前状况下,发送方可连续发送5个报文符,而不必收到时确认,(已发送了二个,还可发送三个报文符);发送方在收到确认后,就可将发送窗口向前移动。利用可变窗口进行流量限制举例主

20、机主机A A主机主机B B序号序号=1=1序号序号=101=101序号序号=201=201确认序号确认序号=201=201 窗口窗口=300=300序号序号=201=201序号序号=301=301序号序号=401=401确认序号确认序号=501=501 窗口窗口=200=200序号序号=501=501确认序号确认序号=601=601 窗口窗口=0=0丢弃丢弃A A还能发送还能发送300300字节字节A A还能发送还能发送200200字节字节允许允许A A再发送再发送300300字节字节(201-500)(201-500)A A还能发送还能发送200200字节字节(301-500)(301-50

21、0)A A还能发送还能发送100100字节字节(401-500)(401-500)A A能超时重发,但不能发送序号能超时重发,但不能发送序号500500以后的数据以后的数据A A还能发送还能发送100100字节(字节(601601700700)允许允许A A再发送再发送200200字节(字节(501501700700)不允许不允许A A再发送再发送主机主机A A向主机向主机B B发送数据,双方商定的窗口值是发送数据,双方商定的窗口值是400400,每一个报文段,每一个报文段为为100100字节,序号的初始值为字节,序号的初始值为1 1。主机。主机B B进行了进行了3 3次流量限制。次流量限制。

22、窗口大窗口大小为小为400发送窗口发送端在发送数据时,既要考虑到接收方的接收实力,又要使网络不要发生拥塞。发送窗口的确定:发送窗口=Min通知窗口,拥塞窗口上式表明:发送窗口取二个窗口中的最小一个。注:在未发生拥塞的稳定工作状态下,二个窗口是一样的。通知窗口:是接受接收端的流量限制窗口,其窗口值放在TCP报文首部中传送给发送端;拥塞窗口:是发送端依据网络拥塞状况(如超时重传)得出的窗口值,来自发送端的流量限制。拥塞限制拥塞限制的三种技术慢启动(slow-start)加速递减(multiplicative decrease)拥塞避开(congestion avoidance)发送端的发送窗口不能

23、超过拥塞窗口和通知窗口中的最小值,现在假定接收端不进行流量限制,只考虑拥塞窗口。实现拥塞限制的步骤实现拥塞限制的步骤当一个连接初始化时,将拥塞窗口设置为当一个连接初始化时,将拥塞窗口设置为1 1。并设置慢。并设置慢启动的门限窗口值。启动的门限窗口值。发送端若收到了对全部发出的报文段的确认,就在下一发送端若收到了对全部发出的报文段的确认,就在下一次发送时将拥塞窗口加倍。可见拥塞窗口从次发送时将拥塞窗口加倍。可见拥塞窗口从1 1起先,按起先,按指数规律增长。指数规律增长。当增长到门限窗口值时,就每次只将拥塞窗口加当增长到门限窗口值时,就每次只将拥塞窗口加1 1,使,使拥塞窗口按线性规律增长。拥塞窗

24、口按线性规律增长。若出现了超时,则将当时的拥塞窗口值减半,作为新的若出现了超时,则将当时的拥塞窗口值减半,作为新的门限窗口值,同时拥塞窗口再次变为门限窗口值,同时拥塞窗口再次变为1 1。当网络出现超时,仍重复上述过程。当网络出现超时,仍重复上述过程。l慢启动:每出现一次超时,拥塞窗口都降都降低到慢启动:每出现一次超时,拥塞窗口都降都降低到1 1,使报文段渐渐注入网络中。,使报文段渐渐注入网络中。l加速递减:每出现一次超时,门限窗口值减半。加速递减:每出现一次超时,门限窗口值减半。l拥塞避开:当拥塞窗口增大到门限窗口值时,拥塞窗拥塞避开:当拥塞窗口增大到门限窗口值时,拥塞窗口的增长将变为线形增长

25、,避开网络出现拥塞。口的增长将变为线形增长,避开网络出现拥塞。l设门限窗口值为设门限窗口值为500500,设拥塞窗口为,设拥塞窗口为600600时出现超时,时出现超时,说明拥塞窗口的变更过程。拥塞窗口为说明拥塞窗口的变更过程。拥塞窗口为400400时呢?时呢?8.4.4、TCP的重传机制TCP的报文重发是依据所设置的定时器确定的。当定时器的重发时间到而还没有收到确认,就要重发这一报文段。由于路由可能发生变更,TCP接受了一种自适应算法确定超时定时器的重发时间。平均来回时延T(旧的来回时延T)(1 )(新的来回时延样本)0 1,分析取不同值时的效果?重传时间(平均来回时延)1,分析取不同值时的效

26、果?一般2来回时延的测量,实现起来很困难,例超时重传:发送第一个TCP报文超时重传TCP报文收到ACK来回时延来回时延?来回时延来回时延?KarnKarn提出了一个算法:在计算来回时延时,只要报文提出了一个算法:在计算来回时延时,只要报文段重传了,就不接受其来回时延样本。但假如报文段段重传了,就不接受其来回时延样本。但假如报文段的时延突然增大了很多,重传时间得不到更新,会连的时延突然增大了很多,重传时间得不到更新,会连续重传。续重传。修正方法:新的重传时间修正方法:新的重传时间(旧的重传时间),(旧的重传时间),1 1,一般取,一般取2 28.4.5 TCP的传输连接管理的传输连接管理TCPT

27、CP是面对连接的协议,传输连接的建立和释放是每次是面对连接的协议,传输连接的建立和释放是每次通信中必不行少的过程。传输连接的管理就是使传输连通信中必不行少的过程。传输连接的管理就是使传输连接的建立和释放都能正常地进行。接的建立和释放都能正常地进行。TCPTCP连接的建立接受客户服务器方式,主动发起连接建连接的建立接受客户服务器方式,主动发起连接建立的进程称之为客户,被动等待连接建立的进程称之为立的进程称之为客户,被动等待连接建立的进程称之为服务器。服务器。为了确保连接的建立和释放都是牢靠的,为了确保连接的建立和释放都是牢靠的,TCPTCP运用三次运用三次握手的方式,其中交换了三个报文。握手的方

28、式,其中交换了三个报文。用三次握手建立用三次握手建立TCPTCP连接连接主机主机A A主机主机B B主动打开主动打开被动打开被动打开SYN=1SYN=1,序号,序号=x=x确认序号确认序号=y+1=y+1SYN=1,SYN=1,序号序号=y,=y,确认序号确认序号=x+1=x+1确确认认确确认认主机主机A A的的TCPTCP向主机向主机B B的的TCPTCP发出连接恳求报文段,其首部发出连接恳求报文段,其首部中中SYN=1SYN=1,同时选择一个序号,同时选择一个序号x x,表明在后面传送数据时,表明在后面传送数据时的第一个数据字节的序号是的第一个数据字节的序号是x x。主机主机B B的的TC

29、PTCP收到连接恳求报文段后,犹如意,则发回确收到连接恳求报文段后,犹如意,则发回确认,在确认报文段中,认,在确认报文段中,SYN=1SYN=1,确认序号为,确认序号为x+1x+1,同时也,同时也为自己选择一个序号为自己选择一个序号y y。主机主机A A的的TCPTCP收到此报文段后,还要向主机收到此报文段后,还要向主机B B给出确认,给出确认,其确认序号为其确认序号为y+1y+1。运行客户进程的主机运行客户进程的主机A A的的TCPTCP通知上层应用进程,连接已通知上层应用进程,连接已经建立。经建立。运行服务器进程的主机运行服务器进程的主机B B的的TCPTCP在收到主机在收到主机A A的确

30、认后,的确认后,也通知其上层应用进程,连接已经建立。也通知其上层应用进程,连接已经建立。为什么要接受三次握手呢?主要是为了防止已失效的连接恳求报文段突然又出现传送到主机B,而产生错误。主机A发出连接恳求后,超时重传,进行传输后释放。但超时的连接恳求报文并未丢失,后来又到达主机B,主机B发出确认后,但主机A不会响应B的确认,因此连接建立不起来。释放释放TCPTCP连接连接主机主机A A主机主机B B应用进程应用进程释放连接释放连接通知主机通知主机应用进程应用进程FIN=1FIN=1,序号,序号=x=x确认序号确认序号=y+1=y+1FIN=1,FIN=1,序号序号=y,=y,确认序号确认序号=x

31、+1=x+1确确认认确确认认应用进程应用进程释放连接释放连接确认序号确认序号=x+1=x+1主机主机A A的应用进程先向其的应用进程先向其TCPTCP发出连接释放恳求,并且不发出连接释放恳求,并且不再发送数据。再发送数据。TCPTCP通知对方要释放从通知对方要释放从A A到到B B这个方向的连这个方向的连接,将首部中接,将首部中FIN=1FIN=1,序号,序号x x等于前面已传送过的数据的等于前面已传送过的数据的最终一个字节的序号加最终一个字节的序号加1 1。主机主机B B的的TCPTCP收到释放连接通知后即发出确认,确认序号收到释放连接通知后即发出确认,确认序号为为x+1x+1,同时通知自己

32、的应用进程。这样,从,同时通知自己的应用进程。这样,从A A到到B B的连的连接就释放了。接就释放了。在主机在主机B B向主机向主机A A的数据发送结束后,其应用进程就通知的数据发送结束后,其应用进程就通知TCPTCP释放连接。主机释放连接。主机B B发出的连接释放报文段中,发出的连接释放报文段中,FIN=1FIN=1,确认序号重复为,确认序号重复为x+1x+1,序号,序号y y等于前面已传送过的数据等于前面已传送过的数据的最终一个字节的序号加的最终一个字节的序号加1 1。主机主机A A的的TCPTCP收到此报文段后,还要向主机收到此报文段后,还要向主机B B给出确认,给出确认,其确认序号为其确认序号为y+1y+1。主机主机A A通知上层应用进程,连接已经释放。通知上层应用进程,连接已经释放。8.4.6TCP8.4.6TCP的有限状态机的有限状态机作业:作业:P251P2511 1、4 4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 商业计划书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁