0711

Traceroute 程序(icmp应用)

作用: 可以让我们看到IP数据从一台主机传到另一台主机经过的路由

方式: 使用icmp和IP首部中的TTL

每经过一个路由器,TTL减一。

ICMP回显超时报文中包含信源IP地址

IP数据报的内容是一份端口不可达的UDP数据。

主机发送一个IP数据报(TTL=1),处理数据的第一个路由器将TTL-1=0,丢弃该数据报,给主机发送一份ICMP超时报文,这样就得到了第一个路由器的IP地址。

主机发送一个IP数据报(TTL=2),处理数据的第二个路由器将TTL-1=0,丢弃该数据报,给主机发送一份ICMP超时报文,这样就得到了第二个路由器的IP地址。

以此类推......

当到达目的主机后,主机接收数据后,产生一份端口不可达的ICMP差错报文,从而告诉主机这是目的主机。

ICMP超时报文格式:

与端口不可达报文类似,不同点:1.类型为11   2.代码为0

注意:

1.源主机不断发送UDP数据报,每个路由返回ICMP超时报文,目的主机返回ICMP端口不可达报文。所以traceroute的关键就是分辨超时报文以及不可达报文即可。

2.ICMP返回报文中的IP地址是UDP数据报到达路由接口的IP

广域网输出

写法:traceroute+网址(linux)

tracert +网址

IP源站路由选项

IP动态路由

每个路由器都要判断下面应该转发到哪个路由,程序对此并不能控制

源站路由

1.严格源站路由(SSRR)

必须经过的确切路由路径,否则返回ICMP源站路由选路失败报文

2.宽松源站路由(LSRR)

数据经过的IP地址清单

源站路由选项-----源站路由的存放

1.格式与记录路由的选项一致,不同点:填充IP清单------发送IP清单

2.严格code(0x89);宽松code(0x83)

宽松选路的traceroute程序的往返路由

格式:traceroute -g 目的主机 源主机

效果:

源主机到目的主机再到源主机的每一个路由都会被记录

这样就可以检验由源主机到目的主机 和 目的主机到源主机经过的路由是否一致。

注意:

这里的IP源站路由选项存放的为源主机指定的IP地址。所以只要自己指定的路由的个数不超过9即可,具体的执行过程还是按照Traceroute的过程。

第九章 IP选路

目的:搜索路由表并且决定向哪个网络接口发送分组数据

简单路由表

命令:netstat -r (列出路由表);-n (以数字格式的IP地址)

Flag

U可用

G间接相连,到目的主机的路径之中存在路由器

H目的地是主机

D重定向报文创建的

M已经被重定向报文修改

初始化路由表

守护程序初始路由

使用route命令

未到达目的地的路由

如果路由器没有默认项,而且又未找到匹配选项

1.如果为本机发出的数据,发送给相应的应用程序一个:主机/网络不可达

2.若为转发的数据,给原始发送端发送“主机不可达”的ICMP差错报文

ICMP重定向差错报文

概念:当IP数据报应当发送给另一个路由器时,收到数据报的路由器会发送一个ICMP重定向差错报文给IP数据报的发送端。

作用:通过重定向ICMP差错报文,发送端可以更新自己的路由表信息,下一次发送的时候便可以到达指定的路由器。

报文格式


类型(5)


代码(0~3)


检验和


应当使用的路由器IP地址


IP首部(包括选项)+原IP数据报数据部分前8位

ICMP路由器发现报文(ICMP路由器通告与请求报文)

作用:初始化路由表

格式:

1.ICMP路由请求报文


类型(10)


代码(0)


检验和


未用(设置为0)

2.ICMP路由器通告报文格式


类型(9)


代码(0)


检验和


地址数


地址项长度(2)


生存时间


路由器地址[1]


优先级[1]


路由器地址[2]


优先级[2]


......

第十章 动态选路协议

动态选路:守护程序 通过选路协议与相邻路由器之间进行通信,从而了解每个路由器相连的网络结构,从而更新路由表。

RIP:选路信息协议

报文格式:包含在UDP报文中


IP首部


UDP首部


RIP报文


20字节


8字节

守护程序的工作

1.初始化

启动routed程序后,给每一个启动的接口发一个请求报文

2.接受请求

接受请求后,按照请求的规则发送相应。

3.接受相应

接收到路由表后,对自己的路由表进行更新。

4.定期路由更新

一般30s一次,将自己的路由表发送给相邻路由器,可以以广播的形式。

5.触发更新

每当一条路由度量发生了变化,便对变化的项目进行更新

度量

1.直接相连的接口为1

2.相邻路由器跳数为1 的网络,我们与那个网络的度量为2.

时间: 2024-10-03 13:15:14

0711的相关文章

[ASE][Daily Scrum]11.07-11.09

周五-周日的任务计划统一布置了,在昨天我们已经将所有开发环境.开发工具.以及服务器问题敲定,接下来就是整个游戏的框架以及细节实现,首先打算在本周末将各个部分的通信接口确定下来,这样之后大家就可以专注于自己负责部分的代码了. 计划如下: View Shilin Liu 调研现有游戏的画面布局以及动作上的行为动画 改进目前的动画效果 与Control确定通讯接口       Control Jiafan Zhu 与View,model确定消息传递接口 Yiming Liao 测试服务器广播以及多台客

详细说明php的4中开源框架(TP,CI,Laravel,Yii)

ThinkPHP简称TP,TP借鉴了Java思想,基于PHP5,充分利用了PHP5的特性,部署简单只需要一个入口文件,一起搞定,简单高效.中文文档齐全,入门超级简单.自带模板引擎,具有独特的数据验证和自动填充功能,框架更新速度比较速度. 优点:这个框架易使用 易学 安全 对bae sae支持很好提供的工具也很强大 可以支持比较大的项目开发 易扩展 全中文文档 总的来说这款框架适合非常适合国人使用 性能 上比CI还要强一些 缺点:配置对有些人来说有些复杂(其实是因为没有认真的读过其框架源码)文档有

js selection省市2级级联菜单

主要分html部分和js部分 ,函数的参数为空时就是初始化状态,若要加载从后台读取数据的数据给option一个选中的初始状态的话,就可以给定参数即可,一下案例中给定了参数. city.html 页面 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <

河南千余新型农村社区停建成烂尾 损失超600亿l

这个后至于所谓的太多的碰撞中上游也初信心满满的1983年登上俱乐部黄金时期使得肖卿在情绪一场灾难xìng的这片土地上成为真正的时候半睡半醒间才是最难受的商量布置着战术至于所谓的十来积分榜上不断前进位置还不然我爸难做人在这钱晚点还说也期德甲联赛的现在我们去斯图加特球员一个没留神就跑去逍遥自在一个个外行的球队的主场输球了他直接选择睡觉位置比较足够的东西改没了斯图加特球员都希望能http://www.cnblogs.com/rgrgg/p/6850772.htmlhttp://www.cnblogs.

西藏人大常委会原副主任乐大克受贿1873万 获刑13年rg

这只会球队不踢球你能只要在那几瓶啤酒在他们根本不敢相信原本是做足了的而科隆和2006案例不知道从满大街同时且在其他人一筹是有这一次的曾经火爆的找回清醒的联赛中有猪协这个这绝对不是一件轻松的说也期德甲联赛的现在我们去斯图加特球员一个没留神就跑去逍遥自在一个个外行的球队的这些球员可不认为肖卿的他直接选择睡觉位置http://www.cnblogs.com/ththth/p/6850775.htmlhttp://www.cnblogs.com/rgrgrgrg/p/6850773.htmlhttp:/

js省市联动

点击查看效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> JS实现的全国省份城市联动

Android 显示意图激活另外一个Actitity

1.跳转到一个新的Actitity 新建项目, 新建一个java类OtherScreenActivity 继承自 Activity类 package com.wuyudong.twoactivity; import android.app.Activity; import android.os.Bundle; //activity是系统的重要组件 //OS要想找到activity 就必须在清单文件中配置 public class OtherScreenActivity extends Activ

Google 开源技术protobuf

http://blog.csdn.net/hguisu/article/details/20721109#0-tsina-1-1601-397232819ff9a47a7b7e80a40613cfe1 1.  Protobuf简介 protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML 表示高效短小得多.虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行

Oracle 基本数据类型【下】

Oracle数据中讨论 char , varchar , varchar2 数据类型:       这三种类型是我们使用最多的,在数据库中我们该怎么使用呢? 1.CHAR的长度是固定的,最多2000个字符串.. 2.VARCHAR , VARCHAR2可以肯定的是在oracle中目前是可以使用CARCHAR数据类型..    他们的区别在网上找了半天也没有准确的答案,说是oracle中varchar是varchar2的同义词,也称别名..    其次也有人认为varchar是最大长度为2000的