1、主机中的路由表只能被守护进程routing daemon或者“redirect”类型的ICMP报文所更新。

2、在根据路由表进行路由选择时,判断的优先级从高到低依次为1)表中存在与目的IP完全匹配的表项2)表中存在与目的地址的网络地址匹配的表项3)表中存在default,即默认路由表项。经历上述三个步骤仍未匹配成功的,则丢弃该数据报。

3、netstat指令用于查看主机的路由表,如下图所示:

其中Gateway的“0.0.0.0”表示目的主机与当前主机在同一网段中,可直接到达,无需网关进行转发。Destination和Genmask都为“0.0.0.0”表示该表项为default gateway。而Flags字段除了上述的U,G以外还有其他的标识。

U表示该路由表项正在使用,是有效的

G表示目的主机并非与当前主机直接相连,需要通过网关转发到达,即间接路由(indirect routing)。

H表示该目的地址是一个主机完整的IP地址,否则则为网络地址

D表示该路由表项是通过"redirect"得到的

M表示该路由表项经过了“redirect”的修改

4、IP数据报经过路由表匹配后如果没有成功,则分两种情况进行处理:1)若该数据报是主机自己产生的,则给相应的进程返回一个“host unreachable”或“network unreachable”的错误,2)若仅仅只是转发这个数据报,则给该数据报的源主机发送一个“host unreachable”或“network unreachable”的ICMP。

5、ICMP redirect error:所谓的“redirect”重定向是指,A通过B给C发了个数据报,但是A和C其实在同一个网段中,A可以直接和C交互,这时B就会给A发送一个“redirect”类型的ICMP,要求A添加直接到C的路由表项。至于B是如何判断什么时候应该发送“redirect”的ICMP呢?其实只要满足B转发的数据报的入口和出口是同一个网卡接口时就可以了,这就说明了通过B的转发是完全没有必要的。这里需要注意的是,重定向添加的路由表项必然是到主机的路由,即Flags是有H标记的。因为产生重定向的ICMP的路由器对子网结构是不清楚的。

6、路由重定向的一个好处是,在开始配置主机路由表时不用配置太复杂的表项,因为在接下来的运行过程中可以通过重定向来不断优化。

7、ICMP Router Discovery Messages:除了读取配置文件,静态初始化路由表以外,我们还可以通过主机和路由器间护发“advertisement ”和“solicitation ” message的方式。当主机初始化的时候,它会广播一个solicitation message,听到这个消息的路由器就会发送advertisement message作为回应,希望将自己作为主机的默认网关。如果有多个路由器回应,则根据系统管理员的配置,从中选择一个。而且路由器大概会每隔十分钟发送一个advertisement message,使主机中的默认路由选项不会过期。如果超过了30分钟,主机还没有收到与当前默认路由相应的advertisement message,则该默认路由选项过期。

《TCP/IP 详解 卷一》读书笔记-----IP静态 路由的更多相关文章

  1. 《TCP/IP详解》读书笔记

    本书以UNIX为背景,紧贴实际介绍了数据链层.网络层.运输层   一.整体概念   1.各层协议的关系,只讨论四层 各层常见的协议:   网络层协议:IP协议.ICMP协议.ARP协议.RARP协议. ...

  2. TCP/IP详解 卷一学习笔记(转载)

    https://blog.csdn.net/cpcpcp123/article/details/51259498

  3. 『TCP/IP详解——卷一:协议』读书笔记——10

    2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...

  4. 『TCP/IP详解——卷一:协议』读书笔记——01

    从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...

  5. 【TCP/IP详解 卷一:协议】第二章:链路层

    2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应 ...

  6. 『TCP/IP详解——卷一:协议』读书笔记——02

    2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两 ...

  7. 『TCP/IP详解——卷一:协议』读书笔记——11

    2013-08-23 20:00:18 第4章 ARP:地址解析协议 4.1 引言 ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议. ...

  8. 《TCP/IP详解 卷一》读书笔记-----广播&多播&IGMP

    1.广播和多播都只适用于UDP,因为TCP是面向连接的,需要将两台主机的两个进程绑定在一起,即IP地址和端口对 2.通常,网卡能看到网络中的每一个数据帧,但是往往它只接受目的地址与自己MAC地址相同的 ...

  9. 【TCP/IP详解 卷一:协议】第一章概论 学习笔记

    第一章 概述 游览了一下,本章主要是简介OSI模型的低层(1-4层).介绍了TCP/IP协议族的相关知识. TCP/IP的分层 Application <--> TCP / UDP < ...

  10. 【TCP/IP详解 卷一:协议】第十一章 UDP 用户数据报协议

    11.1 引言 UDP 是一个简单的 面向数据报 的运输层协议:进程的每个 输出操作 都正好产生一个 UDP数据报,并且组装成一份待发送的IP数据报. 这与 TCP 不一样,它是 面向流字符 的协议, ...

随机推荐

  1. 2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest, B. Layer Cake

    Description Dasha decided to bake a big and tasty layer cake. In order to do that she went shopping ...

  2. [moka同学笔记]yii2.0小物件的简单使用(第一种方法)

    这是第一种方法,还有另一种方法,其实都差不多. 1.在创建widgets\HelloWiget.php <?php /** * Created by PhpStorm. * User: Admi ...

  3. No.012:Integer to Roman

    题目: Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from ...

  4. 【原创】使用.NET Core 1.0创建一个Self-Contained控制台应用

    开发机器:win7-x64 .NET Core版本:1.0.0-preview2-003121 Visual Studio Code:1.2.1 至于什么是Self-Contained应用类型以及与P ...

  5. percona 5.6升级到5.7相关error及解决方法

    今早,把开发环境的mysql升级到了5.7.15,5.6数据导入后,启动一切正常,检查.err日志,发现有如下异常: 2016-10-31T00:29:33.187073Z 0 [Warning] S ...

  6. CSS应用内容补充及小实例

    一.clear 清除浮动 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  7. JavaScript 中有关时间对象的方法

    ECMAScript中的Date类型是在早期 Java 中的 Java.unile.Date 类基础上构建的.为此 Date 类型使用自 UTC (Coordinated Universal Time ...

  8. Android根据APP包名启动应用

    public void openApp(String packageName, Context context) { PackageManager packageManager = context.g ...

  9. iOS 自动布局详细介绍

    1. 自动布局的理解 iOS自动布局很有用,可以在不同size的屏幕上运行,原先看的头痛,还是习惯用最蠢的[UIScreen mainScreen].bounds.size.width等来布局,后来实 ...

  10. C标准库<ctype.h>实现

    本文地址:http://www.cnblogs.com/archimedes/p/c-library-ctype.html,转载请注明源地址. 1.背景知识 ctype.h是C标准函数库中的头文件,定 ...