计算机网络 ——数据链路层(广域网)

2024-06-06 01:28

本文主要是介绍计算机网络 ——数据链路层(广域网),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

计算机网络 —— 广域网

  • 什么是广域网
  • PPP协议
    • PPP协议的三个部分
    • PPP协议的帧格式
  • HDLC协议
    • HDLC的站
    • HDLC的帧样式
  • PPP和HDLC的异同

我们今天来看广域网。

什么是广域网

广域网(Wide Area Network,简称WAN)是一种地理覆盖范围广泛的计算机网络,其覆盖区域可以从几十公里延伸到几千公里,甚至全球范围。广域网的主要目的是将不同区域的局域网(Local Area Network, LAN)或计算机系统互连起来,使得分布在不同地点的用户和系统能够进行通信和资源共享。

广域网可以跨越城市、国家乃至洲际,常用于连接企业的各个分支机构、数据中心,以及为远程工作人员提供对总部网络资源的访问。它利用多种通信技术来实现长距离的数据传输,包括但不限于公用分组交换网、卫星通信、无线分组交换和光纤网络。

与局域网相比,广域网的特点包括:

  1. 覆盖范围:广域网覆盖的地理范围更广。
  2. 传输速度:通常广域网的数据传输速率低于局域网,但随着技术进步,这一差异正在减小。
  3. 延迟:广域网中的数据传输延迟较高,因为信号需要经过更长的距离和更多的网络节点。
  4. 成本:建设和维护广域网的成本通常高于局域网。
  5. 技术:广域网更多地依赖于路由器和各种长距离通信技术,而局域网则多使用交换机和短距离传输技术。

在这里插入图片描述

广域网的实现形式多样,可以是专用的(如企业内部的私有网络),也可以是公用的(如互联网)。企业或组织使用广域网技术,如MPLS(多协议标签交换)、SD-WAN(软件定义广域网)和VPN(虚拟私人网络)等,来构建高效、安全的远程网络连接。

PPP协议

PPP(Point-to-Point Protocol,点对点协议)是一种广泛使用的数据链路层协议,设计用于在两点之间(通常是两台计算机)通过串行线路(如电话线、DSL线或卫星链接)提供直接的、无误差的数据传输。PPP协议工作在OSI模型的第二层,即数据链路层,它是许多类型点对点连接的基础,包括传统的拨号上网、DSL连接以及某些类型的VPN连接。

PPP协议的主要特性包括:

  1. 多协议支持:PPP可以承载多种网络层协议,如IPv4、IPv6等,这使得它非常灵活,能够适应不同的网络环境。
  2. 动态地址分配:通过网络控制协议(NCPs),PPP能够动态分配IP地址和其他网络配置参数,简化了网络管理。
  3. 错误检测:使用循环冗余校验(CRC)来检测在传输过程中可能发生的错误,确保数据的完整性。
  4. 透明传输:支持特殊字符的传输,如通过转义机制处理帧内的标志字符,保证数据的透明传输。
  5. 认证功能:提供可选的身份验证机制,包括PAP(Password Authentication Protocol)和CHAP(Challenge-Handshake Authentication Protocol),增强了网络的安全性。
  6. 数据压缩:可选地使用协议如CCP(Compression Control Protocol)来压缩数据,提高带宽效率。
  7. 网络控制协议(NCPs):除了基本的LCP(Link Control Protocol)用于建立、配置和测试数据链路连接外,NCPs用于协商更高层协议的参数,如IPCP(Internet Protocol Control Protocol)用于配置IP参数。

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

尽管PPP最初是为了在串行链路上使用而设计的,它的灵活性和功能丰富性使其能够被扩展以适应其他环境,比如以太网上的点对点通信(通过PPPoE,即PPP over Ethernet),这使得它在现代网络中仍然扮演着重要角色。

PPP协议的三个部分

PPP(Point-to-Point Protocol)协议主要包括以下三个关键部分:

  1. 封装
    PPP提供了一种封装方法,可以将不同网络层协议的数据报文封装在PPP帧中,从而实现在同一条链路上复用多种网络层协议的数据传输。这种封装格式精心设计,确保了对多数硬件的兼容性,并且能够有效处理数据的透明传输,即正确传输含有特殊控制字符的数据。
  2. 链路控制协议(LCP, Link Control Protocol)
    LCP负责建立、配置、维护和终止数据链路的连接。它处理链路层的参数协商,如最大传输单元(MTU)的大小、确定数据包的格式和大小限制、检测和纠正链路故障,以及可选地执行链路两端设备的身份验证。LCP还支持在链路建立期间协商是否使用其他扩展功能,如数据压缩和加密。
  3. 网络控制协议(NCPs, Network Control Protocols)
    一旦LCP成功建立了数据链路,NCPs就会被用来配置和管理特定的网络层协议,如IPv4、IPv6等。每个NCP都是针对一种网络层协议设计的,负责动态分配和协商该网络层协议所需的参数,例如IP地址分配(通过IPCP, Internet Protocol Control Protocol)。NCP使得PPP连接可以适应不同的网络环境和需求,支持多协议的传输。

这三个部分共同协作,使PPP协议不仅能够提供基础的数据传输功能,还能实现链路的动态配置、错误检测、安全性增强以及效率提升,是点对点通信中不可或缺的数据链路层协议。
在这里插入图片描述
在这里插入图片描述

PPP协议的帧格式

PPP(Point-to-Point Protocol)协议的帧格式基于HDLC(High-Level Data Link Control)帧格式,但进行了简化和调整,以适应点对点通信的需求。一个典型的PPP帧结构包含以下几个部分:

  1. 标志字段(Flag)
  • 占1字节,值为0x7E(二进制为01111110),标志着帧的开始和结束。它用于帧定界,确保接收端可以准确识别单个帧的边界。
  1. 地址字段(Address)
  • 占1字节,值固定为0xFF(二进制为11111111)。在点对点环境中,因为通信双方已经明确,所以这个字段实际上并不起作用,但保留以保持与HDLC的兼容性。
  1. 控制字段(Control)
  • 占1字节,值通常为0x03(二进制为00000011)。在PPP协议中,这个字段同样不携带实际意义的信息,主要用于与HDLC的兼容性。
  1. 协议字段(Protocol)
  • 占2字节,用于标识信息字段的内容类型。例如,当值为0x0021时,表示信息字段包含的是IP数据报;如果为0xC021,则表示信息字段包含的是LCP(链路控制协议)数据;0x8021则表示信息字段是网络控制协议(NCP)的数据。
  1. 信息字段(Information)
  • 可变长度,包含实际要传输的数据。数据可以是任何网络层协议的数据包,如IP、IPX等。
  1. 帧检验序列(Frame Check Sequence, FCS)
  • 占2字节,通常使用CRC(Cyclic Redundancy Check)校验,用于检测帧在传输过程中是否出现错误。
  1. 标志字段(Flag)
  • 再次出现,作为帧的结束标记,与帧的开始标志相同,值为0x7E。

为了实现透明传输(即允许任何数据通过,包括与帧定界符相同的比特序列),PPP协议在数据传输前会对特殊字符进行转义处理。例如,如果信息字段中出现了与帧定界符相同的0x7E或者转义字符0x7D,就会在这些字符前面插入一个转义字符0x7D,并对原始字符进行位操作(对于0x7E变为0x7D5E,对于0x7D变为0x7D5D),确保接收端能够正确还原数据。
在这里插入图片描述

这种帧格式设计确保了PPP协议既简洁又强大,能够适应不同类型的链路和多种网络层协议的需求。

HDLC协议

高级数据链路控制(High-Level Data Link Control,简称HDLC)是一种广泛使用的数据链路层协议,它工作在OSI模型的第二层。HDLC由国际标准化组织(ISO)制定,基于IBM的同步数据链路控制(SDLC)协议发展而来,旨在为网络节点间的数据传输提供一套可靠、高效的控制规程。

  1. 面向比特的协议:HDLC是面向比特的协议,这意味着它可以透明地传输任何比特流,不论数据内容如何,都能确保数据的透明性。
  2. 帧结构:HDLC帧由标志字段、地址字段、控制字段、信息字段、帧校验序列(FCS)等部分组成。标志字段用来界定帧的开始和结束,常用01111110(十进制的0x7E)作为标志序列。
  3. 差错检测:通过循环冗余校验(CRC)来检测数据帧在传输过程中的错误,保证数据的完整性。
  4. 流量控制:提供可选的流量控制机制,确保发送方不会过快地发送数据,超出接收方的处理能力。
  5. 操作模式:定义了三种操作模式,包括正常响应模式(NRM)、异步响应模式(ARM)和异步平衡模式(ABM),适用于不同的网络拓扑和通信需求。
  6. 链路初始化和终止:支持链路的建立、维护和终止过程,包括链路的初始化、参数的协商以及异常情况下的链路恢复。
  7. 多点通信:支持点对点和点对多点的通信模式,可以用于构建非平衡或平衡的网络结构。
  8. 透明传输:通过位填充(bit stuffing)或字符填充(byte stuffing)技术处理特殊控制字符,避免数据中的信息被误解释为控制信息。
    在这里插入图片描述

尽管随着技术的发展,HDLC在一些新兴网络技术中已经被更新的协议(如PPP、Ethernet的LLC子层)所替代,但在许多传统的网络设备和专有系统中,尤其是那些要求高度可靠性和实时性的应用场景,HDLC协议依然得到广泛应用。

HDLC的站

在HDLC(High-Level Data Link Control,高级数据链路控制)协议中,网络中的设备或站点根据它们在数据传输过程中的角色和功能被分为几种类型,主要分为以下三类:

  1. 主站(Primary Station):
  • 主站负责发起和控制链路的建立、维护以及拆除过程。
  • 它发送命令帧给从站,用于启动数据传输、控制数据流、执行错误恢复等。
  • 主站接收从站的响应帧,并基于这些响应做出相应的控制决策。
  • 在多点网络中,主站管理整个链路系统的运行,包括所有从站的活动。
  1. 从站(Secondary Station):
  • 从站响应主站的命令,不主动发起通信。
  • 它们接收主站的命令帧并发送响应帧,以确认接收到的命令或报告错误。
  • 从站在主站的控制下参与数据传输,执行流量控制、差错检测等功能。
  • 在多点配置中,可能存在多个从站,每个都与主站单独通信。
  1. 复合站(Combined Station):
  • 复合站具备主站和从站的双重功能,可以根据需要在通信中扮演任一角色。
  • 这类站可以发起数据传输如同主站,也能响应命令如同从站。
  • 在某些网络配置中,复合站可以在没有明确主站的情况下与其他复合站或从站进行通信,增加了网络的灵活性。

每种类型的站通过发送特定类型的帧(如信息帧、监控帧、无编号帧)来执行其指定的任务,这些帧类型帮助实现数据传输、链路控制、错误检测及恢复等功能。HDLC协议的设计使得这些站点能够有效地协同工作,确保数据在链路上的可靠传输。

在这里插入图片描述

HDLC的帧样式

HDLC(High-Level Data Link Control)协议的帧结构遵循一个标准的格式,确保了数据的高效和可靠传输。以下是HDLC帧的基本组成部分,这些组件共同构成了HDLC的帧样式:

  1. 标志字段(Flag Field)
  • 标志字段由一个字节组成,其值为0x7E(二进制为01111110),用于标记帧的开始和结束。这使得接收器能够正确地识别帧的边界。
  1. 地址字段(Address Field)
  • 在点对点的通信中,地址字段通常被设置为全1(0xFF或0x7F),表示这是一个广播地址,因为在这种情况下不需要指定特定的目标地址。在多点配置中,此字段可以用来指明帧的接收者,但通常仍保留为默认值。
  1. 控制字段(Control Field)
  • 控制字段决定帧的类型和用途。它定义了帧的格式和控制信息,如信息帧(I帧)、监控帧(S帧)或无编号帧(U帧)。控制字段的前几位决定了帧的类别:
  • I帧(信息帧):用于传输数据,控制字段的首位为0。
  • S帧(监控帧):用于流量控制和错误恢复,控制字段的前两位为10。
  • U帧(无编号帧):用于链路控制和状态信息,控制字段的前两位为11。
  1. 信息字段(Information Field)
  • 该字段包含实际要传输的数据。其长度可以变化,取决于实际数据的大小。对于I帧,这是网络层协议数据包或用户数据;对于S和U帧,信息字段可能包含控制信息。
  1. 帧校验序列(Frame Check Sequence, FCS)
  • 通常采用CRC(Cyclic Redundancy Check)算法计算得出,占用2到4个字节,用于错误检测。它覆盖了地址字段、控制字段、信息字段和可能存在的其他字段,确保数据的完整性。
  1. 填充字段(Padding Field)(可选)
  • 在某些情况下,为了满足最小帧长度要求或保持数据同步,可能会在信息字段后插入填充位。填充的目的是确保帧的总长度符合传输要求。

在这里插入图片描述

HDLC协议通过这些帧结构的精确定义,确保了数据在链路层的有效封装、传输和错误检测,支持了点对点和多点的可靠通信。

PPP和HDLC的异同

PPP(点对点协议)和HDLC(高级数据链路控制)都是数据链路层协议,用于在两个网络节点间提供可靠的数据传输服务。下面是它们的异同点概览:

相同点:

  1. 目的相似:二者旨在提供点对点链路上的数据传输和错误检测能力,使用循环冗余校验(CRC)进行错误检测。
  2. 数据封装:都对数据进行封装,包含帧头和帧尾以界定数据单元,并提供帧定界和同步功能。
  3. 全双工操作:支持全双工通信,允许数据同时在两个方向上传输。
  4. 传输方式:都使用同步和透明传输方式,确保数据的透明性。

不同点:

  1. 设计目标和标准:PPP由IETF制定,为了解决SLIP协议的局限性,适应更多网络层协议,并集成了认证、加密等功能;而HDLC源自ITU-T标准,起初用于X.25网络,更侧重于电信网络应用。
  2. 认证与加密:PPP支持多种认证方式,如PAP(密码认证协议)和CHAP(挑战握手认证协议),并且可以实现数据加密;而HDLC不支持内置的认证和加密功能。
  3. 网络层协议支持:PPP可以封装多种网络层协议,如TCP/IP、IPX、AppleTalk等,适应多种网络环境;而HDLC传统上主要用于传输数据帧,通常与特定网络层协议绑定。
  4. 协商与配置机制:PPP通过链路控制协议(LCP)协商链路参数,如MTU、压缩等,并且有网络控制协议(NCP)来配置网络层参数;而HDLC没有类似的动态协商和配置机制,其参数通常是静态配置的。
  5. 应用场景:PPP广泛应用于拨号、ISDN、DSL、以太网等多种网络环境,特别适合需要灵活配置和安全特性的点对点连接;而HDLC常用于广域网、数据通信设备和一些特定的点对点或多点网络中,以其紧凑的帧格式和高效性见长。

在这里插入图片描述

综上,虽然PPP和HDLC在基本的数据传输功能上有相似之处,但PPP在灵活性、安全性、适应性和协议支持方面更为先进和全面,而HDLC则在某些特定应用领域因其实现简单和高效性而被采用。

这篇关于计算机网络 ——数据链路层(广域网)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1034711

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

pandas数据过滤

Pandas 数据过滤方法 Pandas 提供了多种方法来过滤数据,可以根据不同的条件进行筛选。以下是一些常见的 Pandas 数据过滤方法,结合实例进行讲解,希望能帮你快速理解。 1. 基于条件筛选行 可以使用布尔索引来根据条件过滤行。 import pandas as pd# 创建示例数据data = {'Name': ['Alice', 'Bob', 'Charlie', 'Dav

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者