tcp和ip总结.doc_第1页
tcp和ip总结.doc_第2页
tcp和ip总结.doc_第3页
tcp和ip总结.doc_第4页
tcp和ip总结.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

水木社区 - Blog - XCHBINsHomexchbin 的Blog - XCHBINsHome 所见所想所得TCP/IP学习笔记(全)作者:xchbin发表时间:2004-04-27 09:22:37更新时间:2004-04-27 09:22:37浏览:259次主题:其他类别评论:0篇地址:202.194.20.* :栏目: 好文共享 program 视频编码 网络相关一、TCP/IP结构:TCP/IP是一个四层协议,结构如下:1、应用层:各种应用程序和协议,如Http、FTP等。2、传输层:TCP和UDPTCP提供一种可靠的运输层服务,但UDP是不可靠的,不能保证数据报到正确到达目的地。3、网络层:IP、IGMP、ICMPIP提供的是一种不可靠的服务,也就是尽可能块地把分组从源节点送到目的节点,但并不提供任何可靠性保证。ICMP是IP的附属协议,主要用来交换错误报文,IGMP是组管理协议,用来将UDP数据报多播到多个主机。4、链路层:设备驱动程序和网卡等二、IP地址和子网掩码要学习TCP/IP协议,首先要提到的是IP地址。每台主机的IP地址是一个32位的二进制数。每个IP地址被分割位两部分:前缀和后缀。前缀用来确定计算机从属的物理网络,后缀用来确定网络上单独的计算机。互联网上每一个物理网络都有一个唯一的值作为网络号,该网络号必须全球一致。1、IP地址分类:IP地址分位五类:A类、B类、C类、D类、E类,其中A类、B类和C类为基本类,D类用于多播,E类属于保留类,现在不用。它们的格式如下(其中*代表网络号):A类:0*XXXXXXXXXXXXXXXXXXXXXXXXB类:10*XXXXXXXXXXXXXXXXC类:110*XXXXXXXXD类:1110*XXXXXXXXXXXXXXXXXXXXXXXXE类:1111*XXXXXXXXXXXXXXXXXXXXXXXX这样,A类地址的范围为:-55B类地址的范围为:-55C类地址的范围为:-55D类地址的范围为:-55E类地址的范围为:-66几个特殊IP地址网络地址:IP地址中主机地址全为0的地址,如。广播地址:IP地址中主机地址全为1的地址,如55。环回地址:,主要用于测试。2、子网掩码:现在的主机都要求支持子网掩码,不再把IP地址看成为由单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。例如一个B类地址(140.252),在剩下的16位中,8位用于子网号,8位用于主机号,这样就允许254个子网,每个子网就可以有254台主机。为了确定多少位用于子网号,多少位用于主机号,这就要用到子网掩码了。其中值为1的位留给网络号和子网号,为0的位留给主机号。三、数据包的封装和分用1、封装:应用程序TCP/UDPIP以太网2、分用:以太网IPTCP/UDP应用程序以太网首部(14)IP首部(20)TCP首部(20)应用数据以太网尾部(4)四、IP首部:IP协议是TCP/IP协议族中最核心的协议,所有的TCP、UDP、ICMP和IGMP数据都以IP数据报格式传输。IP传输的两个特点:不可靠和无连接。IP协议并不保证数据报能成功地到达目的地,也不维护后续数据报的状态信息。必须由上层协议处理。4位版本4位首部长度8位服务类型16位总长度(字节数)16位标识3位标志13位片偏移8位TTL8位协议16位首部检验和32位源IP地址32位目的IP地址IP首部定义:typedefstructip_hdrunsignedcharip_verlen;/4-bit版本号/4-bit首部长度(in32-bitwords)unsignedcharip_tos;/IP服务类型unsignedshortip_totallength;/总长度(字节数)/第一个32位unsignedshortip_id;/标识unsignedshortip_offset;/3位标志,13位分片偏移,#defineIP_DF0x4000/0x4000dontfragmentflag#defineIP_MF0x2000/0x2000morefragmentflag#defineIP_OFFMASK0x1fff/0x1fffmaskforfragmentingbits/第二个32位unsignedcharip_ttl;/生存时间unsignedcharip_protocol;/上层协议unsignedshortip_checksum;/首部检验和/第三个32位unsignedintip_srcaddr;/源IP地址/第四个32位unsignedintip_destaddr;/目的IP地址/第五个32位ip,IPV4_HDR,*PIPV4_HDR,FAR*LPIPV4_HDR;说明:ip_verlen前4位目前为4,表示为IPv4,后4位为5,表示首部长度为5X4=20个字节。ip_tos为服务类型(typeofservice),aaabbbbc,aaa为优先权子字段,现在已被忽略,bbbb为TOS子字段,代表:最小时延、最大吞吐量、最高可靠性和最小费用,c未使用必须为0。如果bbbb均为0,则表示为一般服务。目前大多数TCP/IP实现都不支持TOS特性。ip_totallength为IP数据报的总长度,以字节为单位,因此理论最大值为65535,但实际是不可能的。ip_id为唯一标识主机发送的每一个数据报,通常每发一份它的值就会加1。ip_off前3位标志abc,a为保留,必须为0,b为不分片标志,c为更多分片标志。ip_off后13位为分片位置,以8字节为单位计算。因此,除最后一个分片外,其他每个分片都希望是一个8字节倍数的数据,从而使后面的分片从8字节边界开始。ip_ttl为IP报的生存周期,每经过一个路由器就减1,如果该字段为0,则该数据报被丢弃。ip_protocol:1=ICMP,2=IGMP,3=TCP,17=UDPip_checksum为数据报的首部检验和。计算方法如下:USHORTchecksum(ip*ip,intsize)unsignedlongcksum=0;while(size1)cksum+=*(USHORT*)ip)+;size-=sizeof(USHORT);if(size)cksum+=(USHORT)*(UCHAR*)ip;cksum=(cksum16)+(cksum&0xffff);cksum+=(cksum16);return(USHORT)(cksum);ICMP、IGMP、TCP和UDP协议也采用相同的检验和算法。五、端口号:TCP/UDP都使用一个16bit地端口号来表示不同地程序。1、知名端口:一般介于1255之间,例如:FTP的TCP端口号是21。2、临时端口,由于客户端对端口号一般并不关心,只需保证唯一就可以了,所以系统一般分配临时端口号。六、链路层:(以以太网为例,地址为48bit)1、链路层的功能:为IP模块发送和接收IP数据报为ARP模块发送ARP请求和接收ARP应答为RARP模块发送RARP请求和接收RARP应答2、以太网的封装,以太网IP数据报的封装在RFC894中定义的:目的地址(6)源地址(6)类型(2)数据(46-1500),包括IP、ARP、RARPCRC(4)对于ARP和RARP请求/应答数据报大小只有28字节,为了达到46字节的最小长度,必须在后面添加18字节的填充字节。七、环回地址:一般把分配给这个接口,并命名为localhost,一个发给环回接口的IP数据报不能在任何网络上出现。1、传给环回地址的任何数据均作为IP输入。2、传给广播地址和多播地址的数据报复制一份传给环回接口,然后送到以太网上。3、任何传给该主机IP地址的数据均送到环回接口。八、最大传输单元MTU:以太网对数据帧的长度都有限制,其最大值为1500。链路层的这个特性叫做最大传输单元MTU。如果一个IP数据报比MTU大,那IP层就必须进行分片,把数据报分为若干片。如果两台主机间的通信要通过多个网络时,那么每个网络的链路层可能有不同的MTU。重要的不是两台主机所在网络的MTU,重要的是两台主机路径中的最小MTU,它被成为路径MTU。九、IP路由选择如果目的主机与源主机直接相连或都在一个共享网络上,那么IP数据报就直接送到目的主机上。否则主机就会把数据报发送到一个默认的路由器上,由该路由器来转发该数据报。IP层在内存中有一个路由表,当收到一份数据报并进行发送时,它都要对该表搜索一次。当数据报来自某个网络接口时,IP首先检查目的IP地址是否为本机的IP地址之一或者IP广播地址。如果是这样,数据报就被送到由IP首部协议字段所指定的协议模块进行处理,否则如果IP层被设置为路由器的功能,那么就对数据报进行转发,否则丢弃数据报。我们来看看路由表是什么:C:WINNTsystem32routePRINT=InterfaceList0x1.MSTCPLoopbackinterface0x1000003.000802ca2d11.Intel8255x-basedIntegratedFastEthernet=ActiveRoutes:NetworkDestinationNetmaskGatewayInterfaceMetric目的地掩码网关主机6411441455155554414415555441DefaultGateway:6=IP路由的主要功能:1、搜索路由表,寻找与目的IP地址完全匹配的表目,如果找到,则将数据报发给该表目指定的下一站路由器或直接连接的网络接口。2、搜索路由表,寻找能与目的网络号相匹配的表目,如果找到,则将数据报发给该表目指定的下一站路由器或直接连接的网络接口。一、ARP:地址解析协议先看:C:document.andSettingsxiaojarp-aInterface:4onInterface0x1000003InternetAddressPhysicalAddressType200-0b-cd-03-c4-27dynamic500-0d-9d-93-09-f5dynamic800-e0-18-c1-86-3ddynamic600-80-2d-78-4f-81dynamic300-0b-cd-0f-a4-c5dynamic800-30-6e-36-5f-99dynamic600-0b-cd-b8-0c-aedynamic4700-50-ba-e5-20-afdynamic4800-0d-56-19-ba-56dynamic第一列显示的是主机的IP地址,第二列就是主机的网卡MAC地址。ARP协议就是提供IP地址到对应的硬件地址提供动态映射。这个过程一般是系统自动完成的。ARP发送一份ARP请求给以太网上的主机,该请求中包含目的主机的IP地址,其意思是“如果你是这个IP的拥有者,请回答你的硬件地址”。当目的主机的ARP层收到这份广播报文时,识别出这是发送端在询问它的IP地址,于是就会发送一个ARP应答,这个ARP应答包括IP地址及对应的硬件地址。二、ARP分组格式以太网目的地址6以太网源地址6帧类型2硬件类型2协议类型2硬件地址长度1协议地址长度1请求应答1发送者硬件地址6发送者IP地址4目的硬件地址6目的IP地址4先看定义:/ARP首部structarphdr(u_shortar_hrd;/硬件类型u_shortar_pro;/协议类型u_charar_hln;/硬件地址长度u_charar_pln;/协议地址长度u_shortar_op;/请求还是应答u_chararp_sha6;/发送者硬件地址u_chararp_spa4;/发送者IP地址u_chararp_tha6;/目的硬件地址u_chararp_tpa4;/目的IP地址u_chararp_zero18;/填充字段;说明:以太网目的地址全为1的特殊地址为广播地址。以太网帧类型ARP对应的值为0x0806。硬件类型表示硬件地址的类型,以太网为1。协议类型字段表示要映射的协议地址类型,IP地址对应的值为0x0800。硬件地址长度:以太网为6。协议地址长度:以太网为4,即IP地址长度。操作字段:ARP请求1,ARP应答2,RARP请求3,RARP应答4。当系统收到一份目的端为本机的ARP请求报文时,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送出去。三、ARP代理:如果ARP请求是从一个网络的主机发往另一个网络的主机,那么连接这两个网络的路由器可以回答该请求,这个过程称为ARP代理,这样可以欺骗发起ARP请求的发送端,使它误以为路由器就是目的主机。四、免费ARP指主机启动时发送ARP查找自己的IP地址,主要作用:1、查找网络上有没有相同的IP地址。2、更新ARP缓存。五、RARP协议:逆地址解析协议,这里就不详细介绍了。RARP协议一般用于无盘工作站,根据硬件地址查找IP地址。RARP分组格式与ARP分组格式相同。六、ICMP协议:Internet控制报文协议:ICMP经常被认为是IP层的一个组成部分,它传递差错报文以及其他需要注意的事项。ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。ICMP报文是在IP数据报内部被传输的。ICMP报文包差错报文和查询报文。报文格式如下:8位类型8位代码16位检验和不同类型和代码有不同的内容类型字段可以有15个不同的值(0、35、818)。某些报文还使用代码字段来进一步描述不同的条件。检验和字段覆盖整个ICMP报文,与IP首部检验和算法是一样的。以下情况不会产生ICMP差错报文:ICMP差错报文目的地址为广播地址或者多播地址作为链路层的数据报不是IP分片的第一片源地址不是单个主机的数据报,也即源地址不能为0地址、环回地址、广播地址或多播地址七、ICMP地址掩码请求与应答:ICMP地址掩码请求用于无盘系统在引导过程中获取自己的子网掩码,系统广播它的ICMP请求报文。ICMP地址掩码请求和应答报文格式如下:类型(17或18)代码(0)检验和标识符序列号32位子网掩码ICMP报文中的标识符和序列号由发送端任意选择设定,这些值在应答中将被返回。structicmp_maskunsignedcharicmp_type;/类型unsignedcharicmp_code;/代码unsignedshorticmp_checksum;/检验和unsignedshorticmp_id;/标识符unsignedshorticmp_sequence;/序列号unsignedlongicmp_mask;/32位子网掩码;说明:RFC规定,除非是地址掩码的授权代理,否则不能发送地址掩码应答。向本机IP地址和环回地址发送地址掩码请求结果是一样的。八、ICMP时间戳请求与应答:ICMP时间戳请求允许系统向另一个系统查询当前时间,返回的是自午夜开始记算的毫秒数。调用者必须通过其他方法获取当前时间。ICMP时间戳请求与应答报文格式如下:类型(13或14)代码(0)检验和标识符序列号发起时间戳接收时间戳传送时间戳请求端填写发起时间戳,然后发送报文。应答系统收到报文填写接收时间戳,发送应答时填写发送时间戳。实际上,大多数实现将后两个字段一般设置为一样的。structicmp_timeunsignedcharicmp_type;/类型unsignedcharicmp_code;/代码unsignedshorticmp_checksum;/检验和unsignedshorticmp_id;/标识符unsignedshorticmp_sequence;/序列号unsignedlongicmp_request_time;/发起时间戳unsignedlongicmp_receive_time;/接收时间戳unsignedlongicmp_send_time;/传送时间戳;九、ICMP端口不可达差错主机如果收到一份UDP数据报而目的端口与某个正在使用的进程,那么UDP返回一个ICMP不可达报文。报文格式如下:类型3代码(015)检验和保留(必须为0)IP首部原始IP数据报中数据的前8个字节当代码为4时,路径MTU发现机制允许路由器把外出接口的MTU填在这个32bit的低16bit中。structicmp_unreachunsignedcharicmp_type;/类型unsignedcharicmp_code;/代码unsignedshorticmp_checksum;/检验和unsignedlongicmp_zero;/保留unsignedcharicmp_ip28;/IP首部原始IP数据报中前8个字节,也就是地址信息一、Ping程序:先看:/pingC:WINNTsystem32pingsvr00804P2with32bytesofdata:Replyfrom2:bytes=32time10msTTL=128Replyfrom2:bytes=32time10msTTL=128Replyfrom2:bytes=32time10msTTL=128Replyfrom2:bytes=32timerouteADDMASKMETRIC3IF2destinationmaskgatewaymetricInterface如果表中没有默认项,又没有找到匹配项。如果数据报时本地主机产生的,那么就给发送该数据报的应用程序一个差错,或者是“主机不可达差错”或者是“网络不可达差错”。如果是被转发的数据报,那么就给原始发送端发送一份ICMP主机不可达的差错报文。2、ICMP重定向差错如果我们发送一份IP报给R1路由器,R1收到数据报并且检查它的路由表,发线R2是发送该数据报的下一站。当它把数据报发送给R2时,R1检测到它正在发送的接口与数据报到达接口是相同的(即主机和两个路由器所在的LAN)。这样路由器R1就会发送重定向报文给主机。ICMP重定向差错报文格式:类型5代码(03)检验和应该使用的路由器IP地址IP首部原始IP数据报中前8个字节代码说明:0网络重定向1主机重定向2服务类型和网络重定向3服务类型和主机重定向ICMP重定向报文的接受者必须查看三个IP地址:(1)导致重定向的IP地址(2)发送重定向报文的路由器IP地址(3)因该采用的路由器IP地址。ICMP重定向报文只能由路由器生成,不能由主机生成。主机收到重定向报文时,在修改路由表前必须做一些检查。新的路由器必须直接与网络相连接重定向报文必须来自当前到目的地所选择的路由器重定向报文不能让主机本身作为路由器被修改的路由必须是一个间接路由3、ICMP路由器发现报文主机在引导以后要广播或多播传送一份路由器请求报文。一台或多台路由器响应一份路由器通告报文。另外,路由器定期关波或多播传送他们的路由器通告报文,允许每个正在监听的主机相应地更新它们地路由表。ICMP路由器请求报文格式:类型10代码0检验和保留,必须为0ICMP路由器通告报文格式:类型9代码0检验和地址数地址项长度2生存时间路由器地址1优先级1路由器地址2优先级2.地址数指的是报文重所包含得地址数。地址项大小指的是每个路由器地址32bit的数目,始终为2。生存时间指的是通告地址有效的时间(秒数)IP地址必须是发送路由器的某个地址优先级是一个有符号的32位整数,指出该IP地址作为默认路由器地址的优先等级,值越大说明优先级越高。优先级的默认值一般设定位0。六、动态选路协议RIP当相邻路由器之间进行通信,以告知对方每个路由器当前所在的网络,这就出现了动态选路。路由器上有一个进程叫路由守护程序,它运行选路协议,并于其相邻的一些路由器进行通信。路由器根据它从相邻路由器接收到的信息,更新内核中的路由表。报文格式:IP首部UDP首部RIP报文命令16版本1必须为0地址系列2必须为032位IP地址必须为0必须为0度量(116)最多24个另外的路由,与前20个字节格式相同RIP报文包含在UDP数据报中。命令1表示请求,2表示应答,3和4不用,5和6为非正式的命令。请求表示要求其他系统发送其全部或部分路由表,应答则包含发送者全部或部分路由表。版本字段通常为1,根据实际设定。地址系列为地址类型,IP地址为2。由于每个报文最多携带25个路由,因此为了发送整个路由表,经常需要发送多个报文。1、运行过程初始化:在启动一个路由守护程序时,它先判断启动了哪些接口,并在每个接口上发送一个请求报文,要求其他路由器发送完整路由表。目的端口号时520。这种请求报文的命令字段为1,但地址系列字段设置为0,度量字段设置为16。这是一种要求另一端完整路由表的特殊请求报文。接收到请求:如果这个请求时刚才提到的特殊请求,那么路由器就将完整的路由表发送给请求者。否则就处理请求中的每一个表项:如果有连接到指定地址的路由,则将度量设置为我们的值,否则将度量设置为16,表示没有到达目的地地路由,然后发送相应。接收到响应:使相应生效,可能会更新路由表或增加新表项,对已有地表项进行修改,或者删除已有表项。定期更新选路:每过30秒,所有或部分路由器会将其完整地路由表发送给相邻的路由器,发送路由表一般是广播形式的。触发更新:每当一条路由的度量发生变化时,就对它进行更新。不需要发送完整路由表,只需发送那些发生变化的表项。每条路由都有与之相关的定时器:如果运行RIP的系统发现一条路由在3分钟未更新,就将该路由的度量设置为16,并标注为删除。2、度量:度量是相连通过的接口数,如果是直接相连,则度量是1。如果一个路由器到一个网络有多条路由,则路由器将选择最短的路由。度量最大值是15,16表示无路由到达该IP地址。3、RIP2RIP2利用RIP报文中必须为0的字段来传递一些额外的信息。其报文格式如下:命令16版本2路由域地址类2路由标记32位IP地址32位子网掩码32位下一站IP地址度量(116)最多24个另外的路由,与前20个字节格式相同选路域是一个选路守护程序的标识符,指出了这个数据报的所有者。一般是进程号。选路标记是为了指出外部网关协议存在的。子网掩码是应用在相应的IP地址上的。下一站IP地址指明发往目的IP地址的报文该发向哪里。该字段为0表示发往目的地址的报文应该发给发送RIP报文的系统。RIP2还支持多播,以减少不收听RIP2报文的主机的负载。一、UDP协议UDP是一个简单的面向数据报的运输层协议,进程的每个输出操作都产生一个UDP数据报,并组装成一份待发送的IP数据报。UDP不提供可靠性。UDP封装格式:IP首部(20)UDP首部(8)UDP数据1、UDP首部:16位源端口号16位目的端口号16位UDP长度16位UDP检验和数据(如果有)端口号表示发送和接收的进程。UDP长度字段指的是UDP首部和UDP数据的字节长度,该字段的最小值是8,表示没有数据。该长度不包括IP首部长度。UDP检验和包括UDP首部和UDP数据的检验和。由于UDP数据报的长度可以为奇数字节数,因此计算时在最后增加填充字节0,这只是为了检验和的计算。2、UDP检验和UDP和TCP首部都包含一个12字节的伪首部,包含了IP首部和自身的一些字段,主要是为了计算检验和而设置的。伪首部是不占实际空间的。伪首部包含IP首部的一些字段,目的是让UDP两次检查数据是否已经到达目的地,以及IP层是否正确地传输了数据。UDP伪首部格式如下:32位源IP地址32位目的IP地址08位协议(17)16位UDP长度16位源端口16位目的端口16位UDP长度16位UDP检验和数据(如果有)前12个字节就是UDP伪首部。注意:UDP数据报的长度在检验和计算过程中出现两次。如果检验和的计算结果为0,则存入的值为全1(65535),如果传送的检验和是0,则说明发送端没有计算检验和。如果有错误,该报就被丢弃,不产生任何差错报文。3、IP分片任何IP层接收到一份要发送的IP数据报时,它要判断向本地哪个接口发送数据,并查询该接口的MTU。IP把MTU与数据报的长度进行比较,如果需要则进行分片。分片可以发生在原始发送端主机上,也可以发送在中间路由器上。IP数据报分片后,只有到达目的主机后才进行重装。IP首部与分片有关的字段:(1)对于每份IP数据报来说,都有一个标识字段,该值在分片时被复制到每个片中。(2)标志字段用其中一个bit表示“更多的片”,除最后一片外,其他每个分片都要设置为1。(3)片偏移字段指的是该片偏移原始数据报开始处的位置。(4)数据报被分片后,每个片的总长度要改为该片的长度值。(5)标志字段中有一个bit表示“不分片”,如果该位1,IP将不对数据报进行分片。IP报即使丢失一片数据报也要重传整个数据报。为什么呢?因为IP层没有超时重传的机制,必须由更高层负责超时重传。4、ICMP不可达差错(需要分片)当路由器收到一份需要分片的数据报,而在IP首部又设置了不分片(DF)的标志位。如果需要判断到达目的端的路途中最小MTU是多少,就可以通过这个差错实现。报文格式如下:类型3代码4检验和保留,必须为0下一站的MTUIP首部原始IP数据报中数据前8位可以用Traceroute确定路径MTU。要做的是发送分组,并设置“不分片”标志位。发送的第一个分组的长度正好与出口MTU相等,每次收到ICMP“不能分片”差错时,就减少分组的长度。如果路由器发送的ICMP差错报文是上面格式,包含出口的MTU,那么就用该MTU值来发送,否则就用下一个最小的MTU值来发送。MTU值的个数是有限的,因此可以取得路径的MTU。5、UDP服务器的设计:(1)客户IP地址及端口号:Ip首部包括源端和目的端IP地址,UDP首部包括了远端和目的端的端口号。(2)目的IP地址(3)UDP输入队列:通常程序所使用的每个UDP端口都与一个有限大小的输入队列相联系。也就是来自不同客户的差不多同时到达的请求将由UDP自动排队,接收到的UDP数据报以其接收顺序交给应用程序。(4)限制本地IP地址:大多数UDP服务器在创建UDP端口时都使其本地IP地址具有通配符的特点,表明进入的UDP数据报如果其目的地位服务器端口,那么在任何本地接口均可接收到它。如果该端口设置位某接口的端口号,则只有发送给该接口的UDP数据报能收到。可以在同一个端口上启动多个服务器,如以太网有一个,以太网广播有一个。(5)限制远程IP地址:UDP也可以设定只能收到指定IP地址和端口号的UDP数据报。二、广播1、受限的广播:受限的广播地址是55,该地址用于主机配置过程中IP数据报的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。在任何情况下,路由器都不转发目的地址为受限广播地址的数据报,这样的数据报只出现在本地网络中。2、指向网络的广播:指向网络的广播地址是主机号全为1的地址,A类网络广播地址为netid.255.255.255,其中netid为A类网络的网络号。3、指向子网的广播:指向子网的广播地址是主机号全为1的地址,作为子网直接广播的IP地址需要知道子网的掩码。如果B类网络128.1的子网掩码是,则地址55就是对应子网的广播地址。4、指向所有子网的广播:指向所有子网的广播也需要知道目的网络的子网掩码。这些广播地址的子网号和主机号全为1。如果目的子网掩码是,那么IP地址55就是一个指向所有子网的广播地址。三、多播IP多播主要向多个目的地发送数据,还可以无盘工作站启动时确定启动引导服务。多博地址是D类地址,格式如下:111028位多播组ID1、多播地址包括为1110地最高4位和多播组号:范围为:到55。能够接收发往一个特定多播组地址数据地主机集合称为主机组,一个主机组可以跨越多个网络。主机组中成员可随时加入或离开主机组,主机组中对主机地数量没有限制,同时不属于某一主机组地主机可以向该组发送信息。一些多播组地址为知名地址:该子网内地所有系统组该子网内地所有路由器组网络时间协议NTPRIP2SGI公司的dogfight应用2、多播地址到以太网地址的转换:IANA拥有一个以太网地址块,即高位24位为00-00-5e,这意味这该地址块所拥有的地址范围从00-00-5e-00-00-00到00-00-5e-ff-ff-ff。IANA将其中的一般分配为多播地址。为了指明一个多播地址,任何以太网地址的首字节必须为01,这意味者与IP多播相对应的以太网地址范围从01-00-5e-00-00-00到01-00-5e-7f-ff-ff。这种地址分配将使以太网多播地址的23位与IP多播组号相对应起来,通过将多播组号中的低23位映射到以太网地址中的低23位事项。由于多播组号中的最高5位在映射过程中被忽略,因此每个以太网多播地址对应的多播组是不唯一的,32个不同的多播组号被映射位一个以太网地址。例如,多播地址2(16进制为e0-80-40-20)和2(16进制为e0-00-40-20)都映射为同一以太网地址01-00-5e-00-40-20。既然地址映射不是唯一的,那么设备驱动层或IP层就必须对数据报进行过滤,因为网卡可能收到主机不想接收的多播数据帧。四、IGMP:Internet组管理协议IGMP让一个物理网络上的所有系统知道主机当前所在的广播组。多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。IGMP也被当作IP层的一部分,IGMP报文通过IP数据报进行传输,其报文格式如下:4位版本14位类型(12)未用检验和32位组地址(D类IP地址)IGMP类型位1说明是由多播路由器发出的查询报文,为2说明是主机发出的报告报文。检验和的计算和ICMP协议一样。组地址为D类IP地址,在查询报文中组地址设置为0,在报告报文中组地址为要参加的组地址。1、加入一个多播组进程以某种方式在给定的接口上加入某个多播组,进程也能离开先前加入的多播组。一个进程可以在多个接口上加入同一多播组。主机通过组地址和接口来标识一个多播组。主机必须保留一个表,该表中包含所有至少含有一个进程的多播组及多播组中的进程数量。2、IGMP报告和查询多播路由器通过IGMP报文来记录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论