美文网首页
1.计算机网络:数据如何在网络中传输?

1.计算机网络:数据如何在网络中传输?

作者: 未知的证明 | 来源:发表于2019-04-18 23:18 被阅读0次

    今天打算从最简单的方式来谈谈数据如何在网络中流动。

    OSI七层模型分为:物理层,数据链路层,网络层(IP协议),传输层(TCP协议),会话层,表示层,应用层。本文略过应用层,直接从传输层,层层至下分析,看看各层数据的封装做了什么?


    网络中数据流动.png 以太网数据封装

    1.传输层

    应用层一般为TCP协议,将数据分成若干个包(加上端口号),然后传输到网络层;

    2.网络层

    网络层将传输层的数据加上自己的IP地址和对方的IP地址,采用ARP协议获取MAC地址。

    1. 查看是否是同一网段,如果是同一网段,发送FFFFFFF广播,对应的目标IP会把自己的MAC地址返回给源IP PC机,这时候有了下一跳的MAC就可以将数据转发到对应的PC上。

    2. 目标IP和源IP做对比,如果不在同一个网段,则源PC机会发送广播(ARP协议),问网关的MAC地址是多少,网关会回答自己的MAC地址,收到后,计算机会把MAC地址缓存起来,供下次用。

    3. 知道Mac地址之后,交换机或者路由器,会把数据发送到下一跳的节点。本文将数据同过交换机发送到了路由器里。
      注意数据链路层会把网络层的获得Mac数据加到帧的头部

      通过命令,可以查看计算机其实缓存了很多物理地址.png

    4.数据转发

    路由器会有一个路由表,选择一个不拥塞的网络,然后同样采用广播的方式,获取Mac地址,然后将数据发送到下一跳里。一直到发送到目标IP

    这里需要有注意一个事情:

    目的IP地址是最终的目的地,中间的数据包中的IP地址并不会发生改变。
    而Mac地址会一直发生变化,他是决定下一跳到底将数据转发到哪里。

    相关文章

      网友评论

          本文标题:1.计算机网络:数据如何在网络中传输?

          本文链接:https://www.haomeiwen.com/subject/hegxgqtx.html