现在我们使用这一个图来讲解网络的基础知识:
    现在只看右边那个图,也就是两台主机和一个交换机 
     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发送一个目的主机不可到达的报文
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CCNA网络基础(一)的更多相关文章

  1. 网络工程师岗位基础面试题【适用于CCNA/CCNP基础】

    网络工程师岗位基础面试题[适用于CCNA/CCNP基础] 1: 交换机是如何转发数据包的?交换机通过学习数据帧中的源MAC地址生成交换机的MAC地址表,交换机查看数据帧的目标MAC地址,根据MAC地址 ...

  2. 【Linux网络基础】网络拓扑、OSI层次模型、TCP/IP协议簇

    一.前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工作来说这些并不是重点,因此,我不可能从最基础的网络知识开始讲起.本节内容更多是从一个梳理和 ...

  3. 前端学HTTP之网络基础

    × 目录 [1]网络 [2]OSI [3]TCP/IP 前面的话 HTTP协议对于前端工程师是非常重要的.我们在浏览网站时,访问的每一个WEB页面都需要使用HTTP协议实现.如果不了解HTTP协议,就 ...

  4. 开发人员必读openstack网络基础

    云计算中的网络非常复杂,需要对网络的基础理论有一定的认识和了解,转载网上针对openstack中涉及到网络概念的文章 开发人员必读openstack网络基础1:什么是L2.L3 开发人员必读opens ...

  5. iOS网络基础知识

    iOS网络基础知识 1.一次HTTP请求的完整过程 (1)浏览器或应用发起Http请求,请求包含Http请求Http(请求),地址(url),协议(Http1.1)请求为头部 (2)web服务器接收到 ...

  6. 网络基础:NetBIOS

    网络基础小补. 利用 NetBIOS 名称与其他计算机通信 网络中的计算机之间必须知道IP地址后才能相互通信.但对人来说IP难以记忆,NetBIOS计算机名称比较容易记忆.当计算机使用 NetBIOS ...

  7. JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)

    本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...

  8. 网络基础知识、ASP.NET 核心知识(1)*

    为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...

  9. Java 网络编程(一) 网络基础知识

    链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...

随机推荐

  1. ssh免密码认证

    举例:有机器PC_A(172.0.246),PC_B(172.0.1.140).现想A通过ssh免密码登录到B. 1.在PC_A主机下生成公钥/私钥对 [comodo@PC_A ~]$ ssh-key ...

  2. SecureCRT:保存输出日志的方法

    处理地址: http://blog.sina.com.cn/s/blog_64c1dd210101gzgz.html 或者: http://renchen.blog.51cto.com/4531967 ...

  3. Excel应该这么玩——5、三种数据:Excel也是系统

        Excel最常用的功能就是记录数据,把数据按照行列记录下来.这部分数据是源数据,是业务活动中最原始的流水账,作为后续操作的依据.为了从源数据中得出一定的结论,需要对源数据进行分析得出报表数据. ...

  4. [原创] 如何用Eclispe调试java -jar xxx.jar 方式执行的jar包

    有时候,我们经常会需要调试 java -jar xxx.jar方式运行的代码,而不是必须在Eclipse中用Debug或者Run的方式运行.比如我们拿到的SourceCode不完整.Java提供了一种 ...

  5. Spring学习笔记1——基础知识 (转)

    1.在java开发领域,Spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架,曾经有两本很畅销的书<Expert one-on-one J2EE Design and Deve ...

  6. Mono.Ceil 无法保存Silverlight 程序集

    一句话: 处理Silverlight程序集之前, 须先移除强名称(StrongNameRemoveHelper), 之后Reflexil 即可一如预期的正常工作.

  7. iOS检测用户截屏并获取所截图片

    iOS检测用户截屏并获取所截图片 微信可以检测到用户截屏行为(Home + Power),并在稍后点击附加功能按钮时询问用户是否要发送刚才截屏的图片,这个用户体验非常好.在iOS7之前, 如果用户截屏 ...

  8. [译]Dynamics AX 2012 R2 BI系列-Cube概览

    https://msdn.microsoft.com/EN-US/library/dd252604.aspx     Cube是一个多维度的结构,它是BI应用开发的基础.本文描述了cube的组成部分, ...

  9. 2016湖大校赛 L题 The Sequence likes Ladder

    题意:S1=a,Sn=a*(Sn-1)^k%m,且有(a,m)=1,给出i,求Si. 思路:首先我们可以写出Sn的通项a^(1+k+k^2+...k^n-1);其次注意到m的范围是10000以内,所以 ...

  10. 一个苹果证书如何多次使用——导出p12文件

    一个苹果证书怎么多次使用--导出p12文件 为什么要导出.p12文件 当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了 ...