非常网管:网络管理从入门到精通(修订版)

978-7-115-24059-0
作者: 崔北亮 陈家迁
译者:
编辑: 杜洁

图书目录:

详情

本书是基于网络管理工作的实际需要而编写的,融入了作者10多年工作心得和体会,全面系统地介绍了网络管理各种知识和技能。全书共分为4篇14章,提供了65个实验,包括了网络的基础知识、服务器架设和管理、路由和交换等内容。

图书摘要

第1章 网络基础知识回顾

古语云:“练武不练功,到老一场空”,学习网络的基础理论就像练功一样重要。本章主要介绍网络的基础、网络的体系结构、ISO/OSI(International Standard Organization/Open System Interconnection,国际标准化组织提出的开放系统互联)参考模型、TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议),其间穿插大量的实验和技巧,有助于加强读者对理论知识的理解,提高实际应用的能力。通过本章的学习,读者可以掌握无线网卡直接互连的配置,ISO/OSI参考模型的7层结构以及每一层的功能,TCP/IP参考模型的4层结构以及每一层的功能,Sniffer软件的使用,IP地址的分类、计算、划分、汇总等。

1.1 计算机网络基础

在成为一名好的网络建设者之前,首先要成为一名好的网络使用者,正所谓“用然后知不足”。本节重点讲述计算机网络的功能,并陆续在以后的章节中实现该功能,最后演示无线网卡之间的互连。

1.计算机网络的产生和发展

1969年12月,DARPA的计算机分组交换网ARPANET投入运行。ARPANET的成功,标志着计算机网络的发展进入了一个新纪元。ARPANET的成功运行使计算机网络的概念发生了根本性的变化。早期的面向终端的计算机网络是以单个主机为中心的星型网,各终端通过传输介质共享主机的硬件和软件资源。但分组交换网则以通信子网为中心,主机和终端都处在网络的边缘。主机和终端构成了用户资源子网。用户不仅共享通信子网的资源,还可以共享用户资源子网中丰富的硬件和软件资源。这种以资源子网为中心的计算机网络通常被称为第二代计算机网络。

在第二代计算机网络中,多台计算机通过通信子网构成一个有机的整体,既分散又统一,从而使整个系统性能大大提高;原来单一主机的负载可以分散到全网的各个机器上,使得网络系统的响应速度加快;而且在这种系统中,单机故障也不会导致整个网络系统的全面瘫痪。在网络中,相互通信的计算机必须协调工作,而这种“协调”是相当复杂的。为了降低网络设计的复杂性,早在当初设计ARPANET时就有专家提出了层次模型。分层设计方法可以将庞大而复杂的问题转化为若干较小且易于处理的子问题。

有了网络体系结构,一个公司所生产的各种机器和网络设备就可以非常容易地被连接起来。但由于各个公司的网络体系结构是各不相同的,所以不同公司之间的网络不能互连互通。针对上述情况,国际标准化组织于1977年设立了专门的机构研究来解决上述问题,并于不久后提出了一个使各种计算机能够互连的标准框架——开放系统互联参考模型(Open System Interconnection/ Reference Model,OSI/RM),简称OSI。OSI模型是一个开放体系结构,它将网络分为7层,并规定每层的功能。OSI参考模型的出现,意味着计算机网络发展到第三代。在OSI参考模型推出后,网络的发展道路一直走标准化道路,而网络标准化的最大体现就是Internet的飞速发展。现在Internet已成为世界上最大的国际性计算机互联网。Internet遵循TCP/IP参考模型,由于TCP/IP仍然使用分层模型,因此Internet仍属于第三代计算机网络。如今,计算机网络从体系结构到实用技术已逐步走向系统化、科学化和工程化。

2.计算机网络的功能

计算机网络自20世纪60年代末诞生以来,以异常迅猛的速度发展,并被越来越广泛地应用于政治、经济、军事、生产及科学技术的各个领域。计算机网络的主要功能包括如下几个方面。

(1)信息通信。现代社会信息量激增,信息交换也日益增多,每年有几万吨纸质信件要传递。利用计算机网络传递信件则是一种全新的电子传递方式。电子邮件比现有的通信工具有更多的优点,它不像电话需要通话者同时在场,也不像广播系统只是单方向传递信息,而且在速度上比传统邮件快得多。另外,电子邮件还可以携带声音、图像和视频,实现多媒体通信。本书将在第2部分介绍如何在Windows环境下搭建邮件服务器。

(2)资源共享。在计算机网络中,有许多昂贵的资源,如大型数据库和巨型计算机等,并非为每一用户所拥有,所以必须实行资源共享。资源共享包括硬件资源的共享,如打印机和大容量磁盘等,也包括软件资源的共享,如程序和数据等,本书将在第2部分介绍如何在Windows环境下实现资源共享。资源共享的结果是避免重复投资和劳动,从而提高了资源的利用率,使系统的整体性能价格比得到改善。

(3)增加可靠性。在一个系统内,当单个部件或计算机暂时失效时,必须通过替换的办法来维持系统的继续运行,这将不可避免地造成服务的中断,而很多关键应用要求提供全天候(365×24)不间断的服务保障。在计算机网络中,每种资源(尤其程序和数据)可以存放在多个地点,用户可以通过多种途径来访问网内的某个资源,从而避免了单点失效对用户产生的影响。本书将在第2部分介绍在Windows环境下通过编写一个简单批处理文件(只需要3行代码),来实现任何时间任何地点任何文件的异机自动备份。

(4)提高系统处理能力。单机的处理能力是有限的,且由于种种原因(如CPU),计算机之间的忙闲程度是不均匀的。从理论上讲,在同一网络内的多台计算机可通过协同操作和并行处理来提高整个系统的处理能力,并使网内各计算机负载均衡。本书将在第4部分介绍如何实现服务器负载平衡。

(5)VoIP服务。在Internet或Intranet上提供语音服务,因为其成本低廉而备受关注。本书将在第3部分介绍VoIP的相关配置,实现在个人计算机上轻松呼叫异地的语音电话。

(6)数据的集中管理。计算机网络的另一个主要功能是访问远程数据库,集中处理数据信息,保证数据库的一致性。现在遍布各地的车票代售点,大街小巷随处可见的银联POS机,在提供便利的同时,也维护着数据库的一致性。

(7)其他功能。网络实时交谈(风靡全球的MSN、QQ提供的实时的文字、语音、视频服务已成为人们重要的通信手段)、视频点播、网络游戏(网络上的游戏应用尽有,如军棋、象棋、五子棋等)、网上教学(网上大学、视频下载、作业提交等)、网上书店、网上购物(贴近生活的“淘宝网”)、网上电视直播(PPLive、PPStream、PPMate等,本书也将在第2部分介绍有线电视直播服务器的架设)、网上医院、网上证券交易(大大方便了股民,“炒股”不用再到证券大厅)、网络的远程管理(服务器的远程管理:Windows 2003提供的远程桌面;设备的远程调试:针对设备的Telnet、SSH、Web管理)、虚拟现实以及电子商务正逐渐走进普通百姓的生活、学习和工作中。计算机网络作为信息收集、存储、传输、处理和利用的整体系统,将在信息社会中得到更加广泛的应用。随着网络技术的不断发展,各种网络应用将层出不穷,并将逐渐深入到社会的各个领域及人们的日常生活当中,改变着人们的工作、学习和生活乃至思维的方式。

3.计算机网络分类

计算机连接所使用的介质可以是双绞线、同轴电缆或光纤等有线介质,也可以是激光、大地微波或卫星微波等无线介质。计算机之间的信息交换具有物理和逻辑上的双重含义。在计算机网络的最底层(物理层),信息交换体现为直接相连的两台机器之间无结构的比特流传输;而在物理层之上的各层所交换的信息便有了一定的逻辑结构,越往上层逻辑结构越复杂,也越接近用户真正需要的形式。信息交换在低层由硬件实现,而到了高层则由软件实现。如果一台计算机带有多台终端和打印机,这种系统通常被称为多用户系统,而不是计算机网络;而由一台主控机带多台从控机构成的系统,是主从式系统,也不是计算机网络。

计算机网络的分类标准很多,比如按拓扑结构、介质访问方式、交换方式以及数据传输速率等,但这些分类标准只给出了网络某一方面的特征,并不能反映网络技术的本质。事实上,确实存在一种能反映网络技术本质的网络划分标准,那就是计算机网络的覆盖范围。按网络覆盖范围的大小,可将计算机网络分为局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)和互联网(Internet),如表1-1-1所示。

表1-1-1 计算机网络分类
分 布 距 离 覆 盖 范 围 网 络 种 类
10m 房间 局域网
100m 建筑物 局域网
1km 校园 局域网
10km 城市 城域网
100km 国家 广域网
1000km 洲或洲际 互联网

4.无线网络的特点及连接方式

下面介绍一种新兴的网络──“无线网络”。无线网络是当前国内外的研究热点,无线网络的研究是由巨大的市场需求驱动的。无线网络有很多优点,如易于安装和使用,可以使用户在任何时间、任何地点接入计算机网络,这一特性使其具有强大的应用前景。但无线网络也有许多不足之处:它的数据传输速率一般比较低,远低于有线网络;无线网络的误码率也比较高,而且站点之间相互干扰比较严重;再就是无线网络的安全问题也需要关注。

用户无线网络的实现有不同的方式。一些咖啡馆、茶馆、宾馆、大学等都安装了无线网络,如南京工业大学就在校园内安装许多无线AP(Access Point,接入点),学生坐在树底下也能查看图书馆的资料,这种情况是计算机直接通过无线AP接入互联网的。有的计算机通过配置CDMA上网卡,可以随时随地访问互联网,目前国内很多区域都提供了CDMA上网卡的包年服务。两台笔记本电脑之间还可以通过红外或无线网卡直接进行通信,而不需要有型的传输介质。

值得一提的是,两台计算机之间有线网卡的直接连接会被经常用到,而两台笔记本计算机之间无线网卡的直接连接却常常被忽视。一个错误的理解是,无线网卡只能与无线AP连接,而忽略了无线网卡与无线网卡之间也可以直接建立连接。下面举个例子来说明无线网卡的互连。

实验1-1 通过无线网卡共享ADSL上网

家中有两台计算机(笔记本或台式机均可),各配置了一块无线网卡,其中有台计算机还配置了一块有线网卡。一般的笔记本计算机默认都配置了一块有线网卡和一块无线网卡,该实验更常用于笔记本计算机之间。如果只申请了一条ADSL(Asymmetric Digital Subscriber Line,非对称数字用户环路),如何实现两台计算机共享上网呢?

最简单经济的实现方法就是,不需购置任何设备,即可实现两台计算机同时上网的目的,下面是具体的操作步骤。

配置ADSL上网。把ADSL线路接入一台笔记本计算机的有线网卡,鼠标右键单击“网上邻居”,在快捷菜单中选择“属性”,打开“网上邻居”窗口,如图1-1-1所示。

单击如图1-1-1所示的“新建连接向导”图标,打开“新建连接向导”对话框;单击“下一步”按钮,接下来提示选择“网络连接类型”,这里选择第一个“连接到Internet”,如图1-1-2所示。
单击“下一步”按钮,接下来的对话框中会询问怎样连接到Internet,选择第二个“用要求用户名和密码的宽带连接来连接”,如图1-1-3所示。
单击“下一步”按钮,要求填入ISP的名称,这里随意填入一个,如“ADSL”,如图1-1-4所示。
单击“下一步”按钮,保持默认的“任何人使用”选项,如图1-1-5所示。
单击“下一步”按钮,填入有效的ADSL用户名和密码,如图1-1-6所示。
单击如图1-1-6所示的“下一步”按钮,打开如图1-1-7所示的对话框。如果选中“在我的桌面上添加一个到此连接的快捷方式”复选框,那么桌面上会新建一个到此连接的快捷方式,以后通过ADSL上网时,双击此快捷方式,即可打开ADSL连接;如果没有选中,以后需要打开如图1-1-1所示的窗口,并找到新建的ADSL图标,双击进行连接。
单击“完成”按钮,打开如图1-1-8所示的对话框,提示进行连接。这里暂不进行连接,单击“取消”按钮,完成ADSL连接的配置。

配置无线网卡连接。如图1-1-9所示,右键单击“无线网络连接”,在快捷菜单中选择“属性”,打开“无线网络连接属性”对话框,选择“无线网络配置”选项卡,如图1-1-11所示。

再单击如图1-1-11所示的“添加”按钮,打开如图1-1-12所示的对话框。
如图1-1-12所示进行操作,添加SSID名字,如填入“network-lab”;“网络身份验证”保持默认的“开放式”;“数据加密”选择“已禁用”,选中“这是一个计算机到计算机(特定的)网络;没有使用无线访问点”复选框,单击“确定”按钮,此时会提示不加密可能会不安全,如图1-1-13所示。由于是作为家庭共享上网使用,这里继续单击“仍然继续”按钮,完成无线网卡配置。

连接无线网络。在两台笔记本计算机上右键单击“无线网络连接”,在快捷菜单中选择“查看可用的无线连接”,如图1-1-14所示。

将可以搜索到无线网络“network-lab”,如图1-1-15所示。单击“连接”按钮进行连接,两台笔记本计算机都连接成功后,将提示网络已连接。

配置IP地址。连接成功后再配置两台计算机无线网卡对应的IP地址,选择有ADSL线路的那台笔记本计算机,右键单击“无线网络连接”,在快捷菜单中选择“属性”,打开“无线网络连接 属性”对话框,选中“常规”选项卡中的“Internet协议(TCP/IP)”复选框,如图1-1-16所示。

单击图1-1-16中的“属性”按钮,打开IP配置对话框,在“IP地址”中填入“192.168.0.1”,“子网掩码”中填入“255.255.255.0”,“默认网关”和下面的DNS栏中都保留为空,如图1-1-17所示。单击“确定”按钮,完成IP地址配置。继续配置第二台笔记本计算机的无线网卡,在“IP地址”中填入“192.168.0.2”,“子网掩码”中填入“255.255.255.0”,“默认网关”中填入“192.168.0.1”, “首选DNS服务器”中填入一个有效DNS服务器的IP地址,比如“218.2.135.1”。

经过上述配置,当第一台笔记本计算机ADSL连接成功后,则两台笔记本计算机都可以访问Internet。如果还有第三台有无线网卡的计算机,可以按照第二台笔记本计算机的设置方式进行设置,只需要把IP地址设成“192.168.0.3”,其他设置不变。依此类推,仅通过一根ADSL线路,可实现很多台有无线网卡的计算机共享上网。

1.2 网络体系结构

两台计算机进行通信时,必须采用相同的信息交换规则。在计算机网络中,用于规定信息的格式以及发送和接收信息的规则称为网络协议(Network Protocol)或通信协议(Communication Protocol)。为了减少网络协议设计的复杂性,网络设计者并不是设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而是采用把通信问题划分为许多个小问题,然后为每个小问题设计一个单独的协议的方法。这样做使得每个协议的设计、分析、编码和测试都比较容易,正如编程一样,通过编写“过程”和“函数”以方便调用,把一个复杂的程序模块化、简单化。分层模型(Layering Model)是一种用于开发网络协议的设计方法。本质上,分层模型描述了把通信问题分为几个小问题(称为层次)的方法,每个小问题对应于一层。

为了减少网络设计的复杂性,绝大多数网络采用分层设计方法。所谓分层设计方法,就是按照信息的流动过程将网络的整体功能分解为多个功能层,不同机器上的同等功能层之间采用相同的协议,同一机器上的相邻功能层之间通过接口进行信息传递。

为了便于理解接口和协议的概念,首先以邮政通信系统为例进行说明。人们平常写信时,对信件的格式和内容都有约定。写信必须采用双方都懂的语言文字和文体,开头是对方称谓,最后是落款等。这样,对方收到信后,才可以看懂信中的内容,知道是谁写的,什么时候写的等。信写好后,必须将信封装并交由邮局寄发,寄信人和邮局之间对信封写法和邮票的贴法也有约定。在中国寄信必须先写收信人地址、姓名,然后再写寄信人的地址和姓名。邮局收到信后,首先进行信件的分拣和分类,然后交付有关运输部门进行运输,如航空信交民航、平信交铁路运输或公路运输等。这时,邮局和运输部门对到站地点、时间、包裹形式等也有约定。信件运送到目的地后进行相反的过程,最终将信件送到收信人手中,收信人依照约定的格式才能读懂信件。如图1-2-1所示,在整个过程中,主要涉及3个子系统,即用户子系统、邮政子系统和运输子系统。

从上例可以看出,各种约定都是为了达到将信件从一个源点送到一个目的点这个目标而设计的,这就是说,它们是因信息的流动而产生的。可以将这些约定分为同等机构间的约定,如用户之间的约定、邮政局之间的约定和运输部门之间的约定,以及不同机构间的约定,如用户与邮政局之间的约定以及邮政局与运输部门之间的约定。

虽然两个用户、两个邮政局和两个运输部门分处甲、乙两地,但它们都分别对应同等机构,同属一个子系统;而同处一地的不同机构则不在一个子系统内,它们之间的关系是服务与被服务的关系。很显然这两种约定是不同的,前者为部门内部的约定,而后者是不同部门之间的约定。在计算机网络环境中,两台计算机中两个进程之间进行通信的过程与邮政通信的过程十分相似。

为了减少计算机网络设计的复杂性,人们往往按功能将计算机网络划分为多个不同的功能层。网络中同等功能层之间的通信规则就是该层使用的协议,如有关第N层的通信规则的集合,就是第N层的协议。而同一计算机不同功能层之间的通信规则称为接口(Interface),在第N层和第(N+ 1)层之间的接口称为N /(N + 1)层接口。总的来说,协议是不同机器同等功能层之间的通信约定,而接口是同一机器相邻功能层之间的通信约定。不同的网络,分层数量、各层的名称和功能以及协议都各不相同。然而,在所有的网络中,每一层的目的都是向它的上一层提供一定的服务。

协议层次化不同于程序设计中模块化的概念。在程序设计中,各模块可以相互独立,任意拼装或者并行,而层次则一定有上下之分,它是依数据流的流动而产生的。组成不同计算机同等功能层的实体称为对等进程。对等进程不一定必须是相同的程序,但其功能必须完全一致,且采用相同的协议。

分层设计方法将整个网络通信功能划分为垂直的层次集合后,在通信过程中,下层将向上层隐藏下层的实现细节。但层次的划分应首先确定层次的集合及每层应完成的任务。划分时应按逻辑组合功能,并具有足够的层次,以使每层小到易于处理。同时层次也不能太多,以免产生难以负担的处理开销。

计算机网络体系结构是网络中分层模型以及各层功能的精确定义。对网络体系结构的描述必须包括足够的信息,使实现者可以为每一功能层进行硬件设计或编写程序,并使之符合相关协议。需要注意的是,网络协议实现的细节不属于网络体系结构的内容,因为它们隐含在机器内部,对外部说来是不可见的。

1.3 ISO/OSI参考模型

上一节对协议分层和网络体系结构进行了概述。接下来,本节介绍一些具体的网络体系结构,首先介绍一个重要的网络体系结构,即OSI参考模型

在网络发展初期,许多研究机构、计算机厂商和公司都大力发展计算机网络。从ARPANET出现至今,已经推出了许多商品化的网络系统。这种自行发展的网络,在体系结构上差异很大,以至于它们之间互不相容,难于相互连接以构成更大的网络系统。为此,许多标准化机构积极开展了网络体系结构标准化方面的工作,其中最为著名的就是国际标准化组织ISO提出的开放系统互连OSI参考模型。OSI参考模型是研究如何把开放式系统(即为了与其他系统通信而相互开放的系统)连接起来的标准。

OSI参考模型将计算机网络分为7层,如图1-3-1所示。下面将从最底层开始,依次介绍模型的各层所要完成的功能。

1.物理层

物理层(Physical Layer)的主要功能是完成相邻节点之间原始比特流的传输。物理层协议关心的典型问题是,使用什么样的物理信号来表示数据“1”和“0”,一位持续的时间多长,数据传输是否可同时在两个方向上进行,最初的连接如何建立以及完成通信后连接如何终止,物理接口(插头和插座)有多少针以及各针的用处。物理层的设计主要涉及物理层接口的机械、电气、功能和过程特性,以及物理层接口连接的传输介质等问题。物理层的设计还涉及通信工程领域内的一些问题。物理层常用的网络设备有中继器(Repeater)和集线器(Hub)。

2.数据链路层

数据链路层(Data Link Layer)的主要功能是在不可靠的物理线路上进行数据的可靠传输。数据链路层完成的是网络中相邻节点之间可靠的数据通信。为了保证数据的可靠传输,发送方把用户数据封装成帧(Frame),并按顺序传送各帧。由于物理线路的不可靠,因此发送方发出的数据帧有可能在线路上发生出错或丢失,从而导致接收方不能正确接收到数据帧。为了保证能让接收方对接收到的数据进行正确性判断,发送方为每个数据分块计算出CRC(Cyclic Redundancy Check,循环冗余校验),并把CRC添加到帧中,这样接收方就可以通过重新计算CRC来判断数据接收的正确性。一旦接收方发现接收到的数据有错,则发送方必须重传这一帧数据。然而,相同帧的多次传送也可能使接收方收到重复的帧。例如,接收方给发送方的“确认帧”被破坏后,发送方也会重传上一帧,此时接收方就可能接收到重复帧。数据链路层必需解决由于帧的损坏、丢失和重复所带来的问题。

数据链路层要解决的另一个问题是,防止高速发送方的数据把低速接收方“淹没”。因此需要某种信息流量控制机制使发送方得知接收方当前还有多少缓存空间。为了控制的方便,流量控制常常和差错处理一同实现。

在局域以太网中,数据链路层通过MAC(Media Access Control,介质访问控制)地址负责主机之间数据的可靠传输。数据链路层的设备必须能识别出数据链路层的地址,如局域网交换机能构造MAC地址表,基于MAC地址进行数据转发;网卡本身具有MAC地址,能根据MAC地址判断数据包是否是发往本机的数据包。网桥、交换机和网卡都属于数据链路层的设备。

实验1-2 查看局域网中的某台主机是否在线

如何查看局域网中某台主机是否在线呢?可以选择“开始”→“运行”命令,输入“cmd”后单击“确定”按钮,在打开的DOS窗口中输入“ping 某主机的IP地址”。如果收到“Reply from …”,则说明该主机肯定是在线的;如果收到“Request time out”,是否能说明该主机一定不在线呢?回答是否定的,收到超时信息并不能说明该主机一定不在线,因为如果该主机运行防火墙软件,禁止ping命令回应,收到的信息也是“Request time out”。ping执行完以后,可以通过在DOS窗口中输入“arp -a”,查看本机的ARP(Address Resolution Protocol,地址解析协议)缓存,如果有缓存条目,则说明该主机是在线的,如果没有缓存条目,则说明该主机不在线。

为了更形象地说明这个问题,请参照图1-3-2。第一次执行“ping 192.168.1.220 –n 1”命令,尝试去ping 192.168.1.220这个IP地址,其中的“-n 1”是ping命令的参数,表示只ping一个数据包,ping命令默认发送的是4个包。结果收到了192.168.1.220的应答包,“Reply from 192.168.1.220: bytes=32 time<1ms TTL=128”,其中“byte=32”表示收到的字节数,ping 的应答包默认大小是32字节;“time<1ms”,表示从发出ping包到收到应答,花费的时间小于1ms,这个值可以用来简单地判断网络的健康状况;“TTL=128”,TTL表示生存周期,每经过一台路由器,这个值至少减1。这个值和具体的操作系统以及从ping的源主机到ping的目标主机之间经过的路由器数量也有关,因不同的操作系统默认的初始值不同,可能的初始值是64、128、255。假如操作系统的默认初始值是128,则上面的结果表示,没有经过任何一台路由器就到达目标了,假如操作系统的默认值是255,则经过的路由器可能就是255-128=127,这是不可能的情况,因为Internet上没有任何两台主机之间的路由器会达到这个数值。

确定源和目标之间的路由器数量,可使用“tracert”命令,如图1-3-3所示。使用ping命令测试从www.263.net返回的包的TTL(Time To Live,生存时间)是49,源主机和www.263.net主机之间经过的路由器数量大概是64-49=15,说“大概”是因为每经过一台路由器,TTL至少减1,有时减的不止是1,这和具体的网络有关。接下来使用tracert命令测试。其中“-d”是附加参数,如果不加这个参数,tracert命令执行的速度会比较慢,因为计算机尝试把每台路由器的IP地址解析成域名,这会花很多的时间,而且意义不大。“-d”参数表示计算机不执行IP到域名的反向解析,这会大大加快执行速度。结果显示,经过14台路由器到达目标,第15跳已经是目标地址了。由此可见,ping命令中的TTL可以用来粗略判断源主机和目标主机之间经过的路由器的数量,ping只能测试计算机的连通情况,无法定位到中间出故障的某一台路由器上,而tracert可以更准确地定位到某台出故障的路由器上。

开启计算机“192.168.1.3”的防火墙。在计算机“192.168.1.3”上,右键单击“网上邻居”,在快捷菜单中选择“属性”,打开“网络连接”窗口,右键单击“本地连接”,在快捷菜单中选择“属性”,如图1-3-4所示。

在打开的“本地连接 属性”对话框中,选择“高级”选择卡,选中“通过限制或阻止……”复选框,启用计算机的防火墙,如图1-3-5所示。

在计算机“192.168.1.3”上启用防火墙后,如图1-3-2所示,ping 192.168.1.3时,收到了超时的提示,原因是防火墙阻止了ping包。再ping一个不存在的IP地址“192.168.1.4”,也收到了超时的提示,如何准确判断出哪一个IP地址是在线的呢?图1-3-2中所示的“arp -a”命令用来显示本机保存的ARP缓存,可以看到两个条目“192.168.1.220”和“192.168.1.3”,却没有看到“192.168.1.4”的条目,由此可以判断“192.168.1.220”和“192.168.1.3”主机在线,“192.168.1.4”主机不在线。由此也可以得知,防火墙对ARP是阻止不了的。IPv4中,针对局域网的ARP攻击危害巨大,很难防御,本书第4部分通过分析ARP攻击原理,具体介绍一些防御攻击的切实可行的解决办法。

3.网络层

网络层(Network Layer)的主要功能是完成网络中主机间的报文传输。在广域网中,这包括产生从源端到目的端的路由,根据采用的路由协议,选择最优的路径,本书将在第3部分介绍路由的相关知识。

当报文不得不跨越两个或多个网络时,又会产生很多新问题。例如,第二个网络的寻址方法可能不同于第一个网络,第二个网络也可能因为第一个网络的报文太长而无法接收,两个网络使用的协议也可能不同。网络层必须解决这些问题,使异构网络能够互连。

网络层涉及的协议有IP、IPX等,网络层的设备必须能识别出网络层的地址,如路由器、三层交换机等都可以根据IP地址做路径选择,它们都属于网络层设备。

实验1-3 查看ADSL上网获取到的IP地址

如图1-1-17所示,查看给计算机静态分配的IP地址。如果通过ADSL上网,计算机将会动态获取到一个IP地址,如何查看获取的IP地址呢?

可以在DOS窗口中执行“ipconfig”命令,查看计算机静态分配的IP地址或动态获取的IP地址、使用“ipconfig /all”命令除了可以查看计算机的IP地址外,还可以查看计算机网卡的MAC地址,以及DNS服务器地址。如图1-3-6所示,ADSL显示的结果与图1-3-6所示类似,但IP地址是动态获取的。

4.传输层

传输层(Transport Layer)的主要功能是完成网络中不同主机上的用户进程之间可靠的数据通信。最好的传输连接是一条无差错的、按顺序传送数据的管道,即传输层的连接是真正端到端的连接。换言之,源端主机上的某进程是利用报文头和控制报文与目标主机上的对等进程进行对话。

由于绝大多数主机都支持多任务操作,因而机器上有多个进程,这意味着多条连接将进出主机,因此需要以某种方式区别报文属于哪条连接。识别这些连接的信息可以放入传输层的报文头中。除了将几个报文流多路复用到一条通道上,传输层还必须管理跨网连接的建立和拆除。这就需要某种命名机制,使机器内的进程能够说明它希望交谈的对象。另外,还需要有一种机制来调节信息流,使高速主机不会过快地向低速主机传送数据。

传输层相关的协议有TCP、UDP(User Datagram Protocol,用户数据报协议),它们涉及服务使用的端口号,主机根据端口号识别服务(常用的WWW服务端口号是80,FTP服务端口号是21等)和区分会话(源IP、源端口号、目标IP、目标端口号,四者共同唯一标识一个会话)。对一些常用的服务,在文件“C:\WINDOWS\system32\drivers\etc\services”中记录了服务名、所使用的协议(TCP或UDP)、默认端口号。

实验1-4 查看服务使用的端口号

对一些不常使用或用户自己开发的服务程序,用户可以先建立到服务端的连接,然后在DOS窗口中输入命令“netstat -n”,查看服务所对应的端口号。此方法也适用于一些常用服务。先连接主机“192.168.1.220”的远程桌面(有关远程桌面的使用,本书将在第2部分介绍),然后执行“netstat”命令来查看远程桌面所使用的协议和端口号,如图1-3-7所示。可以看出远程桌面使用的协议是TCP,本地主机的IP地址是192.168.1.200,使用的端口号是1756,该端口号是一个大于1024(包括1024)以上的随机值;外部主机的IP地址是192.168.1.220,端口号是3389,3389是远程桌面默认使用的端口号。

5.会话层

会话层(Session Layer)允许不同机器上的用户之间建立会话关系。会话层允许进行类似传输层的普通数据的传送,在某些场合还提供了一些有用的增强型服务。会话层允许用户利用一次会话在远端的分时系统上登录,或者在两台机器间传递文件。

会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任一时刻只能单向传输。如果属于后者,则类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方传输数据。一种与对话控制有关的服务是令牌管理(Token Management)。有些协议保证双方不能同时进行同样的操作,这一点很重要。为了管理这些活动,会话层提供了令牌,令牌可以在会话双方之间移动,只有持有令牌的一方可以执行某种关键性操作。另一种会话层服务是同步。如果在平均每小时出现一次大故障的网络上,两台机器间要进行一次两小时的文件传输,则会出现严重的问题。每一次传输中途失败后,都不得不重新传送这个文件。当网络再次出现大故障时,可能又会半途而废。为了解决这个问题,会话层提供了一种方法,即在数据中插入同步点。每次网络出现故障后,仅仅重传最后一个同步点以后的数据。

6.表示层

表示层(Presentation Layer)完成某些特定的功能,对这些功能,人们常常希望找到普遍的解决办法,而不必由每个用户自己来实现。值得一提的是,表示层以下各层只关心从源主机到目标主机可靠地传送比特,而表示层关心的是所传送信息的语法和语义。表示层服务的一个典型例子是用一种大家一致选定的标准方法对数据进行编码。

网络上计算机可能采用不同的数据表示,所以需要在数据传输时进行数据格式的转换。例如,在不同的机器上常用不同的代码来表示字符串(ASCII和EBCDIC)、整型数(二进制反码或补码)以及机器字的不同字节顺序等。为了让采用不同数据表示法的计算机之间能够相互通信并交换数据,在通信过程中使用抽象的数据结构来表示传送的数据,而在机器内部仍然采用各自的标准编码。管理这些抽象数据结构,并在发送方将机器的内部编码转换为适合网络上传输的传送语法,以及在接收方做相反的转换等,都是由表示层来完成的。

另外,表示层还涉及数据压缩和解压、数据加密和解密等工作。

7.应用层

网络的目的在于支持运行于不同计算机的进程之间的通信,而这些进程则是为用户完成不同任务而设计的。应用层(Application Layer)包含大量人们普遍需要的协议,如HTTP(Hyper Text Transfer Protocol,超文本传输协议)、FTP(File Transfer Protocol,文件传输协议)、SMTP (Simple Message Transfer Protocol,简单邮件传输协议)、DNS(Domain Name Service,域名解析服务)等。

对于需要通信的不同应用来说,应用层的协议都是必需的。例如,当某个用户想要获得远程计算机上的一个文件拷贝时,要向本机的文件传输软件发出请求,这个软件与远程计算机上的文件传输进程通过文件传输协议进行通信,这个协议主要处理文件名、用户许可状态和其他请求细节的通信。远程计算机上的文件传输进程使用其他特征来传输文件内容。

由于每个应用有不同的要求,应用层的协议集在ISO/OSI模型中并没有定义,但是有些确定的应用层协议,包括虚拟终端、文件传输和电子邮件等,都可作为标准化的候选。值得注意的是,OSI模型本身不是网络体系结构的全部内容,这是因为它并未确切地描述用于各层的协议和实现方法,而仅仅规定每一层应该完成的功能。不过,ISO已经为各层制定了相应的标准,但这些标准并不是模型的一部分,它们是作为独立的国际标准被发布。

在OSI参考模型中,有3个基本概念:服务、接口和协议。OSI模型的最重要的贡献是将这3个概念区分清楚。

OSI参考模型是在其协议开发之前设计出来的。这意味着OSI模型不是基于某个特定的协议集而设计的,因而它更具有通用性。但另一方面,也意味着OSI模型在协议实现方面存在某些不足。实际上,OSI协议过于复杂,这也是OSI从未真正流行开来的原因所在。

虽然OSI模型和协议并未获得巨大的成功,但是OSI参考模型在计算机网络的发展过程中仍然起到了非常重要的指导作用,作为一种参考模型和完整体系,它仍对今后计算机网络技术标准化、规范化方向发展具有指导意义。接下来介绍目前广泛使用的TCP/IP。

1.4 TCP/IP

TCP/ IP是目前最成功、使用最频繁的互连协议。虽然现在已有许多协议都适用于互联网,但只有TCP/IP最突出,因为它在网络互连中用得最为广泛。

1.4.1 TCP/IP参考模型

TCP/IP参考模型是4层结构,下面结合Sniffer软件来介绍TCP/IP模型的4层结构。

实验1-5 使用Sniffer软件监控网络

Sniffer软件是NAI公司推出的功能强大的协议分析软件,具有捕获网络流量进行详细分析、实时监控网络活动、利用专家分析系统诊断问题、收集网络利用率和错误等功能。Sniffer的工作方式就是通过将网卡置为混杂模式,对网卡上接收到的数据包进行侦听、捕获和分析。这里需要注意,只有网卡收到的包才会被捕获,如在集线器的环境中,Sniffer能捕获到所有的包;而在交换环境中,Sniffer仅仅只能捕获到流经本网卡的包,包括广播包和本主机发送及接收的包,其他主机间的通信将捕获不到。但通过使用某些方法也可以捕获其他主机间的通信,如进行ARP欺骗或在交换机端口上进行端口镜像,这些技术在后面会陆续介绍。从“http://www.router.net.cn/ network.rar”或“http://blcui.njut.edu.cn/network.rar”下载压缩包,该压缩包中包括了本书使用到的所有软件。有关Sniffer的安装,请参考软件包中的“补充资料\1Sniffer软件的安装.pdf”,下面简单介绍Sniffer的几个常用功能。

(1)实时监控网络。

启动Sniffer后,单击Sniffer中的“Matrix”(矩阵)图标,如图1-4-1中箭头所指。

这里显示网卡接收到的数据包,默认是以MAC地址的形式显示,如图1-4-2所示。

数据包以MAC地址形式显示时,感觉不是很直观。单击如图1-4-2所示的“IP”选项卡(如箭头所指),将会以IP的形式显示网卡收到的数据包,从这里可以直观地看出每个IP发送数据包的情况,如图1-4-3所示。

注 意

如果连接到一个新的网络环境,在查询该网络使用的IP地址段时,那么可以使用该功能。如图1-4-3所示,捕获的包中可以显示该网段使用的IP地址,至于子网掩码,一般局域网中使用的都是255.255.255.0,网关一般都是1或254,DNS可以随便配置。

单击如图1-4-3所示的“Detail”图标(如箭头所指),查看报文的详细情况。如图1-4-4所示,单击标题栏(箭头所指的那一行)中的“Protocol”、“Host 1”、“Packets”、“Bytes”、“Bytes”、“Packets”、“Host 2”等,可以分别实现以该列进行升序/降序排列。

注 意

如果局域网是通过交换机互连的,要捕获局域网中所有与外部通信的包,则可以配置端口镜像,把上连端口的包镜像到连接Sniffer主机的交换机端口,详见第4部分的实验E交换端口分析。

(2)捕获数据包。

在Sniffer中单击“Start”按钮,启动数据包捕获,如图1-4-5所示。

在计算机的IE浏览器的地址栏中输入http://www.njut.edu.cn,访问南京工业大学主页。

在图1-4-5中,“Stop and Display”按钮变亮,表示已经捕获到数据包了。单击此按钮停止捕获并显示数据包,如图1-4-6所示。

单击图1-4-6中的“Decode”选项卡,显示捕获包的详细情况,如图1-4-7所示。

最初的两个数据是DNS的包,第一个包是客户机192.168.1.200去往DNS服务器218.2.135.1的DNS查询包,客户机需要从DNS服务器获知“www.njut.edu.cn”所对应的IP地址,才能继续后面的访问。第二个包是DNS服务器返回给客户机的DNS应答包,其中“STAT=OK”说明域名解析已经成功。接下来就是“www.njut.edu.cn”这台服务器与客户机之间的直接对话了。

(3)过滤数据包。

在如图1-4-7所示的窗口中,经常会捕获到很多数据包,但大多数都是无关的数据包,需要采用过滤技术才能过滤出有用的数据包。过滤数据包分为两个步骤:定义过滤条件和应用过滤条件。这里以过滤ARP包为例进行讲解。

定义过滤条件。如图1-4-7所示的数据包捕获窗口中,单击右键,在快捷菜单中选择“Define Filter”命令,如图1-4-8所示。

打开如图1-4-9所示的“Define Filter – Display”对话框,选中“ARP”复选框,单击“确定”按钮,完成过滤条件设置。

应用过滤条件。在如图1-4-8所示的快捷菜单中选择“Select Filter”,打开如图1-4-10所示的对话框,选择“Display”下的“Default”,右边显示该项是针对ARP进行过滤的。单击如图1-4-10所示的“确定”按钮,进行过滤。

过滤后的窗口如图1-4-11所示,可以看到过滤后,只有ARP的包被显示。与此类似,还可以基于MAC地址、IP地址、UDP、TCP、HTTP等进行过滤。

如图1-4-7所示,任选一条HTTP的信息,可以看到第二个子窗口中显示此HTTP信息由4个层组成。接下来详细介绍TCP/IP模型的4层。

(1)网络访问层。如图1-4-7所示的“DLC:”层,包含了数据链路层的地址,如用在以太网上就是MAC地址。展开此层,可以看到数据包的源MAC、目的MAC地址。此层是TCP / IP模

型的最低层,负责接收从IP层传来的IP数据报,并将IP数据报通过低层物理网络发送出去,或者从低层物理网络上接收物理帧,解封装出IP数据报,交给IP层处理。需要注意,当一台主机访问外网的某台服务器时,目的MAC并不是目标服务器的MAC地址,而是路由器局域网接口的MAC地址。因为MAC地址仅用于局域网内的寻址,假设目的MAC就是目标服务器的MAC,当路由器收到这样的报文,通过比较目的MAC地址,发现不是发往本接口时,便把报文丢弃,这样数据报文也就无法通过路由器,更无法到达目标服务器了。因为目的MAC地址是路由器接口的MAC地址,路由器接收下这个报文并解封装后,交给上一层处理,路由器查询路由表,决定转发接口,把数据包交换到外出端口,再重新封装后发出去。如图1-4-7所示,验证目的MAC地址。

(2)互联网层。如图1-4-7所示的“IP:”层,包含了网络层的地址,展开此层,可以看到数据包的源IP、目的IP地址。它的主要功能包括3个方面。第一,处理来自传输层的分组发送请求。将分组装入IP数据报,填充报头,选择去往目的节点的路径,然后将数据报发往适当的网络接口。第二,处理输入数据报。首先检查数据报的合法性,然后进行路由选择,假如该数据报已到达目的节点(本机),则去掉报头,将IP报文的数据部分交给相应的传输层协议;假如该数据报尚未到达目的节点,则转发该数据报。第三,处理ICMP(Internet Control Message Protocol,网际控制信息协议)报文。即处理网络的路由选择、流量控制和拥塞控制等问题。TCP/IP网络模型的互联网层在功能上非常类似于OSI参考模型中的网络层。

(3)传输层。如图1-4-7所示的“TCP:”层,包含了传输层的端口号,展开此层,可以看到数据包的源端口、目的端口。TCP/IP参考模型中传输层的作用与OSI参考模型中传输层的作用是一样的,即在源节点和目的节点的两个进程实体之间提供可靠的端到端的数据传输。为保证数据传输的可靠性,传输层规定接收端必须发回确认,如果没有收到确认则假定分组丢失,再次发送,若干次重传后,仍然失败,则认为目标不可达,放弃重传。

TCP/IP模型提供了两个传输层协议:传输控制协议TCP和用户数据报协议UDP。TCP是一个可靠的面向连接的传输层协议,它将某节点的数据以字节流形式无差错投递到互联网的另一台机器上。发送方的TCP将用户交来的字节流划分成独立的报文并交给互联网层进行发送,而接收方的TCP将接收的报文重新装配交给接收用户。TCP同时处理有关流量控制的问题,以防止快速的发送方淹没慢速的接收方。用户数据报协议UDP是一个不可靠的、无连接的传输层协议,UDP将可靠性问题交给应用程序解决。UDP主要面向请求/应答式的交易型应用,一次交易往往只有一来一回两次报文交换,假如为此而建立连接和撤销连接,开销是相当大的。这种情况下使用UDP就非常有效。另外,UDP也应用于那些对可靠性要求不高,但要求网络的延迟较小的场合,如话音和视频数据的传送。

(4)应用层。如图1-4-7所示的“HTTP”层,即应用层,应用层包括所有的高层协议。早期的应用层有远程登录协议、文件传输协议和简单邮件传输协议等。远程登录协议允许用户登录到远程系统并访问远程系统的资源,而且像远程机器的本地用户一样访问远程系统。文件传输协议提供在两台机器之间进行有效的数据传送的手段。简单邮件传输协议最初只是文件传输的一种类型,后来慢慢发展成为一种特定的应用协议。最近几年出现了一些新的应用层协议,如用于将网络中主机名字映射成网络地址的域名服务;用于传输网络新闻的网络新闻传输协议(NNTP,Network News Transfer Protocol)和用于从WWW网上读取页面信息的HTTP。本书将在第2部分介绍有关DNS、FTP、SMTP、HTTP等服务器的搭建。

在TCP/IP网络中,IP采用无连接的数据报机制,对数据进行“尽力而为的传递”,即只管将报文尽力传送到目的主机,无论传输正确与否,不做验证,不发确认,也不保证报文的顺序。TCP/IP的可靠性体现在传输层,传输层协议之一的TCP提供面向连接的服务(传输层的另一个协议UDP是无连接的)。因为传输层是端到端的,所以TCP/IP的可靠性被称为端到端可靠性。

1.4.2 TCP/IP参考模型与ISO/OSI参考模型比较

ISO/OSI参考模型是在其协议被开发之前设计出来的。这意味着ISO/OSI模型并不是基于某个特定的协议集而设计的,因而它更具有通用性。但另一方面,也意味着ISO/OSI模型在协议实现方面存在某些不足。而TCP/IP模型正好相反,先有协议,模型只是现有协议的描述,因而协议与模型非常吻合。问题在于TCP/IP模型不适合其他协议栈。因此,它在描述其他非TCP/IP网络时用处不大。下面介绍两种模型的具体差异。其中显而易见的差异是两种模型的层数不一样:ISO/OSI模型有7层,而TCP/IP模型只有4层。两者都有传输层和应用层,但其他层是不同的,两种模型之间的对应关系如图1-4-12所示。

1.4.3 IP地址划分

IP地址是用来标识网络中的一个通信实体,如一台主机,或者是路由器的某一个端口。而在基于IP协议网络中传输的数据包,也都必须使用IP地址来进行标识,如同写一封信,要标明收信人的通信地址和发信人的地址,邮政工作人员通过该地址来决定邮件的去向。

在计算机网络里,每个被传输的数据包也要包括一个源IP地址和一个目的IP地址。当该数据包在网络中进行传输时,这两个地址要保持不变(有网络地址转换和代理的情况例外,本书第2部分及第4部分都会介绍网络地址转换的配置实例),以确保网络设备总能根据确定的IP地址,将数据包从源通信实体送往指定的目的通信实体,以及数据包从目的通信实体返回源通信实体。

目前,IP地址使用32位二进制地址格式,为方便记忆,通常使用以点号分隔的十进制数来表示,如202.119.248.65。一个IP地址主要由两部分组成:一部分是用于标识该地址所从属的网络号;另一部分用于指明该网络上某个特定主机的主机号。网络号由Internet权力机构分配,主机地址由各个网络的管理员统一分配。因此,网络地址的唯一性与网络内主机地址的唯一性确保了IP地址的全球唯一性(其中保留给私网使用的地址段除外,私网使用的地址段有10.0.0.0~10.255.255.255、172.16.0.0~172.31.255.255、192.168.0.0~192.168.255.255)。

为了给不同规模的网络提供必要的灵活性,IP地址的设计者将IP地址空间划分为5个不同的地址类别,如表1-4-1所示,其中A、B、C三类最为常用,D类用于组播,E类用于科研。

表1-4-1 IP地址分类表
IP地址
类型
第一字节十
进制范围
二进制固定
最高位
二进制
网络位
二进制
主机位
每个网络中可
容纳主机数
A 0~127* 0 8位 24位 224-2
B 128~191 10 16位 16位 216-2
C 192~223 110 24位 8位 28-2
D 224~239 1110 组播地址使用
E 240~255 1111 保留实验使用

*规定A类中的0不允许使用,127作为测试TCP/IP的环回地址,也不可以使用,因此A类实际可用的地址是1~126。

如表1-4-1所示,A类地址的网络位是8位,在子网掩码的二进制格式中,前面的8位是“1”,子网掩码中“1”表示的是网络位,“0”表示的是主机位,所以A类地址的默认子网掩码是255.0.0.0。同理,B类地址的默认子网掩码中,“1”的位数是16位,换成十进制就是255.255.0.0;C类地址的默认子网掩码中,“1”的位数是24位,换成十进制就是255.255.255.0。

1.4.4 子网划分的具体方法

在讲述子网划分之前,先来看一个实例,如图1-4-13所示,4台计算机接在一个Hub(集线器)上,IP和子网掩码配置如图中所示。图中的“/24”表示的是计算机IP地址的网络位有24位,主机位是8位(32−24=8),相当于子网掩码是255.255.255.0。哪些计算机之间可以通信?判断的依据是什么?如何才能让它们全部都可以互访?

结果是PC1和PC2为一组,PC3和PC4为一组,组内计算机之间可以通信,组间计算机之间不能通信。判断的依据是:同一子网的计算机可以直接通信,不同子网的计算机不可以直接通信,处在不同子网中的计算机间如需通信,需要通过一个三层设备(也就是有路由功能的设备)。

那么如何判断计算机是否在同一个子网呢?先把IP地址和子网掩码换算成二进制,然后进行“与”运算,也就是二进制的按位取小运算,得出一台计算机所在的网络号,如果两台计算机的网络号相同,则它们处在同一子网;如果网络号不同,则它们处在不同子网。把每台计算机的IP地址与子网掩码进行按位“与”运算,得出PC1的网络号192.168.1.0/24,PC2的网络号是192.168.1.0/24,PC3的网络号192.168.2.0/24,PC4的网络号192.168.2.0/24,PC1和PC2处在同一子网,PC3和PC4处在同一子网。如果192.168.1.0网络中的计算机需要访问192.168.2.0网络中的计算机,那么就需要通过一个三层设备,而Hub处于OSI七层模型中的第一层,即物理层,不具备路由功能,无法为不同子网中的计算机提供路由功能。

如何才能让4台计算机相互都可以通信呢?方法有很多种,这里简单列举3种。方法一,修改PC3、PC4的IP地址为192.168.1.3、192.168.1.4,这样4台计算机就处在同一子网中,相互之间可以直接通信;方法二,修改4台计算机的子网掩码为“/22”,即255.255.252.0,这样4台计算机就都处在192.168.0.0/22子网中了;方法三,把集线器换成三层交换机,并把接PC1、PC2的交换机端口划到一个VLAN(虚拟局域网,在本书第3部分会更详细深入地介绍VLAN的配置),并给此VLAN分配IP地址192.168.1.254,把PC1和PC2的网关设成192.168.1.254,把连接PC3、PC4的交换机端口划到另一个不同的VLAN,并给此VLAN分配IP地址192.168.2.254,把PC3 和PC4的网关设成192.168.2.254,这样4台计算机之间也可相互通信了。

需要注意,在做子网划分的时候,主机位全“0”、全“1”的IP地址都不可以使用,全“0”的是子网地址,全“1”的是子网广播地址,如192.168.1.0/24和192.168.1.255/24这两个IP地址就分别代表网络地址和广播地址,都不可以配置给计算机使用,192.168.1.0/24网络中可用的IP地址数是256−2=254个,即每个子网中可用的IP地址数量是:2主机位数−2。

为了便于初学者理解子网的计算,在这里列举3个例子。

实验1-6 IP子网计算

一台计算机的IP地址和子网掩码是172.16.2.160/26,如何计算出该计算机所在的子网地址、子网广播地址、该子网中第一个可用的IP地址、该子网中最后一个可用的IP地址以及该子网中共有多少个IP地址可用?

如何对上述问题进行解答,许多专家一眼就能看出答案,但对于初学者却非易事。如图1-4-14所示,给出了一个通用的解法,虽然有点繁琐,但却易于理解,不会出错,随着对“与”运算的了解,还是可以再做精简。下面对上述几个问题解释如下。

把IP地址转换成二进制,不要使用一般常用的“除2取余”法,这特别容易搞错。建议使用凑数字法,IP地址的每个十进制数是由8个二进制数组成的,最大是128+64+32+16+8+4+2+1=255,如192=128+64,则转换成二进制数就是11000000。最后会发现,本例中的172.16.2是没有必要转换成二进制的,因为,任何数与255与运算的结果一定是它本身。

把子网掩码转换成二进制。

在子网掩码二进制表示法中“1”的结束处,画一条竖线,竖线左边表示的是网络位,竖线右边表示的是主机位。本例中网络位是26位,主机位是6位。

主机位全是“0”的地址是子网地址。

主机位全是“1”的地址是广播地址。

子网地址加1得到的是本子网中第一个可用的IP地址。

子网广播地址减1得到的是本子网中最后一个可用的IP地址。

把IP地址在竖线左边的网络位部分照抄下来,把各个地址部分补充完整。

实验1-7 IP子网划分

某单位申请到了一个C类的网络地址192.1.1.0/24,该单位共有5个部门,每个部门最多有28台计算机。为了增强安全性,使用路由器来限制部门之间只能进行有限的访问。问子网掩码设成多少比较合适?

分析C类地址的特征,24位网络位,8位主机位,因为网络位是IP地址分配商提供,是固定分配的,单位内部可调整的只能是主机位。从8位主机位中如果借出一位,只能划分成21=2个子网(有些老式系统不支持全0、全1的子网,也就是如果是借1位,将没有一个子网可用,但新的系统基本都不存在这个限制),满足不了5个部门的需要;借2位,可以划分成22=4个子网,还是满足不了5个部门的需要;借3位,可以分成23=8个子网,可以满足5个部门使用的需要。网络位本来有24位,又从主机位借走了3位作为子网位,还剩下来5位主机位,每个子网可容纳的主机数量是25-2=30,大于每个部门最多的主机数量28;借4位,虽然子网数量满足了,可主机位只剩下4位,每个子网中最多只能有24-2=14个可用IP地址,还要去除网关占用的一个IP地址,每个子网最多只能容纳13台计算机,小于每个部门最多有28台计算机的需求。故本例的正确划分方法只有一种,从主机位中借出3位作为子网位,则网络位变成了24+3=27位,换成十进制就是255.255.255.224。

本实验把一个C类地址分成了8个子网,而单位只需有5个子网,拿出前5个子网,后面的3个子网预留给将来的升级使用。假设每个子网都是把第一个可以使用的IP地址用做网关,则IP地址的分配范围、网关和子网掩码的配置、路由器接口的IP地址配置,以及每个子网的网络号和未使用的网络号,如图1-4-15所示。

实验1-8 IP路由汇总

如图1-4-16所示,路由器R1、R2、R4上均有4个C类的地址,路由器R3能学到所有的路由条目(本书第3部分会介绍路由的配置)。R3的路由表中有12+3(路由器中的互连网段)=15个条目,过多的路由表条目会占用更多的内存,CPU的负载也会更大,还会带来网络的不稳定性。可以使用路由汇总技术来减小R3路由表的大小。对于一个网络管理人员来说,掌握正确的路由汇总技术必不可少。

把所有明细路由条目转换成二进制,把共同的部分取出来,如果不会带来误解,即可实现路由的汇总。这里以R1上的4个条目为例,如图1-4-17所示进行操作。

在R3上取消明细条目,只保留汇总后的条目。路由表条目从汇总前的15条变成汇总后的3(汇总后的路由)+3(路由器中的互连网段)=6条,路由表大大减小。

相关图书

物联网全栈开发原理与实战
物联网全栈开发原理与实战
区块链技术本质与应用
区块链技术本质与应用
网络调研技术与实战
网络调研技术与实战
区块链架构与实现:Cosmos详解
区块链架构与实现:Cosmos详解
TongWeb中间件实用教程
TongWeb中间件实用教程
2020区块链漫游指南
2020区块链漫游指南

相关文章

相关课程