吃透计算机网络(五)

链路层

链路层提供的服务

成帧:每个网络层数据报在经链路传输之前,链路层协议都会将其用链路层帧封装起来。
链路接入:媒体访问控制协议MAC规定了帧在链路上传输的规则。MAC可以控制点对点的链路传播和链路广播
可靠交付:当链路层提供可靠交付时,它保证无差错的移动网络层数据报。(以太网并不提供)
差错检测和纠正:运输层和网络层也提供有限形式的差错检测,即因特网检验和。链路层的差错检测通常更加复杂,它用硬件时间,可以支持复杂的检测和更快的速度。而运输层和网络层都是软件实现,检测比较简单且速度慢。差错纠正类似与差错检测,但差错纠正不仅能检测出帧中出现的比特差错,还能够准确的定位差错出现的位置,并以此纠正。

链路层的主题部分是网络适配器实现,网络适配器也称为网络接口卡(网卡),位于网络适配器核心的是链路层控制器。网卡以前是单独的,现在一般都集成在主板上。

差错检测和纠正技术

在运输层、网络层和链路层都用到了差错检测和纠正技术。即先发送数据报D,再跟EDC(差错检测和纠正比特),如果接收方根据D和EDC算出的结果正确,则未检测到差错,否则出错。但是再发送过程中数据D和EDC都有可能发错,所有最后的检测结果不一定正确。一般而言差错检测技术越复杂,成本越大,需要更多的时间和计算能力来检测。

奇偶校验

单个奇偶校验:再发送数据D后面加上一个校验bit,如果是偶校验则D中1的个数+校验位是偶数,奇校验则是奇数。这个比较简单,也比较容易出错。50%有效

二维奇偶校验:D个bit被划分为i行j列,对每行每列计算奇偶值,产生i+j+1奇偶比特作为差错检验比特。接收方不仅可以加测出单个bit差错,而且还可以利用存在的检验bit索引和未发生差错的bit纠正。

检验和校验

Dbit的数据被作为一个kbit整数序列处理。即大的bit被分为若干个小bit,这些小bit相加的和作为差错检验比特。因特网检验和就是基于此,数据的字节作为16bit的整数并求和,和取反码形成了因特网检验首部和。接收方对和取反码,并且对数据取和,最后检测结果是否全为1,出现任何一个0则报错。

循环冗余检测

CRC编码也称多项式编码,该编码将所发送的bit看作系数0和1 的多项式。链路层采用此种方法。

运输层采用因特网检验,链路层采用循环冗余检测。因为运输层依靠软件来实现,链路层通过硬件来实现。软件比较满,采用简单计算量小的方法,硬件支持计算量大复杂的方法。

多路访问链路和协议

在不适用交换机,而是集线器的链路中,如果多个节点同时向链路中发送信息,就会造成链路的混论。交换机可以不考虑这个问题,都是点对点发送。 多路访问协议有:信道划分协议、随机接入协议和轮流协议

信道划分协议
时分多路服用TDM和频分多路复用FDM。时分就是把时间分为一个个小段,每一段只可以由一个节点使用。频分是将频率进行划分,每一段频率由一个节点使用。码分多址CDMA就是TDM和FDM分别为每个节点分配时间和频率,CDMA对每个节点编码,然后每个节点使用它唯一的编码。CDMA相当于TDM和FDM的综合。

随机接入协议
在随机接入协议中,一个节点总是以信道的全部速率发送,当有碰撞时,涉及碰撞的节点反复重新发送,直到没有碰撞。但是并不是立即重新发送,而是等待随机的一个时间(等待时间应该以时隙为原子单位)。随机接入协议由ALOHA、CSMA等。

轮流协议
即节点按照某种顺序轮流的使用全部信道来传送信息。由轮询协议(轮流当主节点)和令牌传递协议(令牌持有者为主节点)。

交换局域网

链路层寻址

MAC地址:网络适配器都会由链路层地址,因此主机和路由器都会有MAC地址。某个主机可能由多个MAC地址。而链路层交换机并不具有链路层地址,即使链路层交换机与主机和路由器连接。这样看起来链路层交换机对于主机和路由器是透明的,他只起到一个转发或者过滤的作用,主机和路由器不必明确的寻址到交换机。

MAC在出厂之前都会有网络适配器的厂商设置好,是唯一的地址。同IP一样,MAC也可以广播FF-FF-FF-FF-FF-FF。

地址解析协议ARP

每台主机或者路由器中都存在ARP表,ARP表包含IP地址到MAC地址的映射关系。如果要发送的IP它的MAC地址在ARP表中,则直接发送。如果不存在,则先用ARP协议解析IP地址。发送方广播(发送发IP+接受方IP+发送方MAC地址),其余节点接收到广播之后则会查看自己的IP是否和需要的相同,如果相同则会向发送方响应ARP分组(发送IP+接受IP+MAC地址),然后发送方更新自己的ARP表。当向局域网外发送时,必须先发送到第一跳IP路由器(即网关),然后进行后续发送。

ARP解析将IP解析为MAC地址和DNS将主机域名解析为IP地址很像。但是DNS可以在因特网中的任何地方解析主机名,而ARP只在同一个子网中的主机和路由器上解析IP地址。

以太网帧结构

在这里插入图片描述

前同步码:8个字节 前七个字节为10101010,最后一个位10101011,前同步码的前7个字节用来唤醒适配器并将他们的时钟和发送方的始终同步,最后一个字节通知后续内容到来。
目的地址:6 字节 目的地MAC地址。
源地址:6字节 发送方的MAC地址
类型字段:2字节 表示交给何种类型的网络层协议。如IP、ARP(ARP被认为是IP族的一部分因此被认为是网络层,但它在链路层起作用,也可以认为是链路层)
数据字段:承载IP数据报。最大1500字节,最小46字节不足补齐。
CRC:4字节 循环冗余检测用来检测帧是否出现差错。以太网提供不可靠的服务,当CRC通过是不发送确认,出现差错是不发送否定,而是直接丢弃。所以可能交付给上层的数据报有间隙。

链路层交换机

以太网大多是基于交换机的星型拓扑,采用存储转发分组交换,不会有碰撞。交换机自身对于子网中的路由器和主机都是透明的。

交换机有转发和过滤功能,依靠交换机表来实现。过滤决定某个帧是被转发还是丢弃,转发决定帧应该导向那个接口。交换机表包含局域网内的主机和路由,但可能不是全部。交换机会保存MAC地址、接口号、放置的时间。交换机是基于MAC地址转发,而不是IP转发。

交换机具有自学习特性。交换机表是自动、动态建立的。初始时交换机表为空,对于每个接口收到的帧都会记录MAC地址、接口号和接受时间。当子网中所有主机都发送一个帧,交换机将所有主机的MAC地址保存。如果过一段时间后,交换机没有收到以该地址为源地址的帧,则将它删除。交换机是即插即用的设备,不需要人为干预。

使用交换机可以消除碰撞、提供不同的链路(速度等不同)、方便网络管理等。

交换机路由器比较

交换机不具有MAC地址,是基于MAC转发,交换机属于链路层,是第二层的分组交换机。交换机是即插即用的,具有相对较高的分组过滤和转发速度。同时,为了防止广播帧的破坏,交换机拓扑限制为一颗生成树,交换机对链路层广播风暴(某个MAC地址不停的发数据)不进行任何保护措施。交换机中是交换机表,存储MAC/接口/到达时间。

路由器具有MAC地址,是基于IP转发,属于网络层,是第三层的分组交换机。路由器需要人为设置IP地址,每个路由器处理时间比交换机更长,因为路由器必须处理到第三层IP字段,而交换机第二层MAC就可以。路由器拓扑结构没有生成树限制,可以选出源和目的之间的最佳路径。路由器对链路层的广播风暴提供防火墙保护。路由器中是ARP表,是MAC和IP的映射。

通常几百台主机的小网络用交换机,而更大的网络除了交换机还使用路由器。路由器提供更健壮的流量隔离个发u广播风暴的控制。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值