Error handling PPP或以太网如何从错误中恢复?
查看数据链路级别的标准,例如PPP或,不清楚如果校验和无效会发生什么协议如何知道下一帧从何处开始? 它是否只是扫描下一次出现的“标志”(在PPP的情况下)?如果是这样,如果数据包负载恰好包含“标志”本身,会发生什么?我的观点是,无论使用数据包帧还是“长度”字段,都不清楚如何从无效数据包中恢复,因为“长度”字段可能已损坏,或者“帧”字节恰好是数据包负载的一部分 更新:我通过查找“基于GFP CRC的帧”找到了我想要的内容(严格来说,这不是我所问的)。据 GFP接收器通过三态过程与GFP帧边界同步。接收器最初处于寻道状态,每次检查四个字节,查看前两个字节上计算的CRC是否等于后两个字节的内容。如果未找到匹配项,GFP将向前移动一个字节,因为GFP假定物理层提供八位同步传输。当接收器找到匹配项时,它将移动到预同步状态。在这种中间状态下,接收机使用暂定PLI(有效载荷长度指示器)字段来确定下一帧边界的位置。如果已达到成功帧检测的目标数目N,则接收器进入同步状态。同步状态是接收机检查每个PLI、使用cHEC(核心报头错误检查)验证、提取有效负载并进入下一帧的正常状态 简而言之,每个数据包都以“长度”和“CRC(长度)”开头。不需要转义任何字符,并且提前知道数据包长度 似乎有两种主要的分组帧方法:Error handling PPP或以太网如何从错误中恢复?,error-handling,ethernet,ppp,Error Handling,Ethernet,Ppp,查看数据链路级别的标准,例如PPP或,不清楚如果校验和无效会发生什么协议如何知道下一帧从何处开始? 它是否只是扫描下一次出现的“标志”(在PPP的情况下)?如果是这样,如果数据包负载恰好包含“标志”本身,会发生什么?我的观点是,无论使用数据包帧还是“长度”字段,都不清楚如何从无效数据包中恢复,因为“长度”字段可能已损坏,或者“帧”字节恰好是数据包负载的一部分 更新:我通过查找“基于GFP CRC的帧”找到了我想要的内容(严格来说,这不是我所问的)。据 GFP接收器通过三态过程与GFP帧边界同步。
- 编码方案(位/字节填充、曼彻斯特编码、4b5b、8b10b等)
- 未修改数据+校验和(GFP)
另外,Suvesh引用的Cisco页面的注释 PPP链路控制协议 PPP LCP提供了一种建立、配置、维护和终止点对点连接的方法。LCP经历了四个不同的阶段 首先,发生链路建立和配置协商。在交换任何网络层数据报(例如IP)之前,LCP必须首先打开连接并协商配置参数。当发送和接收配置确认帧时,此阶段完成 然后是链路质量确定。LCP允许在链路建立和配置协商阶段之后的可选链路质量确定阶段。在此阶段,测试链路以确定链路质量是否足以启动网络层协议。此阶段是可选的。LCP可以延迟网络层协议信息的传输,直到该阶段完成 此时,发生网络层协议配置协商。LCP完成链路质量确定阶段后,网络层协议可由相应的NCP单独配置,并可随时启动和关闭。如果LCP关闭链路,它会通知网络层协议,以便它们可以采取适当的措施 最后,链路终止发生。LCP可以随时终止链路。这通常是在用户请求时完成的,但也可能由于物理事件(如载波丢失或空闲时间计时器过期)而发生 存在三类LCP帧。链路建立帧用于建立和配置链路。链路终止帧用于终止链路,链路维护帧用于管理和调试链路 这些框架用于完成每个LCP阶段的工作
据我所知,PPP只支持错误检测,不支持任何形式的错误纠正或恢复
由Cisco在此提供支持:您已经非常接近正确答案了。基本上,如果它以一个前导码开始,以一个匹配的校验和结束,它就是一个帧,并传递到更高的层 PPP和以太网都寻找下一帧开始信号。在以太网的情况下,它是前导码,一个64位交替的序列。如果ethernet解码器看到了这一点,它只会假设下面是一个帧。通过捕获位,然后检查校验和是否匹配,它决定是否具有有效帧
至于包含该标志的有效载荷,在PPP中,它会用额外的字节转义,以防止这种误解。PPP和以太网都有成帧机制——也就是说,将比特流分解为帧,这样,如果接收器失去对是什么的跟踪,它可以在下一帧开始时接收。它们位于协议栈的底部;协议的所有其他细节都基于帧的思想。特别是,前导码、LCP和FCS处于更高级别,不用于控制帧。