目录
1 广域网的概念
广域网(Wide Area Network,WAN),又称外网、公网。是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。广域网的通信子网主要使用分组交换技术。
广域网不等于互联网,互联网可以连接不同类型的网络,通常使用路由器连接。
2 PPP 协议
点对点协议(Point-to-Point Protocol,PPP)是目前使用最广泛的点对点数据链路层协议。它是使用串行线路通信的面向字节的协议,该协议直接应用在直接连接两个节点的线路上。设计的主要目的是通过拨号或专线的方式建立点对点连接发送数据,只支持全双工链路。
PPP 协议有三个部分:
- 链路控制协议(LCP):建立并维护数据链路链接。
- 网络控制协议(NCP):PPP 支持同时采用多种网络层协议,每个网络层协议都需要用一个 NCP 配置,为网络层协议建立和配置逻辑连接。
- 一种将 IP 数据报封装成帧的方法。
2.1 PPP 帧的格式
- 标志(Flag)字段:PPP 帧的定界符,取值为 0x7E(01111110)。
- 地址(Address)字段:取值为 0xFF,预留(目前没有什么作用)。
- 控制(Control)字段:取值为 0x03,预留(目前没有什么作用)。
- 协议(Protocol)字段:其值用来指明帧的数据载荷应向上交付给哪个协议处理。
- 帧检验序列(Frame Check Sequence,FCS)字段:其值是使用循环冗余校验 CRC 计算出的检错码。
2.2 PPP 帧的透明传输
透明传输:若在数据中恰好出现与帧定界符相同的比特组合,那么会被误认为传输结束而丢弃后面的数据,透明传输解决的就是这个问题。
2.2.1 面向字节的透明传输——字符填充法
- 若数据部分出现了 0x7E,就必须做字节填充,每一个 0x7E 减去 0x20(相当于异或 0x20),然后在其前面插入转义字符 0x7D。
- 若数据部分出现了 0x7D,就必须做字节填充,每一个 0x7D 减去 0x20,然后在其前面插入转义字符 0x7D。
- 若数据部分出现了 ASCII 码控制字符(即 ASCII 数值小于 0x20 的字符),就必须做字节填充,每一个字符加上 0x20(相当于异或 0x20,将其转换成非控制字符),然后在其前面插入转义字符 0x7D。
2.2.2 面向比特的透明传输——零比特填充法
- 对帧的数据载荷进行扫描(一般由硬件完成),每出现 5 个连续的比特 1,则在其后填充一个比特 0。