tcpip基础

2026/1/27 10:14:46

. 如果目的IP地址是140.252.1.22,那么B类网络号还是一样的(140.252),而且子网号也是一样的(1),但是主机号是不同的。

. 如果目的IP地址是192.43.235.6(一个C类地址),那么网络号是不同的,因而进一步的比较就不用再进行了。 图3.8 使用子网掩码的两个B类地址之间的比较

给定两个IP地址和子网掩码后,IP路由选择功能一直进行这样的比较。 3.6 特殊情况的IP地址

经过子网划分的描述,我们现在介绍7个特殊的IP地址,如图3.9所示。在这个图中,0表示所有的比特位全为0,-1表示所有的比特位全为1,netid, subnetid, 和hostid分别表示不为全0或全1的对应字段。子网号栏为空表示该地址没有进行子网划分。

(以下是图3.9的译文) IP地址 可以为 描述 网络号 子网号 主机号 源端? 目的端? 0 0 OK 不可能

网络上的主机(参见下面的限制) 0 hostid OK 不可能

网络上的特定主机(参见下面的限制) 127 任何值 OK OK

环回地址(2.7节) -1 -1 不可能

OK

受限的广播(永远不被转发) netid -1 不可能 OK

以网络为目标向netid广播 netid subnetid -1 不可能 OK

以子网为目标向netid, subnetid广播 netid -1 -1 不可能 OK

以所有子网为目标向netid广播 图3.9 特殊情况的IP地址

我们把这个表分成三个部分。表的头两项是特殊的源地址,中间项是特殊的环回地址,最后四项是广播地址。 表中的头两项,网络号为0,只能作为初始化过程中的源地址出现,如主机使用BOOTP协议确定本机IP地址时。 在12.2节中,我们将进一步分析四类广播地址。 3.7 一个子网的例子

这个例子是本文中采用的子网,以及如何使用两个不同的子网掩码。具体安排如图3.10所示。 图3.10 作者所在子网中的主机和网络安排

如果把该图与封二中的图相比,你会发现我们在图3.10中省略了从路由器sun到上面的以太网之间的连接细节,实际上它们之间的连接是拔号SLIP。这个细节不影响我们本节中讨论的子网划分问题。我们在4.6节讨论ARP代理时将再回头讨论到这个细节。

问题是我们在子网13中有两个分离的网络:一个以太网和一个点对点链路(硬件连接的SLIP链路)。(点对点链接始终会带来问题,因为它一般在两端都需要IP地址。)将来或许会有更多的主机和网络,但是为了不让主机跨越不同的网络就得使用不同的子网号。我们的解决方法是把子网号从8 bit扩充到11 bit,把主机号从8 bit减为5 bit。这就叫作变长子网,因为140.252网络中的大多数子网都采用8 bit子网掩码,而我们的子网却采用11 bit的子网掩码。 (下面是原书p.46①的译文)

RFC 1009[Braden and Postel 1987]允许一个含有子网的网络使用多个子网掩码。新的路由器需求RFC[Almquist 1993]则要求支持这一功能。

但是,问题在于并不是所有的路由选择协议在交换目的网络时也交换子网掩码。在第10章中,我们将看到RIP不支持变长子网,RIP 2版和OSPF则支持变长子网。在我们的例子中不存在这种问题,因为在我的子网中不要求使用RIP协议。

作者子网中的IP地址结构如图3.11所示,11位子网号中的前8 bit始终是13。在剩下的3 bit中,我们用二进制001表示以太网,010表示点对点SLIP链路。这个变长子网掩码在140.252网络中不会给其它主机和路由器带来问题――只要目的是子网140.252.13的所有数据报都传给路由器sun(IP地址是140.252.1.29),如图3.11所示,而如果sun知道子网13中的主机有11 bit子网号,那么一切都好办了。 图3.11 变长子网

140.252.13子网中的所有接口的子网掩码是255.255.255.224,或0xffffffe0。这表明最右边的5 bit留给主机号,左边的27 bit留给网络号和子网号。

图3.10中所有接口的IP地址和子网掩码的分配情况如图3.12所示。 图3.12 作者子网的IP地址

第一栏标为是“主机”,但是sun和bsdi也具有路由器的功能,因为它们是多接口的,可以把分组数据从一个接口转发到另一个接口。

这个表中的最后一行是图3.10中的广播地址140.252.13.63:它是根据以太网子网号(140.252.13.32)和图3.11中的低5位置1(16+8+4+2+1=31)得来的。(我们在第12章中将看到,这个地址被称作以子网为目标的广播地址(subnet-directed broadcast address)。) 3.8 ifconfig命令

到目前为止,我们已经讨论了链路层和IP层,现在可以介绍TCP/IP对网络接口进行配置和查询的命令了。ifconfig(8)命令一般在引导时运行,以配置主机上的每个接口。

由于拔号接口可能会经常接通和挂断(如SLIP链路),每次线路接通和挂断时ifconfig都必须(以某种方法)运行。这个过程如何完成取决于使用的SLIP软件。

下面是作者子网接口的有关参数。请把它们与图3.12的值进行比较。 (见原书p.48的①)

环回接口(2.7节)被认为是一个网络接口。它是一个A类地址,没有进行子网划分。

需要注意的是以太网没有采用尾部封装(2.3节),而且可以进行广播,而SLIP链路是一个点对点的链接。

SLIP接口的标志LINK0是一个允许压缩slip的数据(CSLIP,参见2.5节)的配置选项。其它的选项有LINK1(如果从另一端收到一份压缩报文,就允许采用CSLIP)和LINK2(所有外出的ICMP报文都被丢弃)。我们在4.6节中将讨论SLIP链接的目的地址。

(下面是原书p.48②的译文)

安装指南中的注释对最后这个选项进行了解释:“一般它不应设置,但是由于一些不当的ping操作,你可能会导致吞吐量降到0。”

bsdi是另一台路由器。由于-a参数是SunOS操作系统具有的功能,因此我们必须多次执行ifconfig,并指定接口名字参数: (见原书p.48的③)

这里,我们看到以太网接口(we0)的一个新选项:SIMPLEX。这个4.4BSD标志表明接口不能收到本机传送的数据。在BSD/386中所有的以太网都这样设置。一旦这样设置后,如果接口发送一帧数据到广播地址,那么就会为本机拷贝一份数据送到环回地址。(在6.3小节我们将举例子说明这一点。)

在主机slip中,SLIP接口的设置基本上与上面的bsdi一致,只是两端的IP地址进行了互换: slip % /好好学习in/ifconfig sl0 sl0: flags=1011

inet 140.252.13.65 --> 140.252.13.66 netmask ffffffe0

最后一个接口是主机svr4上的以太网接口。它与前面的以太网接口类似,只是SVR4版的ifconfig没有打印RUNNING标志: svr4 % /usr/好好学习in/ifconfig emd0 emd0: flags=23

inet 140.252.13.34 netmask ffffffe0 broadcast 140.252.13.63

ifconfig命令一般支持TCP/IP以外的其它协议族,而且有很多参数。关于这些细节你可以查看系统说明书。 3.9 netstat命令

netstat(1)命令也提供系统上的接口信息。-i参数将打印出接口信息,-n参数则打印出IP地址,而不是主机名字。 (见原书p.49的①)

这个命令打印出每个接口的MTU,输入分组数,输入错误,输出分组数,输出错误,冲突,以及当前的输出队列长度。 我们在第9章将用netstat命令检查路由表,那时再回头讨论该命令。另外,在第13章我们将用它的一个改进版本来查看活动的广播组。 3.10 IP的未来

IP主要存在三个方面的问题。这是Internet在过去几年快速增长所造成的结果。(参见习题1.2。)

1. 超过半数的B类地址已被分配。根据当前的估计,如果B类地址继续以当前的速度分配,它们将大约在1995年耗尽。 2. 32 bit的IP地址从长期的Internet增长角度来看一般是不够用的。

3. 当前的路由结构没有层次结构,属于平面型(flat)结构,每个网络都需要一个路由表目。随着网络数目的增长,一个具有多个网络的网站就必须分配多个C类地址,而不是一个B类地址,因此路由表的规模会不断增长。

无类别的域间路由选择CIDR(Classless Interdomain Routing)提出了一个可以解决第三个问题的建议,对当前版本的IP(IP版本4)进行扩充,以适应下个世纪Internet的发展。对此我们将在10.8节进一步详细介绍。

对新版的IP,即下一代IP,经常称作IPng,主要有四个方面的建议。1993年5月发行的IEEE Network (vol.7, no.3)对前三个建议进行了综述,同时有一篇关于CIDR的论文。RFC 1454 [Dixon 1993]对前三个建议进行了比较。

1. SIP,简单Internet协议。它针对当前的IP提出了一个最小幅度的修改建议,采用64位地址和一个不同的首部格式。(首部的前4比特仍然包含协议的版本号,其值不再是4。)

2. PIP。这个建议也采用了更大的,可变长度的,有层次结构的地址,而且首部格式也不相同。

3. TUBA,代表“TCP and UDP with Bigger Address”,它基于OSI 的CLNP(Connectionless Network Protocol,无连接网络协议),一个与IP类似的OSI协议。它提供大得多的地址空间:可变长度,可达20个字节。由于CLNP是一个现有的协议,而SIP和PIP只是建议,因此关于CLNP的文档已经出现。RFC 1347[Callon 1992]提供了TUBA的有关细节。文献[Perlman 1992]的第7章对IPv4和CLNP进行了比较。许多路由器已经支持CLNP,但是很少有主机也提供支持。 4. TP/IX,由RFC 1475 [Ullmann 1993]对它进行了描述。虽然SIP采用了64 bit的址址,但是它还改变了TCP和UDP的格式:二个协议均为32 bit的端口号,64 bit的序列号,64 bit的确认号,以及TCP的32 bit窗口。 前三个建议基本上采用了相同版本的TCP和UDP作为传输层协议。

由于四个建议只能有一个被选为IPv4的替换者,而且在你读到此书时可能已经做出选择,因此我们对它们不进行过多评论。


tcpip基础.doc 将本文的Word文档下载到电脑
搜索更多关于: tcpip基础 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219