《TCP/IP 详解 卷一》读书笔记-----IP静态 路由
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静态 路由的更多相关文章
- 《TCP/IP详解》读书笔记
本书以UNIX为背景,紧贴实际介绍了数据链层.网络层.运输层 一.整体概念 1.各层协议的关系,只讨论四层 各层常见的协议: 网络层协议:IP协议.ICMP协议.ARP协议.RARP协议. ...
- TCP/IP详解 卷一学习笔记(转载)
https://blog.csdn.net/cpcpcp123/article/details/51259498
- 『TCP/IP详解——卷一:协议』读书笔记——10
2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...
- 『TCP/IP详解——卷一:协议』读书笔记——01
从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...
- 【TCP/IP详解 卷一:协议】第二章:链路层
2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应 ...
- 『TCP/IP详解——卷一:协议』读书笔记——02
2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两 ...
- 『TCP/IP详解——卷一:协议』读书笔记——11
2013-08-23 20:00:18 第4章 ARP:地址解析协议 4.1 引言 ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议. ...
- 《TCP/IP详解 卷一》读书笔记-----广播&多播&IGMP
1.广播和多播都只适用于UDP,因为TCP是面向连接的,需要将两台主机的两个进程绑定在一起,即IP地址和端口对 2.通常,网卡能看到网络中的每一个数据帧,但是往往它只接受目的地址与自己MAC地址相同的 ...
- 【TCP/IP详解 卷一:协议】第一章概论 学习笔记
第一章 概述 游览了一下,本章主要是简介OSI模型的低层(1-4层).介绍了TCP/IP协议族的相关知识. TCP/IP的分层 Application <--> TCP / UDP < ...
- 【TCP/IP详解 卷一:协议】第十一章 UDP 用户数据报协议
11.1 引言 UDP 是一个简单的 面向数据报 的运输层协议:进程的每个 输出操作 都正好产生一个 UDP数据报,并且组装成一份待发送的IP数据报. 这与 TCP 不一样,它是 面向流字符 的协议, ...
随机推荐
- DataSet导出到Excel,并生成文件(C#实现,可合并行和列)
using System; using System.IO; using System.Data; using System.Reflection; using System.Diagnostics; ...
- JPA(7) spring-data-jpa
对于不是使用spring管理的项目,我们就自己创建对象使用:大概的思路就是①创建dao接口②实现该接口,并且编写逻辑: Dao: public interface StudentDao { publi ...
- uml中的几种关系
这是一堂关于UML基础知识的补习课:现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了:本篇主要就以前自己一直感觉很迷糊的几种class之间的 ...
- js 自带的 reduce() 方法
1.方法说明 , Array的reduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个参数,reduce()把结果继续和序列的下一个元素做累积计算,其效果 ...
- (旧)子数涵数·DW——图文混排页面
一.首先,打开Dreamweaver,新建一个的HTML项目. 二.在设计区里,写一些文字,随便写一点(也可以在代码区中的<body>和</body>之间写). 三.插入一张图 ...
- 总结一下SQL的全局变量
SQL Server 2008中的全局变量及其用法 T-SQL程序中的变量分为全局变量和局部变量两类,全局变量是由SQL Server系统定义和使用的变量.DBA和用户可以使用全局变量的值,但不能自己 ...
- IOS6学习笔记(四)
1.GCD设置一个timer计时器 - (void)awakeFromNib { __weak id weakSelf = self; double delayInSeconds = 0.25; _t ...
- 关于HTML的编码问题
平时我在写html文件时,很容易忘掉这个文件的编码类型,<meta charset=”utf-8”> 的语句,因为编辑器默认设置了一个编码,所以在我没有写编码格式设置语句的情况下,效果依然 ...
- 类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内。
错误的写法: if (this.GridView1.Rows.Count > 0) { string style = @"<style& ...
- 关于C#中泛型类型参数约束(where T : class)
.NET支持的类型参数约束有以下五种:where T : struct | T必须是一个结构类型where T : class ...