1、1IP协议及地址 互连网协议IP是TCP/IP体系中两个最重要的协议之一,与IP协议配套使用的还有三个协议:n 地址转换协议ARP(Address Resolution Protocol)。n 反向地址转换协议RARP(Reverse Address Resolution Protocol)。n Internet控制报文协议ICMP(Internet Control Message Protocol)。2 IP协议及地址1 IP地址及转换 (1)IP地址及其表示方法 Internet识别网络的方法是给网络上的每一台计算机分配一个IP地址。IP地址就是给每个连接在Internet上的主机分配一个
2、在全世界范围内唯一的32位二进制标识符。由于32位的二进制数字形式不适合阅读和记忆,为了便于用户阅读和理解IP地址,Internet管理委员会采用了一种“点分十进制”方法表示IP地址。如下图所示。3IP协议及地址 (2)网络地址和主机地址n IP地址被分为网络地址(net-id)和主机地址(host-id)两部分。n IP地址的格式可表示为:网络地址+主机地址。n IP地址的这种结构使我们在Internet上很方便地进行寻址,先按IP地址中的网络号net-id把网络找到,再按主机号host-id把主机找到。4IP协议及地址 (3)IP地址的分类 为了便于对IP地址进行管理,同时还考虑到网络的差
3、异很大,将IP地址分为5类,即A类、B类、C类、D类和E类,其中D类地址是组播地址,E类地址保留今后使用。目前使用的IP地址仅A至C三类。在IP地址的开头用1位或几位以标识IP地址的类型,如右图所示。5IP协议及地址 (4)IP地址类型的识别 A A类地址类地址:第一个数的范围在0127之间,地址范围从1.0.0.1至126.255.255.254。B B类地址类地址:第一个数的范围在128191之间,地址范围从128.1.0.1至191.255.255.254。C C类地址类地址:第一个数的范围在192223之间,地址范围从192.0.1.1至223.255.255.254。例如,IP地址是
4、138.10.118.25,它是一个B类地址,网络ID是138.10,主机ID是118.25。6因特网的互连协议IP (5)内部网可用IP地址 为了避免某个单位内部网内部网选择任意网络地址,造成与合法的Internet地址发生冲突,IETF分配了具体的A类、B类和C类地址供单位内部网使用,这些地址为:A A类类:10.0.0.010.255.255.255 B B类类:172.16.0.0172.31.255.255 C C类类:192.168.0.0192.168.255.255 7因特网的互连协议IP (6)IP地址与硬件地址 IP地址放在IP数据报的首部,而硬件地址则放在MAC帧的首部。
5、IP地址与硬件地址的关系如下图。8因特网的互连协议IP (7)地址的转换 o 每一个Internet上的主机都有与之对应的三个地址,即物理地址(硬件地址)、IP地址和主机域名。o 主机的物理地址是网卡制造者制作在网卡上的无法改变的地址码。o IP地址是一种二进制数的网络标识和主机标识,数字型标识对计算机网络是最有效的,但对使用网络的人却不愿意使用难于记忆的IP地址,为此人们研究出一种字符型标识,这就是主机的域名。o 主机域名、IP地址和物理地址之间的关系如下图。9因特网的互连协议IP图9-6 主机域名、IP地址与物理地址之间的转换 DNS202.112.209.88202.112.209.88
6、ARPRARP0020ED5240F30020ED5240F3主机域名IP地址硬件地址10因特网的互连协议IP2 子网划分技术 (1)子网的概念 o 传统的IP地址用A,B,C等类划分,网络号与主机号的分隔必须固定在某个点分符上,在IP地址越来越紧张的时候这个问题就很突出了。可变长子网掩码VLSM(RFC1009)允许在主机号的比特位中继续定义子网掩码/子网扩展前缀,分隔不必在点分符上。用IP地址中的主机号(host-id)字段中的前若干比特位作为“子网号字段”,后面剩下的仍为主机号字段,再通过路由器将划分出的子网互连形成单位内部网,便于网络的管理和使用。11因特网的互连协议IP(2)子网的划
7、分方法 o 子网的划分方法是将单个网络号对应的主机号分为两个部分,其中一部分用于子网号编址,另一部分用于主机号编址,如下图所示。12因特网的互连协议IP (3)子网掩码(Subnet Mask)o 在划分子网时,TCP/IP使用了子网掩码。子网掩码也是一个32位的二进制数,其形式与IP地址相同。它主要有两大功能功能:一是通过子网掩码,可以区分一个IP地址中的哪些位对应于网络地址(包括子网地址)、哪些位对应于主机地址;二是将网络分为多个子网。o 子网掩码的取值,通常是将对应于IP地址中网络地址(网络号和子网号)的所有位都设置为“1”,对应于主机地址(主机号)的所有位都设置为“0”。13因特网的互
8、连协议IPo 子网掩码和IP地址结合使用,对子网掩码和IP地址进行“按位与”运算,可以分出一个IP地址的网络号和主机号。下表是一个例子,IP地址为141.58.97.235的主机,如采用的子网掩码是255.255.240.0,通过“与”运算,可以断定该主机是141.58.96.0网络中的第491号主机。名称十进制形式二进制形式IP地址141.58.97.23510001101 00111010 01100001 11101011子网掩码255.255.240.011111111 11111111 11110000 00000000对应的网络号141.58.96.010001101 001110
9、10 01100000 00000000对应的主机号0.0.1.235(491)00000000 00000000 00000001 1110101114因特网的互连协议IP(4)子网划分的规则o RFC 950中的规则 RFC 950规定了子网划分的规范,其中对网络地址中的子网号作了如下的规定:由于网络号全为“0”代表的是本网络,所以网络地址中的子网号也不能全为“0”,子网号全为“0”时,表示本子网网络;网络号全为“1”表示的是广播地址,所以网络地址中的子网号也不能全为“1”,全为“1”的地址用于向子网广播。所以,在划分子网时需要考虑子网号不能全取“1”和“0”。以下通过例子例子依据RFC
10、950RFC 950中的规定说明划分子网的具体步骤。15因特网的互连协议IP某单位现有100台计算机需要联网,要求每个子网内的主机数不少于40台,问使用一个C类地址如何划分子网?n 第一步,确定需要划分的子网数。使用一个C类地址划分子网,必然要从代表主机号的第四个字节中取出若干位用于划分子网。若取出1位,根据子网划分规则,无法使用。若取出3位,可以划分出8个子网,但每个子网容纳主机数为30,而实际要求是每个子网内的主机不少于40台。若取出2位,可以划分出2个可用子网,每个子网可容纳62个主机号,因此取出2位划分子网是可行的。16因特网的互连协议IPn 第二步,确定子网掩码。按照子网掩码的取值规
11、则,子网掩码为255.255.255.192。如下图所示。17因特网的互连协议IPn 第三步,确定标识每一个子网的网络地址。如下图所示,两个子网的网络地址分别为192.168.1.64和192.168.1.128。18因特网的互连协议IPn 第四步,确定每一个子网的主机地址范围。如下图所示。19因特网的互连协议IP(4)子网划分的规则o RFC 1878中的规则 1985年制定的RFC 950中阻止使用全0全1的子网号以便与老式的路由器兼容,所以上例中的4个子网还要减去两个。但现在新的路由器大都支持CIDR(Classless Inter-Domain Routing:无类域间路由)协议,CI
12、DR摒弃了传统基于类的地址分配方式,规定可以使用任意长度的网络地址部分,因此在1995年制定的RFC 1878(IPv4可变长子网表)中允许使用全0和全1的子网号,所以上例中对C类网络使用子网掩码255.255.255.192划分出的4个子网都可以使用,每个子网的网络地址和主机IP地址范围如下表所示。20因特网的互连协议IPn 上例中每个子网的网络地址和主机地址范围。21因特网的互连协议IP(5)默认网关(Default Gateway)为了使一台计算机能在TCP/IP环境中正常工作,必须提供如下地址信息:计算机的IP地址:用于标识网络中的每一台计算机;计算机所在网络的子网掩码:用于区分IP地
13、址中的网络ID和主机ID;一个默认网关的IP地址:用于将子网掩码过滤出的IP分组导向目的主机。发往同一个子网上的数据分组可以直接流向目的地,而对于那些目的地不是本地网络上的计算机的数据分组,就需要一个默认的网关,把这些分组导向另一个子网中的目标系统。22特殊的特殊的IPIP地址地址:网络地址:网络地址:主机地址部分为全主机地址部分为全“0”0”的的IPIP地址不分配给地址不分配给任何主机,任何主机,而是作为网络本身的标识。而是作为网络本身的标识。例:例:主机主机 202.198.151.136202.198.151.136所在网段的网络地址为所在网段的网络地址为202.198.151.0202
14、.198.151.0;直接广播地址:直接广播地址:主机地址为全主机地址为全“1”1”的的IPIP地址不分配给地址不分配给任何主机,用作远程网的广播地址。任何主机,用作远程网的广播地址。有限广播地址:有限广播地址:3232位为全位为全“1”1”的的IPIP地址地址(255.255.255.255)(255.255.255.255)称为局域网的广播地址称为局域网的广播地址 。23主机本身地址:主机本身地址:3232位为全位为全“0”0”的的I IP P地址地址(0.0.0.0)(0.0.0.0)称为主机本身地址;称为主机本身地址;回送地址:回送地址:127.0.0.1127.0.0.1称为称为回送
15、地址,常用回送地址,常用于本机上软件测试和本机上网络应用程序之于本机上软件测试和本机上网络应用程序之间的通信地址。间的通信地址。24.IPv4报文格式报文格式8位服务类型(TOS)16位总长度(字节数)16位标识8位生存时间(TTL)32位源IP地址32位目的IP地址选项数据116 17324位版本号4位首部长度3位标志13位片偏移8位协议标识16位首部检验和20字节25版本号版本号:目前目前IPIP协议的版本号为协议的版本号为4 4,因此也称为,因此也称为 IPv4IPv4。报头长度报头长度:报头长度指的是报头占报头长度指的是报头占32bit32bit字的数字的数量量(一般是一般是2020字
16、节字节,即即5 5行行)。服务类型服务类型:服务类型(服务类型(TOSTOS)字段包括一个)字段包括一个3 3比比特的优先权子字段。特的优先权子字段。4 4比特的比特的TOSTOS分别表示分别表示:最小最小延迟、最大吞吐量、最高可靠性和最小费用。延迟、最大吞吐量、最高可靠性和最小费用。总长度总长度:总长度字段是指整个总长度字段是指整个IPIP数据报的长度数据报的长度,以字节为单位。以字节为单位。标识字段:标识字段:标识字段唯一地标识主机发送的每一个标识字段唯一地标识主机发送的每一个数据报。通常每发送一个报文,其值自动加数据报。通常每发送一个报文,其值自动加1 1。IP数据报格式及报头中的各个字
17、段数据报格式及报头中的各个字段 26 分段标志分段标志:3:3位标志位的第一位没有使用,第二位为位标志位的第一位没有使用,第二位为DFDF位,该位被置位,该位被置1 1表示不要分段,它命令路由器不表示不要分段,它命令路由器不要将数据报分段,因为目的端不能重组分段。第要将数据报分段,因为目的端不能重组分段。第3 3位是位是MFMF位,该位被置位,该位被置1 1表示该分段后还有进一步的表示该分段后还有进一步的分段,最后一个分段分段,最后一个分段MFMF位为位为0 0。分段偏移分段偏移:分段偏移说明该分段在当前数据报的什么分段偏移说明该分段在当前数据报的什么位置。分段偏移以位置。分段偏移以8 8字节
18、为单位,这样偏移量字节为单位,这样偏移量1 1对应对应字节号字节号8 8,偏移量,偏移量2 2对应字节号对应字节号1616,依此类推。假设,依此类推。假设网络的网络的MTUMTU(最大传输单位)为(最大传输单位)为14001400字节,因此,字节,因此,路由器将把到达的一个路由器将把到达的一个40004000字节的报文分为字节的报文分为3 3段,段,第一段有第一段有14001400字节数据,分段偏移为字节数据,分段偏移为0 0;第二段有;第二段有14001400字节数据,分段偏移为字节数据,分段偏移为175175;第三段有;第三段有12001200字字节数据,分段偏移为节数据,分段偏移为350
19、350。27 生存时间生存时间:TTL:TTL字段设置了数据报可以经过的最多字段设置了数据报可以经过的最多路由器数量。经过一个路由器,它的值就减去路由器数量。经过一个路由器,它的值就减去1 1。当该字段的值为当该字段的值为0 0时,该数据报被丢弃。时,该数据报被丢弃。协议字段协议字段:IP:IP数据报的上层携带的协议。数据报的上层携带的协议。报头检查和字段报头检查和字段:报头检查和字段是根据报头检查和字段是根据IPIP报头报头计算的检查和。计算的检查和。源源IPIP地址和目的地址和目的IPIP地址地址:每个数据报都包含源每个数据报都包含源IPIP地址和目的地址和目的IPIP地址地址.任选项是数据报中一个可变长度的可选信息任选项是数据报中一个可变长度的可选信息.