zoukankan      html  css  js  c++  java
  • TCP/IP||IP选路

      1.选路原理

        在IP搜索路由表分为几个步骤

        1.搜索匹配的主机地址

        2.搜索匹配的网络地址

        3.搜索默认表项.

      IP层进行选路实际是一种选路机制,搜索路由表并决定向哪个网络接口发送分组,区别选路策略,IP层选路把路由放进哪个路由规则,而路由守护程序则选择选路策略

      

      2.路由表

        当执行netstat命令时,会列出路由表 -n用于打印IP地址,在路由表中的Flag标识会有5种标示表明路由状态

    •    U 标示路由可以使用
    •      G 标示该路由是一个网关,如果没有标志,表明目的地直接连接
    •      H 标示路由是一个主机,目的地是一个完整的地址,如果没有标记,表明是一个网络,目的地是一个网络地址,一个网络号或者与子网号结合
    •      D 标示该路由由重定向报文创建
    •      M 标示报文被修改

      标记G区分了间接路由和直接路由,区别在于发往直接路由的分组不但具有目的地端的IP地址,也具有链路层地址.当分组发往一个间接路由时,IP地址指明最终目的,但链路层指明的是网关

      Refent 指的是正在使用路由的活动进程个数,面向连接的协议链接时要固定路由,当主机与slip之间建立Telnet连接时可以看到参数值为1.

      use 显示的是通过路由发送的分组数,如果是路由的唯一用户,那么ping程序发送5个分组时,值为5,最后一列(Interface)为本地接口名字

      环回接口为lo0,没有设置G标志,指路由不是一个网关,

     默认路由指的是都一个或多个默认路由,UG表明是一个网关

     主机路由表的复杂性取决于主机所在网络的拓扑结构

        1.最简单的情况为主机没有任何网络相连,只能本省通信,只包含环回接口

        2.主机连接局域网,包含环回接口和局域网

      3. 初始化路由表

        每当初始化一个接口时,就为接口自动创建一个直接路由,在对于点对点链路和环回链路,路由到达主机,对于广播接口,路由到达网络

        到达不直接相连的主机或者网络路由必须以某种方式添加到路由表,可以通过运行下列两个命令来添加路由表选项

      

    route add default sun 1
    route add slip bsdi 1

      第三个参数标示目的端,第三个标示网关,最后一个标示路由的度量,route在度量大于0会为路由设置G标志,否则为0时不设置,

      4没有到达目的地的路由

        在没有默认项也没找到匹配项时,路由的选择取决于该IP数据报由主机产生的还是被转发,如果数据报是由本地主机产生,那么发送该数据报的应用程序返回一个差错,或者主机不可达差错.如果是被转发的数据报,那么向主机端发送一份ICMP不可达差错报文

      5.ICMP主机

        当路由器收到一份IP数据报但不能转发时,就会发送一份ICMp差错报,

      6.ICMP重定向差错

        当IP数据报应该发送另一个路由器时,收到数据报的路由器会发送ICMP重定向差错报文交给IP数据报的发送端,只有当主机可以选择路由器发送分组的情况下,才能看到ICMP重定向报文.

        

      1.假定主机发送IP数据报给R!,发现R2是发送该数据的下一站,当数据报发送给R2时,R1检测到他发送的接口与数据报到达接口相同.这样路由器发送重定向报文原始发送端提供线索

      2.R1发送报文给主机,告诉数据报发送R2而不是R1

       重定向一般让具有很少选路信息的主机建立合适的路由表,主机启动时可以只有一个默认表项,一旦发生错误,默认路由器进行重定向,并允许主机对路由表做出改动,ICMP重定向允许主机在选路时不具有智能特性,而把特性放在路由器端中,在ICMP重定向报文中,具有以下格式

      

      ICMP重定向报文的接收者必须查看3个IP地址  

        1.导致重定向的IP地址

        2.发送重定向报文的路由器的IP地址

        3.应该采用的路由器IP地址

      在代码描述中包含以下参数

        1.0:网络重定向

        2.1:主机重定向

        3.2:服务类型和网络重定向

        4 3:服务类型和主机重定向

      在ICMP重定向报文中包含许多规则,报文只能由路由器生成,不能由主机生成,报文为主机使用。

      7.ICMP路由器发现报文

      路由器在一份报文中可以通告多个地址,地址数指的是报文包含的地址数,地址大小指的是每个路由器32bit数目,始终为2,生存期指的是通告地址有效的时间(s)

      

      在路由器启动时,定义在所有广播或多播传送接口上发送报文,形式为随机发送,以减少与子网上其他路由器发送冲突的概率,每次通告间隔450s或者600s,一份一份通告报文的默认周期为30min

      使用生命周期域的另一个时机是当路由器的某个接口被关闭时,路由可以在该接口发送最后一个通告报文,并把生命周期设为0

      在主机操作引导一般发送3份路由的请求报文,每3秒发送一次,一旦接收到一个有效的报文,就停止发送.

  • 相关阅读:
    Web打印控件
    excel错误:外部表不是预期的格式 错误
    C#用ado.net访问EXCEL的常见问题及解决方法
    通过反射的方式获取类型中的所有属性
    在64位Windows7上安装64位Oracle11g
    2020&2021的计划
    jQuery_day1
    springboot+mybatis+MySQL(入门级-半小时搞定系列)
    springboot_web开发
    springboot日志
  • 原文地址:https://www.cnblogs.com/EraserHead/p/6667693.html
Copyright © 2011-2022 走看看