小白来学云计算之数据包传送过程

表述数据包发送原理

PC1要与PC2发送信息,首先pc1要先封装要发送的信息格式如下
PRE DA SA TYPE Header Data Crc
其中DA是目的MAC地址,SA是源MAC地址,header中封装了目的主机的IP和源PC机的IP ,data是pc1要发送的数据。
由于跨网段通信,PC1中没有PC2的MAC表需要通过路由器转发,那此时pc1需要和路由器R1进行通信封装,封装的信息应该如下:
DA是00-11-11-11-11-12 目的MAC地址
SA是00-11-11-11-11-11 源MAC地址
DATA里面的信息应该包括源主机的IP 和目的主机的Ip,在这里是源主机ip:192.168.2.2/24
目的主机IP:192.168.3.2/24
R1接收到PC1的封装信息,会打开看一下是不是给自己的,由于DA是00-11-11-11-11-12R1自己的f0/0端口Mac,所以R1可以打开数据包查看信息,发现需要去目的网段是192.168.3.0/24,此时R1查看自己的路由表里是否有到此网段的路由条目,根据路由条目发送数据包,此时R1会重新封装数据包,封装信息如下:
这个时候DATA里面的数据不会动,只是改变了DA目的MAC地址和SA源MAC地址,因为出口是f0/1所以SA是00-11-11-11-11-13,入口是R2的f0/0 所以DA是00-11-11-11-11-14,R2接收数据包后发现DA目的MAC地址是自己端口的,就可以打开数据包看其中DATA,发现这个数据包发给192.168.3.2,R2查看自己的路由表看有无192.168.3.0/24此网段的条目,发现是自己的直连网段,可以直接把数据包进行封装后发给PC2,数据包封装信息如下:
DA是00-11-11-11-11-16 目的MAC地址
SA是00-11-11-11-11-15 源MAC地址
这个时候DATA里面的数据不会动,只是改变了DA目的MAC地址和SA源MAC地址,因为出口是f0/1所以SA是00-11-11-11-11-15,目标是PC2,所以DA是00-11-11-11-11-16,此时PC2 发现是给自己的包可以打开看里面的信息,目的IP地址也是自己所以就可以查看最终里面pc2想发给我的信息。
下面我举个实例根据此图

我们就当作两个人寄包裹,张三要把包裹寄给李四,他在包裹(数据包)上要写自己的姓名和地址和李四的姓名和地址,这里的姓名相当于IP地址,家庭地址相当于MAC地址,张三不知道李四家怎么走,只要把包裹给快递公司的接收站站点(f0/0)就可以了,他就要知道接收站点地址和名字就可以了(接收站点名字=接口f0/0的IP地址,接收站点地址=接口f0/0的MAC地址)。
张三家庭地址(SA是00-11-11-11-11-11 源MAC地址)
南京接受点地址(DA是00-11-11-11-11-12 目的MAC地址 )
他把包裹给了接收站点,快递公司一看是本地南京寄往上海的包裹,我查看自己的路线表发现有去上海的车,于是把包裹封装一下贴一下标签是由南京发送点(f0/1)发往上海公司接受点(f0/0),标签就是:
南京发送点地址(SA是00-11-11-11-11-13源MAC地址)
上海接收点地址(DA是00-11-11-11-11-14目的MAC地址)
上海快递公司接收到包裹,发现是到本地上海的,打开看下具体地址在由发送点派送到具体地址由李四签收
上海发送点地址(SA是00-11-11-11-11-15源MAC地址)
李四家庭地址(DA是00-11-11-11-11-16目的MAC地址)
李四发现是自己的包裹就可以打开看里面的东西了。

转载于:https://blog.51cto.com/14268989/2373580

你可能感兴趣的:(小白来学云计算之数据包传送过程)