TCP/IP寻址简介
2.地址的类别
如第2章中所述,逻辑地址(或第3层地址)有两个组件:网络号和主机号。处理IP地址时,该地址被断开为两个组成部分。
网络组件:定义设备位于网络中的哪个网段上;
主机组件:定义特定网段上的具体设备。
网络号唯一地标识了网络中的某个网段,而主机号唯一地标识网段上的某台设备。这两个号的组合在整个网络上必须是唯一的。TCP/IP也使用相同的两个组件实现寻址,但它添加了一个将网络号分解成5类的手法:类别A、B、C、D和E,这些类别中的每一类都有预定义的网络和主机界限。
A类地址:第一个字节是网络号(8比特),后3个字节是主机号(24比特)。 B类地址:前两个字节是网络号(16比特),后两个字节是主机号(16比特)。 C类地址:前3个字节是网络号(24比特),最后一个字节是主机号(8比特)。 D类和E类地址:用于组播,E类地址是保留地址。
考试要点
记住IP地址的5个类别,A类地址默认情况下有8个网络比特,B类有16个网络比特,C类有24个网络比特。
因为上面讨论的特征,所以IP寻址对于IPv4似乎很容易。然而,第1个比特到第5个比特的设定用于区分不同的地址类别:
A类地址总是以最高次比特中的一个"0"开始;
B类地址总是以最高次比特中的"10"开始;
C类地址总是以最高次比特中的"110"开始;
D类地址总是以最高次比特中的"1110"开始;
E类地址总是以最高次比特中的"11110"开始;
每当提到最高次比特时,这包括所有32个比特。因此,这正是地址左边的第一个比特(最高有效比特)。如果第一个8位位组包含1000001,这表示十进制的129,那么这个地址将是一个B类地址。
因为上述已指定高次比特值的这些特征,所以对于给定的地址,就很容易推算它属于哪一类网络号。
A类地址的范围是1~126:0是保留地址,表示所有IP地址;127也是保留地址,用于测试,例如一个接口上的环回。
B类地址的范围是128~191:二进制10000000~10111111。
C类地址的范围是192~223:二进制11000000~11011111。
D类地址的范围是224~239:二进制11100000~11101111。
E类地址的范围是240~254:255是保留地址,用于本地广播。
因为上述开头比特值的限制,所以很容易推算出什么地址属于什么类别了。只需查看点分十进制表示方法中的第一个数字,并查看该数字所属的范围,就可以推算出地址属于什么类别。
考试要点
A类地址的范围是从1到126B类地址从128到191C类地址从192到223,D类地址从224到239,E类地址从240到254。127是为环回接口(内部测试)保留的。此外,切记其以二进制表示的范围。记住IP地址开头的二进制值,通过查看第一个二进制字节,应该能够确定该地址是属于A类地址、B类地址、C类地址、D类地址还是E类地址。
处理IP地址时,总是为每个网络号保留两个号码:网络中第一个地址表示该网络的地址,网络中最后一个地址表示此网络的广播地址,通常称为定向广播(directed broadcast)。查看IP本身时,会发现保留的IP地址有两个:0.0.0.0(正是第一个地址)表示所有的IP地址,而255.255.255.255(正是最后一个地址)是本地广播地址(所有设备都应该处理这个数据报)。如果这让人产生混淆的话,不必担心这一点,因为第7章将深入研究IPv4寻址。
3.公有地址和私有地址
在为地址分配地址时,可以使用两种普通的地址类型:公有地址和私有地址。公有地址是A类、B类和C类地址,用于访问其他公共网络(例如因特网)中的设备。因特网号分配机构(Internet Assigned Numbers Authority,IANA)主要负责分发和管理公有地址。通常可以直接从ISP那里获得公有地址,ISP会向5个上层地址注册机构中的一个请求这些地址:
美国因特网号码注册机构(The American Registry for Internet Numbers,ARIN); 欧洲网络IP号码协调中心(Reseaux IP Europeans Network Coordination Center,RIPE NCC);
亚太因特网号码注册(Asia Pacific Registry for Internet Numbers,APNIC);
拉丁美洲及加勒比因特网地址注册(Latin American and Caribbean Internet Address Registry,LACNIC);
非洲网络信息中心(African Network Information Centre,AfriNIC)。
在A类、B类和C类地址的范围内,有一些通常称为私有地址(Private Addresses)的保留地址。A类、B类和C类地址中的所有其他地址称为公有地址(Public Addresses)。任何人都可以使用私有地址;然而,如果想要访问因特网,就会产生一个问题。记住,网络中的每台设备(在这种情况下,包括因特网)都必须拥有唯一的IP地址。如果两个网络正在使用相同的私有地址,那么就会遇到可达性问题。为了访问因特网,源IP地址必须拥有唯
一的因特网公有地址。这可以由地址转换来完成。下面是在RFC 1918中所指定的私有地址的清单。
A类:10.0.0.0~10.255.255.255(1个A类网络)。
B类:172.16.0.0~172.31.255.255(16个B类网络)。
C类:192.168.0.0~192.168.255.255(256个C类网络)。
第23章中将讨论私有地址、公有地址和地址转换。
考试要点
切记访问公共网络时必须转换的私有网络的清单:10.0.0.0、172.16.0.0~172.31.0.0和192.168.0.0~192.168.255.0。
4.DNS
使用IP地址访问目的地产生的问题之一是:作为人类,可能很难记住几十个设备地址。人们更容易记住名称,而不是点分十进制号码的清单。然而,因为网络组件是通过IP地址唯一标识的,所以需要将名称转换为地址,这正是域名系统(Domain Name System,DNS)所做的事。DNS用于将名称解析为IP地址。DNS是一个TCP/IP应用程序,其他应用程序(例如文件传输协议[FIP]应用程序)、telnet、Web浏览器和电子邮件使用它来解析用户输入实际IP地址的名称。
要使用DNS,网络组件需要定义一台DNS服务器,该服务器将处理解析过程。为了获得冗余,大多数组件(例如Windows PC)允许配置两台DNS服务器。可以手动定义DNS服务器,通过动态主机配置协议(DHCP)动态使用或获得它们。稍后讨论DHCP。
6.2 TCP/IP网际协议
网际层上有许多协议功能。如果访问IANA的网站,就会看见为网际层定义的100多种协议。这些协议中最常使用的IP,用于为其他协议传输数据。本章的这一部分将讨论一些常见协议:动态主机配置协议(DHCP)、地址解析协议(ARP)和因特网控制消息协议(Internet Control Message Protocol,ICMP)。
6.2.1 DHCP
DHCP允许设备动态获得其寻址信息。DHCP最初是在RFC 2131中定义的,在2939中获得更新,它实际上是以引导协议(Bootstrap Protocol,BOOTP)为基础的。DHCP构建于客户端/服务器模型之上,它定义了两个组件。
服务器:传送主机配置信息。
客户端:请求并获得主机配置信息。
获得寻址信息时,DHCP客户端要执行4个步骤:
(1)客户端生成一个DHCPDISCOVER本地广播,发现哪些DHCP服务器在LAN网段上。
(2)在该网段上的所有DHCP服务器都可以用DHCPOFFER单播消息回应客户端,该消息为客户端提供IP寻址信息。如果客户端同时接收来自多个服务器的消息,那么它会选择其中一台服务器(通常是最先到达的那台)。DHCPOFFER服务器消息包括以下信息:客
户端的IP地址、网段的子网掩码、默认网关的IP地址、DNS域名、DNS服务器地址、WINS服务器地址和TFTP服务器地址。注意,这是一个并不完全的列表。
(3)选择提供的服务器后,客户端用DHCPREQUEST消息回应相应的服务器,告诉该服务器它想使用此服务器发送的寻址信息。如果仅有一台服务器可用,并且该服务器的信息与客户端配置冲突,那么客户端将使用一条DHCPDECLINE消息进行响应。
(4)DHCP服务器用DHCPACK消息进行回应,这是对客户端的确认,指出服务器收到了DHCPREQUEST消息,并且客户端接受寻址信息。服务器还可以用DHCPNACK消息进行回应,告诉客户端提供的信息不再有效,并且客户端应该再次请求寻址信息。如果客户端在服务器生成DHCPOFFER消息之后才勉强用DHCPREQUEST消息作出回应,则可能发生这种情况。
考试要点
记住客户端请求寻址信息时DHCP执行的4个步骤,以及DHCPOFFER消息中可以包含的信息:IP地址、子网掩码、默认网关、DNS服务器、TFTP服务器、WINS服务器地址和一个域名。
关闭客户端时,它可生成一条DHCPRELEASE消息,告诉服务器不再需要它分配的IP地址。大多数DHCP配置都涉及一个租赁时间,指定了允许客户端使用地址的时间周期。到达这个时间限制时,客户端必须重新开始它与当前服务器之间的租赁,或者获得新的IP寻址信息。
实际应用
如果服务器没有响应客户端,则客户端的TCP/IP协议栈会基于RFC自动从B类网络范围(169.254.0.1~169.254.255.254)内挑选一个IP地址。这个过程称为自动私有IP寻址(Automatic Private IP Addressing,APIP)。但就我所知,执行APIP的只有Microsoft Windows操作系统;其他操作系统(例如Linux)如果无法获得用于网络接口卡的IP地址,就不会启用网络接口卡。
6.2.2 ARP(1)
地址解析协议(ARP)是一个网际层协议,它帮助TCP/IP网络组件寻找位于相同广播域中的其他设备。ARP在第3层上使用本地广播(255.255.255.255)来发现邻近的设备,在第2层上使用FF:FF:FF:FF:FF:FF发现邻近的设备。大致上说,您有一个想要达到的IP地址,但需要一个物理(MAC)地址将帧发送给第2层的目的地。ARP将接收站的IP地址解析为相同数据链路层介质(例如以太网)上的接收站的MAC地址。需要记住的是,对于在以太网中彼此通信的两台设备(就像大多数第2层技术一样),数据链路层使用物理地址(MAC)
区分网段上的机器。当以太网设备在数据链路层上与对方通信时,它们需要知道彼此的MAC地址。
1.单网段ARP的实例
图6-2的顶部显示了一个使用ARP的实例。在这个实例中,PC-A想将信息直接发送给PC-B。PC-A知道PC-B的IP地址(或者已经使用DNS将它解析为一个IP地址);但它不知道PC-B的以太网MAC地址。为了将IP地址解析为MAC地址,PC-A生成了一个ARP请求。在ARP数据报中,源IP地址是10.1.1.1,目的地是255.255.255.255(本地广播表示以太网网段上的所有设备)。PC-A将PC-B的IP地址包含在ARP数据报的数据字段中。这个数据报被封装在一个以太网帧中,其中带有一个值为0000.0CCC.1111(PC-A的MAC地址)的源MAC地址和一个值为FF:FF:FF:FF:FF:FF(本地广播地址)的MAC地址,并随后放置在以太网的网段上。PC-B和PC-C都发现了这个帧。这两台设备的NIC都注意到数据链路层广播地址,并假定此帧的目的是它们自己(因为目的MAC地址是一个广播),所以它们剥离该以太网帧,并将带有ARP请求的IP数据报向上传送到网际层。此外,在目的IP地址字段中有广播地址,因而这两台设备的TCP/IP协议栈都将检查其数据载荷。PC-B看到这是一个ARP,并且在查询中看到它自己的IP地址,因此用PC-B的MAC地址直接向PC-A做出回应。然而,PC-C发现这不是请求其MAC地址的ARP,并忽略此数据报。
实际应用
PC-B和PC-C都要做的一件重要事情是将PC-A的MAC地址添加到其本地ARP表中。它们这样做是因为如果其中一台设备想与PC-A通信,那么任何一台设备都不必像PC-A那样执行ARP请求。ARP表中的条目在不使用MAC地址的一段时间之后将超时。这个时间周期取决于所使用的操作系统,但用户或管理员通常可以更改此周期。此外,设备可以生成一个称为免费ARP的东西,免费ARP是一个无需相应ARP请求就可以生成的ARP应答。这通常在设备可能更改其IP地址或MAC地址并且想将此更改通知给网段上的其他所有设备时使用,这样其他设备的本地ARP表中包含的会是正确的信息。
2.双网段ARP的实例
图6-3所示的是一个更详细的应用ARP的实例。在这个实例中,PC-A想要利用IP连接到PC-B。源地址是1.1.1.1(PC-A),目的地是2.2.2.2(PC-B)。因为这两台设备位于不同的网络,所以将使用路由器在这两个网络之间进行通信。因此,如果PC-A要向PC-B发送一些信息,则必须通过中间的路由器。然而此通信过程并不发生在使用IP的网络层;而是发生在数据链路层。
6.2.2 ARP(2)
http://book.51cto.com 2009-04-01 12:36 张波/胡颖琼 人民邮电出版社 我要评论(0)
摘要:《CCNA学习指南——Cisco Certified Network Associate (Exam 640-802)(中文版)》第6
章TCP/IP和网际层,。本章将提供TCP/IP版本4(IPv4)的概述,重点介绍第3层,即网际层。本节为大家介绍ARP。
标签:
6.2.2 ARP(2)
注意,在此例中,路由器并没有改变分组中的原始IP寻址,但是两个以太网帧用于把这个IP分组发送到接收站。此外,每台设备都会将MAC地址保存在本地ARP表中,这样
代理ARP是接收站设备不在相同网段上时路由器使用自己的MAC地址响应ARP查询的一种功能。例如,在图6-4中,因为PC-C不会查看来自PC-A的本地广播ARP查询,并且路由器有一个用于指向右手网段的1.1.1.3的静态主机路由,所以路由器收到针对1.1.1.3
假设此例中使用的是以太网。PC-A将要做的第一件事是根据第3层地址确定接收站对于此子网是在本地,还是在另一个子网上(这个过程将在第7章中讨论)在这个实例中,因为是一个远程位置,所以PC-A需要知道默认网关路由器的MAC地址。如果该地址不在其本地ARP表中,则PC-A将利用ARP请求获得默认网关的MAC地址(注意,除了它自己的IP地址和子网掩码之外,在PC-A上必须做的一个配置是默认网关的地址,或者必须通过DHCP获得此信息)。如图6-3中的第1步所示。在第2步中,路由器以连接到PC-A的以太网接口的MAC地址作为回应。在第3步中,PC-A用源IP地址和目的IP地址(源地址是1.1.1.1,目的地址是2.2.2.2,即PC-B)创建了一个IP分组,并将此分组封装在一个以太网帧中,此帧包含PC-A的源MAC地址和路由器的目的MAC地址。然后PC-A将该以太网帧发送给路由器。
路由器收到以太网帧时,会将此帧与其以太网接口上的MAC地址比较,帧中的MAC地址与接口上的MAC地址是匹配的。路由器剥离此以太网帧,并基于目的地址2.2.2.2进行路由选择。在这种情况下,网络是直接与路由器的第二个接口相连的,此网络碰巧也是以太网。在第4步中,如果路由器的本地ARP表中不包含PC-B的MAC地址,则路由器将利用ARP请求获得PC-B的MAC地址(2.2.2.2),并接收第5步中的回应。然后在第6步中,路由器将这个原始IP分组封装到一个新的以太网帧中,并将发出此帧的第二个接口的MAC地址放于源MAC地址字段中,将PC-B的MAC地址放于目的字段中。在收到此帧时,根据第3层IP报头中的源IP地址,PC-B就会知道此帧的目的是它自己(与目的MAC地址匹配),并且封装的IP分组源于PC-A。
6.2.3 ICMP
ICMP用于在网际层的TCP/IP设备之间发送错误和控制信息。ICMP最初是在RFC 792中定义的,它包含设备可以生成或回应的许多不同消息。以下是这些消息的一个简单清单:地址应答、地址请求、目的不可达、回送、回送应答、信息应答、信息请求、参数问题、重定向、子网掩码请求、超时、时间戳和时间戳应答。
ICMP最为常见的应用之一是ping。Ping仅使用少数的ICMP消息,其中包括回送、回送请求和目的不可达消息。ping用于测试目的是否可用。发送站生成一个ICMP回送分组。如果目的可用,目的将以一个回送应答分组作为回应。如果中间路由器不知道如何到达目的,路由器将以一个目的不可达信息作为回应。不过,如果路由器知道如何达到目的,但目的主机不回应回送分组,那么将看到一条请求超时消息。路由跟踪(traceroute)是一个列出去往目的地途中的路由器IP地址的应用程序,它显示了分组到达目的地的路径。一些追踪应用程序使用ICMP消息,而另一些则使用UDP传输其消息。这些工具将在下一节(和
第7章)中进行深入讨论。
6.3 用于Windows PC的TCP/IP工具
可以在设备上使用各种工具来检查其IP配置,并测试到某些设备的连通性和设备之间的连通性。本书的这一部分将重点讨论基于Windows的PC上可以使用的工具:ipconfig、ping、tracert和arp。
6.3.1 ipconfig命令
实际应用
CompTIA建议使用ping来系统地测试从本地网络到远程网络或到接收站的连通性
6.3.2 Ping命令
Windows ping命令用于测试两个设备之间的第3层连通性。发送站发送一条ICMP回送消息,如果接收站是不可到达的,那么会用一条ICMP回送应答消息回应。如果接收站是不可达的,并且发送站与接收站之间有中间路由器,那么能够解决问题的最靠近的路由器将发送回一条相应的ICMP消息。如果路由器连接到与接收站相同的网段,而接收站是不可达的,那么路由器将用一条ICMP接收站主机不可达消息作为回应;否则,如果路由器没有到接收站的路由,那么它会用一条ICMP目的网络不可达消息作为回应。
考试要点
Ping使用ICMP回送消息启动测试,如果接收站不可达,则接收站会用一条回送应答消息对发送站发送的每个回送消息进行回应。Windows PC ping和tracert命令都可以测试第3层的连通性。
Windows ping命令是在CLI命令提示符下执行的。表6-5列出了可以使用该命令指定的更多常见选项。
表6-5 Windows ping命令的选项
注意,第一个回送请求消息超时,但接下来的3个成功了--这可能是因为此PC以及中间路由器必须执行ARP请求来查找下一跳第3层设备的MAC地址的缘故,这会导致时间超过2秒。在成功的回送应答中,可以看见往返发送站和接收站之间花费的时间;例如,最后一个回送请求和应答花费了20毫秒的时间来完成。
考试要点
如果第一个回送请求超时,但其余的回送请求都成功了,则第一个请求的超时可能是因为发送站和可能的中间设备在执行ARP请求。如果看到混有回送应答和目的不可达消息,就会了解您与接收站之间存在许多流量,这些流量造成返回回送应答的严重延迟,或者说您会了解到发送站与接收站之间的某个地方存在物理层问题,该问题导致发送数据失败。
6.3.3 tracert命令
在此例中,ARP表中有两个条目,这两个条目都是动态学习的。Internet Address列列出了目的设备的IP地址,Physical Address列列出了这些设备的相应MAC地址。
考试内幕
TCP/IP协议栈
为了应对考试,您应该能够对OSI参考模型与TCP/IP协议栈中的层进行比较。知道IP是不提供数据校正的无连接协议。应该熟悉各种第3层TCP/IP协议(如UDP、TCP和ICMP)使用的一些IP协议编号。
IP地址是第3层逻辑层地址。您需要知道地址的5个类别,如果提供一个特定地址,应该知道该地址属于哪个类别。可能会提供一个二进制IP地址,并询问该地址属于哪一类别;所以,要熟悉地址类别打头的比特值。不要在挑选地址时被蒙骗:包含带有数字256或更高数字的8位位组的任何答案都是无效的。还应该熟悉公司内部保留使用的RFC 1918私有地址。
TCP/IP网际协议
需要记住的是,DHCP的用途以及DHCP服务器为客户端分配的各种寻址信息。还要熟悉地址请求过程中使用的4种DHCP消息。可能会提供关于尝试与第2层和第3层上其他设备进行通信的测试场景。所以,您应该非常熟悉ARP的运作方式,以及设备彼此之间进行通信时使用的MAC地址。记住不同网段上的设备需要进行通信时,在第2层上,这些设备需要与第3层中间设备(例如路由器)进行通信,所以,可以使用路由器的MAC地址让第3层分组到达不同网段。
ICMP通常用于测试第3层的连通性。如果收到目的不可达消息,则第3层中间设备会指示到接收站的路径不存在,或者指示接收站本身是不可达。Traceroute用于确定两台设备之间的什么地方存在第3层问题。
用于Windows PC的TCP/IP工具
要熟悉对连通性进行故障排除的Windows命令,尤其是ping。要记住,ping 127.0.0.1将测试是否已经在本地设备上成功安装了TCP/IP协议栈。还要记住何时可能看到"请求超时"的不同场景:ARP、物理层问题和/或延迟问题。
认证总结
TCP/IP有4个层:应用层、传输层、网际层和网络访问层。IP作用于网际层和传输协议,例如ICMP、ARP、RARP、OSPF、EIGRP和其他协议。ICMP用于测试连通性。IP提供了尽力传输,即不带数据恢复功能的无连接数据报传送。通过分层寻址,IP可以将网络扩展到非常大的规模。
IP地址的长度为32比特,并且字节之间用句点分为4个字节。这种格式称为点分十进制。IP地址分为5类:A(1~126)、B(128~191)、C(192~223)、D(224~239)和E(240~254)。A类、B类和C类地址有两个组件:网络和主机,在网络中,这些组件的组合必须是唯一的。A类地址有1个网络字节和3个主机字节。B类地址有2个网络字节和2个主机字节。C类地址有3个网络字节和1个主机字节。私有IP地址包括网络10.0.0.0、172.16.0.0~172.31.0.0和192.168.0.0~192.168.255.0。地址127.0.0.0是为执行本地测试的设备上的环回功能保留的。为了更容易处理IP地址,可以使用名称而不是地址来访问远程设备。在此实例中,DNS会将名称解析为相应的IP地址。
7.1.1 在地址类别之间进行区分
根据前面提到的类别区分,IP寻址似乎很容易。然而,区分不同地址类别实际上是区分第一个到第五个比特被设置为什么值,如表7-1中所示。在讨论最高次比特时,包括IP地址的所有32个比特。因此,地址的类别是通过查看地址左边的第一个比特(最高有效比特)来确定的。如果第一个8位位组包含10000001(表示十进制数129),那么这将是一个B类地址。如前面提到的用指定的高次比特值进行区分,很容易判断出来特定地址属于哪类网络号。
在A类地址中,0(第一个8位位组中)是保留地址;它表示"所有"IP地址,通常用作默认路由。地址127是为环回保留的,用于本地测试。在E类地址中,255是保留地址,用作本地广播--广播域中的所有IP设备,例如网段或虚拟局域网(VLAN)。此外,记住还有3类私有地址:A类私有地址是10.0.0.0;B类私有地址范围是172.16.0.0~172.31.0.0;C类私有地址范围是192.168.0.0~192.168.255.0。如第6章所述,可以在网络中内部使用私有地址,但必须在将它们传输给公共网络(例如因特网)之前将它们转换为公有地址空间(这些将在第23章中讨论)。
7.1.2 IP地址组件
A类、B类和C类IP地址由两个组件组成:网络和主机。主机部分实际上被分解为3个子组件:网络地址、主机地址和定向广播地址。
网络号中的第一个地址称为网络地址,或线缆号(wire number)。这个地址用于将网络内其他所有网段唯一地标识为一个网段或广播域/VLAN。网络号中最后一个地址称为定向广播地址,用于表示此网段上的所有主机。定向广播地址与本地广播地址类似。其主要差别是路由器不在网段之间传播本地广播,但默认情况下它会传播定向广播。网络地址和定向广播地址之间的所有地址都称为网段的主机地址。这些中间的地址可分配给网段上的主机设备,诸如PC、服务器、路由器和交换机。
考试要点
每个网络都有两个保留地址:一个网络号(第一个地址)和一个定向广播(最后一个地址)。在这两个数值之间的所有地址都可分配给网段上的连网设备,并且这些地址都称为主机地址。
1.网络地址和定向广播地址
在处理某个网络地址时,地址主机部分中的所有主机比特位都设定为0。如果网络号中的所有主机比特位都设定为1,从而使其成为最后一个地址,那么这个地址就是定向广播地址。在地址的主机部分中,任何这两个号码之间的比特值组合都被认为是一个主机地址。
例如,192.1.1.0是一个C类地址,而且也是一个网络号。如上表所述,C类地址第一个8位位组或字节的范围是从192到223,并且网络号的长度是3个字节。所以192.1.1是其网络号。最后一个字节是主机地址。此字节为0(所有比特位都为0),正是网络中的第一个地址。所以网络地址是192.1.1.0。如果把最后8比特(主机比特)全部设定为全1(所有主机比特位),那么它的值就等于十进制的255,也就是这个网络的定向广播地址(192.1.1.255)。
2.主机地址
网络地址和定向广播地址之间的所有号码都是主机地址。在前面的实例中,对于网络192.1.1.0,0和255之间的所有号码都是主机地址:192.1.1.1~192.1.1.254。关于这个过程,需要指出的一个要点是,对于任何给定的网络号,其中都有两个地址浪费了。网络中的第一个地址是为网络号本身保留的,而最后一个地址是为网络的定向广播地址保留的。假定已经知道用于主机号的比特数,那么可以使用下列公式定义可用主机地址的数量:2H-2。在这个公式的开头,2自乘到它的H次幂,H是主机比特的数量。
例如,一个C类网络拥有一个24比特的网络号组件和一个8比特的主机号组件。因此,对于一个C类网络,在第4个8位位组中第一个地址是0,而在此8位位组中最后一个地址是255(所有8个比特位均设为1)。1~254之间的所有号码都是这个C类地址的主机地址。利用地址计算公式可以轻易地算出一个C类网络拥有254个可用主机地址:2H-2=28-2=256-2=254。对于一个B类网络,主机地址的数量是65 534:2H-2=216-2=65 536-2=65 534。而对于一个A类网络,主机地址的数量是16 777 214:2H-2=224-2=16 777 216-2=16 777 214。关于2的次幂的介绍,
7.2 子网划分(1)
7.2 子网划分(1) 最初的IP寻址方案的难题之一是:对于A类和B类网络,地址的效率是个问题。换句话说,有多少主机可物理地置于一个网段或广播域之中?甚至随着VLAN的出现,这个数量也没有显著增加。利用IP,在遇到广播问题之前,单个广播域内可安置200台~500台设备。这等于是1~2个C类网络。如果要为这个广播域分配一个B类网络,则会浪费65 000多个地址。
为了克服这个浪费问题,引入了子网划分。子网划分允许在一个网络号中利用一些高次主机比特创建更多的网络。在创建更多网络的过程中,这些额外网络中的每个网络都将会拥有更少的主机数量。这些较小的网络通常称为子网(subnet)。子网划分的一个缺点是浪费更多的地址,因为这些子网中的每个子网都拥有一个网络地址和定向广播地址。然而,子网划分的优点是可以更高效地使用每类网络的寻址。
让我们来看一个实例,一个C类网络有8个主机比特,从而可提供总计256个地址。在这256个地址中,主机设备(如PC、路由器和服务器)只能使用254个地址。假定利用最高次比特来创建更多网络,并为主机地址留下7个比特。对于此例,将会创建两个子网:21=2。在这个公式中,1是子网比特的数量。在这些子网的每个子网中有126个主机地址:27-2=126。最初,在一个C类网络中浪费的地址是两个。而现在有两个子网,总计将浪费4个地址。然而,子网划分的好处是现在已经有两个网络,而不是一个!
假设网络中有两个分别拥有100台主机的网段。可以为这些网段的每个网段分配一个单独的C类网络,但这是对地址的一种非常低效的使用方法。通过子网划分,可以更高效地使用地址。在此例中,一个C类网络(用一个子网比特来划分子网)可创建两个各有126个主机地址的子网。所以此例中浪费的地址是少量的。
TCP/IP在大多数第3层寻址方案中是独树一帜的。在处理TCP/IP地址时,每个地址实际上有3个组件:网络组件、主机组件和子网掩码。子网掩码的功能是区分网络地址、主机地址和定向广播地址。子网划分最初是在RFC 950定义的。
与IP地址类似,子网掩码的长度为32比特。在二进制中,子网掩码比特位中的1表示网络组件,而比特位中的0表示主机组件。子网掩码的限制之一是所有网络比特(1)必须是连续的,并且所有主机比特(0)也是连续的。这不但在单个8位位组内是适用的,而且适用于所有4个8位位组内的所有比特。子网掩码11110000.00001111.11111111.11111111(240.31.255.255)是无效的,因为所有的1并不是连续的。但子网掩码1111111.11111111.11111111.11111000(255.255.255.248)是有效的。
实际上,有4种方法可以用于表示子网掩码。下面是利用一个C类网络作为示范的清单。
点分十进制:192.168.1.0 255.255.255.0;
建网比特数:192.168.1.0/24;
十六进制:192.168.1.0 0xFFFFFF00;
二进制:192.168.1.0 [***********][1**********]000。
这些格式中最为常见的是点分十进制和建网比特数(上面列出的前两种)。十六进制和二进制很少使用。
考试要点
要想化为有效的子网掩码,子网掩码二进制的1和0必须是连续的。在表示子网掩码时,要对点分十进制和建网比特数这两个术语非常熟悉。
1.子网掩码值
因为子网掩码值必须使所有1连续并使所有0连续,所以表7-2给出了8位位组中子网掩码的一些有效十进制数字。
考试要点
使用表7-2中未列数值的任何子网掩码都是无效的。 对于A类网络,默认子网掩码是255.0.0.0:第一个8位位组(字节)是网络号,后3个8位位组是主机号。对于B类网络,默认子网掩码是255.255.0.0:前两个8位位组是网络号,后两个8位位组是主机号。对于C类网络,默认子网掩码是255.255.255.0:前3个8位位组是网络号,最后一个8位位组是主机号。
需要指出的一个要点是,子网掩码在没有与之关联的IP地址的情况下,其本身将失去意义。例如,大多数人一看到子网掩码255.255.255.0,就认为正在处理的是一个C类地址。然而需要记住的是,在任何类别(A类、B类和C类)地址上都可以进行子网划分。所以此掩码255.255.255.0也可用于A类和B类网络。因此,IP地址和子网掩码是共生的关系。在下面的几节中,将给出A类、B类和C类网络的有效子网掩码值
TCP/IP寻址简介
2.地址的类别
如第2章中所述,逻辑地址(或第3层地址)有两个组件:网络号和主机号。处理IP地址时,该地址被断开为两个组成部分。
网络组件:定义设备位于网络中的哪个网段上;
主机组件:定义特定网段上的具体设备。
网络号唯一地标识了网络中的某个网段,而主机号唯一地标识网段上的某台设备。这两个号的组合在整个网络上必须是唯一的。TCP/IP也使用相同的两个组件实现寻址,但它添加了一个将网络号分解成5类的手法:类别A、B、C、D和E,这些类别中的每一类都有预定义的网络和主机界限。
A类地址:第一个字节是网络号(8比特),后3个字节是主机号(24比特)。 B类地址:前两个字节是网络号(16比特),后两个字节是主机号(16比特)。 C类地址:前3个字节是网络号(24比特),最后一个字节是主机号(8比特)。 D类和E类地址:用于组播,E类地址是保留地址。
考试要点
记住IP地址的5个类别,A类地址默认情况下有8个网络比特,B类有16个网络比特,C类有24个网络比特。
因为上面讨论的特征,所以IP寻址对于IPv4似乎很容易。然而,第1个比特到第5个比特的设定用于区分不同的地址类别:
A类地址总是以最高次比特中的一个"0"开始;
B类地址总是以最高次比特中的"10"开始;
C类地址总是以最高次比特中的"110"开始;
D类地址总是以最高次比特中的"1110"开始;
E类地址总是以最高次比特中的"11110"开始;
每当提到最高次比特时,这包括所有32个比特。因此,这正是地址左边的第一个比特(最高有效比特)。如果第一个8位位组包含1000001,这表示十进制的129,那么这个地址将是一个B类地址。
因为上述已指定高次比特值的这些特征,所以对于给定的地址,就很容易推算它属于哪一类网络号。
A类地址的范围是1~126:0是保留地址,表示所有IP地址;127也是保留地址,用于测试,例如一个接口上的环回。
B类地址的范围是128~191:二进制10000000~10111111。
C类地址的范围是192~223:二进制11000000~11011111。
D类地址的范围是224~239:二进制11100000~11101111。
E类地址的范围是240~254:255是保留地址,用于本地广播。
因为上述开头比特值的限制,所以很容易推算出什么地址属于什么类别了。只需查看点分十进制表示方法中的第一个数字,并查看该数字所属的范围,就可以推算出地址属于什么类别。
考试要点
A类地址的范围是从1到126B类地址从128到191C类地址从192到223,D类地址从224到239,E类地址从240到254。127是为环回接口(内部测试)保留的。此外,切记其以二进制表示的范围。记住IP地址开头的二进制值,通过查看第一个二进制字节,应该能够确定该地址是属于A类地址、B类地址、C类地址、D类地址还是E类地址。
处理IP地址时,总是为每个网络号保留两个号码:网络中第一个地址表示该网络的地址,网络中最后一个地址表示此网络的广播地址,通常称为定向广播(directed broadcast)。查看IP本身时,会发现保留的IP地址有两个:0.0.0.0(正是第一个地址)表示所有的IP地址,而255.255.255.255(正是最后一个地址)是本地广播地址(所有设备都应该处理这个数据报)。如果这让人产生混淆的话,不必担心这一点,因为第7章将深入研究IPv4寻址。
3.公有地址和私有地址
在为地址分配地址时,可以使用两种普通的地址类型:公有地址和私有地址。公有地址是A类、B类和C类地址,用于访问其他公共网络(例如因特网)中的设备。因特网号分配机构(Internet Assigned Numbers Authority,IANA)主要负责分发和管理公有地址。通常可以直接从ISP那里获得公有地址,ISP会向5个上层地址注册机构中的一个请求这些地址:
美国因特网号码注册机构(The American Registry for Internet Numbers,ARIN); 欧洲网络IP号码协调中心(Reseaux IP Europeans Network Coordination Center,RIPE NCC);
亚太因特网号码注册(Asia Pacific Registry for Internet Numbers,APNIC);
拉丁美洲及加勒比因特网地址注册(Latin American and Caribbean Internet Address Registry,LACNIC);
非洲网络信息中心(African Network Information Centre,AfriNIC)。
在A类、B类和C类地址的范围内,有一些通常称为私有地址(Private Addresses)的保留地址。A类、B类和C类地址中的所有其他地址称为公有地址(Public Addresses)。任何人都可以使用私有地址;然而,如果想要访问因特网,就会产生一个问题。记住,网络中的每台设备(在这种情况下,包括因特网)都必须拥有唯一的IP地址。如果两个网络正在使用相同的私有地址,那么就会遇到可达性问题。为了访问因特网,源IP地址必须拥有唯
一的因特网公有地址。这可以由地址转换来完成。下面是在RFC 1918中所指定的私有地址的清单。
A类:10.0.0.0~10.255.255.255(1个A类网络)。
B类:172.16.0.0~172.31.255.255(16个B类网络)。
C类:192.168.0.0~192.168.255.255(256个C类网络)。
第23章中将讨论私有地址、公有地址和地址转换。
考试要点
切记访问公共网络时必须转换的私有网络的清单:10.0.0.0、172.16.0.0~172.31.0.0和192.168.0.0~192.168.255.0。
4.DNS
使用IP地址访问目的地产生的问题之一是:作为人类,可能很难记住几十个设备地址。人们更容易记住名称,而不是点分十进制号码的清单。然而,因为网络组件是通过IP地址唯一标识的,所以需要将名称转换为地址,这正是域名系统(Domain Name System,DNS)所做的事。DNS用于将名称解析为IP地址。DNS是一个TCP/IP应用程序,其他应用程序(例如文件传输协议[FIP]应用程序)、telnet、Web浏览器和电子邮件使用它来解析用户输入实际IP地址的名称。
要使用DNS,网络组件需要定义一台DNS服务器,该服务器将处理解析过程。为了获得冗余,大多数组件(例如Windows PC)允许配置两台DNS服务器。可以手动定义DNS服务器,通过动态主机配置协议(DHCP)动态使用或获得它们。稍后讨论DHCP。
6.2 TCP/IP网际协议
网际层上有许多协议功能。如果访问IANA的网站,就会看见为网际层定义的100多种协议。这些协议中最常使用的IP,用于为其他协议传输数据。本章的这一部分将讨论一些常见协议:动态主机配置协议(DHCP)、地址解析协议(ARP)和因特网控制消息协议(Internet Control Message Protocol,ICMP)。
6.2.1 DHCP
DHCP允许设备动态获得其寻址信息。DHCP最初是在RFC 2131中定义的,在2939中获得更新,它实际上是以引导协议(Bootstrap Protocol,BOOTP)为基础的。DHCP构建于客户端/服务器模型之上,它定义了两个组件。
服务器:传送主机配置信息。
客户端:请求并获得主机配置信息。
获得寻址信息时,DHCP客户端要执行4个步骤:
(1)客户端生成一个DHCPDISCOVER本地广播,发现哪些DHCP服务器在LAN网段上。
(2)在该网段上的所有DHCP服务器都可以用DHCPOFFER单播消息回应客户端,该消息为客户端提供IP寻址信息。如果客户端同时接收来自多个服务器的消息,那么它会选择其中一台服务器(通常是最先到达的那台)。DHCPOFFER服务器消息包括以下信息:客
户端的IP地址、网段的子网掩码、默认网关的IP地址、DNS域名、DNS服务器地址、WINS服务器地址和TFTP服务器地址。注意,这是一个并不完全的列表。
(3)选择提供的服务器后,客户端用DHCPREQUEST消息回应相应的服务器,告诉该服务器它想使用此服务器发送的寻址信息。如果仅有一台服务器可用,并且该服务器的信息与客户端配置冲突,那么客户端将使用一条DHCPDECLINE消息进行响应。
(4)DHCP服务器用DHCPACK消息进行回应,这是对客户端的确认,指出服务器收到了DHCPREQUEST消息,并且客户端接受寻址信息。服务器还可以用DHCPNACK消息进行回应,告诉客户端提供的信息不再有效,并且客户端应该再次请求寻址信息。如果客户端在服务器生成DHCPOFFER消息之后才勉强用DHCPREQUEST消息作出回应,则可能发生这种情况。
考试要点
记住客户端请求寻址信息时DHCP执行的4个步骤,以及DHCPOFFER消息中可以包含的信息:IP地址、子网掩码、默认网关、DNS服务器、TFTP服务器、WINS服务器地址和一个域名。
关闭客户端时,它可生成一条DHCPRELEASE消息,告诉服务器不再需要它分配的IP地址。大多数DHCP配置都涉及一个租赁时间,指定了允许客户端使用地址的时间周期。到达这个时间限制时,客户端必须重新开始它与当前服务器之间的租赁,或者获得新的IP寻址信息。
实际应用
如果服务器没有响应客户端,则客户端的TCP/IP协议栈会基于RFC自动从B类网络范围(169.254.0.1~169.254.255.254)内挑选一个IP地址。这个过程称为自动私有IP寻址(Automatic Private IP Addressing,APIP)。但就我所知,执行APIP的只有Microsoft Windows操作系统;其他操作系统(例如Linux)如果无法获得用于网络接口卡的IP地址,就不会启用网络接口卡。
6.2.2 ARP(1)
地址解析协议(ARP)是一个网际层协议,它帮助TCP/IP网络组件寻找位于相同广播域中的其他设备。ARP在第3层上使用本地广播(255.255.255.255)来发现邻近的设备,在第2层上使用FF:FF:FF:FF:FF:FF发现邻近的设备。大致上说,您有一个想要达到的IP地址,但需要一个物理(MAC)地址将帧发送给第2层的目的地。ARP将接收站的IP地址解析为相同数据链路层介质(例如以太网)上的接收站的MAC地址。需要记住的是,对于在以太网中彼此通信的两台设备(就像大多数第2层技术一样),数据链路层使用物理地址(MAC)
区分网段上的机器。当以太网设备在数据链路层上与对方通信时,它们需要知道彼此的MAC地址。
1.单网段ARP的实例
图6-2的顶部显示了一个使用ARP的实例。在这个实例中,PC-A想将信息直接发送给PC-B。PC-A知道PC-B的IP地址(或者已经使用DNS将它解析为一个IP地址);但它不知道PC-B的以太网MAC地址。为了将IP地址解析为MAC地址,PC-A生成了一个ARP请求。在ARP数据报中,源IP地址是10.1.1.1,目的地是255.255.255.255(本地广播表示以太网网段上的所有设备)。PC-A将PC-B的IP地址包含在ARP数据报的数据字段中。这个数据报被封装在一个以太网帧中,其中带有一个值为0000.0CCC.1111(PC-A的MAC地址)的源MAC地址和一个值为FF:FF:FF:FF:FF:FF(本地广播地址)的MAC地址,并随后放置在以太网的网段上。PC-B和PC-C都发现了这个帧。这两台设备的NIC都注意到数据链路层广播地址,并假定此帧的目的是它们自己(因为目的MAC地址是一个广播),所以它们剥离该以太网帧,并将带有ARP请求的IP数据报向上传送到网际层。此外,在目的IP地址字段中有广播地址,因而这两台设备的TCP/IP协议栈都将检查其数据载荷。PC-B看到这是一个ARP,并且在查询中看到它自己的IP地址,因此用PC-B的MAC地址直接向PC-A做出回应。然而,PC-C发现这不是请求其MAC地址的ARP,并忽略此数据报。
实际应用
PC-B和PC-C都要做的一件重要事情是将PC-A的MAC地址添加到其本地ARP表中。它们这样做是因为如果其中一台设备想与PC-A通信,那么任何一台设备都不必像PC-A那样执行ARP请求。ARP表中的条目在不使用MAC地址的一段时间之后将超时。这个时间周期取决于所使用的操作系统,但用户或管理员通常可以更改此周期。此外,设备可以生成一个称为免费ARP的东西,免费ARP是一个无需相应ARP请求就可以生成的ARP应答。这通常在设备可能更改其IP地址或MAC地址并且想将此更改通知给网段上的其他所有设备时使用,这样其他设备的本地ARP表中包含的会是正确的信息。
2.双网段ARP的实例
图6-3所示的是一个更详细的应用ARP的实例。在这个实例中,PC-A想要利用IP连接到PC-B。源地址是1.1.1.1(PC-A),目的地是2.2.2.2(PC-B)。因为这两台设备位于不同的网络,所以将使用路由器在这两个网络之间进行通信。因此,如果PC-A要向PC-B发送一些信息,则必须通过中间的路由器。然而此通信过程并不发生在使用IP的网络层;而是发生在数据链路层。
6.2.2 ARP(2)
http://book.51cto.com 2009-04-01 12:36 张波/胡颖琼 人民邮电出版社 我要评论(0)
摘要:《CCNA学习指南——Cisco Certified Network Associate (Exam 640-802)(中文版)》第6
章TCP/IP和网际层,。本章将提供TCP/IP版本4(IPv4)的概述,重点介绍第3层,即网际层。本节为大家介绍ARP。
标签:
6.2.2 ARP(2)
注意,在此例中,路由器并没有改变分组中的原始IP寻址,但是两个以太网帧用于把这个IP分组发送到接收站。此外,每台设备都会将MAC地址保存在本地ARP表中,这样
代理ARP是接收站设备不在相同网段上时路由器使用自己的MAC地址响应ARP查询的一种功能。例如,在图6-4中,因为PC-C不会查看来自PC-A的本地广播ARP查询,并且路由器有一个用于指向右手网段的1.1.1.3的静态主机路由,所以路由器收到针对1.1.1.3
假设此例中使用的是以太网。PC-A将要做的第一件事是根据第3层地址确定接收站对于此子网是在本地,还是在另一个子网上(这个过程将在第7章中讨论)在这个实例中,因为是一个远程位置,所以PC-A需要知道默认网关路由器的MAC地址。如果该地址不在其本地ARP表中,则PC-A将利用ARP请求获得默认网关的MAC地址(注意,除了它自己的IP地址和子网掩码之外,在PC-A上必须做的一个配置是默认网关的地址,或者必须通过DHCP获得此信息)。如图6-3中的第1步所示。在第2步中,路由器以连接到PC-A的以太网接口的MAC地址作为回应。在第3步中,PC-A用源IP地址和目的IP地址(源地址是1.1.1.1,目的地址是2.2.2.2,即PC-B)创建了一个IP分组,并将此分组封装在一个以太网帧中,此帧包含PC-A的源MAC地址和路由器的目的MAC地址。然后PC-A将该以太网帧发送给路由器。
路由器收到以太网帧时,会将此帧与其以太网接口上的MAC地址比较,帧中的MAC地址与接口上的MAC地址是匹配的。路由器剥离此以太网帧,并基于目的地址2.2.2.2进行路由选择。在这种情况下,网络是直接与路由器的第二个接口相连的,此网络碰巧也是以太网。在第4步中,如果路由器的本地ARP表中不包含PC-B的MAC地址,则路由器将利用ARP请求获得PC-B的MAC地址(2.2.2.2),并接收第5步中的回应。然后在第6步中,路由器将这个原始IP分组封装到一个新的以太网帧中,并将发出此帧的第二个接口的MAC地址放于源MAC地址字段中,将PC-B的MAC地址放于目的字段中。在收到此帧时,根据第3层IP报头中的源IP地址,PC-B就会知道此帧的目的是它自己(与目的MAC地址匹配),并且封装的IP分组源于PC-A。
6.2.3 ICMP
ICMP用于在网际层的TCP/IP设备之间发送错误和控制信息。ICMP最初是在RFC 792中定义的,它包含设备可以生成或回应的许多不同消息。以下是这些消息的一个简单清单:地址应答、地址请求、目的不可达、回送、回送应答、信息应答、信息请求、参数问题、重定向、子网掩码请求、超时、时间戳和时间戳应答。
ICMP最为常见的应用之一是ping。Ping仅使用少数的ICMP消息,其中包括回送、回送请求和目的不可达消息。ping用于测试目的是否可用。发送站生成一个ICMP回送分组。如果目的可用,目的将以一个回送应答分组作为回应。如果中间路由器不知道如何到达目的,路由器将以一个目的不可达信息作为回应。不过,如果路由器知道如何达到目的,但目的主机不回应回送分组,那么将看到一条请求超时消息。路由跟踪(traceroute)是一个列出去往目的地途中的路由器IP地址的应用程序,它显示了分组到达目的地的路径。一些追踪应用程序使用ICMP消息,而另一些则使用UDP传输其消息。这些工具将在下一节(和
第7章)中进行深入讨论。
6.3 用于Windows PC的TCP/IP工具
可以在设备上使用各种工具来检查其IP配置,并测试到某些设备的连通性和设备之间的连通性。本书的这一部分将重点讨论基于Windows的PC上可以使用的工具:ipconfig、ping、tracert和arp。
6.3.1 ipconfig命令
实际应用
CompTIA建议使用ping来系统地测试从本地网络到远程网络或到接收站的连通性
6.3.2 Ping命令
Windows ping命令用于测试两个设备之间的第3层连通性。发送站发送一条ICMP回送消息,如果接收站是不可到达的,那么会用一条ICMP回送应答消息回应。如果接收站是不可达的,并且发送站与接收站之间有中间路由器,那么能够解决问题的最靠近的路由器将发送回一条相应的ICMP消息。如果路由器连接到与接收站相同的网段,而接收站是不可达的,那么路由器将用一条ICMP接收站主机不可达消息作为回应;否则,如果路由器没有到接收站的路由,那么它会用一条ICMP目的网络不可达消息作为回应。
考试要点
Ping使用ICMP回送消息启动测试,如果接收站不可达,则接收站会用一条回送应答消息对发送站发送的每个回送消息进行回应。Windows PC ping和tracert命令都可以测试第3层的连通性。
Windows ping命令是在CLI命令提示符下执行的。表6-5列出了可以使用该命令指定的更多常见选项。
表6-5 Windows ping命令的选项
注意,第一个回送请求消息超时,但接下来的3个成功了--这可能是因为此PC以及中间路由器必须执行ARP请求来查找下一跳第3层设备的MAC地址的缘故,这会导致时间超过2秒。在成功的回送应答中,可以看见往返发送站和接收站之间花费的时间;例如,最后一个回送请求和应答花费了20毫秒的时间来完成。
考试要点
如果第一个回送请求超时,但其余的回送请求都成功了,则第一个请求的超时可能是因为发送站和可能的中间设备在执行ARP请求。如果看到混有回送应答和目的不可达消息,就会了解您与接收站之间存在许多流量,这些流量造成返回回送应答的严重延迟,或者说您会了解到发送站与接收站之间的某个地方存在物理层问题,该问题导致发送数据失败。
6.3.3 tracert命令
在此例中,ARP表中有两个条目,这两个条目都是动态学习的。Internet Address列列出了目的设备的IP地址,Physical Address列列出了这些设备的相应MAC地址。
考试内幕
TCP/IP协议栈
为了应对考试,您应该能够对OSI参考模型与TCP/IP协议栈中的层进行比较。知道IP是不提供数据校正的无连接协议。应该熟悉各种第3层TCP/IP协议(如UDP、TCP和ICMP)使用的一些IP协议编号。
IP地址是第3层逻辑层地址。您需要知道地址的5个类别,如果提供一个特定地址,应该知道该地址属于哪个类别。可能会提供一个二进制IP地址,并询问该地址属于哪一类别;所以,要熟悉地址类别打头的比特值。不要在挑选地址时被蒙骗:包含带有数字256或更高数字的8位位组的任何答案都是无效的。还应该熟悉公司内部保留使用的RFC 1918私有地址。
TCP/IP网际协议
需要记住的是,DHCP的用途以及DHCP服务器为客户端分配的各种寻址信息。还要熟悉地址请求过程中使用的4种DHCP消息。可能会提供关于尝试与第2层和第3层上其他设备进行通信的测试场景。所以,您应该非常熟悉ARP的运作方式,以及设备彼此之间进行通信时使用的MAC地址。记住不同网段上的设备需要进行通信时,在第2层上,这些设备需要与第3层中间设备(例如路由器)进行通信,所以,可以使用路由器的MAC地址让第3层分组到达不同网段。
ICMP通常用于测试第3层的连通性。如果收到目的不可达消息,则第3层中间设备会指示到接收站的路径不存在,或者指示接收站本身是不可达。Traceroute用于确定两台设备之间的什么地方存在第3层问题。
用于Windows PC的TCP/IP工具
要熟悉对连通性进行故障排除的Windows命令,尤其是ping。要记住,ping 127.0.0.1将测试是否已经在本地设备上成功安装了TCP/IP协议栈。还要记住何时可能看到"请求超时"的不同场景:ARP、物理层问题和/或延迟问题。
认证总结
TCP/IP有4个层:应用层、传输层、网际层和网络访问层。IP作用于网际层和传输协议,例如ICMP、ARP、RARP、OSPF、EIGRP和其他协议。ICMP用于测试连通性。IP提供了尽力传输,即不带数据恢复功能的无连接数据报传送。通过分层寻址,IP可以将网络扩展到非常大的规模。
IP地址的长度为32比特,并且字节之间用句点分为4个字节。这种格式称为点分十进制。IP地址分为5类:A(1~126)、B(128~191)、C(192~223)、D(224~239)和E(240~254)。A类、B类和C类地址有两个组件:网络和主机,在网络中,这些组件的组合必须是唯一的。A类地址有1个网络字节和3个主机字节。B类地址有2个网络字节和2个主机字节。C类地址有3个网络字节和1个主机字节。私有IP地址包括网络10.0.0.0、172.16.0.0~172.31.0.0和192.168.0.0~192.168.255.0。地址127.0.0.0是为执行本地测试的设备上的环回功能保留的。为了更容易处理IP地址,可以使用名称而不是地址来访问远程设备。在此实例中,DNS会将名称解析为相应的IP地址。
7.1.1 在地址类别之间进行区分
根据前面提到的类别区分,IP寻址似乎很容易。然而,区分不同地址类别实际上是区分第一个到第五个比特被设置为什么值,如表7-1中所示。在讨论最高次比特时,包括IP地址的所有32个比特。因此,地址的类别是通过查看地址左边的第一个比特(最高有效比特)来确定的。如果第一个8位位组包含10000001(表示十进制数129),那么这将是一个B类地址。如前面提到的用指定的高次比特值进行区分,很容易判断出来特定地址属于哪类网络号。
在A类地址中,0(第一个8位位组中)是保留地址;它表示"所有"IP地址,通常用作默认路由。地址127是为环回保留的,用于本地测试。在E类地址中,255是保留地址,用作本地广播--广播域中的所有IP设备,例如网段或虚拟局域网(VLAN)。此外,记住还有3类私有地址:A类私有地址是10.0.0.0;B类私有地址范围是172.16.0.0~172.31.0.0;C类私有地址范围是192.168.0.0~192.168.255.0。如第6章所述,可以在网络中内部使用私有地址,但必须在将它们传输给公共网络(例如因特网)之前将它们转换为公有地址空间(这些将在第23章中讨论)。
7.1.2 IP地址组件
A类、B类和C类IP地址由两个组件组成:网络和主机。主机部分实际上被分解为3个子组件:网络地址、主机地址和定向广播地址。
网络号中的第一个地址称为网络地址,或线缆号(wire number)。这个地址用于将网络内其他所有网段唯一地标识为一个网段或广播域/VLAN。网络号中最后一个地址称为定向广播地址,用于表示此网段上的所有主机。定向广播地址与本地广播地址类似。其主要差别是路由器不在网段之间传播本地广播,但默认情况下它会传播定向广播。网络地址和定向广播地址之间的所有地址都称为网段的主机地址。这些中间的地址可分配给网段上的主机设备,诸如PC、服务器、路由器和交换机。
考试要点
每个网络都有两个保留地址:一个网络号(第一个地址)和一个定向广播(最后一个地址)。在这两个数值之间的所有地址都可分配给网段上的连网设备,并且这些地址都称为主机地址。
1.网络地址和定向广播地址
在处理某个网络地址时,地址主机部分中的所有主机比特位都设定为0。如果网络号中的所有主机比特位都设定为1,从而使其成为最后一个地址,那么这个地址就是定向广播地址。在地址的主机部分中,任何这两个号码之间的比特值组合都被认为是一个主机地址。
例如,192.1.1.0是一个C类地址,而且也是一个网络号。如上表所述,C类地址第一个8位位组或字节的范围是从192到223,并且网络号的长度是3个字节。所以192.1.1是其网络号。最后一个字节是主机地址。此字节为0(所有比特位都为0),正是网络中的第一个地址。所以网络地址是192.1.1.0。如果把最后8比特(主机比特)全部设定为全1(所有主机比特位),那么它的值就等于十进制的255,也就是这个网络的定向广播地址(192.1.1.255)。
2.主机地址
网络地址和定向广播地址之间的所有号码都是主机地址。在前面的实例中,对于网络192.1.1.0,0和255之间的所有号码都是主机地址:192.1.1.1~192.1.1.254。关于这个过程,需要指出的一个要点是,对于任何给定的网络号,其中都有两个地址浪费了。网络中的第一个地址是为网络号本身保留的,而最后一个地址是为网络的定向广播地址保留的。假定已经知道用于主机号的比特数,那么可以使用下列公式定义可用主机地址的数量:2H-2。在这个公式的开头,2自乘到它的H次幂,H是主机比特的数量。
例如,一个C类网络拥有一个24比特的网络号组件和一个8比特的主机号组件。因此,对于一个C类网络,在第4个8位位组中第一个地址是0,而在此8位位组中最后一个地址是255(所有8个比特位均设为1)。1~254之间的所有号码都是这个C类地址的主机地址。利用地址计算公式可以轻易地算出一个C类网络拥有254个可用主机地址:2H-2=28-2=256-2=254。对于一个B类网络,主机地址的数量是65 534:2H-2=216-2=65 536-2=65 534。而对于一个A类网络,主机地址的数量是16 777 214:2H-2=224-2=16 777 216-2=16 777 214。关于2的次幂的介绍,
7.2 子网划分(1)
7.2 子网划分(1) 最初的IP寻址方案的难题之一是:对于A类和B类网络,地址的效率是个问题。换句话说,有多少主机可物理地置于一个网段或广播域之中?甚至随着VLAN的出现,这个数量也没有显著增加。利用IP,在遇到广播问题之前,单个广播域内可安置200台~500台设备。这等于是1~2个C类网络。如果要为这个广播域分配一个B类网络,则会浪费65 000多个地址。
为了克服这个浪费问题,引入了子网划分。子网划分允许在一个网络号中利用一些高次主机比特创建更多的网络。在创建更多网络的过程中,这些额外网络中的每个网络都将会拥有更少的主机数量。这些较小的网络通常称为子网(subnet)。子网划分的一个缺点是浪费更多的地址,因为这些子网中的每个子网都拥有一个网络地址和定向广播地址。然而,子网划分的优点是可以更高效地使用每类网络的寻址。
让我们来看一个实例,一个C类网络有8个主机比特,从而可提供总计256个地址。在这256个地址中,主机设备(如PC、路由器和服务器)只能使用254个地址。假定利用最高次比特来创建更多网络,并为主机地址留下7个比特。对于此例,将会创建两个子网:21=2。在这个公式中,1是子网比特的数量。在这些子网的每个子网中有126个主机地址:27-2=126。最初,在一个C类网络中浪费的地址是两个。而现在有两个子网,总计将浪费4个地址。然而,子网划分的好处是现在已经有两个网络,而不是一个!
假设网络中有两个分别拥有100台主机的网段。可以为这些网段的每个网段分配一个单独的C类网络,但这是对地址的一种非常低效的使用方法。通过子网划分,可以更高效地使用地址。在此例中,一个C类网络(用一个子网比特来划分子网)可创建两个各有126个主机地址的子网。所以此例中浪费的地址是少量的。
TCP/IP在大多数第3层寻址方案中是独树一帜的。在处理TCP/IP地址时,每个地址实际上有3个组件:网络组件、主机组件和子网掩码。子网掩码的功能是区分网络地址、主机地址和定向广播地址。子网划分最初是在RFC 950定义的。
与IP地址类似,子网掩码的长度为32比特。在二进制中,子网掩码比特位中的1表示网络组件,而比特位中的0表示主机组件。子网掩码的限制之一是所有网络比特(1)必须是连续的,并且所有主机比特(0)也是连续的。这不但在单个8位位组内是适用的,而且适用于所有4个8位位组内的所有比特。子网掩码11110000.00001111.11111111.11111111(240.31.255.255)是无效的,因为所有的1并不是连续的。但子网掩码1111111.11111111.11111111.11111000(255.255.255.248)是有效的。
实际上,有4种方法可以用于表示子网掩码。下面是利用一个C类网络作为示范的清单。
点分十进制:192.168.1.0 255.255.255.0;
建网比特数:192.168.1.0/24;
十六进制:192.168.1.0 0xFFFFFF00;
二进制:192.168.1.0 [***********][1**********]000。
这些格式中最为常见的是点分十进制和建网比特数(上面列出的前两种)。十六进制和二进制很少使用。
考试要点
要想化为有效的子网掩码,子网掩码二进制的1和0必须是连续的。在表示子网掩码时,要对点分十进制和建网比特数这两个术语非常熟悉。
1.子网掩码值
因为子网掩码值必须使所有1连续并使所有0连续,所以表7-2给出了8位位组中子网掩码的一些有效十进制数字。
考试要点
使用表7-2中未列数值的任何子网掩码都是无效的。 对于A类网络,默认子网掩码是255.0.0.0:第一个8位位组(字节)是网络号,后3个8位位组是主机号。对于B类网络,默认子网掩码是255.255.0.0:前两个8位位组是网络号,后两个8位位组是主机号。对于C类网络,默认子网掩码是255.255.255.0:前3个8位位组是网络号,最后一个8位位组是主机号。
需要指出的一个要点是,子网掩码在没有与之关联的IP地址的情况下,其本身将失去意义。例如,大多数人一看到子网掩码255.255.255.0,就认为正在处理的是一个C类地址。然而需要记住的是,在任何类别(A类、B类和C类)地址上都可以进行子网划分。所以此掩码255.255.255.0也可用于A类和B类网络。因此,IP地址和子网掩码是共生的关系。在下面的几节中,将给出A类、B类和C类网络的有效子网掩码值