计算机网络--数据链路层

(一)数据链路层的功能

数据链路层有三个问题是必须解决的:封装成帧,透明传输,差错控制。

数据链路层为网络层提供服务,有无确认无连接服务,有确认无连接服务,有确认面向连接服务,不存在面向连接却没有确认的服务。

面向连接的链路需要进行链路管理,就是数据链路层连接的建立,维持和释放。

封装成帧:要解决帧同步和帧定界。

流量控制:接收方要限制发送方发送的速率。

差错控制:位错,使用CRC循环冗余检验来发现位错。传输错误,包括帧丢失(设置超时器超时重传机制),帧重复(帧序号是否落在接收窗口外,是的话就是帧重复,帧编号机制),帧失序(采用帧编号机制)。

(二)组帧

发送方根据一定的规则将网络层递交的分组封装成帧。字符计数法,字节填充法,零比特填充法,违规编码法。

(三)差错控制

检错编码

按照某种关系附加一定的冗余位,构成一个符合某一关系的码字发送。当数据位发生变化时,对应的冗余位也会发生变化,使得码字遵循不变的规则。接收方根据收到的码字是否符合原来的规则来判断是否出错。检错编码:奇偶校验码和CRC循环冗余检验

纠错编码

海明码

(四)流量控制与可靠传输机制

流量控制

接收方控制发送方的发送速率,使接收方有足够的缓冲空间来接收每一个帧。常见的流量控制方法有停止等待协议和滑动窗口协议。数据链路层和传输层都有流量控制的功能,都用到了滑动窗口协议,但是数据链路层控制的是相邻结点的流量,传输层控制的是端到端的流量;数据链路层的控制手段是接收方收不下就不返回确认,传输层的控制手段是接收方通过确认报文段中的窗口值来调整发送方的发送窗口。

滑动窗口机制

为发送方设置发送窗口,为接收方设置接收窗口。在任意时刻,发送方都维持一组连续的允许发送的帧的序号。发送方只能发送处于发送方窗口内的一系列编号的帧,接收方也只能接收处于窗口内编号的数据帧。当接收方正确收到发送方发送的一个帧之后将窗口右移一个单位,对应发送方也右移一个单位。发送窗口表示在未收到对方确认信息的情况下,发送方最多还能发送多少个帧和哪些帧。

可靠传输机制

发送方发送的数据都能被接收方准确的接收,通常采用确认()超时重传()机制来实现。使用这两种机制的可靠传输协议称为ARQ(自动重传请求)。有线网络误码率较低,并不要求数据链路层向上层提供可靠的传输服务,而无线链路易受到干扰,要求必须提供可靠传输服务。

ARQ协议

确认帧和数据帧必须编号,这样可以区分出哪些帧是发回了确认,哪些没有。

停止等待协议

        发送方每一次只能发送一个帧,接收方每收到一个帧都要返回确认,表示可以接受下一个帧,发送方收到应答信号之后才能发送下一个帧。发送方没有收到接收方的应答信号就要一直等待,发送方每发完一个帧,都会进入等待接收方发来的确认信息的过程中。传输效率低下。

后退n帧协议

        连续收到多个数据帧的时候可以采用累计确认,连续收到多个确认帧,可以仅返回最后一个帧的确认,适用于后退n帧协议。接收方只能顺序的接受帧,即使在收到错误的一个帧之后又收到了正确的多个帧,也必须将这些正确的帧丢弃。

选择重传协议

        为了使接收方仅重传出错的帧,就不能采用累计确认的方式,对每一个正确接收的数据帧进行逐一确认,接收窗口大于一来暂存那些失序但正确到达并且序号落入接收窗口的数据帧。每一个发送缓冲区对应一个计时器,计时器超时缓冲区的帧就会重传。另外还采用了比上述协议更为有效的差错处理策略,接收方检测到数据帧出错,发送NAK主动请求发送方重传数据帧。

(五)信道划分与介质访问控制

有的信道在逻辑上属于总线型信道,也称为广播型信道,当多个节点共享同一个“总线型”广播信道时,可能发生信号冲突。举一个生活化的例子:宿舍三个人交谈,两个人同时想给同一个人说话或者四个人两两交谈共享声音信道就会发生信号冲突。为了解决信号冲突的问题,就要控制各个节点对传输介质的访问。信道划分多个用户要么共享时间,要么共享空间,要么共享空间和时间:随机访问是独占整个带宽资源;介质访问控制本质上是把广播信道转换为点对点信道的一种机制。

信道划分介质访问控制

        时分复用:将时间分为等长的TDM,假设有m个用户共享这一条信道,将TDM分为m个等长的时隙,每一个用户依次占用一个时隙,即每一个用户在TDM帧中的相对位置是固定不变的,但是每一个用户只能分配到信道总带宽的1/m。每个用户占用固定的时隙,即使这个时间这个用户没有数据发送,也不能将时隙让给其他用户使用,由此引入了统计时分复用(异步时分复用):可以统计每一个节点对信道的使用需求,动态按需分配时隙。一个节点可以在一段时间内获得所有的信道带宽资源,某一个节点在这一段时间内不发送数据,可以不分配时隙。统计时分复用不会出现一个时隙闲置的情况,信道利用率更高。

        频分复用:不同信号的频率差别大,就可以分辨出信号哪一个是哪一个。假设说人耳能听到的声音信号频带范围是20-20000HZ,声音信号带宽就是19800HZ。不同的用户说话占用不同的频带范围(将信号总频带分为一个个互不相交的子频带),接收方就可以区分出不同用户,不同频带范围之间一般还有隔离频带(减少信号节点之间的干扰)。各个节点可以同时往信道上发送数据,只能用于传输模拟信号(模拟信号有频率这个概念)。

        波分复用:复用器将各个节点发出的不同波长的光信号“复合”之后传输到光纤上,分用器将不同波长光信号“分离”出来。一般来说光信号的频带范围(带宽)很大,很适合使用波分复用,波分复用其实和频分复用是一回事,光速=频率*波长。

3G时代使用的CDMA技术底层原理就是码分复用

        码分复用:各个站点用专属的码片序列发出自己的数据,不同的站点都知道其他站点的码片序列,不同站点之间的专属码片是相互正交的。当多个站点相同一个站点发送信号的时候,接受站点会将不同的发送站点发送过来的数据相互叠加,接下来的问题就是接受站点从叠加信号中分离出来不同节点发来的数据。

方法是用叠加信号与对应节点的码片序列作“规格化内积”,结果是1则证明发来的数据是比特1,结果是-1则是0。

随机访问介质访问控制

用户分局自己的意愿发送信息,占用信道的全部速率,总线型网络中,当有两个或者多个用户同时发送信息的时候,就会产生帧冲突(碰撞),为了解决随机访问发生的冲突,每个用户需要按照一定的规则(随机访问介质访问控制协议)反复地重传数据帧,直到数据无差错通过。

        ALOHA(1968,开创了介质访问控制新的方式,允许不同节点随机访问信道):

        纯ALOHA:某一个节点准备好数据帧就立即将数据发送到信道上,极易出现数据冲突,导致数据帧出错,发送方迟迟没有收到接受方发来的确认,就知道是数据出错了,就会随即等待一段时间(采用一种随机算法)重发这个数据帧。

        时隙ALOHA:同步各个站点的时间,将时间切分为固定大小的时隙(为传输一个最长帧所需的时间),某一个节点可能会在任意时刻准备好要发送的数据帧,准备好不立即将其发送出去,而推迟到下一个时隙发送(只能在一个时隙的开始发送数据帧)。如果两个节点在同一时隙內都准备好了要发送的数据帧,都会在下一个时隙开始的时候发送数据帧,就会发生冲突。随即等待一段时间重发数据帧。

        CSMA协议(相比ALOHA加入载波监听机制)

        各个节点发送数据之前监听信道(网卡上需要安装一个载波监听装置,信号(数据的电磁表现)在信道上),只有信道空闲才可以发送数据。1-坚持CSMA协议:节点发送数据之前监听信道,如果信道一直不空闲,就一直监听信道直到信道空闲立即发送数据。非坚持CSMA协议:节点监听信道如果信道不空闲,就会放弃监听信道随机推迟一段时间再监听信道,错开不同节点检测到信道空闲同时发送数据的时间。(缺点是信道恢复空闲的时候可能没有节点要发送数据)。p坚持CSMA协议:节点检测到信道不空闲会坚持监听信道直到信道空闲会以P的概率立即将数据帧发送到信道上,以1-P的概率推迟一段随机时间发送。(在降低冲突概率的同时,提升信道的利用率)

        CSMA/CD协议(早期总线型以太网,半双工网络环境

从信道上收到一个帧,判断是否小于最短帧长,是不是发给自己的?CRC循环冗余校验是否有差错?做好这些之后才可以接收帧,并将数据部分提交给网络层。由于CSMA-CD协议是有线网络,误码率比较低,就没有ACK机制,只要发送过程中没有检测到冲突,就认为帧发送成功。

        先听后发,边听边发,冲突停发(边发送边监听,只要检测到冲突就会立即停发),发送前监听信道是为了获得发送权,发送中监听信道是为了及时发现数据冲突(电磁波传输时要花费时间的,站点处检测到信道空闲信道不一定就是空闲的)。随机(时间是随机数r倍的争用期)再发。随机时间使用截断二进制指数退避算法。

                第十次冲突乃至之后随即重发时间中的随机数取值范围是[0~2^10-1]

                第十六次冲突,就会直接报告网络层,说明信道很拥堵。

        争用期:2*最大单向传播时延,如果争用期没有发生冲突,那么就不可能再发生冲突了。争用期过后,信道就是不空闲的状态,别的节点监听了信道不空闲就都不会再发出信号。

        最短帧长:64B。如果一个节点发送的数据帧长度小于最短帧长,可能会导致这个节点与其他节点发生了冲突,但是因为在这之前数据帧已发送完毕,这个节点会误以为没有发生冲突(发送站不知道发生了冲突)不会重传这个非法帧。小于最短帧长的帧都会被接受方认为是非法帧,会被接收方丢弃。如果实际要发送的数据小于最短帧长的话,可填充至合法长度再发送。发送方一旦检测到冲突就会停止发送数据,所以,检测到有差错的帧一定小于64B

        最长帧长:1518B。

        CSMA/CA协议(wifi,IEEE802.11无线局域网)

冲突避免:发送过程中不用检测冲突,会在发送之前尽可能的避免冲突,减小发生冲突的概率。与CSMA同发送前先监听。

AP(access point),接入点,就是wifi信号的发射点,无线信号是有一定通信范围的,以家用路由器(路由器+交换机+其他功能)为例:家用路由器的无线信号的收发装置简单看作AP,无线AP接受手机的信号,与家用路由器中的交换机连接。补充:切换wifi热点的动作称为漫游

        无线网络相对于有线网络会面临的新问题,为什么不能采用CSMA-CD协议?为什么不能实现边发送边监听?1.一个站点在发送信号的同时还要检测其他站点发送来的信号,自己发送的信号强,接收到的其他站点的信号弱,强信号就会干扰弱信号。可能监听不到。2.并非所有站点都能检测到其他站点,发送节点处没有冲突不意味着在信道上不会发生冲突(在接收节点处没有冲突)。

       协议要点
帧间间隔

所有站完成发送之后,必须等待一段时间(帧间间隔)才能发送下一个帧,帧间间隔的长短取决于帧间间隔的类型。

        发送方:先听后发(信道空闲会等待一个最长帧间间隔(DIFS)后发送),忙则退避(等一段时间)。

简单的CSMA协议实现

        接收方收到数据帧之后,会等待一个最短帧间间隔(SIFS)来进行帧的差错控制(因为是无线链路必须进行差错控制)等事宜。

        发送方发送第一个数据帧的时候,检测到信道空闲要等待一个最长帧间间隔,再发送数据,不是第一个发送的数据帧如果检测到信道空闲,就要执行随机退避算法,确定一个随机退避时间(二进制指数退避算法),这个时间只有在信道空闲的时候才算数,时间到了之后立即发送数据帧。发送方超时没有收到发送的数据帧的ACK,就会重发数据帧,在这之前也是执行随即退避算法,之后发送数据帧。

解决隐蔽站的问题(预约)(可以根据数据帧的长度决定要不要启动这个机制)

发送方广播RTS(包括源地址,目的地址,持续时间)(预约信道)给AP控制帧

AP广播(在通信范围内)CTS控制帧

其他无关节点收到CTS后自觉禁言(虚拟载波监听机制),发送方收到CTS之后,就可以发送数据帧

AP收到数据帧之后,进行CRC校验,若无差错就返回ACK帧。

(六)局域网(关注拓扑结构,传输介质,介质访问控制方式)

是指在一个较小的地理范围内,将各种计算机,外部设备,和数据库系统等通过双绞线,同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互连网络(具有较低的时延和误码率)。各个节点之间以“帧”为单位进行传输,支持单播,广播,多播。

有线局域网技术IEEE802.3

令牌环网络

        其实是已经过时的技术)使用令牌在各个节点之间传递来分配信道的使用权,每个节点可以在一定的时间之内(令牌持有时间)获得数据发送的权限,而并非无限制的持有令牌。在令牌传递过程中,没有数据要发送的节点收到令牌后立即将令牌传递下去而不能持有。令牌环网络同一时刻只能有一个节点发送数据,其他节点只能接收或者转发数据。

拓扑结构:环形

传输介质:同轴电缆或者双绞线

介质访问控制协议:令牌传递协议

        同时期以太网交换机逻辑上的总线性结构随着交换机的出现变成了星型结构,不会再出现数据冲突问题,彻底解决了总线争用问题。

        有线局域网(以太网(物理层采用的是曼彻斯特编码)基本已经是垄断的地位了)与IEEE(电气电子工程师协会)802.3(具体的工作组) 802委员会任务是推进局域网技术的标准化工作。

同轴电缆以太网10BASE5

拓扑结构:总线型

传输介质:早期同轴电缆(10BASE5长度不能超过500m,因此传输距离非常有限)((基带信号就是数字信号))(可以用中继器连接多个同轴电缆网段),在逻辑上和物理上都是总线型的结构

介质访问控制协议:CSMA/CD协议

光纤以太网10BASEF

拓扑结构:点对点传输

传输介质:是以光纤为传输介质的非终端结点(中继器,交换机,集线器)的,用两条光纤实现全双工通信。

介质访问控制协议:无(因为是全双工通信)

双绞线以太网

拓扑结构:用集线器连接(物理上星型结构,逻辑上总线型结构)用交换机连接:星型结构

传输介质:双绞线

介质访问控制协议:CSMA/CD协议(集线器只支持半双工通信)

WiFi-IEEE802.11

无线局域网

拓扑结构:星型结构

传输介质:无

介质访问控制协议:CSMA/CA协议(电磁波与电磁波之间会有干扰)

虚拟局域网技术

        通过交换机连接的各个节点属于同一个广播域,隐私性较差。将敏感节点划分为同一个vlan。

(七)广域网

定义

广域网(Wide Area Network,WAN)是一种覆盖范围广阔的计算机网络,它可以跨越城市、国家甚至全球范围,用于连接不同地理位置的计算机系统、局域网(LAN)和其他网络设备,实现数据通信和资源共享。

特点

  • 覆盖范围广:广域网覆盖范围通常从几十公里到数千公里,能连接多个城市、地区甚至不同国家的网络节点。如互联网就是典型的广域网,连接了世界各地的计算机和网络。
  • 传输速率相对较低:由于传输距离长,信号在传输过程中会有衰减和干扰,所以广域网的传输速率一般比局域网低。常见的广域网接入速率有几十 Kbps 到几百 Mbps 不等,如早期的拨号上网速率一般为 56Kbps,而现在的一些宽带广域网接入能达到 100Mbps 甚至更高,但与局域网中可达到的 Gbps 级速率相比仍较低。
  • 通信延迟大:数据在广域网中传输距离远,需要经过多个中间节点的转发和处理,导致通信延迟相对较大。例如,从中国向美国发送数据,可能会有几百毫秒甚至更高的延迟。
  • 网络结构复杂:广域网包含多种网络设备和通信链路,涉及不同的通信协议和技术,其拓扑结构通常较为复杂,可能包括网状型、星型、树型等多种结构的组合。

主要技术

  • 分组交换技术:将数据分成一定长度的分组进行传输,每个分组都包含源地址、目的地址等信息,网络中的交换机根据这些信息将分组独立地进行转发,使数据能够通过不同路径到达目的地,提高了网络的灵活性和资源利用率。
  • 帧中继技术:是一种在分组交换技术基础上发展起来的广域网技术,它简化了 X.25 协议中的一些差错控制和流量控制功能,提高了数据传输效率,适用于对延迟要求不高、数据传输量大的应用场景,如企业的远程数据传输等。
  • 异步传输模式(ATM):采用固定长度的信元进行数据传输,信元长度为 53 字节,其中 5 字节为信头,48 字节为信息段。ATM 能够提供高速、低延迟的传输服务,并且可以根据不同的业务需求分配不同的带宽,适用于语音、视频和数据等多种业务的综合传输。
  • 数字用户线路(DSL)技术:利用传统的电话线路传输数字信号,通过不同的调制方式,如 ADSL(非对称数字用户线路)、VDSL(甚高速数字用户线路)等,在用户端和局端设备之间建立高速数据传输通道。ADSL 的下行速率可达 8Mbps,上行速率可达 1Mbps,适用于家庭和小型企业的宽带接入。
  • 光纤通信技术:以光纤为传输介质,利用光信号来传输数据。光纤具有带宽大、传输损耗小、抗干扰能力强等优点,能够提供高速、大容量的传输服务,是现代广域网骨干链路的主要传输技术,如长途通信的骨干网大多采用光纤铺设。

常见应用

  • 远程办公:员工可以通过广域网连接到公司的内部网络,访问公司的文件、数据库和应用系统,实现远程办公,提高工作效率和灵活性。
  • 视频会议:通过广域网,不同地点的人员可以进行实时的视频会议,进行面对面的沟通和协作,如腾讯会议、Zoom 等视频会议软件就是基于广域网实现的。
  • 电子商务:企业通过广域网搭建电子商务平台,实现全球范围内的商品销售和服务提供,消费者可以通过广域网访问电商网站,进行购物、支付等操作。
  • 远程医疗:医生可以通过广域网对远程患者进行诊断、治疗和监护,实现医疗资源的共享和优化配置,如远程诊断系统可以通过广域网将患者的病历、检查报告等数据传输给医生。
  • 远程教育:学生可以通过广域网访问在线教育平台,获取教学资源、观看教学视频、参加在线课程和考试等,实现远程学习,如网易云课堂、Coursera 等在线教育平台就是利用广域网为全球学生提供教育服务。

(八)数据链路层设备

网桥

  • 工作原理:网桥工作在数据链路层,它根据 MAC 地址来转发数据帧。网桥在收到一个数据帧后,会检查其目的 MAC 地址,然后对照自己学习到的 MAC 地址表,将数据帧从对应的端口转发出去。如果目的 MAC 地址不在 MAC 地址表中,网桥会进行泛洪操作,向除接收端口外的所有端口发送该数据帧,以找到目的设备。
  • 功能
    • 过滤和转发:通过检查数据帧的 MAC 地址,决定是否转发以及向哪个端口转发数据帧,从而实现对网络流量的过滤和控制,减少网络冲突域,提高网络性能。
    • 网络分段:可以将一个大型的局域网分割成多个较小的网段,每个网段可以独立工作,降低了网络中的广播流量,提高网络的可靠性和安全性。
    • MAC 地址学习:网桥能够自动学习连接到其端口的设备的 MAC 地址,并将其记录在 MAC 地址表中,以便后续根据 MAC 地址进行准确的转发。
  • 应用场景:适用于连接两个或多个具有相同或相似网络协议的局域网,如在企业园区网络中,用于连接不同楼层或不同部门的局域网,实现网络的扩展和优化。

交换机

  • 工作原理:交换机本质上是一种多端口网桥。它基于 MAC 地址表进行数据帧的转发,通过学习连接到各个端口的设备的 MAC 地址,建立并维护 MAC 地址表。当交换机接收到数据帧时,会根据目的 MAC 地址在 MAC 地址表中查找对应的端口,然后将数据帧从该端口转发出去,实现数据的快速交换和传输。
  • 功能
    • 多端口数据交换:提供多个端口,能够同时连接多个设备,实现多个数据帧的并发交换,大大提高了网络的带宽和数据传输效率。
    • 全双工通信:支持全双工通信模式,即数据可以在两个方向上同时传输,使网络中的数据传输速度翻倍,提高了网络性能。
    • VLAN 划分:可以通过划分虚拟局域网(VLAN),将一个物理网络划分为多个逻辑上相互隔离的 VLAN,不同 VLAN 之间的通信需要通过三层设备进行,增强了网络的安全性和管理灵活性。
  • 应用场景:广泛应用于各种规模的局域网中,是构建企业网络、校园网络等的核心设备,用于连接服务器、计算机、IP 电话等各种网络设备,实现设备之间的高速数据交换和通信。

网卡

  • 工作原理:网卡也称为网络适配器,是计算机与网络之间的接口设备。它负责将计算机中的数字信号转换为能够在网络介质上传输的信号,如电信号或光信号,同时也将从网络介质上接收到的信号转换为计算机能够理解的数字信号。在数据发送时,网卡将计算机中的数据封装成数据帧,并按照一定的协议格式将其发送到网络上;在数据接收时,网卡从网络上接收数据帧,进行差错校验等处理后,将数据传递给计算机的操作系统或应用程序。
  • 功能
    • 数据封装与解封:完成数据在计算机和网络之间的格式转换,将计算机中的数据封装成符合网络协议的数据帧进行发送,同时将接收到的数据帧解封装,提取出其中的数据供计算机使用。
    • 信号转换:实现数字信号和网络传输信号之间的转换,如将计算机中的数字信号转换为适合在以太网上传输的电信号,或者转换为适合在光纤上传输的光信号。
    • 网络连接与通信:提供网络接口,使计算机能够连接到网络,并与其他网络设备进行通信,实现数据的发送和接收。
  • 应用场景:是计算机接入网络的必备设备,无论是个人计算机、服务器还是其他网络终端设备,都需要安装网卡才能连接到局域网或广域网,实现网络通信和资源共享。

调制解调器

  • 工作原理:调制解调器(Modem)是一种用于在模拟信号和数字信号之间进行转换的设备。在发送端,它将计算机输出的数字信号转换为适合在模拟通信线路(如电话线)上传输的模拟信号,这个过程称为调制;在接收端,它将从模拟通信线路上接收到的模拟信号转换为计算机能够处理的数字信号,这个过程称为解调。通过调制和解调的过程,实现了计算机在模拟通信线路上的数据传输。
  • 功能
    • 数字信号与模拟信号转换:实现数字信号和模拟信号之间的相互转换,使计算机能够通过模拟通信线路进行数据传输,如通过电话线连接到互联网。
    • 数据传输与控制:负责控制数据的传输速率、差错校验等,确保数据在模拟通信线路上的可靠传输。
  • 应用场景:常用于家庭和小型企业的互联网接入,通过电话线或有线电视线路等模拟通信线路连接到互联网服务提供商(ISP),实现计算机设备的上网功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布尔情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值