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

广域网的概念和相关协议

1.广域网的概念广域网(WAN,WideAreaNetwork),通常指跨度很大的物理范围,锁覆盖的范围从几十公里到几千公里,它能连接多个国家和城市,或横跨几个洲并提供远距离通

1. 广域网的概念

  广域网(WAN,Wide Area Network),通常指跨度很大的物理范围,锁覆盖的范围从几十公里到几千公里,它能连接多个国家和城市,或横跨几个洲并提供远距离通信,形成国际性的远程网络。

  广域网的通信子网主要使用分组交换技术,广域网的通信子网可以利用公共资源分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机体系互连起来,达到资源共享的目的。如因特网是世界上范围最广的广域网。

  

 

2. PPP协议

  PPP协议(Point-to-Point protocol)是目前世界上最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议,只支持全双工链路。

  1. PPP协议的特点

   1. 简单:对于链路层的帧,无需纠错,无需序号,无需流量控制。

   2. 封装成帧:在帧头帧尾加上定界符

   3. 透明传输:与帧定界符一样的比特组合的数据如何处理:异步线路用字节填充,同步线路用比特填充

   4. 多种网络层协议:封装的IP数据报可以采用多种协议

   5. 多种类型链路:串行/并行,同步/异步,电/光......

   6. 差错检测:错直接丢弃

   7. 检测状态连接:链路是否正常连接

   8. 限制最大传输单元:数据部分最大长度MTU,一般是1500字节

   9. 网络层地址协商:知道通信双方的网络层地址

 

  2. PPP协议的组成部分

   1. 一个将IP数据报封装到串行链路(同步串行/异步串行)的方法。

   2. 链路控制协议LCP:建立并维护数据链路连接。

   3. 网络控制协议NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要有一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。

 

  3. PPP协议的帧格式

   

 

3. HDLC协议

    高级数据链路控制HDLC(High-Level Data Link Control),是一个在同步网上传输数据、面向比特的数据链路层协议,可实现数据报文透明传输
  采用全双工通信,所有帧采用CRC检测,对信息帧进行顺序编号,可以防止漏收或重份,传输可靠性高

  1. HDLC的站

   1. 主站:主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。

   2. 从站:主要功能是接收由主站发送过来的命令帧,向主站发送响应帧,并配合主站参与差错恢复等链路控制。

   3. 复合站:主要功能是能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。

   三种数据操作方式:

    1. 正常响应方式:从站必须经过主站的同意才能进行数据发送和传输

    2. 异步响应方式:从站不需要经过主站的同意也可以进行数据发送和传输

    3. 异步平衡方式:每一个复合组都可以进行对其他站的进行数据发送传输,人人平等,但是也会显得混乱

 

  2. HDLC的帧格式

   

 

    标志位:识别数据帧的开始和结束位置

    地址位:取决数据操作方式,正常响应方式和异步响应方式,则地址位填充从站地址;如果是异步平衡方式,正则填充应答站的地址

    信息位:采用透明传输方式,透明传输区间采用零比特填充法来避免与标志字段雷同

    控制位:决定HDLC帧的类型,主要取决于他的前两位

     第一位为0:表示信息帧,用来传输数据信息,或者使用捎带技术对数据进行确认

     前两位是10:表示监督帧,用于流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能

     前两位是11:表示无编号帧,用于提供对链路的建立、拆除等多种控制功能

 

4. PPP协议和HDLC协议的异同

  1. 相同点

   1. 只支持全双工链路

   2. 都可以实现透明传输

   3. 都实现可差错检测,但是不纠正差错

  2. 不同点

   PPP协议面向字节,存在2B协议字段,无序号和确认机制,传输不可靠

   HDLC协议面向比特,存在控制字段,对数据帧进行顺序标号和确认机制,传输可靠

 



推荐阅读
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • 如何在PHP中准确获取服务器IP地址?
    如何在PHP中准确获取服务器IP地址? ... [详细]
  • 在本文中,我们将详细介绍如何构建一个用于自动回复消息的XML类。当微信服务器接收到用户消息时,该类将生成相应的自动回复消息。以下是具体的代码实现:```phpclass We_Xml { // 代码内容}```通过这个类,开发者可以轻松地处理各种消息类型,并实现高效的自动回复功能。我们将深入探讨类的各个方法和属性,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在C#编程中,设计流畅的用户界面是一项重要的任务。本文分享了实现Fluent界面设计的技巧与方法,特别是通过编写领域特定语言(DSL)来简化字符串操作。我们探讨了如何在不使用`+`符号的情况下,通过方法链式调用来组合字符串,从而提高代码的可读性和维护性。文章还介绍了如何利用静态方法和扩展方法来实现这一目标,并提供了一些实用的示例代码。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 在使用 Qt 进行 YUV420 图像渲染时,由于 Qt 本身不支持直接绘制 YUV 数据,因此需要借助 QOpenGLWidget 和 OpenGL 技术来实现。通过继承 QOpenGLWidget 类并重写其绘图方法,可以利用 GPU 的高效渲染能力,实现高质量的 YUV420 图像显示。此外,这种方法还能显著提高图像处理的性能和流畅性。 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 如何使用Python去除字符串中的非中文字符[Python编程技巧]
    在 Python 中,可以通过正则表达式来实现去除字符串中的非中文字符。具体方法是使用 `re` 模块中的 `re.sub()` 函数,配合正则表达式 `[^u4e00-u9fa5]` 来匹配并替换掉所有非中文字符,从而保留字符串中的中文部分。这种方法简洁高效,适用于多种文本处理场景。 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 在编译 PHP7 的 PDO MySQL 扩展时,可能会遇到 `[mysql_driver.lo]` 错误 1。该问题通常出现在 `pdo_mysql_fetch_error_func` 函数中。本文详细介绍了导致这一错误的常见原因,包括依赖库版本不匹配、编译选项设置不当等,并提供了具体的解决步骤和调试方法,帮助开发者快速定位并解决问题。 ... [详细]
author-avatar
mobiledu2502925163
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有