计算机网络-02-物理层和数据链路层
物理层主要功能是为数据端设备提供传送数据的通路以及传输数据。
信道是往一个方向传送信息的媒体,一条通信电路包含一个接收信道和一个发送信道。
分用-复用技术 允许多个用户使用一个共享信道进行通信,可以降低成本,提高利用率。
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的功能是向该层用户提供透明的和可靠的数据传送基本服务。
数据链路层有两个功能: 帧编码 和 差错控制 。
物理层只负责传输比特流,为了使传输过程发生差错后只将有限数据进行重发,数据链路层将比特流组合成以太帧作为单位传送。
每个帧除了要传送的数据外,还包括校验码,以使接收方能发现传输中的差错。
假设现在从网络层过来了一个IP数据报,数据链路层会将这个数据报作为帧进行传送。
当然物理层是不管你帧不帧的,它只会将数据链路层传过来的帧以比特流的形式发送给另一台物理设备。
由前面的文章可知: 总时延 = 发送时延 + 排队时延 + 传播时延 + 处理时延
数据链路层的数据帧不是无限大的,数据帧过大或过小都会影响传输的效率,数据链路层使用MTU来限制数据帧长度。
以太网MTU一般为1500字节, 路径MTU由链路中MTU的最小值决定 。
一个实用的通信系统必须具备发现(即检测)这种差错的能力,并采取某种措施纠正之,使差错被控制在所能允许的尽可能小的范围内,这就是差错控制过程。物理层只管传输比特流,无法控制是否出错,所以差错检测成了数据链路层的主要功能之一。
一般的检测方法有 奇偶校验码 和 CRC循环冗余校验码 。
网络中需要唯一标识物理设备的地址,用于确定数据传输时的发送地址和目的地址。
MAC地址(物理地址、硬件地址)共48位,使用十六进制表示,每一个设备都拥有唯一的MAC地址。
虽然MAC地址是物理硬件地址,但其属于数据链路层的MAC子层。
以太网(Ethernet)是一种使用广泛的局域网技术,它是应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输。
以太网数据报文主要由五个部分组成:
类型主要表示帧数据的类型,例如网络层的IP数据。
定义完数据结构后,就需要进行数据传输。由上文可知,MAC地址唯一标识了设备,那么怎么获得目的设备的MAC地址呢?
MAC地址表记录了与本设备相连的设备的MAC地址。
假设主机A发送了一个以太网数据报文,数据帧到达路由器,路由器取出前6字节(通过报文数据结构可知前6位位目的地址)。
路由器匹配MAC地址表,找到对应的网络接口,路由器往该网络接口发送数据帧。
当路由器的MAC地址表中没有目的地址,此时路由器会将此MAC地址进行广播(发送方A除外),接收局域网中与该路由其相连的其他设备的MAC地址并记录。
由于MAC地址表只能知道当前设备的下一个设备的MAC地址,简而言之就是只能进行相邻物理节点的数据传输。
有关跨设备传输数据的功能是交由网络层处理的,具体见下一章。