计算机网络:链路层
概述
运行链路层协议的任何设备称为节点,沿着通信路径连接相邻节点的信道称为链路。链路层的主体部分在网络适配器中实现,也叫网络接口卡。即NIC。链路层部分需要通过软件实现,比如响应中断、处理差错、传递给网络层。
差错检测和纠正技术
奇偶校验
对于一段长为d bit的数据,加上一个检验的bit,使得这d+1个bit有偶数个1。显然,当d个bit里面只有一个地方出现差错,可以发现且纠正,但对于两个差错的话就无能为力了。更好的方法是二维奇偶校验,即将数据划分为多行多列,每个行和列都加上检验的bit,这样可以检测到多个差错。
检验和方法
即checksum,将数据看为k bit的整数的序列,将每个数加起来成为差错检验比特。
循环冗余检测
todo
多路访问链路和协议
链路可以分为点对点链路和广播链路。对于广播链路,需要协调多个发送和接收节点对一个共享广播信道的访问,即多路访问问题。当节点接到多个帧,会发生碰撞,碰撞帧的信号纠缠并导致信息丢失,浪费广播信道。我们通过多路访问协议,来协调。
信道划分协议
- 时分多路复用,即TDM,将时间划分为时间帧,每个帧只有一个节点传输。
- 频分多路复用,即FDM,将信道分为多个信道。
- 码分多址,即CDMA,为每个节点分配编码。
随机接入协议
todo
轮流接入协议
todo
交换局域网
链路层寻址
MAC地址
并非主机或者路由器有链路层地址,而是其网络接口有链路层地址。链路层地址,也叫LAN,物理地址,MAC。IEEE管理MAC地址空间,使得每个网络接口有独一无二的地址。可以理解为,IP地址是邮政地址,而MAC是一个人的身份证。人在不同地方时,写的信的地址不同,但身份证不会变。如果需要广播信息给所有的适配器,要用到广播地址FF-FF-FF-FF-FF-FF
ARP
地址解析协议,即ARP,用于网络层和链路层的转换。每台路由器在内存中有一个ARP表,包含了两者的映射关系,同时每个映射都有TTL,到时间就会过期。假设主机需要向一个特定的ip地址发送数据报,但ARP表没有相应的项,会构造ARP分组,广播并等待回复。
以太网
以太网为目前最流行的有线局域网的技术
以太网的帧结构定义了数据在以太网网络上传输的格式。以太网帧是一种数据包,包含了发送和接收设备的地址信息、传输的数据、以及用于检测传输错误的校验字段。
链路层交换机
交换机接收链路报文和转发它们到指定的输出链路。交换机对于路由器和主机是透明的,它们不会意识到交换机的存在。交换机没有 IP 地址和 MAC 地址。
交换机的主要功能:
- 过滤。交换机可以判断什么帧可以转发,什么帧需要丢弃。
- 转发。将接收到的帧转发到某个输出链路。
交换机的工作原理:
- 交换机通过查询转换表(Switch Table)来进行转发。
- 如果找到了输出链路,则进行转发;没有找到指定的输出链路,则进行广播。
交换机为自学习的,不需要任何的配置或者干预。对于收到的帧,会在表中存下源地址的MAC地址,到达的接口,时间。为即插即用的设备。
注意路由器和交换机是两个东西,可以认为路由器横跨了网络层、链路层、物理层,而交换机只跨链路层和物理层。