您的位置:首页 > 数据库 > Oracle

Oracle数据库之SQL语句练习

2013-04-17 12:26 281 查看
1,首先是学习五种标志:U、G、H、D、M
1):U:表示该路由可以用,基本上正常状态下的路由都有这个标志;
2):G:该路由是到一个网关(路由器)。这句话是书中原话,我个人认为这样理解会好点:带有G标志的路由表示本机上这个路由的下一跳是一个网关,既然是网关,当然就不是直连的路由。解读这个标志的时候,我们不能只解读“有”,我们同样需要解读“无”,也就是说,当出现这个标志的时候我们应当知道这个路由的下一跳是网关,当没有这个标志的时候,我们同样应当知道,这条路由是直连的,亦即下一跳就是目的地址。
3):H:该路由是到一个主机,也就是说,目的主机是一个完整的主机地址。注意与G的描述对比一下,同样用词是“该路由是到”,然而“到”的地方完全不一样,这里的是“到”目的主机,而上面是“到”下一跳。由此我在想这里的翻译是不是不太合适呢?理解了这个,那么这个标志就容易理解了。同样我们也要“有”“无”均读:当出现这个标志的时候我们知道,该路由的最终地址是一个完整的主机地址,当没有这个标志的时候我们也知道该路由的最终地址是一个网络地址。
4):D:该路由是由重定向报文创建的
5):M:该路由是被重定向报文修改的。注意与上面的对比,一个是“创建”,一个是“修改”。
2,没有到达目的地的路由
对于这种路由的处理结果要分两种情况看待:该IP数据报是由主机产生的还是被转发的,实际上也就是:一个是主机处理模式一个路由器处理模式。
1)如果数据报由本机产生,那么就向该数据报上级汇报“主机不可达”或者“网络不可达”。
2)如果是被转发的数据报,那么就给该数据报的“原始主人”发送一份“ICMP主机不可达报文”。
3,走不到目的地的互联网数据报在网络走多久
通过9.3节的测试,我们可以知道,对于走不到目的地的互联网数据报在网络上已经走了6跳,直到NSFNET骨干网时,才不让他再往前走。为什么连接骨干网的路由器能够把分组拦下来不让他继续往前走直至TTL为0呢?原因很简答:连接骨干网路由器没有默认路由项。前面6跳路由器因为有了默认项才把根本走不到目的地的互联网数据报放行。由这个实验我们至少明白以下3点事实:
1)默认路由项不是什么时候都能用,也不是任何时候都能解决路由问题,有时候甚至给网络起副作用,让无用的数据报到处跑;
2)许多路由器只能在一定的局部范围内工作,对于更广阔的网络空间,他们是“无知”的,因为就是因为他们的“无知”,才导致无用的数据报在网络上流行。
3)互联网应该也必须配置一些特殊路由器,充当网络“问路百事通”的角色,使得一些数据报找到他们的时候,就知道自己该往哪里走,或者前面根本无路可走。事实上,目前互联网上存在5位“问路百事通”,专业术语称作顶层选路域。
4,ICMP重定向报文规则
首先:重定向报文只能由路由器生成,而不能又主机生成;
另外:重定向报文时为主机而不是为路由器使用的。也就是说我们只会对主机路由进行重定向,而不会去把路由器选择的路由进行重定向,路由器之间有一套选路协议,可以选出最佳路由。
5,生成重定向报文的条件
1)出接口必须等于入接口。这句话描述的是当路由器接受到主机的IP数据报时,按照数据报中的目的地址进行转发时,发现转发该数据报出口和接收该数据报入口都是同一个接口,于是路由器有理由相信,主机应该有更好的路由去目的主机。
2)用于向外传送数据报的路由不能被ICMP重定向报文创建或修改过,而且不能是路由器的默认路由。这一点我不明白,还望大家帮忙解释下
3)数据报不能用源站选路来转发。使用源站选路时,路由是指定好的,当然用不着路由器“管闲事”来重定向了。
4)内核必须配置成可以发送重定向报文。
6,主机接受重定向报文并修改路由表的条件
1),新的路由器必须直接与网络相连。这很好理解,重定向后的路由器肯定是与主机直连的,否则还不如不重定向,因为原来的路由器就是与主机直连的
2)重定向报文必须来自当前到目的地所选择的路由器。很显然,既然我把数据报发给你我就认定你可以到达目的地,只是你给我建议一条更好的路由。别的路由器发来的重定向是属于别的路由的
3)重定向报文不能让主机本身作为路由器。如果重定向的结果是我本身,那么我重定向有什么用呢?我叫你给我指条近路,你的回答是从你自己出发,这不是废话么?
4)被修改的路由必须是一个间接路由。当然,是直连的就无需修改了。
以上就是本人的一点学习心得,晒出来有两个目的:一方面是把自己的心得拿出来分享,大家一起进步;另一方面是希望大家能够从中找茬,指出理解错误的地方,我好改正。本文出自 “个人学习” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: