热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:期末不挂科计算机网络数据链路层

篇首语:本文由编程笔记#小编为大家整理,主要介绍了期末不挂科计算机网络数据链路层相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了期末不挂科计算机网络数据链路层相关的知识,希望对你有一定的参考价值。







期末计网满绩计划
教材:计算机网络(第七版)谢希仁版




数据链路层


  • 数据链路层
    • 1. 链路与数据链路
    • 2. 数据链路层的三个基本问题:封装成帧、透明传输和差错检测
    • 3. MTU 误码率 无差错接受 可靠传输 传输差错:比特差错、帧丢失、帧重复、帧失序
    • 4. 循环冗余校验码 CRC(计算)
    • 5. PPP(特点、帧格式、工作状态)
      • 5.1 特点:
      • 5.2 帧格式
      • 5.3 工作状态

    • 6. 媒体接入控制技术分类
      • 6.1 静态划分通道
      • 6.2 动态媒体接入控制(多点接入)

    • 7. Mac 地址,I/G 位,G/L 位
      • 7.1 Mac 层的硬件地址
      • 7.2 I/G位
      • 7.3 G/L位
      • 帧类型

    • 8. CSMA/CD
    • 9. 争用期、冲突窗口、最短帧长
    • 10. 以太网信道利用率
    • 11. 以太网帧格式
    • 12. 透明网桥,生成树协议
      • 12.1 透明网桥
      • 12.2 生成树协议

    • 13. 交换机与集线器比较,VLAN
      • 13.1 交换机与集线器比较
      • 13.1 VLAN 虚拟局域网

    • 14. 以太网物理层标准
    • 15. 载波延伸、分组突发
      • 15.1 载波延伸
      • 15.2 分组突发

    • 16. 课后习题




数据链路层

1. 链路与数据链路


  • 结点:主机和路由器
  • 链路:从一个结点到相邻结点的一段物理线路,而中间没有其他交换结点。
  • 数据链路:当需要在一条线上传送数据时,处理必须有一条物理线路外,还必须有一些表的通信协议来控制在这些数据的传输,把这些二协议的硬件和软件加到链路上,构成数据链路。

2. 数据链路层的三个基本问题:封装成帧、透明传输和差错检测


  • 封装成帧:把网络层交下来的IP数据包添加首部和尾部封装成帧。
    在这里插入图片描述

  • 透明传输:
    SOH、EOT一个是开始的控制符号,一个是结束的控制服务。
    用特殊比特流实现帧同步,某一个实际存在的事物看起来却好像不存在一样。表示无论是什么样的比特组合数据,都能够按照原样没有差错地通过这个数据链路层。因此,对锁传送地数据来说,这些数据就“看不见”链路层有说明妨碍数据传输地东西。或者说,数据链路层对这些数据来说是透明的。

在这里插入图片描述

为了解决透明传输地问题,就必须设法使数据中可能可能出现地“SOH”和“EOT”在接受端不被解释为控制字符。可以在SOH或是EOT前面插入一个转义字符ESC 而在接受端的数据链路层在把数据送往网络层之前删除这些插入的控制字符。这种方法也称为字节填充,字符填充。

在这里插入图片描述


  • 差错检测:
    在这里插入图片描述
    在这里插入图片描述

3. MTU 误码率 无差错接受 可靠传输 传输差错:比特差错、帧丢失、帧重复、帧失序


  • 最大传送单元MTU :每一种链路层协议都规定所能传送的帧的数据部分长度上限。
  • 误码率BER :在一段时间内,传输错误的比特占所传输比特总数的比率。
  • 无差错接受:凡是接收端数据链路层接收的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错。
  • 可靠传输:数据链路层的发送端发送什么,在接受端就收到什么。
  • 比特差错:比特在传输过程中可能会产生差错,1可能会变成0,0也可能会变成1。
  • 帧丢失:收到[#1]-[#3](丢失[#2])
  • 帧重复:收到[#1]-[#2]-[#2]-[#3](收到两个[#2])
  • 帧失序:收到[#1]-[#3]-[#2](后传输的帧反而先到达)

4. 循环冗余校验码 CRC(计算)

在这里插入图片描述
在这里插入图片描述


5. PPP(特点、帧格式、工作状态)



PPP 点对点协议,是目前使用得最广泛得数据链路层协议。用于拨号接入得PPP,在以太网交换机和主机之间得点对点链路。
在这里插入图片描述



5.1 特点:


  1. 简单:PPP协议并没有像TCP协议或是IP协议那么复杂,数据链路层得协议没有必要提供比TCP/IP协议更多的功能,因此数据链路层的帧,不需要纠错,不需要序号,也不需要流量控制。所以IETF把“简单”作为首要的需求。


数据链路层的协议非常简单,接收方每收到一个帧,就进行CRC检验,如果CRC检验正确,就收下这个帧,反之则丢弃这个帧,其他扫码也不做。



  1. 封装成帧:PPP协议必须按照规定的特殊字符作为帧定字符。上文提到的SOH或是EOT等等。
  2. 透明性:PPP协议必须保证特殊字符的透明性,也就是说如果数据中碰巧出现了和帧定界符一样的比特组合时候,就要采取特殊的措施,如同上文提到的字节填充等等。
  3. 多种网络层协议:PPP协议必须能够在同一条物理链路上同时支持多种网络层协议(IP和IPX等)的运行。当然也必须支持局域网或是路由器运行的各种网络层协议。
  4. 多种类型链路:PPP协议还能支持多种类型在链路上运行,串行还是并行,同步或是异步,低俗或是高速等等。
  5. 差错检测:PPP协议必须能够对接收端收到的帧进行检测,并立即丢失有错误的帧。如果无法进行差错检测,那么错误的无用帧就会在链路层上继续前进,浪费许多网络资源。
  6. 检测连接状态:PPP必须具有一种能够及时自动检测链路是否正常工作的状态。每隔几分钟发一次。
  7. 最大传送单元:PPP协议必须对点对点的链路设置最大传送单元MTU,如果高层发送分组过长并超过MTU的数值,PPP就要丢弃这样的帧,并返回差错。强调一点:MTU是数据链路层的帧可以载荷的数据部分的最大长度,不是帧的长度
  8. 网络层地址协商:PPP协议必须提供使得通信的两个网络层(例如两个IP层)的实体能够通过协商知道或能够配置彼此的网络地址。
  9. 数据压缩算法:提供一种方法来协商使用数据压缩算法,但是PPP协议并不要求数据压缩算法进行标准化。


PPP协议的组成


  • 一个将IP数据报封装到串行链路的方法。
  • 一个用来建立、配置和测试数据链路层连接的链路控制协议LCP。
  • 一套网络控制协议NCP。


5.2 帧格式

在这里插入图片描述


  1. 各字段的意义
    F :标志字段
    A :地址字段
    C :控制字段

  2. 字节填充
    当信息字段中出现和标志字段意义的比特(0x7E)组合时,就必须采取一些措施是这种形式上和标志字段一样的比特不出现在信息字段中


  • 把信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D、0x5E)
  • 若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把0x7D字节,同时将转变为2字节序列(0x7D、0x5D)。
  • 若信息字段中出现ASCII码的控制字符,则在该字符前面加一个0x7D字节,同时将字符的编码加以改变。

  1. 零比特填充
    PPP协议用在SONET/SDH链路时,使用同步传输(一连串的比特连续传送)而不是异步传输(逐个字符地传送)。在这种情况下就要采用零比特填充方法来实现透明传输。

  • 在发送端像扫描整个信息字段。
  • 只要发现5个连续地1,则立即填入一个0.
  • 接收方收到一个帧,先找到一个标志字符F,确定一个帧的边界。
  • 发现5个连续1是,就把5个连续的1后的一个0删除,还原成原来的信息比特流。

在这里插入图片描述


5.3 工作状态

在这里插入图片描述


  • 物理层连接建立
  • 再进行LCP配置协商,如果协商失败,则链路静止。
  • 如果成功进行鉴别,鉴别失败则链路终止
  • 鉴别成功或无须鉴别,则进入网络层协议,进行NCP配置协商。
  • 当网络层配置完毕后,链路就进入可进行数据通信的链路打开状态。

6. 媒体接入控制技术分类


6.1 静态划分通道

上一章提到的,频分复用,时分复用,波分复用,波分复用和码分复用。


6.2 动态媒体接入控制(多点接入)



信道并非再用户通信时固定分配给用户。



  • 随机接入:
    所有用户可随机地发送信息。但如果恰巧有两个或更多地用户通信同一时刻发送信息,那么在共享媒体上产生碰撞(发生冲突)。

  • 受控接入:
    用户不能随机的发送信息而必须必须服从一定的控制。这类的典型代表有分散控制的令牌环局域网和集中控制的多点线路探询,也称为轮询。


7. Mac 地址,I/G 位,G/L 位


7.1 Mac 层的硬件地址

硬件地址又称物理地址或MAC地址


7.2 I/G位

地址字段的第一个字节的最低位为I/G位,当I/G位为0时,地址字段表示一个的单个站地址。当I/G位为1时表示组地址,用来进行多播。


7.3 G/L位

地址字段第1字节的最低第二位规定为G/L位,当G/L为0时候是全球管理(保证全球没有相同的地址),当G/L为1时时本地管理,这时用户可任意分配网络上的地址。


帧类型


  1. 单位帧 (一对一):收到的帧的MAC地址于本站的硬件地址相同
  2. 广播帧(一对全体):即发送给本局域网上所有站点的帧(全1地址)
  3. 多播帧(一对多):即发送给本局域网上的一部分站点的帧。

8. CSMA/CD



载波监听,多点接入,碰撞检测,为了减少冲突发生的概率。



  • 多点接入:就是说明这是总线型网络,许多计算机以多点接入的方式连接在以跟总线上。协议的实际是“载波监听”和“碰撞检测”
  • 载波监听:用电子技术检测总线上有没有其他计算机也在发送。就是检测信道,不管在发送前,还是发送中,每个站都必须不停地检测信道。
  • 碰撞检测:边发送边监听,即适配器边发送数据边检测信道上的信号电压的变化情况,以便判断自己在发送数据其他站是否也在发送数据。
    在这里插入图片描述
    每一个站在自己发送数据之后的一小时内,存在着遭遇碰撞的可能性。这一小段是不确定的,它取决于另一个发送数据的站到本站的距离。因此以太网不能保证某一时间之内一定能把自己的数据帧成功发出去,因为存在碰撞。

9. 争用期、冲突窗口、最短帧长


  1. 争用期:从上图我们可以知道最先发送数据帧A站,在发送数据帧后至多经过时间2t就可以知道所遇到的数据帧是否遭受到了碰撞,因此以太网的端到端往返时间2t为争用期。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发送碰撞。
  2. 冲突窗口
    也叫争用期和碰撞窗口
  3. 最短帧长
    最短帧长是64字节,凡是小于64字节的帧都是由于冲突而异常终止的无效帧。只要收到了这种无效帧,就应该立即将其丢弃。

10. 以太网信道利用率

以太网的信道被占用的情况。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
只有当参数a远小于1才能得到尽可能高的极限信道利用率。


11. 以太网帧格式

以太网V2的MAC帧较为简单,由五个字段组成。


  • 前两个字段分别6字段长的目的地址和源地址字段。
  • 第三个字段是2字段和类型字段。用来表示标志上一层使用的是什么协议,以便把收到来的MAC帧的数据上交到上一层的这个协议。
  • 第四个字段是数据字段。
  • 最后一个字段是帧检验序列FCS(使用CRC检验)
    在这里插入图片描述

12. 透明网桥,生成树协议


12.1 透明网桥

透明网桥是一种即插即用设备,只要把网桥接入局域网,不需要改动硬件和软件,无需设置地址开关,无需装入路由表或参数,网桥就能工作。


12.2 生成树协议



在不改变网络的实际拓扑,但在逻辑上则切断了某些链路,使得一台主机到所有其他主机的路径是无环路的树状结构,从而消除了都兜圈子现象。


防止交换机冗余链路产生的环路.用于确保以太网中无环路的逻辑拓扑结构.从而避免了广播风暴,大量占用交换机的资源。


13. 交换机与集线器比较,VLAN


13.1 交换机与集线器比较

交换机把集线器淘汰了。
1)在OSI/RM(OSI参考模型)中的工作层次不同
交换机和集线器在OSI/RM开放体系模型中对应的层次就不一样,集线器是同时工作在第一层(物理层)和第二层(数据链路层),而交换机至少是工作在第二层,更高级的交换机可以工作在第三层(网络层)和第四层(传输层)。

(2)交换机的数据传输方式不同
集线器的数据传输方式是广播(broadcast)方式,而交换机的数据传输是有目的的,数据只对目的节点发送,只是在自己的MAC地址表中找不到的情况下第一次使用广播方式发送,然后因为交换机具有MAC地址学习功能,第二次以后就不再是广播发送了,又是有目的的发送。这样的好处是数据传输效率提高,不会出现广播风暴,在安全性方面也不会出现其它节点侦听的现象。

(3)带宽占用方式不同
在带宽占用方面,集线器所有端口是共享集线器的总带宽,而交换机的每个端口都具有自己的带宽,这样就交换机实际上每个端口的带宽比集线器端口可用带宽要高许多,也就决定了交换机的传输速度比集线器要快许多。

(4)传输模式不同
集线器只能采用半双工方式进行传输的,因为集线器是共享传输介质的,这样在上行通道上集线器一次只能传输一个任务,要么是接收数据,要么是发送数据。


13.1 VLAN 虚拟局域网



VLAN是由一些局域网网段构成的构成的与物理地址无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个VLAN。


在这里插入图片描述三个虚拟局域网VLAN1 VLAN2 VLAN3的构成

可以看出每一个VLAN的计算机处在不同的局域网中,也可以不再同一层楼中。


14. 以太网物理层标准

100Mbit/s的以太网中采用的方法是保持最短帧长不变,对于铜缆100Mbit/s以太网,一个网段的最大长度是100m,其最短帧长64字节,即512比特,因此争用期是5.12us,帧间最小间隔现在是0.96us,都10Mbit/s以太网的1/10


15. 载波延伸、分组突发


15.1 载波延伸



在千兆以太网中加到一个介质访问控制帧尾部的若干个比特。用以让该帧传输更长的时间,避免发生冲突。



15.2 分组突发



为避免发送短帧时的载波延伸开销,当很多短帧要发送时,第一个短帧要采用上面所说的载波延伸的方法进真充。



16. 课后习题

第一题(3-07)
要发送的数据为1101011011.采用CRC的生成多项式是P(X)=X^4+X+1,求应添加在数据后面的余数。数据在传输过程中最后一个1变成了0,问接收端能否发现?最后两个1都变成0呢?
在这里插入图片描述

第二题(3-09)
一个ppp帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。请问真正的数据是什么?
在这里插入图片描述

第三题(3-10)
PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是0001110111110111110110,问删除发送端发送端加入的零比特后变成什么样的比特串?
在这里插入图片描述

第四题(3-14)
常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构?
在这里插入图片描述

第五题(3-16)
数据率为10Mbit/s的以太网在物理媒体上的元码传输属于为多少?
在这里插入图片描述
所以是加倍了,2*10e6 码元/s

第六题(3-18)
说明一下10BASE-T中的10、BASE、T所代表的意思?
在这里插入图片描述

第七题(3-20)
假定1km长的CSMA/CD网络的数据率为1Gbit/s。设信号在网络上的传播速率为200000 km/s。求能够使用此协议的最短帧长。
在这里插入图片描述

第八题(3-21)
什么叫比特时间,使用这种时间单位有什么好处,100比特时间是多少微秒?
在这里插入图片描述

第九题(3-22)
假定在使用CSMA/CD协议的10Mbit/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100.试问这个站需要等待多长时间后才能再次发送数据?如果是100Mbit/s的以太网
在这里插入图片描述

第十题(3-24)
假定站点A和点B在同一个10Mb/s以太网网段上。这两个站点之间的传播时延为225比特时间。现假定A开始发送一
帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所允许的最短的帧,那么在A在检测到和B发生碰撞之前能否把自己的数据发送完毕?换言之,如果A在发送完毕之前并没有检测到碰撞,那么能否肯定A所发送的帧不会和B发送的帧发生碰撞?(提示:在计算时应当考虑到每一个以太网帧在发送到信道时,在MAC帧前面还要增加若干字节的前同步码和帧定界符)
这两题直接看答案吧,答案讲的很清楚(字太多不想打)
5

在这里插入图片描述

第十一题(3-25)
在上题中的站点A和B在t=0时同时发送了数据帧。当t=255比特时间,A和B同时检测到发生了碰撞,并且在t=255+48=273比特时间完成了干扰信号的传输。A和B在CSMA/CD算法中选择不同的r值退避。假定A和B选择的随机数分别是rA=0和rB=1。试问A和B各在什么时间开始重传其数据帧?A重传的数据帧在什么时间到达B?A重传的数据会不会和B重传的数据再次发生碰撞?B会不会在预定的重传时间停止发送数据?

在这里插入图片描述

在这里插入图片描述

第十二题(3-27)
有10个站连接到以太网上。试计算以下三种情况下每一个站所能得到的带宽。
(1)10个站都连接到一个10Mb/s以太网集线器
(2)10个站都连接到一个100Mb/s以太网集线器
(3)10个站都连接到一个10Mb/s以太网交换机

在这里插入图片描述

第十三题(3-33)
以太网交换机有6个接口,分别接到5台主机和一个路由器。在下面表中的“动作”一栏中,表示先后发送了4个帧。假定在开始时,以太网交换 机的交换表是空的。试把该表中其他的栏目都填写


动作交换表状态向哪些接口转发帧说明
A发送帧给D写入(A,1)所有接口开始时交换表是空的,交换机不知应向何处的接口转发帧
D发送帧给A写入(D,4)A交换机已经知道A连接在接口1
E发送帧给A写入(E,5)A交换机已经知道A连接在接口1
A发送帧给E不变E交换机已经知道E连接在接口5





推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解|VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。书籍来源:艾怀丽 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • MPLS VP恩 后门链路shamlink实验及配置步骤
    本文介绍了MPLS VP恩 后门链路shamlink的实验步骤及配置过程,包括拓扑、CE1、PE1、P1、P2、PE2和CE2的配置。详细讲解了shamlink实验的目的和操作步骤,帮助读者理解和实践该技术。 ... [详细]
  • 网卡工作原理及网络知识分享
    本文介绍了网卡的工作原理,包括CSMA/CD、ARP欺骗等网络知识。网卡是负责整台计算机的网络通信,没有它,计算机将成为信息孤岛。文章通过一个对话的形式,生动形象地讲述了网卡的工作原理,并介绍了集线器Hub时代的网络构成。对于想学习网络知识的读者来说,本文是一篇不错的参考资料。 ... [详细]
  • 本文讨论了微软的STL容器类是否线程安全。根据MSDN的回答,STL容器类包括vector、deque、list、queue、stack、priority_queue、valarray、map、hash_map、multimap、hash_multimap、set、hash_set、multiset、hash_multiset、basic_string和bitset。对于单个对象来说,多个线程同时读取是安全的。但如果一个线程正在写入一个对象,那么所有的读写操作都需要进行同步。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 本文主要介绍了gym102222KVertex Covers(高维前缀和,meet in the middle)相关的知识,包括题意、思路和解题代码。题目给定一张n点m边的图,点带点权,定义点覆盖的权值为点权之积,要求所有点覆盖的权值之和膜qn小于等于36。文章详细介绍了解题思路,通过将图分成两个点数接近的点集L和R,并分别枚举子集S和T,判断S和T能否覆盖所有内部的边。文章还提到了使用位运算加速判断覆盖和推导T'的方法。最后给出了解题的代码。 ... [详细]
  • 本文介绍了如何使用MATLAB调用摄像头进行人脸检测和识别。首先需要安装扩展工具,并下载安装OS Generic Video Interface。然后使用MATLAB的机器视觉工具箱中的VJ算法进行人脸检测,可以直接调用CascadeObjectDetector函数进行检测。同时还介绍了如何调用摄像头进行人脸识别,并对每一帧图像进行识别。最后,给出了一些相关的参考资料和实例。 ... [详细]
  • 华为和阿里VPN
    阿里云创建VPN1、 创建VPN网关2、 填写名称,选择对应的VPC,不指定交换机,选择带宽3、购买的是IPSEC-VPN不开启SSLVPN,点击立即购买 4、 创建客户网关  ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
author-avatar
热情的海浪公主
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有