计算机网络技术(数据链路层)

in 其他 with 0 comment

(1)数据链路层


所谓链路即一个节点到相邻节点的一段物理路线,中间无其他交换节点,两个计算机之间的通信路径中包含许多段这样的链路,这是物理链路;数据链路则是在物理线路中控制数据传输的通信协议

传输单位为帧(将网络层的数据报封装,即添加头部和尾部),任务是将网络层传下来的ip数据报组装成帧,然后带有差错控制,流量控制,可靠传输等功能

数据链路层在物理层的基础上向网络层提供服务(无确认的无连接服务,有确认的无连接服务,和有确认的面向连接的服务:建立链路,传输帧,释放链路)

数据链路层有三个目的:

1、为IP模块发送和 接收IP数据报。

2、为ARP模块发送ARP请求和接收ARP应答。

3、为RARP发送RARP请 求和接收RARP应答

1.1流量控制

这并非链路层特有,高层协议也使用,只是控制的对象不同而已(数据链路层控制相邻节点间的流量,传输层则是源端到目的端间的流量)。收方双方的工作效率和缓存空间的差异,可能出现发送过快而接受来不及处理,造成被后续帧淹没。流量控制限制发送方的数据流量。需要接收方反馈给发送方自己的接受能力,使得发送方根据这点来控制自己发送的数据,即由接收方来控制发送方发送数据的效率:

1.1.1停止-等待协议

    发送方每发送一帧,就等待接受方的应答信号,才能发送下一帧。效率低,这个方法不需要记录帧的序号。

1.1.2滑动窗口协议

    发送方维持一组连续的允许连续发送的帧的序号,称为发送窗口,窗口的大小Wt代表在未收到接收方的确认信息的情况下最多可发送的帧数,每收到一个确认帧,发送窗口向前移动一帧。当发送窗口内都已发送,则停止等待确认。接收方维护的接收窗口,收到数据帧窗口前移并发回确认帧,若数据帧在接受窗口之外,丢弃。

    当接收窗口大小Wr为1时,可保证帧有序接收。在本层中,滑动窗口的大小在传输过程中是固定大小的(⊙o⊙)哦。


Image

    

1.2差错控制

在数据帧中添加校验位,如CRC循环冗余校验码等让接收端进行错误检测,发现错误则丢弃,发送超时则重传。经过错误检测则表示接受到的帧是正确的。

1.3可靠传输

  确认+超时重传(发送数据帧则开启一个计时器),有时确认捎带在回复帧中可以提高效率,ACKn表示对n号帧确认,表示接收方已正确接受第n帧及之前的所有的帧,期待接受n+1帧,假如收到的并非n+1帧,丢弃并且发送已发送的最后一个确认ACKn。

1.4以太网的MAC帧(其实属于物理层的东西)

    每块网卡都有唯一的Mac地址,一般为6字节48bit,由分隔的6个16进制数表示(前三个为厂商代码,后四个为厂商分配的)

(2)常用术语:

MAC地址(硬件地址)

Mac地址在数据链路层使用。通过数据封装将IP数据分组封装成MAC帧,数据链路层看不到MAC帧中的IP地址,在路由器转发分组转发时解封得到MAC帧的IP地址,根据路由表选择到目的主机的下一跳,然后重新以该路由器MAC地址封装IP地址再转发(MAC地址换了)

以太网

局域网技术

MTU:最大传输单元-数据链路层

一个数据链路层所能承载的最大数据量叫最大传输单元MTU,主要是限制一次传输的最大IP数据报的值,如果IP数据报的长度>MTU,则需对IP数据报进行分片。然后在目的地的网络层重新组装,所以需要IP数据报首部的标识号和片偏移。IP数据报的分片与重组是在网络层进完成的。对IP分片的数据报来说,即使只丢失一片数据也要重新传整个数据报(既然有重传,说明运输层使用的是具有重传功能的协议,如TCP协议)。这是因为IP层本身没有超时重传机制------由更高层(比如TCP)来负责超时和重传。

---------------------

本文来自 丹_妮 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u010796790/article/details/52852911?utm_source=copy

Comments are closed.