zoukankan      html  css  js  c++  java
  • CCNA网络基础(一)

    现在我们使用这一个图来讲解网络的基础知识:
        现在只看右边那个图,也就是两台主机和一个交换机 
         PC1 的配置是 
        IP 172.16.20.2/24   网关没有配
        CopyPC1 :
         IP 1.1.1.2/24        网关没有配
    那么如果我们使用ping 协议,从PC1中ping 1.1.1.2,会如何  :
    当然懂点的人会知识,当然是ping 不通的,但是会有一部分就困惑了,都连在一个交换机下面,为什么会ping 不能呢 ? 我们来观测它会发现什么:
    首先在网络层,也就是IP层会封装一个PDU,这个PDU是怎么填的呢? 你要明白,网络之所认会分层,是为了规范各层的任务,也就是对各层进行明确分工。那么网络层自然就只会处理网络层的事情了。
        封装 的内容 为  源IP地址,目的IP地址,和值为01H的协议字段。这些字段将告诉目的方这个报文由哪个协议来处理。
         一旦这个报文被创建 ,那么IP协议就需要判断目标IP地址的位置 ,判断目标IP的方位是在本地还是在远程网络,这里是如何判断的,很显然,它是通过将源地址与目的地址进行比较,发现他们前面的24位(由于我们的子网掩码被配置成了255.255.255.0)
     ,发现目的IP和源IP是在同一个子网中。
        然后,IP层将该PDU发往链路层,那么链路层主要是封装 以下的内容:
        1、目的方硬件地址和源方的硬件地址
        2、值为0X800(IP)的以太网类型字段
        3、值为CRC运算的结果的FCS字段
    但是目的方的MAC地址也就是硬件地址在哪里有呢?,这就是要查看ARP表了,ARP表专门干这种事,里面是IP与MAC的映射关系。你要知道,IP地址只在不同的LAN间才起作用,在同一个LAN里面,报文的发送与接收靠的就是MAC地址。
        MAC地址永远只能作用在本地的LAN网络中,不可能绕过或者通过路由器
        到这里,发现ARP表里面没有对应的IP-MAC表项,于是启动ARP协议,那个ICMP报文就挂载在链表中,等待填充MAC地址。
        由于在前面的IP层,发现目的IP和本机不是在同一个子网中,那怎么办?ARP就不会该子网中进行广播了。但是我们在前面说了,这台主机并没有配有默认网关,那么咋办呢 。
       当然是将挂载在链表中的ICMP不完整报文给丢了。这里的丢其实就是LINUX 中,将对应的那段报文缓存给释放了,或者放到SKB内存池中(注  SKB只是一个结构体,它里面的指针指向那个报文对应的缓存位置)
        到这里,你当然就会明白,ping肯定是不会通的
     
       但如果我们的主机PC1它配了默认网关呢,会怎么样?假如我们将它的默认网关填成172.16.20.1,也就是路由器Fa1/0的地址。
       如果是这样,那么ICMP的命就没有那么短了,还没出接口就被整死了。
       如果配了网关,那就好玩点了。那么我还是回去网络层判断目的IP是否是本网段的报文,这回当然判断不是本网络的报文罗。
        于是到了链路层,发现不是本网络报文,那我们的APR中就不是找对应的目的IP的MAC地址了,而是找默认网关地址对应的MAC地址了。因为你不是一LAN内部的报文,那就肯定是不同LAN了,要想去不同的LAN,就只有通过网关了。
        到这里发现,默认网关地址对应的MAC又是空的,那咋办,还是ARP广播了,于是在本LAN里面广播寻找默认网关MAC地址的ARP报文。
        我们的网关收到这个ARP报文以后,就回应对应的ARP应答。于是PC1就获了默认网关的MAC地址。
        于是我们的ICMP报文就可以在链路层填充对应的源MAC和目的MAC地址了。之后再交给了物理层将它发出去。
        网关收到这个ICMP报文以后,得到它的目的IP地址是 1.1.1.2,于是在路由表项中查看有没有关于 1.1.1.2地址或者直连网段。
        并没有哈。于是路由器给PC1发送一个目的主机不可到达的报文
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     





  • 相关阅读:
    hdu 4027 Can you answer these queries?
    hdu 4041 Eliminate Witches!
    hdu 4036 Rolling Hongshu
    pku 2828 Buy Tickets
    hdu 4016 Magic Bitwise And Operation
    pku2886 Who Gets the Most Candies?(线段树+反素数打表)
    hdu 4039 The Social Network
    hdu 4023 Game
    苹果官方指南:Cocoa框架(2)(非原创)
    cocos2d 中 CCNode and CCAction
  • 原文地址:https://www.cnblogs.com/yml435/p/5913627.html
Copyright © 2011-2022 走看看