仓库源文站点原文


title: 从物理层面了解数据传输

categories: [internet]

知识点

OSI七层模型

OSI七层模型(从上至下)分为:应用层,表示层,会话层,传输层,网络层,数据链路层, 物理层.

其中上三层(应用层,表示层,会话层)统称为应用层,在这里不做考虑。

网络层

网络层通过ip进行寻址,在这一层的网络设备主要以路由器为主。 路由器的特点是用来连接不同的网络。

数据链路层

数据链路层主要通过mac进行寻址,这一层的网络设备主要以交换机(二层交换机)为主。 交换机的特点是所有连接交换机的主机都必须处在同一个网段中。

交换机与路由器的区别

交换机的接口较多,路由器的接口较少。(一般情况下)路由器的每个接口都代表一个不同的网段, 交换机的每接口必须处在同一个网段中。

ARP协议

ARP协议属于网络层协议,将网络地址(ip地址)解析为硬件地址(mac地址)。 当局域网(192.168.1.0网段)内的两台主机A、B进行通信时且A只知道B的网络地址不知道B 的硬件地址的情况下A如何将数据发送给B。 A先查找自身的ARP缓存列表,查找B无果。会向192.168.1.255(网络地址)发送一条 携带目标ip地址的ARP广播请求并设定一个过期时间, 该网段内的所有主机会收到该条广播,并且跟自身ip地址进行对比,如果该条广播的目标ip 地址与自身的ip地址不相符则将这条请求抛弃, 如果相符则响应这条广播。主机A在超时时间之内收到响应,则将主机B的硬件地址和缓存 地址保存在自己的ARP缓存列表中以备下次进行数据传输。 如果超过过期时间任然没有接收到响应,则判定主机B不在当前局域网内。

数据封装

这里主要介绍网络层和数据链路层的封装。 网络层对传输层的数据报进行封装,封装成为数据包,包的头部保存ip地址等信息。
数据链路层对网络层的数据包进行封装,封装成为数据帧,帧的头部保存mac地址等信息。
路由器属于三层设备,只检查数据包的头部信息。
(二层)交换机数据二层设备,只检查帧的头部信息。

ip地址为192.168.1.2的主机A要给ip地址为10.0.0.212的主机B发送一条消息数据怎样传输的

主机A将数据层层封装为数据帧发送出去,由于目标ip不在当前网段,主机A会将数据帧直接发送给网关。 路由器在接收到数据以后就将数据帧解封到三层的数据包, 并查询自身的路由表将数据分组转发到对应的接口,目标数据发送到目标局域网, 进行查找目标主机(通过arp协议进行辅助查找),目标数据在封装成帧发送给主机B。