一、数据链路层概述
1.数据链路层是什么?
字面意思,让数据在链路(Link) 上进行传输的协议层就是数据链路层。也就是说数据链路层负责从一个节点传输数据报,通过链路到**物理相邻(physically adjacent )**的节点。
2.什么样的数据在数据链路层上传输?
数据传输需要有发送端与接收端(也就是节点,节点就是主机与路由器),而为了能够让数据完整按时地送到接收端,需要对数据进行封装,封装后的数据叫做帧(Frame) 。而这个数据的来源是网络层传来的数据包(Datagram),所以传的是帧。
3.什么是链路?
沿通信路径连接相邻节点的通信通道是链路。例如有线链路、无线链路、LAN。
下面用一个快递的例子来理解上面的概念。
4.例子
想象一下你想要通过快递服务发送一个包裹给你的朋友。首先你需要准备礼物,将礼物放在一起,装进一个礼物盒 里,随后去快递公司 进行邮寄,快递公司会给你的礼物装入快递盒来打包,并且在包裹上会贴上标签,这些标签包含了你和朋友的地址,以及用于跟踪包裹的条形码。随后你把包裹交给快递员,随后包裹会到达快递公司的中转站,再通过飞机、卡车等交通工具运输,最后到达你朋友的城市,并由当地的快递员送到你朋友手中。
5.数据链路层有哪些功能?
当然这个寄快递的过程还存在一些细节,也就是快递公司为了送好你的快递,做了哪些工作。也就是数据链路层都有哪些功能。
1封装成帧(Framing) 2链路接入(link access) 3可靠交付(Reliable delivery)
4流量控制(Flow Control) 5差错检测(Error Detection) 6差错纠正(Error Correction)
二、网卡/网络适配器
1.网卡是什么?
那么计算机中的"快递公司"具体指的是什么?也就是在哪个硬件上实现的的这六个功能,答案是在适配器(adaptor) (又名网络接口卡 NIC)或芯片上实现的链路层功能。 那什么是网卡?就是图片中这个绿色的电路板(一种硬件)。
2.网卡的重要功能:
1)进行串行/并行转换。(CPU中数据并行传输,而网络中是串行传输)
2)对数据进行缓存。(暂时存一下数据再发送出去,比如从CPU每秒收到了10M比特数据,而网络的带宽只有1Mbps,这时数据就会在网卡中缓冲一下放慢速度)
3)在计算机的操作系统安装设备驱动程序。
4)实现以太网协议。(以太网协议定义了数据在局域网上传输的规则,包括帧的格式、介质访问控制方法(如CSMA/CD)、数据传输速率等。)
3.网卡功能图
注意这张图中,cpu的地址为IP地址,可以改变,而网卡的地址为MAC硬件地址,不可改变。