zoukankan      html  css  js  c++  java
  • 内*数据的流转大体方式

    一、同网段设备之间的数据流向:

    数据从A设备到同网段的B设备,必须知道A和B的IP及他们的物理地址即MAC,

    通常情况下,A发往B的数据中已经包含的A的IP和MAC(源IP和MAC),以及B的IP(目的IP),缺少B的MAC(目的MAC),此时需要获取B的MAC

    而此时通过计算得知,AB位于同网段。故而,A会向B发送一个ARP请求,与A同网段的所有设备都会收到此请求,

    只有B在收到A的ARP请求后,才会将自己的MAC打包并发送给A,

    A接收到后解包并获取B的MAC,再将B的MAC打包到前述未发送的数据中,

    此时A再发送的数据被同网段的所有设备都接收到,但只有B能解析成功,完成发送。

    二、不同网段设备的数据流向:

    A向与A不同网段的B设备发送数据,此时A不知道B的MAC地址,故而无法将数据包的MAC直接拿到,

    此时,就用到了网关!!

    A计算发现与B设备不在同网段,故而会向网关发送ARP请求,获取到网关的MAC,并将MAC打包的A未发送的数据包中

    即 A设备的IP和MAC(源IP和MAC),B设备的IP和网关的MAC(目的IP和网关),发送数据

    此时网关收到A的数据后, 发现MAC是自己的,而IP是别人的,所以网关无法解析数据包

    此时网关就会将数据发给他的下一跳路由器

    下一跳路由器再经过若干转发用同样的数据将数据发送到目的设备B,完成发送。

    注意:

      在还没有出内网时,目标MAC必须写成网关的MAC地址发出去,

      当网关收到时,再把目标MAC地址改成下一跳的MAC地址发出去,同时源MAC地址要始终保持为发出端口的MAC地址,

      而源IP及目标IP不曾改变,就算到达了公网上,目标MAC仍然在不断改变着,直到最后,这个数据包到达目标IP的网络,最终通信结束!

    参考:https://blog.csdn.net/yinshitaoyuan/article/details/51794567

  • 相关阅读:
    confluence --常用插件整合
    fuse--s3挂载到centos7.5服务器
    gvm--go版本管理工具
    等保1.0与等保2.0的区别
    postfix -- 发件调试
    postfix邮件服务器
    confluence -- 命令行备份还原
    浏览器使用小tip
    windows如何正确下载补丁包
    xwiki使用中的问题
  • 原文地址:https://www.cnblogs.com/zhanghaibin16/p/15098782.html
Copyright © 2011-2022 走看看