目录
目标:
注意:数据传输,一般是针对TCP/IP的五层模型学习
(以两台通信主机为例)
应用层:原始数据转换成电脑能够识别的二进制数据
传输层:在传输层有固定的传输数据单元PDU,来决定是否需要将数据分割成很多小段,在每个数据段的前面封装一个TCP头部:关键信息—端口号,标识上层数据使用什么协议或程序进行传输。
网络层:将传输层传来的数据封装IP头部,形成数据包,进行逻辑地址寻址,关键信息:源IP、目的IP
数据链路层:将网络层传来的数据包,封装MAC头部。建立逻辑连接,进行物理地址寻址,主要字段:源MAC(主机本身)、目的MAC(如果是跨网段通信,则是与其直连路由接口的MAC)【数据帧】
物理层:将二进制数据组成的比特流,转换为电信号,通过网卡再通过网线再网络中传输。
物理层:将电信号转化为二进制数据,并发送至数据链路层
数据链路层:查看目的MAC地址,是自己拆掉MAC头部继续传输。若不是,直接丢弃
网络层:查看目的IP地址,是自己茶雕IP头部继续传输。若不是,直接丢弃
传输层:查看TCP头部中的端口号、判断数据该传到哪里,然后重组数据,传输至应用层
应用层:将二进制数据转换为原始数据
一层(物理层):网卡
二层(数据链路层):二层交换机
三层(网络层):路由器、三层交换机(工作在二层和三层)
四层(传输层):传统防火墙
五层(应用层):计算机
现实中:很多设备都是工作在多层,比如上网行为管理、三层交换机等等
主机A:进行数据封装:应用层:将原始数据转化为二进制数,传输层:封装对应的端口号,网络层:封装源IP(主机A),目的IP(主机B)、数据链路层:封装源MAC(主机A)、目的MAC(与主机A直连路由器A的接口)、封装至物理层。通过网线传输至交换机A。
根据交换机的工作原理,交换机A会解封装至数据链路层,交换机中维护了一张·MAC地址表,查看源MAC地址是否在自己表中。如果不在就学习并记录,再查看目的MAC,如果在,通过对应接口直接将数据重新封装后转发出去,(如果目的MAC无记录,需要通过广播的方式学习,然后记录到表中)
根据路由器的工作原理,路由器A会解封到数据链路层,查看目的MAC是不是自己,如果是继续解封装至网络层,查看数据包头部中的目的IP,(根据路由表、是否有源IP和目的IP的路由条目,判断目标IP是否可达,若没有路由记录,返回给主机A,目标主机不可达。)如果有路由条目记录,将数据重新封装至物理层(二层封装时会请求下一跳设备的MAC地址作为目的MAC地址,ARP请求),按照对应接口转发出去。
数据到达路由器B,数据解封装至网络层,查看路由表中是否有,源IP和目的IP记录,由于目的IP是与其直连的设备,肯定有记录,所以重新进行数据封装后,按照路由表对应的条目,将数据转发给主机B。