简述IP路由选择的步骤
TCP/IP通常被认为是一个四层协议系统。 链路层:通常包括操作系统中的设备驱动程序和计算机对应的网络接口卡。他们一起处理与电缆的物理姐都细节。网络层:处理分组在网络中的活动。例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(internet互联网控制报文协议),以及IGMP协议(internet组管理协议)。运输层:主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互补相同的传输协议:tcp(传输控制协议)和udp(用户数据报协议)。tcp为两台主机提供高可靠的数据通信。udp则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:telent远程登录,ftp文件传输协议,smtp简单邮件传输协议,snmp简单网络管理协议。 应用层 进程 运输层 tcp,udp 网络层 ip,icmp,igmp 数据链路层 arp,rarp,硬件接口 udp为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方的一个信息单元。ip是网络层上的主要协议,同时被tcp和udp使用。igmp是internet组管理协议,它用来把一个udp数据报多播到多个主机。arp(地址解析协议)和rarp(逆地址解析协议)是某些网络接口使用的特殊协议,用来转换ip层和网络接口层使用的地址。 A 0.0.0.0到127.255.255.255 B 128.0.0.0到191.255.255.255 C 192.0.0.0到223.255.255.255 D 224.0.0.0到239.255.255.255 E 240.0.0.0到247.255.255.255 区分各类地址的最简单方式是看它的第一个十进制整数。需要再次指出的是,多借口主机具有多个ip地址,其中每个借口都对应一个ip地址。为接入互联网的网络分配ip地址的机构是互联网络信息中心(internet network information center)。有三类ip地址:单播地址(目的为单个主机),广播地址(目的端为给定网络上的所有主机)以及多播地址(目的端为同一组内的所有主机)。以太网数据帧的物理特性是其长度必须在46~1500字节之间。由于tcp,udp,icmp和igmp都要向ip传送数据,因此ip必须在生成的ip首部中加入某种标识,以表明数据属于那一层。为此,ip在首部中存入一个长度为8bit的数值,叫做协议域。1标识icmp协议,2表示igmp协议,6表示tcp协议,17表示udp协议。类似地,许多应用程序都可以使用tcp或udp来传送数据。运输层协议在生成报文首部是要存入一个应用程序的标识符。tcp和udp都用一个16bit的端口号来表示不同的应用程序。tcp和udp把远端口号和目的端口号分别存入报文首部中。知名端口号介于1~255,256~1023之间的端口号通常都是由Unix系统占用,以提供一些特定的Unix服务。网络层(ip)提供点到点的服务,而运输层(tcp和udp)提供端到端的服务。端口号用来标识互相通信的应用程序。服务器使用知名端口号,而客户使用临时设定的端口号。 链路层主要有三个目的:(1)为ip模块发送和接收ip数据报;(2)为arp模块发送arp请求和接收arp应答;(3)为rarp发送rarp请求和接收rarp应答。
首先确认你需要带的终端数量,其次考虑你要带的出口总带宽,然后考虑需要的功能。以及你的预算。普通家用路由基本上没什么解释了,商用路由则根据以上的要求选择合适参数的硬件路由即可,如预算不高,性能要求较高的可以选择软路由,基本上D525芯片的待机150到300,1037U是200到400,等等,看你需求来追问吧。
数据报里是有源IP地址和目的IP地址的,路由器根据数据里的地址来寻找路由.在路由器里有个路由表的文件就是干这个的!

《计算机网络-自顶向下方法》第四章-网络层 要点
网络层的作用:实现主机到主机的通信服务,将分组从一台发送主机移动到一台接收主机。1、转发涉及分组在单一的路由器中从一条入链路到一条出链路的传送。2、路由选择涉及一个网络的所有路由器,它们经路由选择协议共同交互,以决定分组从源到目的地结点所采用的路径。计算这些路径的算法称为路由选择算法。每台路由器都有一张转发表,路由器通过检查到达分组首部字段的值来转发分组,然后使用该值在该路由器的转发表中索引查找。路由选择算法决定了插入路由器转发表中的值。路由选择算法可能是集中式的,或者是分布式的。但在这两种情况下,都是路由器接收路由选择协议报文,该信息被用于配置其转发表。网络层也能在两台主机之间提供无连接服务或连接服务。同在运输层的面向连接服务和无连接服务类似,连接服务需要握手步骤,无连接服务不需要握手。但它们之间也有差异:1、 在网络层中,这些服务是由网络层向运输层提供的主机到主机的服务。在运输层中,这些服务则是运输层向应用层提供的进程到进程的服务。2、 在网络层提供无连接服务的计算机网络称为数据报网络;在网络层提供连接服务的计算机网络称为虚电路网络。3、 在运输层实现面向连接的服务与在网络层实现连接服务是根本不同的。运输层面向连接服务是在位于网络边缘的端系统中实现的;网络层连接服务除了在端系统中,也在位于网络核心的路由器中实现。(原因很简单:端系统和路由器都有网络层)虚电路网络和数据报网络是计算机网络的两种基本类型。在作出转发决定时,它们使用了非常不同的信息。IP地址有32比特,如果路由器转发表采用“蛮力实现”将对每个可能的目的地址有一个表项。因为有超过40亿个可能的地址,这种选择完全不可能(即使用二分查找也十分慢)。我们转发表的表项可以设计为几个表项,每个表项匹配一定范围的目的地址,比如有四个表项(你可能也会考虑到,IP地址有32比特,如果每个路由器设计为只有2个表项,那么也只需要有32个路由器就可以唯一确定这40亿个地址中的一个。)最长前缀匹配规则,是在转发表中寻找最长的匹配项,并向与最长前缀匹配相关联的链路接口转发分组。这种规则是为了与因特网的编址规则相适应。1、输入端口“使用转发表查找输出端口”是输入端口最重要的操作(当然还有其他一些操作)。输入端口执行完这些所需的操作后,就把该分组发送进入交换结构。如果来自其他输入端口的分组当前正在使用交换结构,一个分组可能会在进入交换结构时被暂时阻塞,在输入端口处排队,并等待稍后被及时调度以通过交换结构。2、交换结构交换结构的三种实现方式3、输出端口分组调度程序处理在输出端口中排队的分组4、路由选择处理器IP协议版本4,简称为IPv4;IP协议版本6,简称为IPv6。如上图所示,网络层有三个主要的组件1、IP协议2、路由选择协议3、ICMP协议 (Internet Control Message Protocol, 因特网控制报文协议)不是所有链路层协议都能承载相同长度的网络层分组。有的协议能承载大数据报,而有的协议只能承载小分组。例如,以太网帧能够承载不超过1500字节的数据,而某些广域网链路的帧可承载不超过576字节的数据。一个链路层帧能承载的最大数据量叫做最大传送单元(Maximun Transmission Unit, MTU)所以链路层协议的MTU严格限制着IP数据报的长度。这也还不是主要的问题,问题在于发送方与目的地路径上的每段链路可能使用不同的链路层协议,且每种协议可能具有不同的MTU。举个例子:假定从某条链路收到一个IP数据报,通过检查转发表确定出链路,并且该出链路的MTU比该IP数据报的长度要小。那么如何将这个过大的IP分组压缩进链路层帧的有效载荷字段呢?解决办法是,将IP数据报中的数据分片成两个或更多个较小的IP数据报,用单独的链路层帧封装这些较小的IP数据报;然后向输出链路上发送这些帧。每个这些较小的数据报都被称为片(fragment)。路由器完成分片任务。同时,为了使得网络内核保持简单,IPv4设计者把数据报的重组工作放到端系统中,而非放到网络路由器中。前提:一个4000字节的数据报(20字节IP首部加上3980字节IP有效载荷)到达一台路由器,且必须被转发到一条MTU为1500字节的链路上。假定初始数据报贴上的标识号为777。这意味着初始数据报中3980字节数据必须被分配到3个独立的片(其中的每个片也是一个IP数据报)IP分片:IP地址有32比特,分为网络号和主机号。IP地址的网络部分(即网络号)被限制为长度为8、16或24比特,这是一种称为分类编址的编址方案。具有8、16和24比特子网地址的子网分别被称为A、B和C类网络。但是它在支持数量迅速增加的具有小规模或中等规模子网的组织方面出现了问题。一个C类(/24)子网仅能容纳多大2^8 - 2 = 254台主机(2^8 = 256, 其中的两个地址预留用于特殊用途),这对许多组织来说太小了。然而一个B类(/16)子网可支持多达65534台主机,又太大了。这导致B类地址空间的迅速损耗以及所分配的地址空间的利用率低。广播地址255.255.255.255。当一台主机发出一个目的地址为255.255.255.255的数据报时,该报文会交付给同一个网络中的所有主机。某组织一旦获得了一块地址,它就可以为本组织内的主机与路由器接口逐个分配IP地址。既可手工配置IP地址,也可以使用动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)自动配置。DHCP还允许一台主机得知其他信息,如它的子网掩码、它的第一跳路由器地址(常称为默认网关)与它的本地DNS服务器的地址。由于DHCP具有能将主机连接进一个网络相关方面的自动能力,它又被称为即插即用协议。DHCP是客户-服务器协议。客户通常是新达到的主机,它要活的包括自身使用的IP地址在内的网络配置信息。在最简单的场合下,每个子网将具有一台DHCP服务器。如果在某子网中没有服务器,则需要一个DHCP中继代理(通常是一台路由器),这个代理知道用于该网络的DHCP服务器的地址。DHCP协议工作的4个步骤:网络地址转换(Network Address Translation, NAT)ICMP通常被认为是IP的一部分,但从体系结构上将它是位于IP之上的,因为ICMP报文是承载在IP分组中的。即ICMP报文是作为IP有效载荷承载的,就像TCP与UDP报文段作为IP有效载荷被承载那样。众所周知的ping程序发送一个ICMP类型8编码0的报文到指定主机。看到该回显请求,目的主机发回一个类型0编码0的ICMP回显回答。大多数TCP/IP实现直接在操作系统中支持ping服务器,即该服务器不是一个进程。新型IPv6系统可做成向后兼容,即能发送、路由和接收IPv4数据报,要使得已部署的IPv4系统能够处理IPv6数据报,最直接的方式是采用一种双栈方法。1、链路状态(Link State, LS)算法:属于全局式路由选择算法,这种算法必须知道网络中每条链路的费用。费用可理解为链路的物理长度、链路速度,或与该链路相关的金融上的费用。链路状态算法采用的是Dijkstra算法。2、距离向量(Distance-Vector, DV)算法:属于迭代的、异步的和分布式的路由选择算法。“迭代的”,是因为此过程一直要持续到邻居之间无更多信息要交换为止。“异步的”,是因为它不要求所有结点相互之间步伐一致地操作。“分布式的”,是因为每个结点都要从一个或多个直接相连邻居接收某些信息,执行计算,然后将其计算结果分发给邻居。DV算法的方程:其中,dx(y)表示从结点x到结点y的最低费用路径的费用,c(x, v)是结点x到结点v的费用,结点v指的是所有x的相连结点,所以x的所有相连结点都会用minv方程计算。(N是结点(路由器)的集合,E是边(链路)的集合)为了减少公共因特网的路由选择计算的复杂性以及方便企业管理网络,我们将路由器组织进自治系统。在相同AS中的路由器全都运行同样的路由选择算法,且拥有彼此的信息。在一个自治系统内运行的路由选择算法叫做自治系统内部路由选择协议。当然,将AS彼此互联是必需的,因此在一个AS内的一台或多台路由器将有另外的任务,即负责向在本AS之外的目的地转发分组。这些路由器被称为网关路由器。分为自治系统内部的路由选择和自治系统间的路由选择1、因特网中自治系统内部的路由选择:路由选择信息协议(Routing Information Protocol, RIP)2、因特网中自治系统内部的路由选择:开放最短路优先(Open Shortest Path First, OSPF)3、自治系统间的路由选择:边界网关协议(Broder Gateway Protocol, BGP)为什么要使用不同的AS间和AS内部路由选择协议?实现广播的方法1、无控制洪泛。该方法要求源结点向它的所有邻居发送分组的副本。当某结点接收了一个广播分组时,它复制该分组并向它的所有邻居(除了从其接收该分组的那个邻居)转发之。致命缺点:广播风暴,如果图具有圈,那么每个广播分组的一个或多个分组副本将无休止地循环。2、受控洪泛。用于避免广播风暴,关键在于正确选择何时洪泛分组,何时不洪泛分组。受控洪泛有两种方法:序号控制洪泛、反向路径转发(Reverse Path Forwarding, RPF)3、生成树广播。虽然序号控制洪泛和RPF能避免广播风暴,但是它们不能完全避免冗余广播分组的传输。多播:将分组从一个或多个发送方交付到一组接收方每台主机有一个唯一的IP单播地址,该单播地址完全独立于它所参与的多播组的地址。因特网网络层多播由两个互补组件组成:因特网组管理协议(Internet Group Management Protocol, IGMP)和多播路由选择协议IGMP只有三种报文类型:membership_query报文,membership_report报文,leave_group报文。与ICMP类似,IGMP报文也是承载在一个IP数据报中。因特网中使用的多播路由选择1、距离向量多播路由选择协议2、协议无关的多播路由选择协议

igmp包是什么?
何谓IGMP呢?IGMP(互联网组管理协议)是一种互联网协议,提供这样一种方法, 使得互联网上的主机向临近路由器报告它的广播组成员。IGMP包只能攻击win98,(网上又很多软件可以提供IGMP包攻击)使用方法:1、在IP地址输入你要攻击电脑的IP地址(如果你是在局域网内,且又不是终端的,对方和一样,那么就没法攻击了!)2、在包的数量上选个大一点的数字(小了就不起作用了,大一点的话,呵呵!:P对方直接重启了!)IGMP的工作过程如下:一. 当主机加入一个新的工作组时,它发送一个IGMP host membership report的抱文给全部主机组,宣布此成员关系.本地多点广播路由器接受到这个报文后,向Internet上的其他多路广播路由器传播这个关系信息,建立必要的路由.与此同时,在主机的网络接口上将ip主机组地址映射为mac地址,并重新设置地址过滤器.二. 为了处理动态的成员关系,本地多路广播路由器周期性的轮询本地网络上的主机,以便确定在各个主机组有哪些主机,这个轮询过程是通过发送igmp host membership query报文来实现的,这个报文发送给全部主机组,且报文的ttl域设为1,以确保报文不会传送到lan以外.受到报文的主机组成员会发送响应报文.如果所有的主机组成员同时响应的话,就可能造成网络阻塞.IGMP协议采用了随机延时的方法来避免这个情况.这样就保证了在同一时刻每个主机组中只有一个成员在发送响应报文. ★IGMP(Internet Group Message Protocol)是一个尚处于实验阶段的协议,提供Internet网际多点传送的功能,即将一个IP包的拷贝传给多个host.Windows98和windows2000都采用了这个不太成熟的协议,在这两个平台内,这个多点传送的协议的应用容易引起Tcp/IP堆栈的阻塞,从而引发了一个目前没有补丁的新攻击.这种攻击能使对方的机器蓝屏甚至是重启,但我个人认为实际意义不大。

网络层的网络层协议
TCP/IP网络层的核心是IP协议,它是TCP/IP协议族中最主要的协议之一。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。 TCP/IP网络使用32位长度的地址以标识一台计算机和同它相连的网络,它的格式为:IP地址=网络地址+主机地址。IP地址是通过它的格式分类的,它有四种格式:A类、B类、C类、D类。如下所示格式位数主机地址:A类0网络(7位)主机地址(24位)、B类10网络(14位)主机地址(16位)、C类110网络(21位)主机地址(8位)、D类1110多路通信地址(28位)、未来的格式11110将来使用。这样,A类地址空间为0-127,最大网络数为126,最大主机数为16,777,124;B类地址空间为128-191,最大网络数为16384,最大主机数为65,534;C类地址空间为192-223,最大网络数为2,097,152,最大主机数为254;D类地址空间为224-254。 C类地址空间分配概况。分配区域地址空间:多区域192.0.0.0~193.255.255.255、欧洲:194.0.0.0~195.255.255.255、其他:196.0.0.0~197.255.255.255、北美:197.0.0.0~199.255.255.255、中南美:200.0.0.0~201.255.255.255、太平洋地区:202.0.0.0~203.255.255.255、其他:204.0.0.0~205.255.255.255、其他:206.0.0.0~207.255.255.255。注:其中“多区域”表示执行该计划前已经分配的地址空间;“其他”表示已指定名称的地区之外的地理区划。特殊格式的IP地址:广播地址:当网络或主机标志符字段的每位均设置为1时,这个地址编码标识着该数据报是一个广播式的通信,该数据报可以被发送到网络中所有的子网和主机。例如,地址128.2.255.255意味着网络128.2上所有的主机。本网络地址:IP地址的主机标识符字段也可全部设置为0,表示该地址作为“本主机”地址。网络标识符字段也可全部设置为0,表示“本网络”。如,128.2.0.0表示网络地址为128.2的网络。使用网络标识符字段全部设置为0的IP地址在一台主机不知道网络的IP地址时时是很有用的。私有的IP地址:在有些情况下,一个机构并不需要连接到Internet或另一个专有的网络上,因此,无须遵守对IP地址进行申请和登记的规定。该机构可以使用任何的地址。在RFC1597中,有些IP地址是用作私用地址的:A类地址:10.0.0.0到10.255.255.255。B类地址:172.16.0.0到172.31.255.255.255。C类地址:192.168.0.0到192.168.255.255。 ARP协议是“AddressResolutionProtocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。协议属于链路层的协议在以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核(如驱动)必须知道目的端的硬件地址才能发送数据。当然,点对点的连接是不需要ARP协议的。 ARP协议的数据结构:以下是引用片段:typedefstructarphdr{unsignedshortarp_hrd;/*硬件类型*/unsignedshortarp_pro;/*协议类型*/unsignedchararp_hln;/*硬件地址长度*/unsignedchararp_pln;/*协议地址长度*/unsignedshortarp_op;/*ARP操作类型*/unsignedchararp_sha[6];/*发送者的硬件地址*/unsignedlongarp_spa;/*发送者的协议地址*/unsignedchararp_tha[6];/*目标的硬件地址*/unsignedlongarp_tpa;/*目标的协议地址*/}ARPHDR,*PARPHDR; 为了解释ARP协议的作用,就必须理解数据在网络上的传输过程。这里举一个简单的PING例子。假设我们的计算机IP地址是192.168.1.1,要执行这个命令:ping192.168.1.2.该命令会通过ICMP协议发送ICMP数据包。该过程需要经过下面的步骤:1、应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动程序);2、内核检查是否能够转化该IP地址为MAC地址,也就是在本地的ARP缓存中查看IP-MAC对应表;3、如果存在该IP-MAC对应关系,那么跳到步骤9;如果不存在该IP-MAC对应关系,那么接续下面的步骤;4、内核进行ARP广播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类型为REQUEST(1),其中包含有自己的MAC地址;5、当192.168.1.2主机接收到该ARP请求后,就发送一个ARP的REPLY(2)命令,其中包含自己的MAC地址;6、本地获得192.168.1.2主机的IP-MAC地址对应关系,并保存到ARP缓存中;7、内核将把IP转化为MAC地址,然后封装在以太网头结构中,再把数据发送出去;使用arp-a命令就可以查看本地的ARP缓存内容,所以,执行一个本地的PING命令后,ARP缓存就会存在一个目的IP的记录了。当然,如果你的数据包是发送到不同网段的目的地,那么就一定存在一条网关的IP-MAC地址对应的记录。知道了ARP协议的作用,就能够很清楚地知道,数据包的向外传输很依靠ARP协议,当然,也就是依赖ARP缓存。要知道,ARP协议的所有操作都是内核自动完成的,同其他的应用程序没有任何关系。同时需要注意的是,ARP协议只使用于本网络。 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址。但是无盘机,如X终端或无盘工作站,则需要采用其他方法来获得IP地址。网络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家配置的。无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧在网络上广播的数据),请求某个主机响应该无盘系统的IP地址(在RARP应答中)。在概念上这个过程是很简单的,但是实现起来常常比ARP要困难。RARP的正式规范是RFC903[Finlaysonetal.1984]。 RARP的分组格:RARP分组的格式与ARP分组基本一致。它们之间主要的差别是RARP请求或应答的帧类型代码为0x8035,而且RARP请求的操作代码为3,应答操作代码为4。对应于ARP,RARP请求以广播方式传送,而RARP应答一般是单播(unicast)传送的。RARP服务器的设计:虽然RARP在概念上很简单,但是一个RARP服务器的设计与系统相关而且比较复杂。相反,提供一个ARP服务器很简单,通常是TCP/IP在内核中实现的一部分。由于内核知道IP地址和硬件地址,因此当它收到一个询问IP地址的ARP请求时,只需用相应的硬件地址来提供应答就可以了。作为用户进程的RARP服务器:RARP服务器的复杂性在于,服务器一般要为多个主机(网络上所有的无盘系统)提供硬件地址到IP地址的映射。该映射包含在一个磁盘文件中。由于内核一般不读取和分析磁盘文件,因此RARP服务器的功能就由用户进程来提供,而不是作为内核的实现的一部分。更为复杂的是,RARP请求是作为一个特殊类型的以太网数据帧来传送的。这说明RARP服务器必须能够发送和接收这种类型的以太网数据帧。在附录A中,我们描述了SBD分组过滤器、SUN的网络接口栓以及SVR4数据链路提供者接口都可用来接收这些数据帧。由于发送和接收这些数据帧与系统有关,因此RARP服务器的实现是与系统捆绑在一起的。每个网络有多个RARP服务器:RARP服务器实现的一个复杂因素是RARP请求是在硬件层上进行广播的,这意味着它们不经过路由器进行转发。为了让无盘系统在RARP服务器关机的状态下也能引导,通常在一个网络上(例如一根电缆)要提供多个RARP服务器。当服务器的数目增加时(以提供冗余备份),网络流量也随之增加,因为每个服务器对每个RARP请求都要发送RARP应答。发送RARP请求的无盘系统一般采用最先收到的RARP应答(对于ARP,我们从来没有遇到这种情况,因为只有一台主机发送ARP应答)。另外,还有一种可能发生的情况是每个RARP服务器同时应答,这样会增加以太网发生冲突的概率。 ICMP的作用:由于IP协议的两个缺陷:没有差错控制和查询机制,因此产生了ICMP。ICMP主要是为了提高IP数据报成功交付的机会,在IP数据报传输的过程中进行差错报告和查询,比如目的主机或网络不可到达,报文被丢弃,路由阻塞,查询目的网络是否可以到达等等。ICMP有两种报文类型:差错报告报文和询问报文。差错报告报文:终点不可到达(由于路由表,硬件故障,协议不可到达,端口不可达到等原因导致,这时路由器或目的主机向源站发送终点不可到达报文);源站抑制(发生拥塞,平衡IP协议没有流量控制的缺陷);超时(环路或生存时间为0);参数问题(IP数据报首部参数有二义性);改变路由(路由错误或不是最佳)。询问报文:回送请求或回答(用来测试连通性,如:PING命令);时间戳请求或回答(用来计算往返时间或同步两者时间);地址掩码请求或回答(得到掩码信息);路由询问或通告(得知网络上的路由器信息)。ICMP是网际(IP)层的协议,它作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。 应用层的PING(PacketInterNetGroper)命令用来测试两个主机之间的连通性,PING使用了ICMP回送请求与回送回答报文,属于ICMP询问报文,它是应用层直接使用网络层ICMP的一个特例,它没有通过运输层的TCP或UDP。IP数据报首部的协议字段:IP报文首部的协议字段指出了此数据报是使用的何种协议,以便使目的主机的网络层能够知道如何管理协议因特网组管理协议(IGMP)被IP主机用于向所有的直接相邻的多播路由器报告它们的多播组成员关系。本文档只描述在主机和路由器之间的确定组成员关系的IGMP应用。作为多播组成员的路由器应当还能表现为一台主机,甚至能对自己的查询作出响应。IGMP还可以应用在路由器之间,但这种应用不在这里描述。就像ICMP一样,IGMP作为整合在IP里面的一部分。所有希望接收IP组播的主机都应当实现IGMP。IGMP消息被封装在IP数据报中,IP协议号为2。本文档所描述的所有IGMP消息在发送时TTL都为1,并在它们的IP首部中含有一个路由器警告选项。主机所关心的所有IGMP消息都具有以下格式:8位类型+8位最大响应时间+16位校验和+32位组地址。 组播协议包括组成员管理协议和组播路由协议。组成员管理协议用于管理组播组成员的加入和离开,组播路由协议负责在路由器之间交互信息来建立组播树。IGMP属于前者,是组播路由器用来维护组播组成员信息的协议,运行于主机和和组播路由器之间。IGMP 信息封装在IP报文中,其IP的协议号为2。若一个主机想要接收发送到一个特定组的组播数据包,它需要监听发往那个特定组的所有数据包。为解决Internet上组播数据包的路径选择,主机需通过通知其子网上的组播路由器来加入或离开一个组,组播中采用IGMP来完成这一任务。这样,组播路由器就可以知道网络上组播组的成员,并由此决定是否向它们的网络转发组播数据包。当一个组播路由器收到一个组播分组时,它检查数据包的组播目的地址,仅当接口上有那个组的成员时才向其转发。IGMP提供了在转发组播数据包到目的地的最后阶段所需的信息,实现如下双向的功能:主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息。路由器通过IGMP周期性地查询局域网内的组播组成员是否处于活动状态,实现所连网段组成员关系的收集与维护。IGMP共有三个版本,即IGMP v1、v2 和 v3。

IGMP是什么
IGMP(互联网组管理协议)是一种互联网协议,提供这样一种方法, 使得互联网上的主机向临近路由器报告它的广播组成员。广播使得互联网上的一个主机向网上确认对于源主机发送内容感兴趣的计算机发送信息。IGMP(Internet Group Message Protocol):Internet组管理协议,提供internet网际多点传送的功能,即将一个ip包拷贝给多个host,windows系列采用了这个协议,因为此响技术尚不成熟,因此被一些人用来攻击windows系统,尤其是对win98,因为对win95有oob攻击.受到IGMP攻击的症状是首先出现蓝屏,然后网速变得极慢,有的甚至鼠标,键盘均不管用.非得重起不可.因为此协议是ipx/spx里的,因此只能炸局域网,如有ipx路右可炸得远点.IGMP的本义是为了使路由器觉察到本地主机组的存在而使用的一个协议,因此一般只有路由发的igmp包是可以接受的.IGMP的工作过程如下:一. 当主机加入一个新的工作组时,它发送一个igmp host membership report的抱文给全部主机组,宣布此成员关系.本地多点广播路由器接受到这个报文后,向Internet上的其他多路广播路由器传播这个关系信息,建立必要的路由.与此同时,在主机的网络接口上将ip主机组地址映射为mac地址,并重新设置地址过滤器.二. 为了处理动态的成员关系,本地多路广播路由器周期性的轮询本地网络上的主机,以便确定在各个主机组有哪些主机,这个轮询过程是通过发送igmp host membership query报文来实现的,这个报文发送给全部主机组,且报文的ttl域设为1,以确保报文不会传送到lan以外.受到报文的主机组成员会发送响应报文.如果所有的主机组成员同时响应的话,就可能造成网络阻塞.IGMP协议采用了随机延时的方法来避免这个情况.这样就保证了在同一时刻每个主机组中只有一个成员在发送响应报文.★IGMP(Internet Group Message Protocol)是一个尚处于实验阶段的协议,提供Internet网际多点传送的功能,即将一个IP包的拷贝传给多个host.Windows98和windows2000都采用了这个不太成熟的协议,在这两个平台内,这个多点传送的协议的应用容易引起Tcp/IP堆栈的阻塞,从而引发了一个目前没有补丁的新攻击.这种攻击能使对方的机器蓝屏甚至是重启,但我个人认为实际意义不大。IGMP其工作原理引用goodwell的原句如下:Windows 95, 98 and Windows 2000's TCP/IP stacks were not built to tolerate malformed IGMP (Internet Group Management Protocol) headers. When one is received, the stack will fail with unpredictable results ranging from a Blue Screen to instantaneous rebootWIN95,WIN98的NMPI协议有个BUG,可以炸死机(炸后毫无反映,鼠标键盘都不管用)。因为此协议是IPX/SPX协议里面的,所以只能炸内部网的,如果有IPX路由可能可以炸得远点。如果没有安装IPX/SPX协议或者没有IPX/SPX协议绑定MICROSOFT客户可能不能炸。此BUG与原来的一些BUG很不一样,不是包中哪个字段非法,造成非法访问或者溢出破坏系统,是因为此协议的回复包与此协议包没多少区别造成(没有字段指明是这种包还是回复包,其他的协议一般都有字段指明),此死机包关键就是伪造机器名和网卡地址MAC2,造成受攻击机器收到包后的回复包又是受攻击机器本身,而回复包因为包没有字段表明是回复包,所以查到机器名是自己(此协议就是以机器名识别是不是该接收)又回复包,所以就造成发包的死循环,而这处理是在VXD中就是系统内核中,所以不能切换任务处理键盘鼠标等,也就是死机毫无反应了。参考资料:http://www.ask321.com/ask15/ask194106.htm
IGMP(互联网组管理协议)是一种互联网协议,提供这样一种方法, 使得互联网上的主机向临近路由器报告它的广播组成员。广播使得互联网上的一个主机向网上确认对于源主机发送内容感兴趣的计算机发送信息。IGMP(Internet Group Message Protocol):Internet组管理协议,提供internet网际多点传送的功能,即将一个ip包拷贝给多个host,windows系列采用了这个协议,因为此响技术尚不成熟,因此被一些人用来攻击windows系统,尤其是对win98,因为对win95有oob攻击.受到IGMP攻击的症状是首先出现蓝屏,然后网速变得极慢,有的甚至鼠标,键盘均不管用.非得重起不可.因为此协议是ipx/spx里的,因此只能炸局域网,如有ipx路右可炸得远点.IGMP的本义是为了使路由器觉察到本地主机组的存在而使用的一个协议,因此一般只有路由发的igmp包是可以接受的.IGMP的工作过程如下:一. 当主机加入一个新的工作组时,它发送一个igmp host membership report的抱文给全部主机组,宣布此成员关系.本地多点广播路由器接受到这个报文后,向Internet上的其他多路广播路由器传播这个关系信息,建立必要的路由.与此同时,在主机的网络接口上将ip主机组地址映射为mac地址,并重新设置地址过滤器.二. 为了处理动态的成员关系,本地多路广播路由器周期性的轮询本地网络上的主机,以便确定在各个主机组有哪些主机,这个轮询过程是通过发送igmp host membership query报文来实现的,这个报文发送给全部主机组,且报文的ttl域设为1,以确保报文不会传送到lan以外.受到报文的主机组成员会发送响应报文.如果所有的主机组成员同时响应的话,就可能造成网络阻塞.IGMP协议采用了随机延时的方法来避免这个情况.这样就保证了在同一时刻每个主机组中只有一个成员在发送响应报文.★IGMP(Internet Group Message Protocol)是一个尚处于实验阶段的协议,提供Internet网际多点传送的功能,即将一个IP包的拷贝传给多个host.Windows98和windows2000都采用了这个不太成熟的协议,在这两个平台内,这个多点传送的协议的应用容易引起Tcp/IP堆栈的阻塞,从而引发了一个目前没有补丁的新攻击.这种攻击能使对方的机器蓝屏甚至是重启,但我个人认为实际意义不大。IGMP其工作原理引用goodwell的原句如下:Windows 95, 98 and Windows 2000's TCP/IP stacks were not built to tolerate malformed IGMP (Internet Group Management Protocol) headers. When one is received, the stack will fail with unpredictable results ranging from a Blue Screen to instantaneous rebootWIN95,WIN98的NMPI协议有个BUG,可以炸死机(炸后毫无反映,鼠标键盘都不管用)。因为此协议是IPX/SPX协议里面的,所以只能炸内部网的,如果有IPX路由可能可以炸得远点。如果没有安装IPX/SPX协议或者没有IPX/SPX协议绑定MICROSOFT客户可能不能炸。此BUG与原来的一些BUG很不一样,不是包中哪个字段非法,造成非法访问或者溢出破坏系统,是因为此协议的回复包与此协议包没多少区别造成(没有字段指明是这种包还是回复包,其他的协议一般都有字段指明),此死机包关键就是伪造机器名和网卡地址MAC2,造成受攻击机器收到包后的回复包又是受攻击机器本身,而回复包因为包没有字段表明是回复包,所以查到机器名是自己(此协议就是以机器名识别是不是该接收)又回复包,所以就造成发包的死循环,而这处理是在VXD中就是系统内核中,所以不能切换任 务处理键盘鼠标等,也就是死机毫无反应了。

本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/43370.html。