1

从物理层面了解数据传输 | news view

 3 years ago
source link: https://zsqk.github.io/news/2020-03-31-use-ip-to-communicate.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

news view

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。

- internet

This site is open source. Improve this page.

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK