网络互连技术教程第 4章 网络互连协议 —— IP
网络互连技术教程
4.1 基本概念
4.2 IP数据格式
4.3 IP地址
4.4 特殊地址
4.5 地址与接口
4.6 IP路由
4.7 几个常用命令
4.8 简单网络示例网络互连技术教程
4.1 基本概念
4.2 IP数据格式
4.2.1 数据报物理网络和 TCP/IP互联网之间有很强的相似性 。 在一个物理网络上,传送的单元是一个包含报头和数据的帧,报头给出了诸如 ( 物理 ) 源网点和目的网点的地址 。 互联网则把它的基本传输单元叫做一个 Internet数据报 ( datagram),有时称为 IP
数据报或仅称为数据报 。 像一个典型的物理网络帧一样,数据报被分成报头 ( 或叫首部 ) 和数据区 。 而且,数据报报头也包含了源地址和目的地址以及一个表示数据报内容的类型字段 。
图 4-1显示了一个数据报的一般格式 。
数据报报头 数据报的数据区图 4-1 数据报的一般格式网络互连技术教程
4.2.2 IP报头我们描述了 IP数据报的一般形式,现在具体看一下数据报报头和数据区的细节 。 图 4-2显示了数据报的具体格式 。 除非含有选项字段,否则普通的 IP报头长为 20个字节 。
网络互连技术教程
4 位版本 4 位报头长度 8 位服务类型( T O S ) 16 位总长度(字节数)
16 位标识符 3 位标志 13 位分片偏移量
8 位生存时间( TTL ) 8 位协议 16 位报头校验和
32 位源 IP 地址
32 位目的 IP 地址
IP 选项(若有) 填充数据
……
0 4 8 16 19 24 31
图 4-2 IP数据报格式网络互连技术教程图 4-2中,最高位在左边,记为 0 bit;最低位在右边,记为
31 bit。 其中各字段值的含义如下:
IP数据报中的第一个域为版本域,长度为 4 bit,表示与数据报对应的 IP协议版本号 。 版本号规定了数据报的格式,不同的 IP协议版本,其数据报格式有所不同 。 当前 IP协议版本号为
,4”即 IP数据报采用的版本为 IPv4。 所有 IP软件在处理数据报之前都必须检查版本号,以确保版本正确 。
网络互连技术教程
4.2.3 优先级和服务类型服务类型规定对本数据报的处理方式 。 该域长度为一个字节,划分为五个子域,其结构如图 4-3所示 。
优先权 D T R 未用
0 3 4 5 6 7
图 4-3 服务类型结构网络互连技术教程其中,3 bit的优先级字段指明本数据报的优先级,允许发送方表示本数据报的重要程度 。 优先级的值从 0到 7,
,0”表示一般优先权,,7”表示网络控制优先权 。 服务类型提供了一种手段,以允许控制信息享受比一般数据更高的优先级 。
网络互连技术教程
D,T,R三位表示本数据所希望的传输类型。其中,D
代表低延迟( Delay),T代表高吞吐量( Throughput),R
代表高可靠性( Reliability)。当然,上述三位只是用户的请求,不具有强制性。假如路由器知道去往目的网点有若干条路径,则可以选择使用最能满足要求的一条。如果找不到合适的路径,则完全可以忽视这些请求。例如,假设有两条路径,一条低容量租用线,一条高带宽卫星通道,
则对于 D位的远程终端数据可选择前者,对于 T位的大文件数据可采用后者。
网络互连技术教程一条网络路径的性能往往取决于它所依赖的底层物理技术。每种物理网络技术都有 D,T,R等特点。
一般情况下,某种技术总是各种性能折衷的产物。事实上,没有 D,T,R三种性能俱佳的路径,往往是此强彼弱。因此,用户在传输请求时,可以制定自己最希望满足的性能,三者同时指定是没有任何意义的。
网络互连技术教程
4.2.4 分片问题数据报在数据链路层中被封装在数据帧内,通过帧的传输来实现数据报的传输 。 在传输过程中,中间节点从帧中的数据区提取数据报,丢掉帧的头部,然后采用下一个物理网络的帧格式进行封装,又传给下一个节点,直至目的地 。 数据报的封装示意如图 4-4所示 。
数据报头 数据报数据区帧头 帧数据区图 4-4 数据报的封装网络互连技术教程不同的物理网络技术,对帧的大小有不同的规定 。
MTU( Maximum Transmission Unit) 是指一个特定的网络所允许的物理帧的最大数据长度,叫做最大数据传输单元 。 当路由器收到一个大于其要转发的网络的 MTU的数据报时,路由器必须将这个数据报分成可通过该网络的数据报片,这就是 IP数据报的分片问题 。
网络互连技术教程分片的方法及片的格式如图 4-5所示 。 该图说明报头长为 20
个字节,数据区长 1400个字节的数据报在 MTU为 620字节的物理网络中分片的情况 。
数据报报头 数据 1 ( 600 字节) 数据 2 ( 600 字节) 数据 3 ( 200 字节)
( a )数据区大小为 1400 字节的初始数据报分片 1 (偏移量 0 字节)
分片 2 (偏移量 600 字节)
分片 3 (偏移量 1200 字节)
( b )在 M TL1=6 20 字节的网络上的三个分片分片 1 报头 数据 1
分片 2 报头 数据 2
分片 3 报头 数据 3
图 4-5 分片方法与片格式网络互连技术教程三位的 IP数据报标志域只有低两位有效,如图 4-6所示 。
图 4-6 标志域各位意义标志位 意义
2
1
0
未用不分片片未完网络互连技术教程
4.2.5 选项
IP数据报选项字段是任选的,长度不定,主要用于网络控制和测试 。 作为 IP协议的组成部分,在所有 IP协议的具体实现方案中,对于选项的处理都是必不可少的 。 但作为数据报中的选项,IP选项字段是可选的 。
IP选项一共有四类,其中两类 ( 1类和 3类 ) 是未使用的,
另两类 ( 0类和 2类 ) 是被使用的,如图 4-7所示 。 每一类又分若干选项号,其中 0类中有 6个选项号是在用的,2类中有一个选项号在用 。 也就是说数据报选项域一共有 7个选项可选,如图 4-8所示 。
网络互连技术教程选项类 意义
0
1
2
3
数据报或网络控制未用调试与测量未用图 4-7 IP数据报选项类网络互连技术教程选项类 选项号 长度(字节) 意义
0
0
0
0
0
0
2
0
1
2
3
7
9
4
--
--
11
可变可变可变可变选项表结束(标志数据报报头任选项域的结束)
无操作(作为填充数据,用于在任选项域中排列字节)
安全和处理限制(用于军事领域)
宽松的源站选路(为数据报指定一系列必须经过的 IP
地址,也可经过其他地址)
记录路径(记录所经过的路由器的 IP 地址)
严格的源站选路(与宽松的源站选路类似,但是要求只能经过指定的这些地址,不能经过其他的地址)
时间戳 (记录所经过的路由 器的 IP 地址和相应时间)
图 4-8 IP数据报可用的选项号网络互连技术教程这些选项很少被使用,并非所有的主机和路由器都支持这些选项 。
各选项由选项码,长度和选项数据三部分组成 。 其中前两部分各占一个字节,选项数据部分的长度由,长度
” 字段决定 。 而选项码由拷贝,选项类和选项号组成,
如图 4-9所示 。 其中,拷贝,标志占一位,用于分片时对本选项的处理 。 该,拷贝,标志字段置为 1时,将本选项拷入各个分片中;该位复位时,仅将本选项拷入第一个分片中 。,选项类,和,选项号,用于确定该选项的具体内容,,类,根据选项的目的划分,,号,则是同一类中的进一步细化 。
网络互连技术教程拷贝 选项类 选项号
0 1 2 3 4 5 6 7
图 4-9 一个字节的选项代码分成长度为 1,2和 5 bit的三个字段网络互连技术教程
4.3 IP地址
4.3.1 IP地址格式与分类
IP地址由两部分组成,即网络号 ( NetworkID) 和主机号
( HostID) 。 网络号标识的是 Internet上的一个网络,而主机号标识的是网络中的某台主机 。 如图 4-10 所示,IP 地址
11000011.01101011.00000011.00011000的前 24位表示网络号,
后 8位表示主机号 。
网络互连技术教程
1 1 000011,01101011,00000011,00011000
网络号 主机号图 4-10 IP地址的网络号、主机号划分网络互连技术教程
4.3.2 点分十进制记法
4.3.3 IP地址的分类
IP地址根据网络号和主机号的数量分为 A,B,C三类 。
A类 IP地址:用第一个字节来标识网络号,后三个字节标识主机号 。 该类 IP地址的最前面一位为,0”,即 A类地址的网络号取值介于 1~ 126之间 。 A类地址通常为大型网络而提供,
全世界总共只有 126个 A类网络,每个 A类网络最多可以连接
16777214台主机 。 网络号为 0和 127的网络为特殊网络地址 。 我们将在 4.4中详细介绍 。
网络互连技术教程
B类 IP地址:用前两个字节来标识网络号,后两个字节标识主机号,该类 IP地址的最前面两位是,10”。 B类地址的网络号第一段取值介于 128~ 191之间,适用于中等规模的网络,全世界大约有 16000个 B类网络,每个 B类网络最多可以连接 65534台主机。
C类 IP地址:用前三个字节来标识网络号,最后一个字节标识主机号,前面三位是,110”。 C类地址的网络号第一段取值介于 192~ 223之间。 C类地址适用于小型网络,
每个 C类网络最多可以有 254台主机。
网络互连技术教程
D类地址是多播地址,被用于多路广播组用户,
高四位总被置为 1110,余下的位用于标明主机所属的组。详细内容请参见 4.4.3。
E类地址保留在今后使用。
我们在图 4-11中对不同网络类型 IP地址的划分进行了总结。
网络互连技术教程
A 类
B 类
C 类
D 类
E 类
0 网络号 主机号
10 网络号 主机号
110 网络号 主机号
1110 组播地址
11110 保留为今后使用
0 7 8 16 24 31
0 15 16 3 1
0 23 2 4 31
图 4-11 IP地址的五种类型网络互连技术教程图 4-12分别表示了在各类网络中有效主机 IP地址的范围 。
网络类型 第一个字节前四位本类网络中有效主机的起始 IP 地址本类网络中有效主机的结束 IP 地址
A 类 0xxx 1.0.0.1 126.255.255.254
B 类 10xx 128.0.0.1 191.255.255.254
C 类 110x 192.0.0.1 223.255.255.254
D 类 1110 224.0.0.1 239.255.255.254
E 类 1111 240.0.0.1 255.255.255.254
图 4-12 IP地址的使用范围网络互连技术教程
4.4 特殊地址
4.4.1 网络地址
4.4.2 广播地址
4.4.3 组播地址根据 Internet NIC关于 IP地址的规定,IP地址共分为 A,B、
C,D,E等类,其中 A,B,C等 3类为普通 IP地址,E类地址保留为将来使用,D类地址即为组播地址,其网络号为固定的 1110( 第 0~3位 ),第 4~31位定义了某一特殊的组播地址,
范围为 224.0.0.0~239.255.255.255,共有约 27亿个地址 。 如图 4-13所示 。
网络互连技术教程
1 1 1 1 组标识符
0 1 2 3 4 3 1
图 4-13 组播地址格式
4.4.4 回送地址网络互连技术教程
4.5 地址与接口
4.5.1 接口的概念每个网络的接入是由一个接口担任的,每个接口有一个物理连接和一个惟一的地址,通过此接口实现网络之间的通信 。 如图 4-14所示 。
图 4-14 网络的物理连接和 IP地址网络互连技术教程
4.5.2 路由器
4.5.3 多穴主机一般情况下,普通主机只有一个网卡并配置一个 IP地址 。 当需要增加某主机的网络流量时,我们为此主机设置两个或两个以上的网卡,并相应配置多个 IP地址,如图 4-15(
a) 所示 。 并且,有时我们需要一台主机连接两个或两个以上的网络,这时也需要为此主机配置两个以上的网卡及 IP地址,如图 4-15( b) 所示 。 此主机和路由器是不同的,它虽然连接多个网络,但没有路由功能 。
这种拥有两个或两个以上的物理连接的主机叫做多穴主机,多穴主机要求多个 IP地址,每一地址对应一个物理连接 。
网络互连技术教程图 4-15 多穴主机网络互连技术教程
4.6 IP路由
4.6.1 路由工作机制
4.6.2 路由表路由信息一般被保存在路由表中,其中每一表项都包含一个网络地址和下一个路由器的地址等信息 。 这样就可以通过网络上每一台路由器之间形成的连续关系,为数据传送提供最终的最佳完整路径 。
请看下面的例子,主机 A所在的网络如图 4-16所示 。
网络互连技术教程图 4-16 主机 A所在的网络网络互连技术教程主机 A 将 所 有 目 的 地 为 网 络 201.66.37.0 内 主 机
(201.66.37.1-201.66.37.254) 的数据通过接口 eth0(IP地址为
201.66.37.74)发送,所有目的地为网络 201.66.39.0内主机的数据通过接口 eth1(IP地址为 201.66.39.21)发送 。 标志 U表示该路由状态为,up”( 即激活状态 ) 。 如图 4-17所示 。 对于直接连接的网络,一些软件并不像上例中一样给出接口的 IP
地址,而只列出接口 。
网络互连技术教程目的 子网掩码 网关 标志 接口
201.66.37.0 255.255.255.0 201.66.37.74 U eth0
201.66.39.0 255.255.255.0 201.66.39.21 U eth1
图 4-17 主机 A的路由表网络互连技术教程此例只涉及了直接连接的主机,那么目的主机在远程网络中如何呢? 如果你通过 IP地址为 201.66.37.254的网关连接到网络 73.0.0.0,那么你可以在路由表中增加这样一项 。 如图 4-
18所示 。
目的 子网掩码 网关 标志 接口
73.0.0.0 255.0.0.0 201.66.37.254 UG eth0
图 4-18 主机 A的路由表中的一项网络互连技术教程此项告诉主机所有目的地为网络 73.0.0.0内主机的分组通过 201.66.37.254路由过去 。 标志 G(gateway)表示此项把分组导向外部网关 。 类似的,也可以定义通过网关到达特定主机的路由,增加标志 H(host),如图 4-19所示 。
目的 子网掩码 网关 标志 接口
91.32.74.21 255.255.255.255 201.66.37.254 UGH eth0
图 4-19 主机 A的路由表中的一项网络互连技术教程下面是路由表中最基本的表项,如图 4-20所示 。
目的 子网掩码 网关 标志 接口
127.0.0.1 255.255.255.255 127.0.0.1 UH lo0
D efault 0.0.0.0 201.66.37.254 UG eth1
图 4-20 主机 A的路由表中的两项网络互连技术教程第一项是 loopback接口,用于主机给自己发送数据,通常用于测试和运行于 IP之上但需要本地通信的应用,这是到特定地址 127.0.0.1的主机路由 。 第二项是缺省路由,它指出主机所使用的缺省网关的地址 。 如果在路由表中没有与目的地址相匹配的项,该分组就被送到缺省网关 。
此时,我们已建立的路由表,已有了 6个表项,如图 4-21
所示。
网络互连技术教程目的 子网掩码 网关 标志 接口
127.0.0.1 255.255.255.255 127.0.0.1 UH lo0
201.66.37.0 255.255.255.0 201.66.37.74 U eth0
201.66.39.0 255.255.255.0 201.66.39.21 U eth1
default 0.0.0.0 201.66.39.254 UG eth1
73.0.0.0 255.0.0.0 201.66.37.254 UG eth0
91.32.74.21 255.255,255.255 201.66.37.254 UGH eth0
图 4-21 主机 A的路由表网络互连技术教程这些表项分别是怎么得到的呢? 第一个是当路由表初始化时由路由软件加入的,第二,三个是当网卡绑定 IP地址时自动创建的,其余三个必须手动加入 。 在 UNIX系统中,这是通过
route命令来做的,可以由用户手工执行,也可以通过 rc脚本在启动时执行 。 上述方法涉及的是静态路由,通常在启动时创建,
并且没有手工干预的话将不再改变 。
4.6.3 掩码网络互连技术教程
4.7 几个常用命令
4.7.1 连通测试
ping命令是 IP协议中 ICMP的连通测试诊断工具 。 Ping命令常被用来测试主机间是否连通,使用 Ping命令测试与某台主机是否连通被称为 Ping某台主机 。 ping可以用来检查远程机器的网络可达情况,通过向远程机器发送 ICMP消息,系统可以获知是否能到达远程机器 。 例如要查看能否到达 IP地址为 202.96.44.45
的主机,则可执行:
ping 202,96.44.45
如果成功到达远程主机,则返回如图 4-22所示的结果 。
网络互连技术教程图 4-22 成功到达远程主机的 Ping命令结果网络互连技术教程如果 ping 一台 IP地址为 202.106.184.200的主机不成功,则结果如图 4-23所示。
图 4-23 不成功到达远程主机的 ping命令结果网络互连技术教程还有一种使用 ping的方法是 ping局域网的广播地址,在这种情况下,局域网上的所有主机都会有反应,我们可以通过这种方式获取局域网 10.10.8.0内部所有机器的 IP地址 。 例如:
[root@lee /root]# ping -b 10.10.8.255
4.7.2 查看接口配置网络互连技术教程
4.8 简单网络示例
4.8.1 基本任务
4.8.2 方案选择我们需要为每台计算机配置确定的 IP地址 。 一台主机作为服务器,其他主机作为客户机,各台计算机之间用 Hub或
Switch连接 。
作为服务器的主机采用 Windows 2000 Server操作系统,
客户机采用 Windows 2000 Professional操作系统 。 当然我们也可以选择其他操作系统,如 Linux等 。 网络安装与配置示意图如图 4-24所示 。
网络互连技术教程图 4-24 简单的网络示例