链路层
一、介绍
它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM,FDDI, Ethernet, Arpanet, PDN, SLIP, PPP、ISDN等。
传输速率:数据传输过程中,两个设备之间数据流动的物理速度称为传输速率,单位为bps(Bits Per Second,每秒比特数),即单位时间内传输的数据量多少。
传输速率又称为带宽,带宽越大网络传输能力就越强。
吞吐量:主机之间实际的传输速率称为吞吐量,单位为bps。
吐量不仅衡量带宽,同时还有主机的CPU处理能力、网络拥堵程度、报文中数据字段的占有份额(不含报文首部,只计算数据字段本身)等信息。
所谓数据帧(Data frame),就是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如IP数据包,等等。
包(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。
TCP/IP协议是工作在OSI模型第三层(网络层)、第四层(传输层)上的,帧工作在第二层(数据链路层)。上一层的内容由下一层的内容来传输,所以在局域网中,“包”是包含在“帧”里的。
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。
该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
有关数据链路层的重要知识点:
-
数据链路层为网络层提供可靠的数据传输;
-
基本数据单位为帧;
-
主要的协议:以太网协议;
-
两个重要设备名称:网桥和交换机。
封装成帧:“帧”是数据链路层数据的基本单位:
透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。即在控制字符前加上转义字符ESC。
数据链路层的差错监测
差错检测:奇偶校验码、循环冗余校验码CRC
-
奇偶校验码–局限性:当出错两位时,检测不到错误。
-
循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。
最大传输单元MTU
最大传输单元MTU(Maximum Transmission Unit),数据链路层的数据帧不是无限大的,数据帧长度受MTU限制.
路径MTU:由链路中MTU的最小值决定。
以太网协议详解
MAC地址:每一个设备都拥有唯一的MAC地址,共48位,使用十六进制表示。
以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输:
局域网分类:
Ethernet以太网IEEE802.3:
-
以太网第一个广泛部署的高速局域网
-
以太网数据速率快
-
以太网硬件价格便宜,网络造价成本低
以太网帧结构:
-
类型:标识上层协议(2字节)
-
目的地址和源地址:MAC地址(每个6字节)
-
数据:封装的上层协议的分组(46~1500字节)
-
CRC:循环冗余码(4字节)
-
以太网最短帧:以太网帧最短64字节;以太网帧除了数据部分18字节;数据最短46字节;
MAC地址(物理地址、局域网地址)
-
MAC地址长度为6字节,48位;
-
MAC地址具有唯一性,每个网络适配器对应一个MAC地址;
-
通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来;
-
MAC广播地址:FF-FF-FF-FF-FF-FF。
二、设备
1、网卡
网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。由于其拥有MAC地址,因此属于OSI模型的第1层和2层之间。
它使得用户可以通过电缆或无线相互连接。每一个网卡都有一个被称为MAC地址的独一无二的48位串行号,它被写在卡上的一块ROM中。在网络上的每一个计算机都必须拥有一个独一无二的MAC地址。
没有任何两块被生产出来的网卡拥有同样的地址。这是因为电气电子工程师协会(IEEE)负责为网络接口控制器(网卡)销售商分配唯一的MAC地址。
物理地址是一种标识符,用来标记网络中的每个设备。同现实生活中收发快递一样,网络内传输的所有数据包都会包含发送方和接收方的物理地址。
网卡上面装有处理器和存储器(包括RAM和ROM)。网卡和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的。而网卡和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行。因此,网卡的一个重要功能就是要进行串行/并行转换。由于网络上的数据率和计算机总线上的数据率并不相同,因此在网卡中必须装有对数据进行缓存的存储芯片。
根据网卡所支持的物理层标准与主机接口的不同,网卡可以分为不同的类型,如以太网卡和令牌环网卡等。根据网卡与主板上总线的连接方式、网卡的传输速率和网卡与传输介质连接的接口的不同,网卡分为不同的类型。
按照网卡支持的计算机种类分类,主要分为标准以太网卡和PCMCIA网卡。标准以太网卡用于台式计算机联网,而PCMCIA网卡用于笔记本电脑。
按照网卡支持的传输速率分类,主要分为10Mbps网卡、100Mbps网卡、10/100Mbps自适应网卡和1000Mbps网卡四类。
按网卡所支持的总线类型分类,主要可以分为ISA、EISA、PCI等。
双网卡切换:
为了使2块网卡实现高效双冗余备份,必须保证这2块网卡具有相同的物理地址和IP地址这样 对于上层应用系统而言,系统中呈现“单网卡”的特征;反之,当系统中一块网卡切换到另一块网卡工作时,如果IP地址发生变化,则系统无法正常接收和发送数据。如果IP地址不改变,而物理地址改变,则会引起协议栈中ARP绑定表的变化,而重新对应ARP绑定表中IP地址与网卡物理地址的关系会延长两个网卡之间的切换时间。
然而,每块网卡的物理地址在全世界范围内是唯一的,它保存在网卡的PROM中。为了使2块网卡具有相同的物理地址,在网卡初始化时,从PROM中读出其中一块网卡的物理地址,将该物理地址的内容写入另一 块网卡物理地址寄存器和数据结构变量中,在此情况下,这2块网卡就具有完全相同的物理地址了。
虚拟网卡:
虚拟网卡(又称虚拟网络适配器),即用软件模拟网络环境,模拟网络适配器,windows系统自带此软件。
虚拟网卡主要是建立远程计算机间的局域网。虚拟网卡链接技术就是VPN。比如说你可以和别的地方的几台机子,通过建立虚拟HUB 实现VPN client的链接,这样就算是在这几台远程计算机间建立的局域网,也能和你的机子一起实现局域网的功能。最普通的就是局域网互联游戏。在这方面比较常用的软件有openVPN ,packetix VPN ,hamachi, 其中,hamachi是运用最简单的VPN软件。
可以模拟集线器功能,实现VPN的功能,使得系统把此软件识别成一块网卡,有了这东西,只要可以访问外网,都可以连接到虚拟集线器(HUB)上与其它电脑组成局域网。在此虚拟的局域网上能进行所有物理存在的局域网的操作,可以互相访问,可以联网玩游戏。该软件能够突破防火墙拦截,信息都经过加密,安全上不存在问题。能够模拟成有 VPN 的网卡,可以直接从公司外部连接到内部的 VPN 服务器上,进而存取公司内的各项服务。不论是要找网管,还是要连 Lotus Note 抓数据,都可以如愿所偿。
2、网桥
网桥(Bridge)是早期的两端口二层网络设备。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switch)所取代。
网桥(Bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号, 放大它们,将其送入下一个电缆。相比较而言,网桥对从关卡上传下来的信息更敏锐一些。网桥是一种对帧进行转发的技术,根据MAC分区块,可隔离碰撞。网桥将网络的同一网段在数据链路层连接起来,只能连接同构网络(同一网段),不能连接异构网络(不同网段)。
网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。
网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。
网桥是在OSI模型第二层——数据链路层面上连接2个网络的设备;它可以识别数据链路层中的数据帧,并将数据帧临时存储于内存,再重新生成一个全新帧转发给相连的另一个网段。
网桥能够连接不同传输速率的数据链路,并且不限制连接网段的个数。
数据链路中有个数据帧叫做FCS,用以校验数据是否正确送达目的地;网桥通过检查该域中的值,将损坏的数据丢弃,此外,还能通过地址自学机制和过滤功能控制网络流量。
自学式网桥:自行判断是否将数据报文发送给相邻的网段的网桥(记住曾通过自己转发的所有数据帧的MAC地址,并存储到自己的内存表中)
以太网等网络中经常使用交换集线器(Hub),也属于网桥的一种;交换集线器中连接电缆的端口都能提供类似网桥的功能
3、交换机
交换机工作于OSI参考模型的第二层,即数据链路层。
交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。
二层交换机用于小型的局域网络。
三层交换机的优点在于接口类型丰富,支持的三层功能强大,路由能力强大,适合用于大型的网络间的路由。它的优势在于选择最佳路由,负荷分担,链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。
四层交换机第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层) 应用端口号。