zoukankan      html  css  js  c++  java
  • Linux运维基础入门(三):网络基础知识梳理03

    一,ARP协议

    使用ARP协议可以查出擅自更改IP地址主机的MAC地址。在学习ARP协议前需要了解广播和广播域的相关概念。

    屏幕快照 2017-04-16 上午9.46.27.png-2761.8kB

    1.1 广播与广播域

    在超市找人时,如果不知道对方的位置就需要到服务台通过广播进行找人,当知道对方的位置时就可以直接到对方所在位置。在网络中也存在这种情况。如果不知道对方的地址就需要进行广播。即发送广播帧;而知道对方的地址就发送单播到对方处。所以,广播通信是“一对所有”的通信形式。而单播通信是“一对一”的通信形式。所有听到找人广播的范围就是广播域。广播和广播域的具体定义如下:

    • [x] 广播:将广播地址作为目的地址的数据帧
    • [x] 广播域:网络中能接收到同一个广播的所有节点的集合

    1.1.1 MAC地址广播

    MAC地址的广播地址:FF-FF-FF-FF-FF-FF
    MAC地址的广播域是所有相连接的交换机或集线器的集合。如果一台主机发送一个MAC地址广播。则这个广播将转发到所有相连的交换机或集线器的所有端口。收到广播帧的主机会比较数据帧包中的目的IP地址是否为自身IP地址。如果是,则继续处理数据包中的承载数据;如果不是,则丢弃数据。
    交换机转发MAC地址广播,而路由器会阻挡MAC地址广播。

    1.1.2 IP广播

    iP网段的最后一个地址为广播地址,即主机部分全部为1.在数据帧中,目的MAC地址是FF-FF-FF-FF-FF-FF,目的IP地址是IP网段的广播地址。

    1.2 解析MAC地址的过程

    (1)查找ARP缓存表

    屏幕快照 2017-04-16 上午9.55.48.png-2550.1kB

    (2)发送ARP广播

    屏幕快照 2017-04-16 上午9.56.51.png-2278.4kB

    (3)ARP应答

    屏幕快照 2017-04-16 上午10.01.49.png-2624.8kB

    (4)添加ARP缓存记录

    屏幕快照 2017-04-16 上午10.02.23.png-2639.1kB

    二, 路由原理

    路由器工作在OSI参考模型的网络层,它的重要作用是为数据包选择最佳路径,最终送达目的地。那么路由器是怎样选择路径的呢?

    • [x] 在只有一个网段的网络中,数据包可以很容易地从源主机到达目的主机。但是如果一台计算机要和非本网段的计算机进行通信,数据包可能就要经过很多路由器。主机A和主机B所在的网段被许多路由器隔开,这时主机A和主机B的通信就要经过这些中间路由器,这就要面临一个很重要的问题--如何选择到达目的地的路径。

    • [x] 数据包从A到达B有很多条路径可供选择,但是很显然,这些路径中在某一时刻总会有一条路径是最好(最快)的。因此,为了尽可能地提高网络访问速度,就需要有一种方法来判断从源主机到达目标主机所经过的最佳路径,从而进行数据转发,这就是路由技术。

    屏幕快照 2017-04-16 上午10.48.57.png-319.2kB

    2.1 路由器的工作原理

    1. 对于普通用户来说,通过在PC上设置默认网关就可以使局域网的计算机与Internet进行通信。其实在PC上所设置的默认网关就是路由器以太口的IP地址。
    2. 如果局域网的计算机要和外面的计算机进行通信,只要把请求提交给路由器的以太口即可,接下来的工作就由路由器来完成。
    3. 因此可以说路由器就是互联网的中转站,网络中的数据包就是通过一个一个的路由器转发到目的网络的。
    4. 那么路由器是如何进行数据包的转发的呢?就像一个人如果要去某个地方,他的脑海里一定要有一张地图一样,在每个路由器的内部也有一张地图,这张地图就是路由表。
    5. 在这个路由表中,包含该路由器掌握的所有目的网络地址,以及通过此路由器到达这些网络的最佳路径
    6. 正是由于路由表的存在,路由器才可以高效地进行数据包的转发。

    屏幕快照 2017-04-16 上午11.11.26.png-1550.2kB

    屏幕快照 2017-04-16 上午11.52.42.png-1358.3kB

    屏幕快照 2017-04-16 上午11.53.18.png-1634.2kB

    ###2.2 静态路由

    屏幕快照 2017-04-16 下午1.41.02.png-2316.5kB

    ###2.3 默认路由

    屏幕快照 2017-04-16 下午1.41.36.png-3132.3kB

    ###2.4 路由器转发数据包的封装过程

    屏幕快照 2017-04-16 下午1.48.44.png-2758.7kB

    屏幕快照 2017-04-16 下午1.55.35.png-2885kB

    屏幕快照 2017-04-16 下午1.58.15.png-2735.1kB

    屏幕快照 2017-04-16 下午1.58.55.png-2833.5kB

    三,学云计算必会的网络数据传输原理

    屏幕快照 2017-04-16 下午2.03.34.png-922.3kB

    3.1 同网段下(同广播域),两台主机通信过程

    我们知道两主机要通信传送数据时,就要把应用数据封装成IP包(因为我们的网络大多都是TCP/IP的以太网),然后再交给下一层数据链路层继续·封装成帧;之后根据MAC地址才能把数据从一台主机,准确无误的传送到另一台主机。

    当NO要和N1通信时,

    1)假如NO知道N1的IP但却不知道它的MAC地址,那NO就会发送一个ARP的广播请求(里面源IP是NO目标IP是N1源MAC是N0目标MAC是12个F)给同一广播域中的所有成员。

    2)当交换机SW0从自己的1接口上收到这个广播包,然后它会读取这个帧的源MAC地址和目标MAC地址,由于交换机SW0刚启动加电时,它的MAC表为空的。所以它会把NO的MAC地址与之相对应的接口1放到一张表里,这张表就是MAC地址表。

    3)然后SW0再从别的接口广播这个数据帧,当别的主机收到这个广播时,查看目标IP不是自己的,就会丢弃此包。如果N1接收到这个数据帧,它检查目标IP和这个的IP是一样的,就会回应这个ARP请求,把自己的IP和MAC封装成源IP和源MAC,N0的IP和N0的MAC地址为目标IP与目标MAC,并记录N0的MAC与IP,放进自己的ARP缓存表中。

    4)此时,这个应答包经过交换机SWO时,它又会检查源MAC,目标MAC,把N1的MAC和自己接口2放进MAC地址表中,再查看自己的MAC地址表,发现存在目标MAC与自己的1接口对应(由于刚开始有记录过N0的MAC),那它就会直接把这个应答包从接口1送出去了。

    5)主机N0收到这个包后发现目标MAC是自己,就会处理这个包。并把N1的MAC与IP放进自己的ARP缓存表中。这时主机N0就知道N1的MAC地址了,
    6)后续的发送数据任务,就会直接把N1的IP与MAC封装进帧中进行点对点的发送了。

    3.2 跨路由(不同网段)数据传输过程

    当N0要和N2通信时

    1)N0会先检查N2的IP地址和自己是否处于同一网段,由于N2和自己处在不同网段,因此,N0会把数据包给它的网管,也就是R0上的F0/0接口了。

    2)当这个数据包到达R0时,路由器R0会查看目标IP是否是自己的,由于目标不是自己,所以会查看自己的路由表,找出到达N2网段的路由;(如果找不到就会丢弃数据包)

    3)当R0查看路由表发现到达N2网段的出接口是F0/1.于是,把数据包转到F0/1接口上,再由接口F0/1传给R1.这个过程,数据包的源IP是N0源MAC是F0/1目标IP是N2目标MAC是R1的F0/1接口IP

    4)当R1收到这个数据包后,同样也要检查包的目标IP是否自己,它会主动查找自己的路由表,发现目标IP跟自己F0/0接口处在同一网段,于是就把包传到F0/0接口上去发给N2。)

  • 相关阅读:
    linux 环境变量
    Java finally语句到底是在return之前还是之后执行?
    JAVA NIO之浅谈内存映射文件原理与DirectMemory
    cpu架构
    tomcat 安装
    linux 下载rpm包到本地,createrepo:创建本地YUM源
    linux下查看和添加PATH环境变量
    virtualbox 相关操作
    空间叠加分析
    java程序的加载与执行
  • 原文地址:https://www.cnblogs.com/tianakong/p/10002062.html
Copyright © 2011-2022 走看看