为啥计算机网络需要分层?难道是多此一举

03/17 08:18
阅读数 10

<div class="output_wrapper" id="output_wrapper_id" style="font-size: 15px; color: rgb(62, 62, 62); line-height: 1.8; word-spacing: 2px; letter-spacing: 2px; font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif; background-image: linear-gradient(90deg, rgba(50, 0, 0, 0.05) 3%, rgba(0, 0, 0, 0) 3%), linear-gradient(360deg, rgba(50, 0, 0, 0.05) 3%, rgba(0, 0, 0, 0) 3%); background-size: 20px 20px; background-position: center center;"><blockquote style="line-height: inherit; display: block; padding: 15px 15px 15px 1rem; font-size: 0.9em; margin: 1em 0px; color: rgb(0, 0, 0); border-left: 5px solid rgb(239, 112, 96); background: rgb(239, 235, 233); overflow: auto; overflow-wrap: normal; word-break: normal;"> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px;">多点头发,少点代码</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px;">我是龙叔,一个分享互联网技术和心路历程的大叔</p> </blockquote> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;"><a href="https://github.com/midou-tech/articles" style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; text-decoration: none; color: rgb(30, 107, 184); overflow-wrap: break-word;">https://github.com/midou-tech/articles</a></p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">最近很忙,写技术文章还是很花费时间的。但是,就在前几天出了一篇TCP粘包问题的文章 (<a href="https://mp.weixin.qq.com/s/5oDim8z_xJhMKhHR9w-V3A" style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; text-decoration: none; color: rgb(30, 107, 184); overflow-wrap: break-word;">TCP粘包,难道说这是一个伪命题???</a>),反映不错。本来计划计算机网络文章慢慢的出,现在看来必须的加快速度了。</p> <figure style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px;"><img src="https://tva1.sinaimg.cn/large/00831rSTly1gcuvxf0ka2j30ee0u0n2b.jpg" alt="" title="" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; display: block; margin: 0px auto; max-width: 100%;"><figcaption style="line-height: inherit; margin: 0px; padding: 0px; margin-top: 10px; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption></figure> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">龙叔在学习网络的时候有这样几个疑惑:</p> <ul style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px; padding-left: 32px; list-style-type: disc;"> <li style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px; margin-bottom: 0.5em;"><span style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px;">为什么需要抽象出五层模型出来?</span></li> <li style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px; margin-bottom: 0.5em;">难道不是直接在网线(光纤传输)中传输数据就好了么?大不了到了<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">端点</strong>用的是WIFI传输(无线信号)。</li> </ul> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">这两个问题真的很困惑我,不知道大家有没有这样的疑惑?如果有的话,龙叔将为你答疑解惑。如果有其他的疑惑欢迎加我微信沟通 (公众号回复【龙叔】即可获得龙叔的联系方式)。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">在回答问题之前我先带你领略下使用最为广泛的五层模型,分别是哪五层?各层解决了什么问题?</p> <h3 id="h" style="color: inherit; line-height: inherit; padding: 0px; margin: 1.6em 0px; font-weight: bold; border-bottom: 2px solid rgb(239, 112, 96); font-size: 1.3em;"><span style="font-size: inherit; line-height: inherit; margin: 0px; display: inline-block; font-weight: normal; background: rgb(239, 112, 96); color: rgb(255, 255, 255); padding: 3px 10px 1px; border-top-right-radius: 3px; border-top-left-radius: 3px; margin-right: 3px;">五层模型是哪五层?</span><span style="display: inline-block; vertical-align: bottom; border-bottom: 36px solid rgb(239, 235, 233); border-right: 20px solid transparent;"> </span></h3> <figure style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px;"><img src="https://tva1.sinaimg.cn/large/00831rSTly1gch6vnkhldj30zu0mm0z6.jpg" alt="网络模型" title="网络模型" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; display: block; margin: 0px auto; max-width: 100%;"><figcaption style="line-height: inherit; margin: 0px; padding: 0px; margin-top: 10px; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;">网络模型</figcaption></figure> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">左边是OSI的七层模型,这模型很牛逼。但是现在基本是存在教科书的啦,学习网络的同学都是知道有这个模型,实际情况使用很少的。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">右边是TCP/IP五层分层模型。分别是物理层(硬件)、数据链路层(网卡层)、网络层(互联网层)、传输层、应用层。在日常工作中接触最多的是上两层,偶尔会去触碰网络层。数据链路层和物理层不是我们工作范围。当然如果是一些专门的网络安全部门,网管(不是网吧的网管)等岗位,下面几层就是非常熟悉的。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">五层模型还是很清楚明了的,每层用到的重要协议都表示在图中,还表示了操作系统的内核工作范围和用户工作范围。</p> <h3 id="h-1" style="color: inherit; line-height: inherit; padding: 0px; margin: 1.6em 0px; font-weight: bold; border-bottom: 2px solid rgb(239, 112, 96); font-size: 1.3em;"><span style="font-size: inherit; line-height: inherit; margin: 0px; display: inline-block; font-weight: normal; background: rgb(239, 112, 96); color: rgb(255, 255, 255); padding: 3px 10px 1px; border-top-right-radius: 3px; border-top-left-radius: 3px; margin-right: 3px;">各层解决了什么问题?</span><span style="display: inline-block; vertical-align: bottom; border-bottom: 36px solid rgb(239, 235, 233); border-right: 20px solid transparent;"> </span></h3> <h4 id="h-2" style="color: inherit; line-height: inherit; padding: 0px; margin: 1.6em 0px; font-weight: bold; font-size: 1.2em;"><span style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px;">应用层:</span></h4> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">应用层是网络体系架构中的最高层。这意味着什么?想想就知道,最高层就是要和人交互的层次嘛。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">应用层是计算机网络与用户交互的<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">接口</strong>或者<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">界面</strong>,<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">直接</strong>向用户提供服务。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">提供哪些服务呢?</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">这个…,就非常多了,比如Web服务、E-mail服务、DNS服务、DHCP服务、FTP服务等等。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">所以很明了,应用层解决的问题就是<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">如何为用户提供服务,以及提供高效、可靠、满意的服务</strong>。如何解决这些问题也就是我们这些攻城狮存在的必要了,根据不同的业务场景用不同的方法解决这些问题。例如使用多线程、协程,高并发的web框架,使用epoll处理模式,分布式处理等等技术来解决提供高效、可靠、满意的服务。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;"><strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">总结下</strong>,应用层是为用户提供服务接口或者界面,同时要解决服务的高效、可靠、满意。</p> <h4 id="h-3" style="color: inherit; line-height: inherit; padding: 0px; margin: 1.6em 0px; font-weight: bold; font-size: 1.2em;"><span style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px;">传输层</span></h4> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">负责<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">端到端</strong>的通信,是面向网络通信的低三层和面向信息处理的高三层之间的中间一层,起到<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">桥梁作用</strong>。很明显了,传输层解决的问题就是端到端的传输问题。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">看到这句话肯定很多人有疑问,先别说,继续看(我知道有人会说,网络层不是已经把数据转发到对应的主机了么,为何还要传输层?)。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">位于两台网络主机间的真正数据通信主体不是这两台主机,而是两台主机中的各种网络<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">应用进程</strong>,也就是应用程序。一台主机上有很多应用程序,很多应用程序都在进行网络通信,这时候就必须使用到传输层的知识去解决了。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">怎样完成端到端的传输呢?</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">分为两个步骤:一是虚拟传输连接的建立(此处仍仅针对面向连接的传输层协议),二是源端用户数据沿着传输连接传送到目的端。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">在整个数据传输过程中,传输层服务需要完成以下8个方面的基本功能:传输层寻址、传输连接建立、数据传输、传输连接释放、流量控制、拥塞控制、多路复用和解复用、崩溃恢复。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">这里面每个功能都能细说一篇文章,这里就不一一展开了,后面会出系列的文章,所以<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">点关注,不迷路。</strong>每个功能都是面试的考点,所以我后面一定会<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">快速</strong>更新出来的。</p> <figure style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px;"><img src="https://tva1.sinaimg.cn/large/00831rSTly1gcust8kzogg30b40b47wh.gif" alt="" title="" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; display: block; margin: 0px auto; max-width: 100%;"><figcaption style="line-height: inherit; margin: 0px; padding: 0px; margin-top: 10px; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption></figure> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;"><strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">总结下</strong>,传输层主要是为了解决端到端(这里的端到端指的是进程到进程)的通信,起到网络通信桥梁作用。</p> <h3 id="h-4" style="color: inherit; line-height: inherit; padding: 0px; margin: 1.6em 0px; font-weight: bold; border-bottom: 2px solid rgb(239, 112, 96); font-size: 1.3em;"><span style="font-size: inherit; line-height: inherit; margin: 0px; display: inline-block; font-weight: normal; background: rgb(239, 112, 96); color: rgb(255, 255, 255); padding: 3px 10px 1px; border-top-right-radius: 3px; border-top-left-radius: 3px; margin-right: 3px;">网络层</span><span style="display: inline-block; vertical-align: bottom; border-bottom: 36px solid rgb(239, 235, 233); border-right: 20px solid transparent;"> </span></h3> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">网络层也被称为中转层,是网络体系结构中非常重要的一层,在技术上又是非常复杂的一层,因为它既要解决不同网络的节点间通信的路由和协议识别问题,又要通过路由选择策略解决网络拥塞问题,尽可能提高网络通信的可靠性。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">网络层解决的主要问题是,从A主机把数据运送到B主机是走高速呢、飞机呢、还是火车呢或者是多种混合的方案呢。一句话就是,网络层关注的是如何将分组从源端沿着网络路径传送到目的端(这个端指的是主机不是应用程序)。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">为了实现这个目标,网络层必须知道通信子网的拓扑结构,并且在拓扑结构中选择适当的路径。同时网络层还必须谨慎地选择路由路径,以避免发生某些通信线路和路由器负载过重,而其他线路和路由器空闲的情形。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;"><strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">总结下</strong>,网络层主要是为了解决不同网络之间数据传输和转发问题。</p> <h3 id="h-5" style="color: inherit; line-height: inherit; padding: 0px; margin: 1.6em 0px; font-weight: bold; border-bottom: 2px solid rgb(239, 112, 96); font-size: 1.3em;"><span style="font-size: inherit; line-height: inherit; margin: 0px; display: inline-block; font-weight: normal; background: rgb(239, 112, 96); color: rgb(255, 255, 255); padding: 3px 10px 1px; border-top-right-radius: 3px; border-top-left-radius: 3px; margin-right: 3px;">数据链路层</span><span style="display: inline-block; vertical-align: bottom; border-bottom: 36px solid rgb(239, 235, 233); border-right: 20px solid transparent;"> </span></h3> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">物理层中也有许多规程或协议,但它们是用来构建物理传输线路、建立物理意义的网络通信,不是用来<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">控制</strong>数据传输的。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">设计数据链路层的主要解决的问题就是在原始的、有差错的物理传输线路的基础上,采取差错检测、差错控制与流量控制等方法,将有差错的物理线路改进成逻辑上无差错的数据链路,以便向它的上一层(网络层)提供高质量的服务。一句话总结就是 <strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">控制数据传输。</strong></p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;"><strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">总结下</strong>,数据链路层是为了解决数据传输的控制作用。</p> <h4 id="h-6" style="color: inherit; line-height: inherit; padding: 0px; margin: 1.6em 0px; font-weight: bold; font-size: 1.2em;"><span style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px;">物理层</span></h4> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">物理层位于各计算机网络体系结构的最底层,主要负责在物理介质上为数据链路层提供<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">原始比特流</strong>传输的<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">物理链接</strong>。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">物理层解决的问题就是<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">数据传输</strong>。上面的所有层都是封装数据和管理,物理层是传输数据的唯一出口,所有数据到达物理层都会变成二进制的载波信号。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;"><strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">总结下</strong>,物理层就是真正传输数据。</p> <h3 id="h-7" style="color: inherit; line-height: inherit; padding: 0px; margin: 1.6em 0px; font-weight: bold; border-bottom: 2px solid rgb(239, 112, 96); font-size: 1.3em;"><span style="font-size: inherit; line-height: inherit; margin: 0px; display: inline-block; font-weight: normal; background: rgb(239, 112, 96); color: rgb(255, 255, 255); padding: 3px 10px 1px; border-top-right-radius: 3px; border-top-left-radius: 3px; margin-right: 3px;">为什么不是直接在物理线路中进行通信就行了?而是搞出这么多层网络模型呢?</span><span style="display: inline-block; vertical-align: bottom; border-bottom: 36px solid rgb(239, 235, 233); border-right: 20px solid transparent;"> </span></h3> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">我觉得在学习计算机网络时能思考这个问题的都是非常🐂🍺的人,比如龙叔我😆。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">物理层是物理线路的抽象,物理层解决的主要问题传输就是数据传输,也是网络通信中唯一的数据传输出口。其实物理层就相当于日常交通网络中的各种道路,如公路、铁路和航线,它们是我们出门旅行必须要依靠的基础设施。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">但是物理层不是针对具体的传输介质、设备和通信协议的,因为它们可以有许多种选择(如传输介质中就可以有同轴电缆、双绞线和光纤等),只要能实现物理层的某种功能就行了。不同的传输介质和设备选择,必须要有对应的通信协议支持,而且这也决定了不同的选择有不同的物理层性能。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">就像路有好多种一样,如有泥巴路、沙子路、水泥路、柏油马路、普通铁路、高速铁路等,这些不同的路可以承载的重量和速率都不一样。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">传输介质不同,各种传输介质传输速率不同;所有人都在进行传输,怎么管理这些人;高铁、航线不可能通到家门口;就算到了家门口怎么把这些数据完整交付给家中的某个人呢;</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">所以就必须抽象出这些层来解决这些问题。物理层专门做数据传输(好比基础交通设施)、数据链路层制定传输规则(好比交通规则)、网络层把各个交通线路连接起来(就好比各个交通枢纽站)、传输层是端到端的符数据通信(好比把快递小哥把包裹移交到你的手里)、应用层负责提供服务(好比包裹到你手里了,你在享受包裹里面的礼物)。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">是不是有些明白为啥需要抽象出多层了,是的。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">想想都知道要是光有物理层那网络通信没法玩了,数据都是二进制,透明传输,数据还有可能乱序,丢数据,数据被篡改等等问题。</p> <h3 id="h-8" style="color: inherit; line-height: inherit; padding: 0px; margin: 1.6em 0px; font-weight: bold; border-bottom: 2px solid rgb(239, 112, 96); font-size: 1.3em;"><span style="font-size: inherit; line-height: inherit; margin: 0px; display: inline-block; font-weight: normal; background: rgb(239, 112, 96); color: rgb(255, 255, 255); padding: 3px 10px 1px; border-top-right-radius: 3px; border-top-left-radius: 3px; margin-right: 3px;">计算机网络通信过程图</span><span style="display: inline-block; vertical-align: bottom; border-bottom: 36px solid rgb(239, 235, 233); border-right: 20px solid transparent;"> </span></h3> <figure style="font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px;"><img src="https://tva1.sinaimg.cn/large/00831rSTly1gcuvnrs22ij314o0je4ap.jpg" alt="" title="" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; display: block; margin: 0px auto; max-width: 100%;"><figcaption style="line-height: inherit; margin: 0px; padding: 0px; margin-top: 10px; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption></figure> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">本文讲清楚了文章开头的几个疑惑,至于各层中详细的功能和面试常考的点,篇幅有限,我和大家一起期待下一篇文章。关注我,精彩内容不错过,微信搜索 <strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">龙跃十二</strong> 即可关注。</p> <p style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 1.7em 0px;">觉得本篇文章对你有帮助,非常感谢你能帮我<strong style="font-size: inherit; line-height: inherit; margin: 0px; padding: 0px; font-weight: bold; color: rgb(233, 105, 0);">点个赞</strong>,你的小小鼓励会成为我创作的动力。</p></div>

原文出处:https://www.cnblogs.com/zhonglongbo/p/12508429.html

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部