嵌入式-456

第四章 局域网技术

学习目标

1)了解局域网的概念和发展过程,掌握IEEE802系列各协议标准的任务,理解逻辑链路控制子层LLC和介质访问控制子层MAC的功能。

2) 掌握以太网的基本工作原理,CSMA/CD介质访问控制的基本思想;以太网编址方式和帧格式;熟悉典型的以太网产品。

3)掌握集线器、中继器、网桥和以太网交换机等以太网扩展设备的工作原理。4) 掌握虚拟局域网的概念和划分方法;熟悉常用的虚拟局域网配置命令。5) 掌握无线局域网的分类和各种WLAN的基本工作方式。建议学时8学时。

第一节 局域网概述

如本书第一章中所述,局域网是计算机网络的一种具体应用形式,也是互联网的重要组成部分。局域网可以将范围在几十米到几千米内的计算机设备连接起来实现数据的高速通信,非常适用于大楼、车间、办公室、校园和家庭等用户环境。有了局域网,各种企事业单位就可以实现文件管理、应用软件共享、打印共享和电子邮件等功能,网络中的用户还可以通过局域网接入Internet,获得更多的互联网服务。

局域网的研究开始于20世纪70年代初,一些大学和研究机构提出了不同的局域网技术设计思想,如由美国加州大学设计的Newhall环网,由英国剑桥大学设计的Cambridge Ring环网,由IBM公司设计的令牌环网,以及由通用汽车公司设计的令牌总线网等。1975年,美国施乐公司(Xerox)研制出了基于总线的局域网产品-以太网(Ethernet),以太网用曾经在历史上表示传播电磁波的物质-以太(Ether)来命名。1980年,DEC公司、Intel公司和施乐公司联合提出了以太网规约的第一个版本DIXV1,1982年又修改为第二版规约 DIXV2。到了20世纪80年代,局域网已经得到了广泛的应用,在局域网技术领域占主导地位的技术主要有以太网、令牌环网和令牌总线网3种,市场上有很多基于这3种技术的局域网产品,它们的数据格式和控制方式各不相同。为了解决局域网技术标准化的问题,美国电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)在1980年成立了局域网标准委员会,简称IEEE802委员会,专门从事局域网标准化工作,其制定的相关标准也以 IEEE 802来命名。IEEE802标准主要研究的是局域网内部的数据传输与控制,无须考虑路由和交换的问题,因此可以只对应OSI参考模型的数据链路层和物理层两个层次。数据链路层用于信息帧的传送与控制,物理层负责物理连接和实现比特流的传输。

为了将多种局域网技术纳人一个统一的协议模型,IEEE802委员会提出将数据链路层划分为两个子层:逻辑链路控制子层(LogicalLinkControl,LLC)和介质访问控制子层( MediaAccess Control,MAC)。与接入各种传输介质有关的内容都放在MAC子层,包括将上层数据封装成帧进行发送、寻址和比特差错检测等;LLC层负责与介质接入无关的内容,包括建立和释放数据链路层的逻辑连接、提供帧序号、提供高层接口和差错控制等。不同的局域网产品在MAC子层和物理层可以采用不同的技术和协议,但在LLC子层必须采用相同的技术和协议,即:不管局域网采用什么物理传输介质、介质访问方法及MAC帧结构,LLC子层统一将它们封装到相同格式的LLC帧中。这样在进行网络互联时,网络层就可以不考虑局域网的传输介质、拓扑结构和介质访问方法等问题,只需处理格式统一的LLC帧即可。

IEEE802委员会为局域网制定了一系列标准,并且根据技术的发展不断地更新,主要标准及任务如表4-1所示。

IEEE802委员会最初的想法是形成统一的局域网标准,但由于各生产厂商在市场竞争中势均力敌,因此只能为主流的局域网技术分别制定标准,如以太网标准IEEE 802.3、令牌总线网标准IEEE 802.4和令牌环网标准IEEE802.5。由于以太网的开放性特点,它得到了更多软硬件生产厂商的支持,逐渐在竞争中脱颖而出,在校园网、企事业单位内部网等局域网环境中,几乎采用的都是以太网技术和产品。因此在局域网中是否使用LLC子层已经变得不再重要,很多设备制造商的产品不再使用LLC协议,而是直接将数据封装在以太网的MAC帧中。由于技术和市场的变化,IEEE802中的一些标准已经不再或很少使用,如 IEEE 802.2、IEEE 802.4、IEEE 802.6、IEEE802.7和IEEE802.12等,相应的工作组已经停止工作。

第二节以太网技术

一、以太网的基本原理

以太网(Ethernet)自产生以来,一直在快速发展,技术和产品都在不断更新,传输速率越来越高,安装维护越来越简单,价格越来越适中,目前已经成为应用最普遍的局域网产品。

以太网的技术规范主要包括:拓扑结构、传输介质、介质访问方式、传输速率、最多工作站数和最远传输距离等。例如,最早的以太网产品10Base-5的拓扑结构为总线型,传输介质为粗同轴电缆,介质访问控制协议为CSMA/CD,传输速率为10Mbit/s,最多工作站数为1024,最远传输距离为2500m。

传统的以太网是总线型的局域网,总线型结构决定了网络中所有的结点共享传输介质,都可以通过总线发送或者接收数据,但同一时间只允许一个结点以“广播”的方式使用总线发送数据,其他结点以“收听”的方式接收数据。所以,当局域网中的结点要发送数据时,首先要确定总线上没有其他结点发送数据,否则,就要等待总线空闲下来才能发送。而由于结点发送的数据在总线上有传输延迟,有可能会出现同时有两个以上结点通过总线发送数据的情况,多个数据信号在信道上叠加会造成“冲突”现象,接收结点无法正确接收数据。这些都是介质访问控制(MAC)协议要考虑的内容。介质共享型局域网中的介质访问控制(MAC)协议需要具体解决以下3个问题。

1)在某一时刻,哪个结点可以发送数据?

2) 发送时是否会出现冲突?

3)出现冲突时如何处理?

以太网中采用载波监听多路访问/冲突检测(CarrierSense Multiple Access with Collision Detection,CSMA/CD)作为介质控制访问方法。CSMA/CD的基本思想为:每一个结点在发送数据之前首先要检测总线上是否有其他结点发送数据。如果有,则暂时不发送数据,要等到信道变为空闲状态后再发送数据。由于以太网使用的是曼彻斯特编码,所以各结点检测的是总线上是否有高低电平的变化,这个过程称为“载波监听”。

由于电磁波在总线上以有限的速率进行传播,因此当一个结点监听到总线是空闲的,总线上有可能会有其他信号正在传播,只是此时还没有到达该结点。这就需要结点在发出数据后,还要继续对总线进行检测。当有多于一个的结点在总线上发送数据时,总线上的信号电压会因为叠加而增大,如果结点检测到信号电压的变化幅度超过某一阈值时,就认为总线上有不止一个的结点在同时发送数据,即产生了“冲突”,这一过程称为“冲突检测”。当结点发现总线上有冲突时,就立即停止发送数据,以免浪费网络资源,等待一段时间后再次发送。

CSMA/CD的介质访问控制基本思想可以简单概括为:“先监听,再发送;边发送,边监听。”

二、以太网的硬件地址

与其他计算机网络一样,局域网也需要设计一套标识系统来为网络中的每一个结点表明身份,从而能在网络中方便地找到各个结点,实现数据的通信,这就好像人们要能与别人实现邮件或电话通信,必须要有通信地址和电话号码一样。IEEE802委员会为局域网设定了一套标识规则,即用一个48bit(6B)二进制数作为局域网的全球地址,标识每一块局域网适配器(网卡)。这个地址在适配器生产时就固化在其ROM中,称为局域网适配器的物理地址或MAC地址。计算机只有安装了局域网适配器才能接人局域网,所以其局域网适配器的MAC地址可以认为是该计算机在局域网中的地址。如果一台计算机或路由器安装有多个局域网适配器,则它就具有多个MAC 地址。

就像电话号码由电信部门分配、邮政编码由邮政部门分配一样,局域网地址也有统一的管理和分配机构IEEE注册管理机构RA。IEEERA负责分配局域网地址6个字节中的前3个字节,所有的局域网适配器生产厂商都要向IEEERA来购买由这3个字节构成的地址块号,厂商购买某个地址块号后,其生产的适配器的MAC地址的前3个字节就被确定,后个字节的地址可以由厂商自行分配,只要不出现重复地址即可。

MAC地址是IEEE为所有局域网设置的地址规则,以太网也遵从这一编址方案。

三、以太网的 MAC帧格式

在以太网的MAC层,数据是以帧(frame)的形式存在的,以太网的MAC帧格式有两种标准:DIXEthenet V2(即以太网V2)标准和IEEE802.3标准,两者的帧格式基本相同,唯一的区别在于以太网V2帧中设置两个字节作为类型字段,用于标识上一层所使用的协议类型,而IEEE802.3帧定义这两个字节为长度或类型字段。当这个字段值大于0x0600时,用于标识上一层使用的协议类型;当这个字段值小于0x0600时,用于标识MAC 帧的数据部分的字节数。目前使用最广泛的是以太网V2的MAC帧格式。具体的MAC帧格式如图4-1所示。

共享式以太网的基本工作原理是:假设以太网内某站点A有数据要发送给站点B,那么站点A首先将B的MAC地址和自己的MAC地址分别作为目的地址和源地址封装在MAC帧中,并且将上层传来的数据放入MAC帧中的数据字段,然后开始对以太网进行监听,当网络空闲时将AC帧以广播的方式发送到以太网中,并且继续监听是否发生碰撞。以太网中的每个站点收到A所发送的MAC帧后,首先检查一下其目的地址字段中的MAC地址是否是自己的MAC地址,如果不是则丢弃;当站点B收到该MAC帧后,发现目的地址字段的内容与自己的MAC地址一致,则需要继续检查该MAC帧是否为无效帧,如果是无效的就将其丢弃,否则就将其接收。出现无效MAC帧的情况包括:MAC帧的长度不是整数字节; FCS检测出错;收到的MAC帧长度不在64~1518B之间。以太网规定,对于被丢弃的帧不负责重传,是否重传由高层协议决定。

四、以太网的产品类型 界照桌个供支送借。

1.粗缆以太网(10Base-5)

粗缆以太网(10Base-5)是最早的以太网产品,采用的是电阻为50Ω的粗同轴电缆。以太网中的每一个站点通过一个收发器和收发器电缆与以太网干线相连。

10Base-5的含义如下。

  • 10表示信号在电缆上的传输速率是10Mbit/s.
  • Base表示电缆上传输的信号是基带信号。
  • 5表示每一段电缆的最大长度为500m。
  • 当实践网络跨度超过500m时,需要采用中继器(Repeater)将信号放大并整形后转发出去。

粗缆以太网 (10Base-5)的主要参数包括以下几个。

  • 站点间的最大干线长度为500m。
  • 收发器连至干线段。
  • 工作站到收发器的最大距离为50m。
  • 最多使用4个中继器连接5条干线段。
  • 最大网络干线长度为2469m。
  • 一条干线上最多支持100个工作站。中继器相当于一个工作站。

2.细缆以太网(10Base-2)

细缆以太网采用0.2in(英寸)的50Ω同轴电缆作为传输介质,数据传输速率为10Mbit/s,采用网卡和T形连接器将站点与同轴电缆相连。细缆以太网相比粗缆以太网的优点是组网开销低,连接方便。

其主要参数指标包括以下几个。

  • 站点间最大的干线长度为200m。
  • 采用T形连接器将网卡与电缆相连。
  • 最多使用4个中继器连接5条干线。
  • 最大网络干线长度为910m。
  • 一条干线上最多支持30个工作站。中继器相当于一个工作站。

粗缆以太网(10Base-5)和细缆以太网(10Base-2)都是以太网早期的技术和产品,目前已经不再使用。

3.双绞线以太网 (10Base-T)

双绞线以太网(10Base-T)是替代同轴电缆以太网的产品,在相当长的一段时期内是使用最为广泛的局域网系统。它采用非屏蔽的双绞线(UTP)作为以太网传输介质,数据传输速率为10Mbit/s,支持以太网结构化布线方式和集线器(Hub)设备。双绞线以太网中的站点可以通过不超过100m的非屏蔽双绞线连接到一个集线器上,多个集线器还可以通过级联方式连接到其他集线器上。10Base-T以太网组网容易且方便,具有良好的故障隔离功能。

具体的组网规则如下。

  • 采用非屏蔽双绞线UTP将站点连接到集线器上,一段双绞线的最大长度为100m。
  • 工作站、集线器与双绞线之间的物理接口采用标准的RJ-45接口。
  • 非屏蔽双绞线的最低标准是3类UTP,特征阻抗为100Ω。
  • 最多支持4个集线器或中继器,从而构成5个网段。

4.快速以太网(100Base-T)

快速以太网(100Base-T)是在传统以太网基础上发展起来的,保留了传统以太网的帧格式和CSMA/CD介质访问控制方式,但数据传输速率提高到100Mbit/s。IEEE在1995年正式公布了IEEE802.3u,即快速以太网(100Base-T)标准。100Base-T标准定义了3种物理层规范,以支持不同的物理介质。

  • 100Base-TX:采用两对5类UTP。
  • 100Base-T4:采用四对3、4或5类 UTP。
  • 100Base-FX:采用光缆。

5.千兆位以太网 (Gigabit Ethernet)

千兆位以太网(Gigabit Ethernet)是IEEE802.3标准的扩展,在保持100Base-T以太网的帧格式和CSMA/CD协议的基础上,将数据传输速率提升到1000Mbit/s,并且与传统以太网完全兼容,可以支持各种已有的网络设备和应用,主要用于主干网和接入网。同快速以太网一样,千兆位以太网标准也定义了多个物理层规范以支持不同的物理介质。

  • 1000Base-SX:采用62.5μm和50μm规格的多模光纤作为传输介质,短波长激光作为信号源,在全双工方式下的最长传输距离可分别达到275m和 550m。
  • 1000Base-LX:可采用62.5μm和50μm规格的多模光纤,也可支持9μ.m的单模光纤作为传输介质,长波长激光作为信号源。使用多模光纤在全双工方式下的最长传输距离为550m,使用单模光纤在全双工模式下的最长传输距离为3000m。
  • 1000Base-CX:采用特殊规格的铜质高质量平衡屏蔽双绞线,阻抗为150Ω,最长有效距离为25m。
  • 1000Base-T:采用4对5类或超5类UTP作为传输介质,最长有效距离为100m。

6.万兆位以太网 (10 Gigabit Ethernet )

随着网络应用的普及,数据通信需求的增大,人们希望获得更高的数据传输速率,支持更广泛数据业务的网络服务。1999年IEEE成立了802.3ae工作组,开始进行万兆位以太网(10Cbit/s)的研究,并于2002年正式发布了IEEE802.3ae (10 Gigabit Ethernet),即万兆位以太网标准。万兆位以太网进一步扩展了以太网的数据传输速率和传输距离,还使得以太网技术突破局域网领域的限制,开始应用于城域网和广域网领域。

万兆位以太网的主要技术特点包括以下几个。

  • MAC层的帧结构与千兆位以太网的MAC层帧结构保存一致,但不再支持CSMACD介质控制方式。
  • 保留802.3标准的最小和最大帧长度。
  • 只支持全双工传输方式。
  • 提供5种物理接口,支持多模和单模光纤。
  • 提供更高带宽和更远传输距离的通信服务,可以应用于局域网、城域网和广域网等。

目前,IEEE和各大生产厂商正在致力于研究10万兆位以太网的相关技术,已经推出了定义10万兆位以太网的标准IEEE802.3ba,给出了相关框架和接口的定义,但具体的细节还在进一步的研究中。

五、以太网的扩展

随着以太网应用的普及,人们需要以太网能覆盖更广泛的区域,容纳更多的主机,这就需要对以太网进行扩展。扩展的方法根据使用设备工作所在层次的不同,分为物理层扩展和数据链路层扩展。物理层扩展使用的设备主要有中继器(Repeater)和集线器(Hub),数据链路层扩展使用的设备主要有网桥(Bridge)和交换机(Switch)。

1.中继器和集线器

由于以太网中的数字基带信号在传输介质中传输会产生衰减,从而使得CSMA/CD协议无法检测出有无信号或者是否发生碰撞,所以要扩大以太网的地理覆盖范围,最简单的办法就是使信号在保持原样的基础上尽可能远的传输。这个任务可以由物理层设备完成。物理层设备连接多个以太网,只负责数据信号的放大、转发或重发,不关心以太网帧中的内容。中继器是一种最简单、廉价的以太网扩展设备,常用于连接两个以太网网段,对衰减的信号进行放大,保持与原数据相同。集线器(Hub)是一种特殊形式的中继器,其基本工作原理也是对物理信号进行放大和转发,它位于某个以太网网段的中心,具有多个物理接口,每个接口可以连接主机或者其他以太网网段。这样,就可以通过多个集线器之间的级联,形成更大范围的以太网,如图4-2所示。

每个集线器和与其相连的主机构成一个星形结构的以太网,其中任何一台主机都可以和自己所在以太网的其他主机通信,也可以和其他集线器所连接的主机进行通信,大大拓展了以太网的范围。在采用集线器的以太网中,当一个主机要发送数据时,它会将其发送给直接相连的集线器,集线器对数据信号进行保存和放大,然后转发到该集线器的各个接口,包括主机和其他集线器。多级结构的集线器虽然可以拓展以太网的范围,但也带来了一些缺点,最主要的原因在于多级集线器构成的以太网仍然采用的是CSMA/CD协议,因此会在整个以太网范围内形成一个很大的碰撞域(或冲突域),即在这个冲突域中,任意时刻只能有一个主机可以发送数据,否则就会发生碰撞。而如果各集线器之间没有级联,则每一个小的以太网网段是一个独立的冲突域,只需要在这个冲突域内保证有唯一一个主机发送数据就可以避免碰撞,而对于其他冲突域的通信没有影响。

2.网桥

当网络规模更大、结构更复杂时,只在物理层进行信号的放大和转发而扩展以太网就显得效率过低,因此人们就设计出在数据链路层扩展以太网的技术。网桥(Bridge)是工作在数据链路层的以太网扩展设备,通常用于连接少量的以太网网段(网桥一般设有2-4个接口),它根据MAC帧中的目的地址对收到的帧进行转发和过滤。网桥通过接口连接不同的以太网网段,同时其内部维护着一个用于转发MAC帧的数据库,称为转发表。当网桥收到一个帧时,并不是向所有接口转发此帧,而是对该帧进行读取,检查其目的地址,根据转发表将该帧转发到合适的接口,或者将其丢弃。转发表的结构示意图如表4-2所示。

网桥的接口1和接口2分别连接两个以太网LAN1和LAN2,假设主机1要向主机5发送数据,它将MAC帧广播发送到LAN1上,与之相连的网桥也会收到该MAC帧,收到该帧后,网桥检查其中的目的地址并查找转发表,发现主机5对应的接口为接口2,则将其转发到接口2,从而广播到LAN2中,不再向接口1发送。如果主机1要向主机4发送数据,它将MAC帧广播发送到LAN1上,网桥收到该帧后,发现其目的地址对应的接口为接口1,与接收到的接口一致,则表明主机1和主机4在同一个网段上,不需要转发,将该帧丢弃。网桥的这种机制,可以保证不同网段上的通信不会互相干扰。如果主机1要向主机8发送数据,它将MAC帧广播发送到LAN1上,网桥收到该帧后,发现转发表中没有目的地址为主机8的表项,则向除该MAC帧来源(接口1)外的其他所有接口(这里是接口2)进行转发。

建立和维护转发表是网桥能够正常工作的基础。目前使用的网桥都是即插即用型设备,即直接接入以太网而不需要人工配置就可以工作,这就需要通过“自学习”算法来自动建立起转发表。“自学习”算法的基本思想是:当一个网桥刚接入以太网时,其转发表中没有任何信息,是一个空表。当它从某接口x收到某主机a所发出MAC帧时,就把主机a的地址和接口x记录到转发表中,表明如果再收到目的地址为主机a的MAC帧,则向接口x转发。当以太网内的所有主机都向网桥发送过MAC帧后,每一个主机地址就会被记录在网桥中的转发表中。

网桥只适用于用户数不太多的以太网,否则有可能产生因为广播信息过多而造成网络拥塞,这称为广播风暴。

3.以太网交换机

以太网交换机也是工作在数据链路层的以太网扩展设备,也被称为第二层交换机,其实质是一种多接口的网桥,通常都有几十个以上的接口。以太网交换机的每一个接口都直接与主机或者集线器相连,而网桥的接口通常是连接在以太网的总线上。以太网交换机也是一种即插即用设备,通过自学习算法逐渐建立起转发表。以太网交换机内部采用专用的交换结构芯片,能大大提升交换的速度。以太网交换机设有支持不同速率的接口,可以连接10Mbit/ s、100Mbit/s和 1Gbit/s等多种以太网。

下面通过一个例题来解释一下以太网交换机的转发过程。

大家知道,以太网交换机是工作在数据链路层的网络互联设备,其实质是一种多端口网桥。以太网交换机根据以太网帧中的目的MAC地址对收到的帧进行转发和过滤。当收到一个帧时,需要依据该帧的目的MAC地址检索转发表,如果检索到转发表项,则进一步判断该表项对应的端口与收到该数据帧的端口是否一致,如果一致,则丢弃该帧,否则向转发表项对应的端口转发该帧;如果未成功检索到转发表项,则向除接收到该帧的端口外的所有端口泛洪该帧(每个端口都发送一份该帧的副本)。

交换机在转发和过滤数据帧的过程中,还完成自学习。转发表的信息就是通过自学习获得的。交换机自学习的基本原理是利用接收到的数据帧的源MAC地址完成学习,即学习到可以通过接收该帧的端口到达该帧的源MAC地址对应的主机。例如,若从某个主机A发出的帧通过端口x进入某交换机,就意味着从端口x出发沿相反方向一定可以把一个帧传送到 A。所以,交换机每收到一个帧,先按其源MAC地址查看转发表的目的地址栏,如果没有则将其源MAC地址和进入的端口标识记录在转发表中,完成一次学习;再按目的 MAC地址查找转发表的目的地址栏,如果有记录,则向相应的端口转发,如果没有记录,则向除帧进人交换机对应的端口外的其他所有端口转发。

根据以太网交换机的工作原理,在本题中,主机00-e1-d5-00-23-a1向主机00-e1-d5-00-23-c1发送的帧通过端口1进入交换机,交换机按源地址00-e1-d5-00-23-a1查找转发表,发现没有相应记录,则将00-el-d5-00-23-a1和端口1记录到转发表中,此时转发表更新为:

再按目的地址00-e1-d5-00-23-c1查找转发表,发现没有相应记录,则将该帧向除端口1外的其他所有端口转发,即端口2和端口3。

当主机00-e1-d5-00-23-c1收到该帧后,向主机00-el-d5-00-23-al发送确认帧,该帧的源地址和目的地址分别是00-el-d5-00-23-c1和00-el-d5-00-23-al,通过端口3进入交换机,交换机同样先按源地址查找转发表,发现没有记录,则将00-e1-d5-00-23-c1和端口3写入转发表,然后按目的地址00-e1-d5-00-23-al查找转发表,结果发现转发表中有该目的地址的记录,转发接口为端口1,因此将该确认帧向端口1转发。

综上所述,交换机对这两个帧的转发端口分别是{2,3}和{1}。

以太网交换机的交换方式主要有直接交换(cut-through)和存储转发交换(storeand forward) 两种。直接交换方式是指交换机接收到MAC帧后,检测目的地址并查找转发表,然后直接将该帧转发或丢弃,而不对该帧进行差错校验,留给目的主机去完成校验功能。这样可以加快交换的速度。存储转发交换方式是指交换机首先要接收并暂存MAC帧,并进行差错校验,如果没有差错,再根据目的地址和交换表进行转发,否则就丢弃该帧。存储转发方式可以避免将一些无效帧转发给其他主机,造成信道资源的浪费。

以太网交换机具有多个接口,它可以将多台主机连接在一起,构成星形结构的局域网,采用交换方式进行数据传输。交换式以太网相比于共享式以太网具有很多优点,包括以下几个。

1)它可以在保留现有的以太网基础设施的基础上进行扩展,无须丢弃和重建现有网络。

2)允许多对主机进行同时通信,每一对通信的主机都可以独占传输媒体,实现无碰撞的数据传输。

3)可以连接不同速率的以太网,满足不同网络环境进行互联扩充的要求。

4)可以基于以太网交换机实现帧过滤、传输控制和虚拟局域网络设置等多种功能。因此,以太网交换机的应用越来越广泛,尤其是随着建筑物结构化布线系统的普及,以太网交换机已经成为校园、工厂和楼宇等环境局域网建设不可缺少的重要网络设备。常用的以太网交换机形式有单台交换机、堆叠交换机和箱体模块化交换机等。

第三节 虚拟局域网(VLAN)

一、虚拟局域网的基本概念

虚拟局域网是基于交换机的一种局域网应用形式。IEEE802.1Q中对虚拟局域网的定义是:虚拟局域网Virtual LAN(VLAN)是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN帧都有一个明确的标识符,可以指明发送这个帧的主机属于哪一个VLAN。

在局域网中,具有相同业务需求的若干主机可以构成一个工作组,同一工作组内的计算机的互相访问更加频繁和自由,比如一个公司的某个部门中的计算机,一个学院的某个系中的计算机等。而在传统局域网中,工作组通常都是被限定在同一个局域网网段中,不同工作组之间通过网桥或路由器交换数据,当一个工作组中的主机要转移到其他工作组时,需要重新调整物理位置。而采用虚拟局域网的方式可以不受物理位置的限制,以软件的方式划分和管理局域网中的工作组。虚拟局域网的基本工作原理如图4-5所示。

假设某公司局域网中有9台主机,分布在3个楼层,通过3个以太网交换机(交换机

1、交换机2和交换机3)形成3个网段:网段a (a1,a2,a3)、网段b(b1,b2,b3)和网段c(cl,c2,c3)。3个网段再通过路由器连接在一起。每个网段内部的主机构成一个局域网工作组。根据业务的需要,公司希望重新划分工作组,将不同网段内的主机划分成一个工作组,即形成虚拟的局域网。假设划分成3个虚拟局域网:VLAN1: (al,bl,c1)、 VLAN2:(a2,b2,c2)和 VLAN3:( a3,b3,c3),每一个虚拟局域网中的主机可以位于不同的网段和楼层。虚拟局域网传输数据的基本原理是:在虚拟局域网中的每一个主机都可以收到同一个虚拟局域网内的其他主机所发出的广播;当一个主机向虚拟局域网内的其他主机发送数据时,该虚拟局域网外的其他主机不会收到其所发的广播信息。这样的工作机制可以限制接收广播信息的主机数,从而使局域网不会因为传播过多的广播信息而引起性能的恶

化,即通常所说的“抑制广播风暴”。

二、虚拟局域网的划分方法

虚拟局域网的设置是在以太网交换机上,通过软件方式实现的。划分虚拟局域网的方法主要有3种。

1.基于交换机端口的划分

局域网的网络管理员可以按照以太网交换机的端口定义VLAN成员,每个交换机端口属于一个VLAN。例如在图4-5中,可以将交换机1的A1端口、交换机2的B1端口和交换机3的C1端口划分到一个虚拟局域网VLAN1中。基于端口的划分方法简单有效,易于控制管理,是一种最常用的虚拟局域网划分方法。由于是由网络管理员静态指定的端口,因此基于端口划分的虚拟局域网又称为静态虚拟局域网。

2.基于MAC 地址的划分

基于MAC地址划分虚拟局域网是按每个连接到以太网交换机的主机MAC 地址定义 VLAN 成员。例如在图4-5中,假设9台主机的MAC地址为

网络管理员可以在以太网交换机中将MAC地址为00-00-00-00-00-a1、00-00-00-00-00-b1和00-00-00-00-00-c1的主机设置在一个虚拟局域网VLAN1里。基于MAC地址的划分方法需要以太网交换机连接一台VLAN配置服务器,其中保存了VLAN管理数据库,用于对接交换机的主机进行动态的VLAN划分。基于MAC地址划分的优点是在新增用户或用户移动时,可以自动进行划分,减少配线、布局等中间环节。

3.基于上层协议类型或地址的划分

基于上层协议类型或地址的虚拟局域网划分方法是根据以太网帧所携带数据中的上层协议类型(如TCP/IP、IPX和DECENT等)或地址(如IP地址、子网地址等)定义 VLAN成员,这种方法的优点是有利于组成基于应用的VLAN。

三、虚拟局域网的帧格式

要在局域网中实现虚拟局域网的划分,必须对以太网的帧格式进行扩展,用来标识以太网帧所属的不同虚拟局域网。IEEE802.1Q标准定义了虚拟局域网环境下的以太网帧格式,即在一般以太网的帧格式中插入一个4B的标识符,称为VLAN标记(Tag),用来指明发送该帧的主机属于哪一个虚拟局域网,具体的帧格式如图4-6所示。

VLAN标记字段的长度是4B,位于以太网帧结构的源地址字段和类型字段之间,其中前两个字节(16位)固定设置为0x8100(二进制数1000000100000000),称为IEEE802.1Q标记类型。当以太网中的设备检测到MAC帧的源地址字段后面出现0x8100时,就知道是插入了VLAN标记。在后面的两个字节中,前3位是用户优先级字段,接着是1位规范格式指示符(CFI),最后的12位是虚拟局域网VLAN标识符(VID),用于表明该以太网帧属于哪一个 VLAN。

四、虚拟局域网中继技术 VLAN Trunk

由于VLAN是按照逻辑位置而非物理位置进行划分的,因此经常会遇到同一VLAN中的主机需要跨越不同的交换机进行数据通信的问题,采用的方法是在不同交换机之间用一条骨干链路连接起来,并且利用VLAN帧格式中的VLAN标记来识别和承载来自多个VLAN中的数据帧,如图4-7所示。

在交换机1和交换机2之间用一条链路级联,并将对应的端口设置为Trunk端口,这样就可以使两个交换机上处于同一个VLAN的主机进行通信,即al和b1之间,a2和b2之间, a3和b3之间。

五、交换机配置 VLAN 的基本命令

下面以市场上流行的Cisco交换机为例,简单介绍一下利用交换机配置 VLAN的基本命令。局域网中的交换机要完成VLAN划分功能,必须要进行配置管理,配置的方式主要有通过Console口将计算机与交换机相连,利用相应的软件工具如Windows操作系统自带的“超级终端”等进行配置;通过Telnet对交换机进行远程管理;通过Web对交换机进行远程管理;通过SNMP工作站对交换机进行远程管理,共4种配置方式。配置的形式分为命令行形式和菜单形式两种,这里主要介绍利用命令行形式配置VLAN的基本命令。

第四节无线局域网(WLAN)

随着移动通信技术的迅猛发展,人们对于摆脱有线介质的束缚,不受空间限制地使用计算机网络提出了更高的要求,特别是伴随着笔记本电脑、平板电脑和智能手机等便携式、可移动的计算机设备的普及,基于无线传输的计算机网络的市场需求越来越大。无线局域网(Wireless Local Area Network,WLAN)是局域网发展的一种新形式,在家庭、办公室、工厂、学校、商场和餐厅等场所,通过无线方式在各种便携式的计算机设备之间建立数据连接,从而实现各种网络服务和功能。

无线局域网根据结构可以分为两大类:有固定基础设施的无线局域网和无固定基础设施的局域网。有固定基础设施是指网络中已经预先存在了一批固定的数据处理和转发设备,这些固定设备可以通过有线方式连接其他网络或Internet;而无固定基础设施是指网络中的每个成员都是对等的可移动设备。

对于有固定基础设施的无线局域网,IEEE于1997年制定了其协议标准,称为IEEE802.11标准。IEEE802.11协议是无线以太网的标准,采用星形拓扑结构,无线局域网中的移动站通过无线方式与接入点(AccessPoint,AP)相连,再由AP通过有线介质连接其他网络或Internet。IEEE802.11在MAC层使用载波监听多路访问/冲突避免协议(CSMACA)。使用IEEE 802.11协议的无线局域网也称为Wi-Fi(Wireless-Fidelity)网络。

与有线以太网采用CSMA/CD协议不同,IEEE802.11协议使用冲突避免算法(CA)来代替冲突检测算法(CD),这样做的原因主要包括:①在无线通信的环境下,信号强度的动态范围非常大,接收端不容易根据收到的信号强度判断是否发生碰撞;②由于无线电磁波信号是向所有方向传播的,当有多个站点同时进行通信时,很有可能产生“检测到信道空闲,其实并不空闲;而检测到信道忙,其实并不忙”的错误。因此,无线局域网不宜使用冲突检测的控制方法。不采用碰撞检测就意味着一个站点只要开始发送数据,就必须要把整个帧发送完毕,如果在这个时刻发送碰撞,则整个信道资源就在这段时间被浪费掉了,因此,无线局域网应该尽可能地减少碰撞的发生。

CSMA/CA协议的目标就是要在无线局域网的数据收发过程中,尽可能地避免发生碰撞, CSMA/CA算法的整个过程比较复杂,本书在这里不做过多的解释,其核心思想主要包括以下几个。

1)采用“停止-等待”的可靠传输方式,即发送方必须收到接收方的确认帧后才能继续发送;如果在规定时间内没有收到确认帧,则认为数据丢失,需要重新发送。

2)采用“虚拟载波监听”机制,让发送方将它要占用信道的时间及时通知给其他所有站点,以便使其他站点在这一段时间都停止发送数据,从而大大降低碰撞的机会。

3)在信道从忙态转为空闲时,各个站点要执行“退避算法”,等待一个随机的时间段后再发送数据,目的是减少发生碰撞的概率。

IEEE 802.11 协议标准规定了WLAN的最小单位为基本服务集BSS,其中包括一个AP和多个移动设备。在一个BSS内,各个移动设备之间可以通信,但如果要和本BSS之外的设备进行通信,则必须经过BSS内的AP。每个BSS需要被设置有一个不超过32B的服务集标识符SSID,用来表明这个BSS。无线局域网BSS的覆盖范围一般不超过100m。一个基本服务集 BSS可以与由以太网、点对点链路或者无线网络构成的分配系统DS相连接,然后再连接其他BSS,构成覆盖范围更大的扩展服务集ESS,进而连接其他网络或者Internet,如图4-8所示。

在一个BSS中,每个移动设备需要和本BSS内的AP建立关联,从而能和其他BSS或者外部网络进行通信。建立关联的方式有两种:一种是被动扫描,即由AP周期性地发出包含有SSID、速率等参数的信息帧,移动设备收到这些信息帧后与AP建立连接;另一种是主动扫描,即由移动设备主动发出探测请求帧,然后等待AP发回的探测响应帧进行连接。移动设备如笔记本电脑、平板电脑等需要配备无线局域网适配器,才能实现IEEE802.11协议在物理层和MAC层定义的功能,在有无线局域网信号的区域接入AP。为了方便管理和保证安全,移动设备接入无线局域网通常需要提供匹配的SSID和密码。

另外一种无线局域网是无固定基础设施的无线局域网,其中没有像AP这样的固定接入点,网络中的各个站点在功能上是平等的状态,在相互通信过程中自动组成临时的网络,因此也被称为无线自组网络(Ad Hoc)。无线自组网络中的每个移动站点既是信息的收发设备,也是信息的转发设备,而且能够随着网络拓扑结构的变化不断更新路由方案。无线自组网络一般情况下是独立运行的,不与外界其他网络相连。

无线自组网络由于其不受固定设备的限制,在军事、救灾、勘探和航海等领域中有着重要的作用。在这些环境中,一般不具备基站、线缆等网络设施,各个移动设备可以通过自组的方式建立临时网络,方便地进行数据通信和信息交换。近年来,在无线自组网络的基础上又发展起来更具针对性的无线局域网技术,如由传感器构成的无线传感器网络WSN、将汽车作为移动站点相互连接而构成的车载自组网VANET等。

本章小结

局域网将范围在几十米到几千米内的计算机设备连接起来实现数据的高速通信,适用于大楼、车间、办公室、校园和家庭等用户环境。局域网可以实现文件管理、应用软件共享、打印共享和电子邮件等功能,网络中的用户还可以通过局域网接入Internet。

IEEE在 1980年成立了局域网标准委员会,简称IEEE802委员会,专门从事局域网标准化工作,其制定的相关标准也以IEEE802来命名。为了将多种局域网技术纳入一个统一的协议模型,IEEE 802委员会提出将数据链路层划分为两个子层:逻辑链路控制子层(LogicalLink Control,LLC)和介质访问控制子层(MediaAccess Control,MAC)。与接入各种传输介质有关的内容都放在MAC子层,包括将上层数据封装成帧进行发送、寻址和比特差错检测等;LLC层负责与介质接入无关的内容,包括建立和释放数据链路层的逻辑连接、提供帧序号、提供高层接口和差错控制等。

以太网(IEEE 802.3协议)是应用最普遍的局域网产品。传统的以太网是总线型的局域网,网络中所有的结点共享传输介质,采用载波监听多路访问/冲突检测(Carrier sense multiple access with collision detection,CSMA/CD)作为介质控制访问方法。CSMA/CD的介质访问控制基本思想可以简单概括为:“先监听,再发送;边发送,边监听。”

以太网通过物理地址或MAC地址进行身份标识,MAC地址是一个48位(6个字节)二进制数,在适配器生产时就固化在其ROM中,如果一台计算机或路由器安装有多个局域网适配器,则它就具有多个MAC 地址。IEEE RA负责分配MAC地址6个字节中的前3个字节,所有的局域网适配器生产厂商都要向IEEE RA来购买由这3个字节构成的地址块号,厂商购买某个地址块号后,后3个字节的地址可以由厂商自行分配。

主要的以太网产品包括了粗缆以太网(10Base-5)、细缆以太网(10Base-2)、双绞线以太网 (10Base-T)、千兆位以太网(GigabitEthernet)和万兆位以太网(10Gigabit随着以太网应用的普及,人们需要以太网能覆盖更广泛的区域,容纳更多的主机,这就 Ethernet)等。

需要对以太网进行扩展。扩展的方法根据使用设备工作所在层次的不同,分为物理层扩展和数据链路层扩展。物理层扩展使用的设备主要有中继器(Repeater)和集线器(Hub),数据链路层扩展使用的设备主要有网桥(Bridge)和交换机(Switch)。

虚拟局域网是基于交换机的一种局域网应用形式。虚拟局域网Virtual LAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN帧都有一个明确的标识符,可以指明发送这个帧的主机属于哪一个VLAN。

采用虚拟局域网的方式可以不受物理位置的限制,以软件的方式划分和管理局域网中的工作组,可以限制接收广播信息的主机数,从而使局域网不会因为传播过多的广播信息而引起性能的恶化,即“抑制广播风暴”。虚拟局域网的设置是在以太网交换机上,通过软件方式实现的。划分虚拟局域网的方法主要有基于交换机端口的划分、基于MAC地址的划分和基于上层协议类型或地址的划分3种。IEEE802.1Q标准定义了虚拟局域网环境下的以太网帧格式,即在一般以太网的帧格式中插入一个4B的标识符,称为VLAN标记(Tag),用来指明发送该帧的主机属于哪一个虚拟局域网。为了解决同一VLAN中的主机需要跨越不同的交换机进行数据通信的问题,需要采用VLANTrunk方法:即不同交换机之间用一条骨干链路连接起来,并且利用VLAN帧格式中的VLAN标记来识别和承载来自多个 VLAN中的数据帧。

无线局域网(Wireless Local AreaNetwork,WLAN)是局域网发展的一种新形式,通过无线方式在各种便携式的计算机设备之间建立数据连接,从而实现各种网络服务和功能。无线局域网根据结构可以分为两大类:有固定基础设施的无线局域网和无固定基础设施的局域网。有固定基础设施是指网络中已经预先存在了一批固定的数据处理和转发设备,这些固定设备可以通过有线方式连接其他网络或Internet;而无固定基础设施是指网络中的每个成员都是对等的可移动设备。

IEEE 802.11协议是无线以太网的标准,使用载波监听多路访问/冲突避免协议(CS- MA/CA),移动站通过无线方式与接入点(AccessPoint,AP)相连,再由AP通过有线介质连接其他网络或Internet。无固定基础设施的无线局域网中没有AP这样的固定接人点,网络中的各个站点在功能上是平等的状态,在相互通信过程中自动组成临时的网络,也被称为无线自组网络(Ad Hoc)。

思考题与练习题

1.IEEE802委员会提出将数据链路层划分为哪两个层次,每个层次的功能各是什么?

2.IEEE 802.3协议描述的是哪种局域网的技术规范?

3.请简述 CSMA/CD的基本思想。

4.以太网的 MAC 地址占几个字节,保存在什么位置?

5.请简述共享式以太网的基本工作原理。

6.10Base-T 以太网采用的传输介质是什么?其数据传输速率是多少?

7.对以太网进行扩展主要在哪两个层上进行?各层使用的扩展设备有哪些?

8.使用多级结构集线器的以太网的缺点是什么?

9.请解释为什么网桥可以保证不同网段上的通信不会互相干扰?10.请简述以太网交换机“自学习”算法的过程。11.以太网交换机的交换方式主要有哪两种?

12.请解释为什么虚拟局域网可以抑制广播风暴?13.划分虚拟局域网的方法有哪几种?

14.请简述 IEEE 802.1Q标准定义的VLAN 标记(Tag)格式。15.无线局域网根据结构可以分为哪两大类?

16.为什么在无线局域网IEEE 802.11协议中使用冲突避免算法(CA)来代替冲突检测算法(CD)?

第五章 网络互联技术

学习目标

1) 理解网络互联的基本概念。

2)掌握IP的特点和IPv4协议报文的格式。

3)掌握IPv4 地址不同阶段的编址方式,理解子网、子网编码、网络前缀和最长前缀匹配等概念,熟悉私有地址的含义和范围。

4)理解路由的含义、路由器的结构和功能;熟悉常用的路由算法和路由协议。5)掌握ARP、DHCP、ICMP及IGMP等协议的功能和基本工作原理。6)了解IPv6的作用和特点,掌握IPv6地址的表示方法。建议学时8学时。

第一节 网络互联概述

计算机网络发展的一个重要目标就是实现更大范围的数据通信与信息共享,让更多的用户获得计算机网络所带来的信息服务。在网络技术发展的过程中,出现了适应于不同环境的网络类型,如局域网、城域网和广域网等,即使对于同一种类型的网络,不同的制造商生产的网络产品在通信技术和运行协议方面也都具有很大的差异。要让分布在世界各地,不同类型、不同协议和技术细节的网络相互连接起来,并且能顺畅、高效地实现信息共享,就必须依靠网络互联技术来实现。网络互联技术是所有能在物理上和逻辑上实现不同网络相互连接的技术的总称,对应于ISO/OSI模型的各个层次。在这里,“互联”和“互连”具有不同的含义:“网络互连”仅指将网络通过有线或无线传输介质在物理上连接在一起,而“网络互联”的含义还包括不同的网络之间在功能和应用上,能够看起来像一个完整的网络一样,自由顺畅地运行。

采用不同通信技术和运行协议的网络通常称为异构网络,如局域网中的以太网和令牌环网、广域网中的帧中继网和ATM网等,实现异构网络互联的基本策略主要包括协议转换和构建虚拟互联网络。协议转换机制采用一类支持异构网络间协议转换的网络中间设备,实现异构网络间数据分组的转换和转发,理论上讲,这种中间设备可以在除物理层之外的任何一层实现协议转换,例如,支持协议转换的网桥或交换机、多协议路由器和应用网关等。通过构建虚拟互联网络机制的异构网络互联是在现有异构网络基础上,构建一个同构的虚拟互联网络,异构网络只需分装和转发虚拟互联网络分组,同时引入虚拟互联网中间设备互连异构网络,实现在异构网络间转发统一的虚拟互联网的数据分组。IP网络就是此类虚拟互联网, Internet是利用IP网络实现的全球最大的互联网络,是典型的在网络层实现的网络互联,采用同构的网络层协议-IP地址与网络标识-IP地址,引入网络互联设备IP路由器。

除了异构网络互联,还有同构网络互联问题,如两个异地以太网的互联,实现这类同构网络互联的典型技术主要有隧道技术等。

第二节 网际协议(IP)

一、IP概述

本书第三章里曾经提到,互联网Internet是基于TCP/IP体系建立起来的。而网际协议(Internet Protocol,IP)是TCP/IP体系中最重要的两个协议之一,正是由于IP的出现,大量的分布在世界各地的不同类型的网络才可以互联在一起形成人们所熟悉的Internet,因此In- ternet 也被称为IP 网络。IP的功能对应于ISO/OSI参考模型中的网络层,与之配套的还有3个协议,它们共同构成TCP/IP参考模型的网络互联层。这3个协议分别如下。

  • 地址解析协议(Address Resolution Protocol,ARP)。
  • 网际控制报文协议(InternetControlMessage Protocol,ICMP)。
  • 网际组管理协议(InternetGroupManagement Protocol,IGMP)。

IP采用路由器(Router)作为网络互联的中间设备,其作用是将不同的计算机网络连接在一起,在网络层实现数据的路由和转发。路由是指收集、计算和维护到达不同网络的路径信息,这些信息被存于路由表(也称转发表)之中,供数据分组转发时使用。转发是指当路由器在某个接口收到网络层数据分组时,提取该分组的目的地址,检索路由表,匹配最佳路由入口(Entry),通过该入口对应的接口再次转发网络层数据分组,发送到相邻的下一跳(Next Hop)设备。路由与转发紧密关联,路由为转发更新、维护路由信息,存于路由表,转发需要利用路由表中的这些路由信息正确转发分组。路由器利用路由协议获取、计算、更新路由表中的路由信息,利用网络层数据通信协议(如IP)来构建和转发分组。IP为接入 IP网的终端计算机、路由器和子网分配标识这些设备的地址,称为IP地址。在IP网中传输的数据分组携带有源IP地址和目的IP地址,路由器根据接收到的分组中的IP地址进行路由和转发。IP 地址和IP路由是IP中最核心的技术,接下来会进行详细的讲解。

I

nternet的巨大发展证明了IP的设计是成功的,其特点可以概括为以下3点。

1.IP 是面向无连接的、不可靠的分组传输协议

IP在发送IP分组时,不需要维护任何状态信息,只是简单地将分组独立地发送出去。而有些协议,如TCP,在发送数据分组之前需要通过“发送探测-接收反馈”的“握手”机制建立并维护一条逻辑链路,在整个发送过程中,一直要保持这条链路的联通状态。而且, IP 也没有端到端的确认回传和拥塞控制机制,对发送的数据分组不保证其不丢失和按顺序到达,因此说IP数据传输是一种不可靠的数据传输。同时,IP提供的还是一种“尽力而为”的服务,这样做可以简化分组的传输,提高数据通信的效率。而传输的可靠性可以由其他上层协议来保障,如TCP。

2.IP 屏蔽了数据链路层和物理层的差异,使得数据的传输和转发更加方便

在IP网中,各种局域网、城域网和广域网被连接在一起,它们的物理层和数据链路层协议各不相同,存在着多种帧结构和地址设计。使用IP,可以在网络互联过程中不去考虑各种不同的帧结构和地址类型,只要按照IP地址和路由协议将数据从源点转发到目的点即可。

3.IP 是点对点式网络通信协议

点对点通信是指网络中建立通信的两台计算机之间由一条物理信道相连接,数据分组由源点计算机直接或者经过转发到达目的计算机,网络中的其他计算机不需要对这个数据分组进行检测和判断。在大规模的计算机网络中,一般很少能够在两台计算机之间直接进行数据通信,都需要进行分组的存储转发和路由选择。基于TCP/IP的Internet属于点对点式网络。

二、IPv4协议报文格式

IPv4是第4版 IP,是当前Internet网络主要使用的IP,以下简称 IP。IP数据报的格式结构如图5-1所示。

其中各字段的含义如下。

1)版本号字段占4位,表示的是IP的版本号,IPv4的版本号字段值为0100(十进制的4)。

2)首部长度字段占4位,给出的是IP分组首部长度,包括可变长度的选项字段,以4B为单位。4个比特可表示的最大数值是15,因此IP分组的首部长度的最大值是60个字节。

3)区分服务字段占8位,在旧标准中称为服务类型字段,用来指示期望获得哪种类型的服务。只有在网络提供区分服务(DiffServ)时,才使用该字段。

4)总长度字段占16位,给出IP分组的总字节数,包括首部和数据部分。16bit可以表示的最大IP分组的总长度为65535B,除去最小的IP分组首部20B,最大IP分组可以封装65535B-20B=65515B的数据。实际上,IP分组需要进一步封转到链路层数据帧中进行传输,然而几乎没有如此大MTU的链路,因此实际网络中不会有这么大的IP分组。

5)标识字段占16位,用于标识一个IP分组。IP利用一个计数器,每产生一个IP分组计数器就加1,并将计数器的值作为该IP分组的标识。该字段不能作为IP分组的唯一标识,这是因为由于IP产生标识的机制,不同主机产生的IP分组完全有可能具有相同的标识,所以单靠标识字段是无法唯一标识一个IP分组的。实际上,IP是依靠标识字段、源IP地址、目的IP 地址及协议等字段共同唯一标识一个IP分组的。标识字段最重要的用途是在IP分组分片和重组过程中,用于标识属于同一源的IP分组。

6)标志位字段占3位,结构为:

其中,最高比特位保留,DF是禁止分片(Don'tFragment)标志,MF是更多分片标志(More Fragments)标志。DF=0表示允许路由器将该IP分组分片,DF=1表示禁止路由器将IP分组分片。如果路由器在转发一个DF=1的IP分组时,其总长度超过输出链路的 MTU,路由器不会对该IP分组进行分片,路由器会丢弃该分组。MF=0表示该IP分组是一个未被分片的IP分组或者是被分片IP分组的最后一片。MF=1表示该IP分组一定是一个 IP分组的分片,并且不是最后一个分片。

7)片偏移字段占13位,表示一个IP分组分片封装源IP分组数据的相对偏移量,即封装的数据从哪个字节开始,片偏移字段以8B为单位。

8)生存时间(TTL)字段占8位,表示IP分组在网络中可以通过的路由器数(或跳数)。源主机在生成IP分组时设置TTL初值,每经过路由器转发一次,TTL减1,如果 TTL=0,路由器则丢弃该IP分组,并向源主机发送Type =11、Code=0的ICMP 报文。

9) 协议字段占8位,指示该IP分组封装的是哪个协议的数据包,例如,6为TCP,即表示封装的为TCP段;17为UDP,即表示封装的是UDP数据报。IP是利用该字段实现复用/解复用功能的。

10)首部校验和字段占16位,利用校验和实现对IP分组首部的差错检测。计算校验和时,该字段置全0,然后整个首部以16比特字对齐,采用反码算数运算(算数加的过程将最高位的进位“卷回”到和的最低位再加)求和,将最后得到的和反码作为首部校验和字段。在接收IP数据分组时,将整个首部按同样算法求和,结果为16比特1,表示无差错,只要有一位不为1,则表示首部有差错,丢弃该分组。首部校验和字段在路由器每次转发分组时需要重新计算后重置,因为IP分组首部的某些字段在转发过程中会发生改变,如TTL,所以必须重新计算首部校验和。所以,首部校验和是逐跳计算、逐跳校验的。

11)源IP地址字段占32位,是发出IP分组的源主机的IP地址。

12) 目的IP地址字段占32位,是IP分组需要送达的主机的IP地址,路由器将依据该地址检索匹配路由表,决策如何转发该IP分组。

13)选项字段的长度可变,范围在1~40B之间,取决于选项内容。选项字段可以携带安全、源选路径、时间戳和路由记录等内容。

14)填充字段的长度可变,占0~3B,取值全为0,目的是补齐整个首部,符合32位对齐,即保证首部长度是4B的倍数。

第三节 IP 地址

IP要连接位于世界各地的网络和主机,实现数据的自由传输,必须要为每一个参加数据通信的网络或主机分配一个在全球范围内唯一的标识符号,这个唯一的标识符号称为IP地址。IP地址的分配由因特网名称和数字分配机构(ICANN)负责。目前普遍使用的IP是 IPv4版本,其规定的IP地址由一个32位的二进制数表示。为了便于书写和阅读,32位二进制表示的IPv4地址通常采用4个十进制数字表示,每个十进制数的取值范围是0~255,

如某学校的计算机学院申请到一个网络号为202.194.20的C类地址段,则学院可以将202.194.20.1-202.194.20.254之间的IP地址按照需要分配给学院下面的各个系、研究所和实验室。这种分等级的地址结构方便了IP地址的管理。在这种模式下,所有网络号相同的主机被视为一个网络,IP网中的路由器在转发分组时是按照网络号进行转发的,分组到了某一网络之后再根据主机号发送到最终的接收主机,这样可以大大减少路由表中的项目,从而节约存储空间,提高查找速度,提高网络运行的效率。

随着网络规模的发展,这种分类的IP地址编址方式逐渐显示出了一些弊端,最主要的就是在IP地址分配过程中会出现巨大的浪费。在早期Internet中网络和主机较少的情况下,这个问题并不明显,但当越来越多的主机需要加入Internet时,IP地址消耗的速度显著增加,分配过程中的浪费问题就显得非常棘手。当一个单位申请到某个网络号的A类或B类地址后,则具有该网络号的所有地址就都归属这个单位使用,即使单位没有那么多需要分配 IP 地址的主机,其他单位也无法使用这些剩余的IP地址。此外,两级IP地址的灵活性也是一个问题。假如有一个单位需要在新的地理位置开通一个新网络,只能按照既定的流程进行申请并等待审批通过,即使这个单位已经有了足够的IP地址资源,也不能自主添加新的网络。为了解决这些问题,Internet的管理机构从1985年起,在IP地址中又增加了一个“子网号”字段,将两级的IP地址结构变为三级IP地址结构,这样的IP地址划分和分配方法称为子网划分。

2.子网划分

子网划分的基本思路如下。

1)在原有两级IP地址结构的基础上,从IP地址的主机号部分借用若干位作为子网号(subnetID),则IP地址的结构就变成了网络号、子网号和主机号3个部分,表示方式如下。

某个单位的网络可能包含多个主机,但可以只申请一个全球范围内有效的IP地址,网络内部的主机使用私有地址进行分配,只要内部各主机的私有IP地址不重复即可。使用私有地址的主机可以方便地与网络内的其他主机进行通信,但如果需要与网络外的其他主机通信,必须采用一定的机制进行地址转换。实际网络中使用的私用地址转换方法称为网络地址转换协议(Network Address Translation,NAT)。NAT 的基本思想是:在专用网连接到Inter- net 的路由器上安装NAT软件,装有NAT软件的路由器称为NAT路由器。每个NAT路由器至少应该具有一个有效的全球IP地址。

当专用网内的主机需要向Internet上的其他主机发送数据报时,首先将IP数据报发送给所在专用网的 NAT 路由器,NAT路由器将IP数据报中的源IP地址(用私有地址表示)换成NAT 路由器自己的全球IP地址,然后按照IP数据报中的目的地址转发出去,并且将这个私有地址和NAT路由器的全球IP地址记录到路由器上的地址转换表中。Internet上的目的主机在接收到这个IP数据报后,按照NAT路由器的全球IP地址发送应答数据报,则NAT路由器收到这个数据报后,根据地址转换表,再将全球IP地址转化成私有IP地址,最终将应答的IP数据报转发给专用网中发送数据报的主机。

使用NAT路由器进行专用网和Internet的通信,只能适用于由专用网内主机发起的情况,因为如果Internet上的主机发起一个访问专用网内部主机通信,NAT路由器不知道该向专用网内部的哪一台主机转发数据报,因此专用网内部的主机不能充当服务器使用。

第四节IP路由概述

当Internet中的每一个参与通信的设备都被赋予有效的IP地址之后,IP数据报就可以按照IP地址进行发送和接收,而在整个网络中为IP数据报寻找合适的通信路径并且将其转发出去的过程称为IP路由,是由路由器实现的。

一、路由器的结构及功能

路由器是一种具有多个输入端口和多个输出端口的专用计算机,其主要任务是获取与维护路由信息及转发分组。路由器从功能结构角度可以分为输入端口、输出端口、交换结构与路由处理器。

1)路由处理器就是路由器的CPU,负责执行路由器的各种指令,包括路由协议的运行、路由计算,以及路由表的更新维护等。

2)输人端口负责从物理接口接收信号,还原数据帧,提取IP数据报(或其他网络层协议分组),根据IP数据报的目的IP地址检索路由表,决策需要将该IP数据报交换到哪个输出端口,最后交给交换结构进行交换。输入端口需要有缓存,用于保存排队待交换的IP数据报,如果输入端口接收IP数据报的速度比交换结构交换IP数据报的速度快,则可能导致缓存溢出,造成IP数据报被丢弃,此时会发生拥塞现象。

3)输出端口也要开辟缓存,用于保存排队交换到指定端口待发送的IP数据报。当输出端口发送某IP数据报时,重新封装该IP数据报到对应接口网络的数据链路层的数据帧中,然后通过物理层发送出去。输出端口的缓存也可能由于交换过来的IP数据报速度大于该输出端口发送IP分组的速度,导致缓存溢出,造成IP数据报丢弃。输出端口通常执行FCFS

(先到先服务)的调度策略,也可以执行其他调度策略,比如按优先级调度、按IP数据报的TOS类型调度等。

4)交换结构完成将输入端口的IP数据报交换到指定的输出端口。主要包括基于内存交换、基于总线交换和基于高级的交叉“网络”交换3种交换结构类型。交换结构的性能在很大程度上决定了路由器的性能。上述3种交换结构中,基于内存交换的交换结构性能最低,相应的路由器价格也最便宜,基于“网络”交换的交换结构性能最好,通常这类路由器价格也比较昂贵。

二、路由表与路由转发

“路由”与“转发”是路由器最重要的两项基本功能。通过静态(人工方式)或者动态(运行路由协议)获取的路由信息被保存在路由表中,供数据转发时使用。路由表是以路由项来存储路由信息的,每个路由项也称为一个“入口”(Entry),每个路由项包括很多字段,表示不同的信息。其中比较重要的字段包括目的网络、子网掩码、下一跳地址和接口等,其中目的网络与子网掩码也可以合并到目的网络字段中,采用CIDR地址形式表示。路由表的基本结构如下所示。

目的网络与子网掩码准确描述了一个目的网络;下一跳表示到达该目的网络的路径的下一个邻居结点的接口IP地址,可能是下一个路由器与本路由器相连的接口的IP地址,也可能是直连网络,如果是直连网络,则下一跳取值为空;接口是转发IP分组到达该目的网络时,应从哪个接口将IP分组发出去。在路由表中经常会有一些比较特殊的路由项,例如,默认路由(或默认路由),该路由项对应的目的网络和子网掩码分别是0.0.0.0和0.0.0.0,或者0.0.0.0/0;特定主机路由,它的目的网络是特定主机的IP地址,而子网掩码是255.255.255.255,或者表示为a.b.c.d/32。

路由器在收到IP数据报时,会利用IP数据报的目的IP地址检索匹配路由表,如果路由表中没有匹配成功的路由项,则通过默认路由对应的接口转发该IP数据报,也就是说,在路由表匹配过程中,至少会有默认路由会被匹配“成功”。如果除默认路由外,有一条路由项匹配成功,则选择该路由项对应的接口,转发该IP数据报;如果除默认路由外,有多条路由项匹配成功,则选择网络前缀匹配成功位数最长的路由项,通过该路由项指定的接口转发该IP 数据报,这就是路由转发过程的“最长前缀匹配原则”。

最长前缀匹配原则是在CIDR方式下,路由器对于收到的IP数据报,将其中的目的IP地址与路由表中各路由项中的掩码按位进行逻辑与运算,将结果与路由表中的目的网络进行比较,如果出现与多个目的网络相一致的情况,则选择其中网络前缀最长的一项作为路由转发的依据。

三、路由算法

1.静态路由与动态路由

Internet中路由信息的配置途径可以分为两大类:静态路由和动态路由。静态路由是人工配置的路由,这类路由信息记录到路由表后,在下次被更改之前,一直保持不变,故称为静态路由。静态路由因为反映了人类智慧,所以静态路由在路由表中的优先级是最高的,即在相同条件下会被首选的。动态路由是指路由信息根据网络的“实时”(或当前)状态,周期性地动态计算和更新路由信息,使路由信息反映网络状态的动态变化,优化路由选择。动态路由需要路由器运行路由协议动态收集网络状态信息,然后按照某种路由算法计算当前网络状态下到达不同目的网络的最佳路由。

2.距离-向量路由算法

距离-向量路由算法是一种仅需网络“局部”信息、异步的、迭代的、分散式的路由算法。每个路由器周期性地向邻居通告形如<目的网络,距离>的距离向量,每个路由器当收到邻居的距离向量或检测到本地链路的费用变化时,根据Bellman-Ford方程计算经过哪个邻居可以获得到达每个目的网络的最小距离,更新自己的距离向量与路由表,并将更新的距离向量交换给其所有的邻居路由器。经过多次迭代,确定到达每个目的网络的最佳路由。

距离-向量路由算法最典型的问题是容易出现无穷计数问题(Count to Infinity),尤其网络中存在环路时很容易出现无穷计数问题。消减无穷计数问题的方法主要有:毒性逆转(Poisoned Reverse)、定义最大有效距离(如RIP定义最大有距离为15跳)、水平分割和阻碍时钟等。

3. 链路状态路由算法

链路状态路由算法是将网络抽象为一个图,然后利用数据结构中经典的Dijkstra算法求最短路径,从而获得最佳路由信息。为了掌握全网的拓扑结构,每个路由器检测并收集直接相连链路的费用及直接相连路由器的IP地址等信息,构造链路状态分组,广播扩散给网络中其他所有路由器。每个路由器维护一个链路状态数据库,该数据库存储收集到的链路状态信息,并根据这些链路状态信息构建网络拓扑图(实际路由器并不会真正构建这个图),进一步利用 Dijkstra算法求最短路径,确定最佳路径。

当网络存在环路且链路费用反映动态的链路通信量时,链路状态路由算法会存在振荡或摆动(Oscillations)现象,有可能导致某些数据分组在局部存在环路的网络中被Ping-Pang转发,送不到目的网络,最终被丢弃(如IP分组的TTL=0时)。

4.层次路由

当网络规模很大时,基于单一抽象网络拓扑图的路由算法不再适用,因为这些算法要在大规模网络上交换网络状态信息,比如链路状态信息、距离-向量信息等,会消耗掉大部分网络带宽,致使网络性能下降。另外,当网络规模跨越了组织边界时,很难满足网络管理自治性的需求,每个组织都可能希望按自己的策略和方法实现自己网络的管理和路由。最有效的解决方案就是层次化路由。为此,将大规模的互联网按组织边界、管理边界、网络技术边界或功能边界划分为多个自治系统(AS),每个自治系统由一组运行相同路由协议的路由器组成。每个自治系统可以选择不同的自治系统内的路由协议,按照不同的路由算法计算自治系统内的路由,这类路由协议称为自治系统内路由协议;每个自治系统存在一个或多个与其他自治系统互连的路由器,称为网关路由器,负责与其他自治系统交换跨越自治系统的路由可达性信息,采用的路由协议称为自治系统间路由协议。这样,层次路由将大规模互联网的路由划分为两个层:自治系统内路由和自治系统间路由。不同的自治系统可以选择不同的自治系统内路由协议,以性能优先优化到达本自治系统内的路由;自治系统间需要遵循统一的自治系统间路由协议,交换自治系统间的路由信息,以政策优先优选路由。

四、路由协议

1.自治系统 (Autonomous system,AS)

自治系统(AS)是在统一技术管理下的一组路由器,这些路由器使用相同的AS内部路由选择协议和度量以确定分组在该AS内的路由,不同自治系统可以选择不同的 AS 内部路由协议,AS之间的路由选择协议是各AS共同遵守的统一的AS之间的路由协议。

事实上,一个AS可能使用多种内部路由选择协议和度量,但是一个AS对其他AS表现出的是一个单一的和一致的路由选择策略。

2.域内路由与域间路由

Internet域内路由协议(即在一个自治系统内部使用的路由选择协议)称为内部网关协议(InteriorGatewayProtocol,ICP),如RIP和OSPF协议等。

Internet域间路由协议称为外部网关协议(ExternalGatewayProtocol,EGP),实现跨越不同自治系统交换或通告路由信息。目前Internet使用最多的外部网关协议是BCP4。

3.RIP 路由协议

RIP是一种分布式的基于距离向量的ICP;RIP要求自治系统内的每一个路由器都要维护从它自己到其他每一个目的网络的距离向量;RIP中的“距离”也称为“跳数”(Hop Count),从一个路由器到直接连接的网络的距离定义为1,RIP允许一条路径最多只能包含15跳,16跳表示网络不可达;运行RIP的路由器只能和相邻的路由器交换路由信息,即自己所保持的路由表,目的是告诉相邻的路由器:“我到本自治域内所有网络的距离及要经过的下一跳路由器”,通常每隔30s交换一次路由信息;RIP由于采用距离向量路由算法,所以有可能产生无穷数问题,但是由于RIP规定16跳表示网络不可达,所以不会经过太长时间,无穷计数问题便会消除。

4. OSPF 路由协议

OSPF协议的全称是开放最短路径优先协议,“开放”表示OSPF协议不受任何一家商业公司控制,而是公共的;“最短路径优先”是因为OSPF使用Dijkstra最短路径算法, OSPF收集与本路由器相邻的所有路由器的链路状态,构造链路状态分组,与RIP仅在是IGP。

相邻路由器直接交换路由信息不同,运行OSPF协议的路由器要向本自治系统中的所有路由器广播发送链路状态信息,称为“洪泛”。“链路状态”信息包括本路由器与哪些路由器相邻,以及该链路的“度量”(Metric),只有当链路状态发生变化时,路由器才洪泛链路状态信息。每个路由器将收集到的链路状态信息存储到一个链路状态数据库中,该数据库逻辑上就是全网的拓扑结构,在全网范围内是一致的(称为链路状态数据库的同步),每一个链路状态都带上一个32位的序号,序号越大状态就越新。OSPF的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF还规定每隔一段时间,如30min,就刷新一次数据库中的链路状态,OSPF的更新过程收敛得快是其重要优点。

为了使OSPF能够用于大规模自治系统网络,OSPF可以将一个自治系统进一步划分为若干个区域,每个区域都有一个32位的区域标识符(用点分十进制表示),通常区域也不能太大,在一个区域内的路由器最好不超过200个。划分区域的好处就是将洪泛法交换链路状态信息的范围局限于每一个区域,而不是整个的自治系统,减少整个网络交换链路状态信息的通信量。因此,在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑。OSPF使用层次结构的区域划分,上层的区域称为主干区域(Backbone Area),主干区域的标识符规定为0.0.0.0,主干区域的作用是连通其他下层区域。

OSPF 直接用IP数据报传送报文,所有在OSPF路由器之间交换的分组都具有鉴别的功能。OSPF对不同的链路可根据IP分组的不同服务类型TOS而设置成不同的代价,因此, OSPF对于不同类型的业务可计算出不同的路由。如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径,称为多路径间的负载平衡。

OSPF支持变长子网划分和无类编址CIDR。由于一个路由器的链路状态只涉及与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OS- PF协议要比距离向量协议 RIP好得多。

5. BGP 协议

BGP 是不同自治系统的路由器之间交换路由信息的协议。BCP的较新版本是BGP4(BGP第4个版本),简写为BGP。Internet的规模太大,使得自治系统之间的路由选择非常困难,比较合理的做法是在AS之间交换网络“可达性”信息。自治系统之间的路由选择是“策略”或“政策”优先的,因此,边界网关协议BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。

每一个自治系统选择至少一个路由器(通常是BGP边界路由器)与其他自治系统交换路由信息,分属两个自治系统、负责发布自治系统间路由信息的两个路由器(边界路由器)称为对等路由器。BGP在TCP之上建立BGP会话(Session),利用BCP会话交换路由信息。 BCP会话包括:外部会话eBGP,连接分属两个不同自治系统的对等路由器,在自治系统间交换跨自治系统的路由可达性信息;内部会话iBGP,连接同一自治系统内的路由器,在自治系统内交换(发布),到达其他自治系统的网络可达性信息。BCP交换路由信息数量级是自治系统数的量级,要比这些自治系统中的网络数少很多。由于每一个自治系统的边界路由器的数目很少,使得自治系统之间的路由选择不致过于复杂。

BGP支持CIDR,BGP的路由信息包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。在BGP刚刚运行时,BGP的对等路由器之间交换整个 BGP路由表,之后只需要更新有变化的部分即可。

BGP会话交换包括以下4种类型的报文。

1)打开(OPEN)报文,用来与相邻的另一个BGP发言人建立关系。

2)更新(UPDATE)报文,用来发送某一路由的信息,以及列出要撤销的多条路由。

3)保活(KEEPALIVE)报文,用来确认打开报文和周期性地证实邻站关系。

4)通知(NOTIFICATION)报文,用来发送检测到的差错。

第五节 IP中的其他重要协议

一、地址解析协议(ARP)

网络中的主机在发送数据时,数据从应用层开始,由上而下,一层层地被封装,直到交给数据链路层,被封装成MAC帧,再交给物理层进行传输,而MAC帧中使用的源地址和目的地址都是硬件地址(如局域网的以太网地址),而IP地址则被隐藏在MAC帧的数据中,数据链路层看不到IP地址。当Internet上的应用使用IP地址进行通信时,发送数据的主机和转发数据的路由器都必须要知道IP地址所对应的硬件地址才能将通信过程具体实现。地址解析协议(ARP)就是用来解决这一问题的一套机制。

ARP 的基本思想是在每一台主机中设置专用内存区域,称为ARP高速缓存,里面有该主机所在局域网中各个主机和路由器的IP地址与硬件地址的映射表,并且这个映射表要经常更新。

假设某局域网中的主机A要向局域网内的另一个主机B发送IP数据报,则主机A首先查找其ARP高速缓存内的映射表中是否有主机B的IP地址,如果有,则查找出其对应的硬件地址,并将该硬件地址写入MAC帧,通过局域网将该MAC帧发送给主机B。如果ARP高速缓存中没有主机B的IP地址,则运行ARP,按以下步骤找出主机B的硬件地址。

1)主机A首先在本局域网中广播发送一个ARP请求分组,其内容可以形象描述为:“我的IP地址是A,硬件地址是a,我想知道IP地址为B的主机硬件地址”。本局域网中的所有运行 ARP的主机都会收到该ARP请求分组。

2)主机B收到该 ARP请求分组后,发现其中询问的IP地址与自己的IP地址一致,则收下该分组,并且将主机A的硬件地址和IP地址信息写入自己的ARP高速缓存中,以方便今后向主机A发送IP数据报;其他主机发现与ARP请求分组中询问的IP地址与自己的IP地址不一致,则丢弃该分组。主机B收下ARP请求分组后,创建一个ARP响应分组,并将自己的硬件地址写人该响应分组,然后将这个分组直接发送给主机A。

3)主机A收到主机B的ARP响应分组后,将其中所携带的主机B的硬件地址写入 ARP高速缓存中的地址映射表。

为了防止局域网中主机硬件地址的变更,ARP高速缓存中的每一对地址映射都有一个生存时间(几十分钟),如果超过生存时间,该地址映射将被从高速缓存中删除。删除后需要重新运行 ARP查找主机的硬件地址。

当某局域网内的主机A要向其他局域网内的主机B发送IP数据报时,首先需要把该 IP数据报发送给本局域网所连接的路由器R1上,由路由器R1进行转发,这就需要启动 ARP,找到路由器R1的IP地址所对应的硬件地址,从而将IP数据报送到R1;R1需要查找路由表找到主机B所在局域网连接的路由器R2,这也需要启动ARP,解析出R2的硬件地址并转发;最后由R2使用ARP解析出主机B的硬件地址,最终将IP数据报发送到主机B。由此可见,当不同局域网的主机之间发送IP数据报时,需要在主机和路由器上多次使用ARP进行IP地址与硬件地址的映射解析。而在IP数据报经过不同的路由器时,其源IP地址和目的IP地址保持不变,而MAC帧中的源地址和目的地址要相应地发生变换。

二、动态主机配置协议(DHCP)

任何一台计算机要连入Internet,享受各种互联网服务,必须要进行相应的配置,包括该计算机所分配的IP地址、子网掩码、默认路由器的IP地址和域名服务器的IP地址等,称为协议配置。然而要在较大规模的局域网内采用人工手动的方式为每一台计算机进行协议配置,不仅很不方便,还容易产生错误。动态主机配置协议(DHCP)就是用来解决这一问题的一种机制,它可以通过软件的方式为每一台新加入网络的计算机自动进行协议配置,而不需要用户手工操作。

DHCP采用的是客户机/服务器模式,其基本思想是:在一个网络内部设置一台DHCP服务器(或者多个网络共用一台DHCP服务器,每个网络通过DHCP中继代理与服务器相连),其中保存和管理着该网络所管辖的IP地址及其他配置信息;当一台计算机新接入该网络时,还没有配置IP地址,它在开机启动后向该网络广播发送一个DHCP发现报文(DH- CPDISCOVER),其目的IP地址置为全1,源IP地址置为全0。DHCP服务器在收到这个 DHCP 发现报文后,从自己所保存的IP地址数据库中取出一个,与其他配置信息一起,通过DHCP提供报文(DHCPOFFER)发送给这台计算机,从而为这台计算机分配一个新的IP地址及其他配置信息,则这台计算机就可以使用这个IP地址及其他配置信息访问 Internet了。

DHCP服务器分配给网络中计算机的IP地址是临时的,只能在一段时间内有效,这个时间称为租用期,租用期的具体时间由DHCP服务器自行决定,也可以由DHCP客户端在发现报文中提出对租用期的要求。

对于安装了Windows系列操作系统(如WindowsXP、Windows7等)的客户端计算机,用户可以方便地将其设置为使用DHCP,具体步骤如下(以Windows7操作系统为例)。

右击桌面上的“网络”图标,在弹出的快捷菜单中选择“属性”命令,在弹出的对话框中单击“更改适配器设置”按钮,打开如图5-3所示的窗口。右击“本地连接”图标,在弹出的快捷菜单中选择“属性”命令,弹出如图5-4所示的对话框;双击“Inter- net协议版本4(TCP/IPv4)”选项,弹出如图5-5所示的对话框,选择“自动获得IP地址”和“自动获得DNS服务器”复选框,这样该计算机就会在接入网络后自动获得DH CP分配的 IP 地址。

三、网际控制报文协议(ICMP)

由于Interet的规模庞大,结构复杂,数据报在传输过程中经常会遇到延迟、丢失等各种异常情况,如果通信的双方能够知道这些异常情况,就可以及时地进行调整和控制,提高网络传输的效率和成功率。网际控制报文协议(ICMP)就是用来完成这一功能的机制。它通过让主机或路由器发送ICMP报文,将网络传输过程中的差错和异常情况报告给参与数据通信的相关主机。ICMP报文作为IP数据报的数据部分,被封装在IP数据报中。ICMP报文格式为:

ICMP报文有两种类型:ICMP差错报告报文和ICMP询问报文。ICMP差错报告报文共有以下5种情况。

1)终点不可达。当路由器或主机不能交付数据报时,向源点发送终点不可达报文。其报文类型值为3。

2) 源点抑制。当路由器或主机由于拥塞而丢弃数据报时,向源点发送源点抑制报文,告知源点降低发送速率。其报文类型值为4。

3)时间超时。当路由器收到生存时间(TTL)值为0的数据报时,除丢弃该报文外,还要向源点发送时间超时报文。当终点在预先规定的时间内不能收到一个数据报的内容时,就把已经收到的部分丢弃,并向源点发送一个时间超时报文。其报文类型值为11。

4)参数问题。当路由器或目的主机收到的数据报的报头中有的字段不正确时,就丢弃该报文,并向源点发送参数问题报文。其报文类型值为12。

5)改变路由。当路由器的路由表发送变化时,要向主机发送改变路由报文,通知主机随之改变自己的默认路由。其报文类型为5。

常用的ICMP询问报文有两种情况。

1)回送请求和回答。回送请求报文是由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送回送回答报文,用于测试目的站是否可以到达。其类型值分别为8(回送请求)和0(回送回答)。

ICMP回送请求和回答报文的一个典型应用是分组间探测ping命令,用来测试两个主机之间的连通性。对于接入网络的某台主机,在Windows系统下用户进入“命令提示符”模式,输入ping hostname 命令( hostname可以是IP地址,如202.205.140.52;也可以是主机域名,如www.sohu.com),如图5-6所示。则该主机将向hostname所代表的主机连续发送4个ICMP回送请求报文。如果网络连通,则hostname主机收到回送请求报文后进行响应,发送ICMP回送回答报文。源主机可以统计有多少请求报文被发送,收到多少回答报文,报文往返时间是多少,以及有多少报文被丢弃等信息。

2)时间戳请求和回答。ICMP时间戳请求和回答报文用于网络中的主机请其他主机或路由器回答当前的日期和时间,用于在网络中进行时钟同步和测量时间。其类型值为13(时间戳请求)和14(时间戳回答)。

四、网际组管理协议(IGMP)

IGMP是IP的一部分,用于对IP多播提供管理服务。IP多播(Multicast)也称为IP组播,是针对Internet上许多由一个源点向多个终点发送数据的业务而设计的一种服务。比如新闻发布、视频点播和视频会议等业务,都是由一个信息源点向多个用户传递信息的Inter- net应用。在一对多的通信中,采用多播可以大大节省网络资源。其基本思想是:IP多播是

利用多播IP地址标识一个多播组,当向一个多播IP地址发送IP分组时,该多播组内的所有成员都会收到该IP分组。由于一个多播组内的成员可以位于不同的局域网上,因此Inteme中必须要有能够支持IP多播的路由器,根据多播IP地址将IP分组复制并转发到多播组成员所在的局域网,而局域网本身是支持链路层多播的,所以可以将IP分组送达到某个特定的主机。能够运行多播协议的路由器称为多播路由器。多播传输可以保证同一个多播分组(副本)在每个链路上最多只转发一次。IPv4多播的IP地址采用的是D类地址,地址范围为224.0.0.0-239.255.255.255,多播地址只能用于目的地址,而不能用于源地址。

图5-7给出了一个IP多播的简单示意图。假设位于3个不同局域网的主机A、主机B和主机C均属于一个多播组,其多播地址为224.30.152.52。当服务器要向这个多播组发送IP多播时,只需要将IP分组发送到多播路由器R中,R根据多播路由协议,将IP分组复制并转发到多播组成员主机A、主机B和主机C所在局域网的多播路由器,即R1、R2和R3,从而在3个局域网中通过硬件多播,发送到主机A、主机B和主机C。

要在 Intermet 上进行IP多播,除了需要多播路由协议外,还要用到网际组管理协议(IGMP)。简单的讲,ICMP就是要让连接在本地局域网上的多播路由器知道该局域网上是否有主机参加或退出了某个多播组。IGMP的工作过程可以简单概括为两个阶段。

1)当某个主机加入一个新的多播组时,该主机需要向多播组的多播地址发送一个 IGMP 报文,表明自己想要成为该多播组的成员。本地的多播路由器收到该IGMP报文后,根据多播路由协议将多播组成员信息告知Internet上的其他多播路由器。

2)各局域网所连接的多播路由器要周期性地探寻本地局域网上的主机,以确定这些主机是否还是某多播组的成员。如果局域网内某多播组中的一个主机对探寻信息发出回应,则多播路由器认为该组是活跃的;如果经过几次探寻后没有一个主机进行回应,则多播路由器认为本地局域网上的主机都已经离开了这个多播组,因此就不再将这个组的成员关系信息发送给其他多播路由器。

第六节 IPv6协议

如前文所述,Internet的迅速发展使得传统的IPv4协议面临着IP地址资源严重不足的问题,即使采用了子网划分、构成超网和私有地址等节约IP地址的方法,也只能暂时缓解IP地址的短缺,不能从根本上解决IPv4地址资源不够用的问题。

在这一背景下,IETF于1992年成立了专门的IPng工作组,负责研究下一代IP,并于1995年提出了下一代IP的版本(IP的第6版),简称为IPv6。IPv6经过20年的发展,相关协议和技术都在不断完善,在部分国家和领域也获得了一定的应用,但在整个世界范围内还没有完全标准化。IPv6协议的主要特点体现在以下几个方面。

1)IPv6 采用了新的IP首部格式,包括基本首部和多个可选的扩展首部,基本首部为固定的40B长度,如图5-8和图5-9所示。

基本首部中各字段的作用如下。

  • 版本号:占4位,指明了IP的版本,在IPv6中该字段为0110(十进制6)。.通信业务类型:占8位,用于区分不同的IPv6数据报的类别或优先级。
  • 流标号:占20位,IPv6中提出了数据业务流的概念,将某特定源点到终点的一系列实时数据报(如音频、频务等)定义为流,属于同一个流的数据报,其流标号是相同的。网络中的路由器对于流数据要提供相应的资源预留来保证其服务质量。
  • 有效载荷长度:占16位,指明IPv6数据报除基本首部外的字节数,最大值为64KB。
  • 下一个首部:占8位。当IPv6数据报没有扩展首部时,下一个首部的值用于指明基本首部后面的数据所属于的上层协议;当有扩展首部时,用于表示后面第一个扩展首部的类型。
  • 跳数限制:占8位。用来防止数据报在网络中无限制地被转发。数据报被源点发出后,每经过一个路由器转发,该值就减1,当减为零时,该数据报则被丢弃。
  • 源地址和目的地址:各占128位,用于表示数据报的源点和终点。

IPv6与IPv4相比基本首部去掉了选项字段、校验和字段等,增加了流标签字段,基本首部变得更简洁,有利于快速路由。

IPv6的扩展首部被用来扩展协议的功能,可以根据不同业务的需要进行设置,目前已经定义的扩展首部主要有逐跳选项、路由选择、分片、鉴别、封装安全有效载荷和目的站选项6种。每一个扩展首部都由若干字段组成,其中第一个字段都设置为8位的“下一个首部”字段,其作用与基本首部中的“下一个首部”字段相同。IPv6的扩展首部除逐跳选项外,都只在数据报的源点和终点进行处理,在其经过的路由器中不进行处理,这样可以大大提高路由器的处理效率。

2)IPv6 中将IP地址设置为128位,最多可以提供多达3.4x103个IP地址,这是一个非常巨大的数字,可以充分满足未来互联网对IP地址资源的需求。IPv6地址通常采用冒号分隔的十六进制地址书写形式,把每16位的值用十六进制数表示,各个数之间用冒号隔开,例如一个用冒号十六进制数表示的IPv6地址是:45EE:0000:78AC:FFFF:2A9B:0000: FFFF:62F4。

冒号十六进制表示方法还可以采用压缩方式,对于连续的多部分0,可以利用连续的两个“:”(即“::”)代替,但在一个IPv6地址中只能用一次。比如某IPv6 地址为:BC83:0000:0000:0000:0000:315A:0000:0000,可以采用压缩方式将其写为:BC83::315A:0000:0000。

IPv6 地址包括单播地址、组播地址和任播地址3种类型。单播地址唯一标识网络中的一个主机或路由器网络接口,可以作为源地址和目的地址;组播地址标识网络中的一组主机,只能用做IPv6分组的目的地址,向一个组播地址发送IP分组,该组播地址标识的多播组中的每个成员会收到一个该IP分组的一个副本;任播地址也是标识网络中的一组主机,也只能用做IPv6分组的目的地址,但当向一个任播地址发送IP分组时,只有该任播地址标识的任播组的某个成员收到该IP分组。

由于IPv6能够提供更加丰富的IP地址资源,同时可以支持资源预留和服务质量,按道理应该会很快取代IPv4而成为新的Internet协议标准,但由于目前的IPv4已经运行多年且一直被美国等少数国家所主导,其中包含着巨大的已有利益,因此在推动和发展IPv6协议的过程中,由于拥有更多IPv4地址资源的美国并不积极,导致了IPv6多年来一直还处于草案和试验阶段。我国在IPv6网络的研究、开发和建设上取得了巨大的成就,组织实施了下一代互联网规范工程(CNGI),并通过国家科技重大专项和其他相关科技计划,在基于IPv6的下一代互联网理论研究、标准制定、网络基础设施建设、关键设备和技术试验等方面取得了一系列的成果。2003年,第二代中国教育和科研计算机网(CERNET2)建成,是世界上规模最大的纯IPv6网络,基于CERNET2的相关IPv6技术和应用也在迅速发展。

本章小结

要让分布在世界各地,不同类型、不同协议和技术细节的网络相互连接起来,并且能顺畅、高效地实现信息共享,就必须依靠网络互联技术来实现。网络互联技术是所有能在物理上和逻辑上实现不同网络相互连接的技术的总称,对应于OSI参考模型的各个层次。实现异构网络互连的基本策略主要包括协议转换和构建虚拟互联网络。协议转换机制采用一类支持异构网络间协议转换的网络中间设备,实现异构网络间数据分组的转换和转发;虚拟互联网络是在现有异构网络基础上,构建一个同构的虚拟互联网络,异构网络均只需分装和转发虚拟互连网络分组,同时引入虚拟互联网中间设备互连异构网络,实现在异构网络间转发统一的虚拟互联网的数据分组。Internet是利用IP网络实现的全球最大的互联网络。

网际协议(IP)是TCP/IP体系中最重要的两个协议之一,它将大量的分布在世界各地的不同类型的网络互联在一起形成Internet,IP的功能对应于OSI参考模型中的网络层,与地址解析协议(ARP)、网际控制报文协议(ICMP)和网际组管理协议(IGMP)共同构成 TCP/IP参考模型的网络互联层。

IP采用路由器(Router)作为网络互联的中间设备,将不同的计算机网络连接在一起,在网络层实现数据的路由和转发。IP为接入IP网的终端计算机、路由器和子网分配标识这些设备的地址,称为IP地址。IP的特点可以概括为以下3点。

1)IP是面向无连接的、不可靠的分组传输协议。

2)IP屏蔽了数据链路层和物理层的差异,使得数据的传输和转发更加方便。

3)IP是点对点式网络通信协议。

IPv4 地址由一个32位的二进制数表示,通常采用4个十进制数字表示,每个十进制数字间用“·”隔开。IP地址其编址方法经历了分类的IP地址、子网划分和无分类IP地址 CIDR共3个历史阶段。为了节约IP地址,IP地址中特别划分出一部分地址作为保留使用,称为私有地址或专用地址。这部分地址可以在某个网络内部使用,形成一个专用网,但不能在公共互联网上使用。使用私有地址的主机如果需要与网络外的其他主机通信,必须采用网络地址转换(NetworkAddress Translation,NAT)机制进行地址的转换。

在整个网络中为IP数据报寻找合适的通信路径并且将其转发出去的过程称为IP路由,是由路由器实现的。Internet中路由信息的配置途径可以分为两大类:静态路由和动态路由。静态路由是人工配置的路由,动态路由是指路由信息根据网络的“实时”状态,周期性地动态计算和更新路由信息,使路由信息反映网络状态的动态变化,优化路由选择。动态路由算法包括距离-向量路由算法、链路状态路由算法和层次路由算法等。路由器使用的主要协议包括RIP路由协议、OSPF路由协议和BGP等。

将IP地址与对应的硬件地址进行转换采用的是地址解析协议(ARP),其基本思想是在每一台主机中设置专用内存区域,保存该主机所在局域网中各个主机和路由器的IP地址与硬件地址的映射表,并且对这个表进行定期更新。

动态主机配置协议(DHCP)通过软件的方式为每一台新加入网络的计算机自动进行协议配置,而不需要用户手工操作。DHCP采用的是客户机/服务器模式,其基本思想是:在一个网络内部设置一台DHCP服务器,其中保存和管理着该网络所管辖的IP地址及其他配置信息,为接入该网络的计算机自动分配IP地址。

网际控制报文协议(ICMP)通过让主机或路由器发送ICMP报文,将网络传输过程中的差错和异常情况报告给参与数据通信的相关主机,从而能及时地进行调制和控制,提高网络传输的效率和成功率。

网际组管理协议ICMP是IP的一部分,用于对IP组播提供管理服务。其作用是让连接在本地局域网上的多播路由器知道该局域网上是否有主机参加或退出了某个多播组。

为了从根本上解决IPv4地址资源不够用的问题,IETF提出了下一代IP的版本(IP的第6版),简称IPv6。IPv6中将IP地址设置为128位,采用冒号分隔的十六进制地址书写形式,把每16位的值用十六进制数表示,各个数之间用冒号隔开。IPv6地址包括单播地址、组播地址和任播地址3种类型。IPv6多年来一直还处于草案和试验阶段,我国在IPv6网络的研究、开发和建设上取得了巨大的成就,组织实施了下一代互联网规范工程(CNGI),中国教育和科研计算机网(CERNET2)是世界上规模最大的纯IPv6网络。

思考题与练习题

1.请解释“网络互联”和“网络互连”的不同含义。

2.请简述IP的特点。

3.TCP/IP 参考模型的网络互联层由哪些协议组成?

4.请简述 IPv4 协议报文中生存时间(TTL)字段的作用。

5.请辨别以下IP 地址的类别。128.60.222.18202.194.20.13820.194.32.5488.88.88.88198.12.87.252

6.有两个CIDR地址块 208.128.0.0/11和208.130.28.0/22。请问是否有一个地址块包含了另一个地址?请说明理由。

7.已知地址块中的一个地址是140.120.84.24/20,请问支持该地址块中的最小地址和最大地址,共有多少个地址?

8.某单位分配到一个地址块136.23.12.64/26,现在需要进一步划分为4个一样大的子网,则每个子网的网络前缀有多长,每个子网中有多少个IP地址,每个子网的地址块是什么?

9.请简述 RIP、OSPF和BCP路由协议的特点。10.请简述 ARP的基本工作过程。

11.请简述在 Windows操作系统下,将本地计算机设置为使用DHCP自动分配IP地址的操作过程。

12.请简述最长前缀匹配原则的基本原理。

13.链路状态路由算法使用什么算法求出最短路径?

14.ICMP 报文有哪两种类型?每种类型报文各有哪些情况?15.请简述IGMP 的工作过程。

16.请对IPv6地址AC62:0000:0000:0000:0000:73FA:0000:0000进行化简。

第六章 网络应用技术

学习目标

1) 熟悉网络应用的定义、作用和基本模式。

2)掌握域名系统(DNS)的功能,层次域名空间的概念,域名服务器的分类和作用,以及域名解析的过程。

3)掌握文件传输服务(FTP)的功能和工作模式,掌握利用FTP 传输文件的基本步骤。4)掌握电子邮件系统的构成,各部分的作用,以及SMTP、POP3和IMAP的基本机制。5)理解万维网(WWW)的概念与组成结构,了解统一资源定位(URL)的格式,掌握超文本传输协议(HTTP)的工作过程和报文类型,熟悉Cookie和Session机制的作用和基本原理,掌握超文本标记语言(HTML)的功能和基本语法。

6) 了解电子商务的概念和分类,掌握电子商务系统的结构和功能。建议学时8学时。

第一节网络应用概述

计算机网络的目的是为人们提供各种丰富多彩的应用服务,而各种网络应用(Applica- tion) 和创新又反过来推动了计算机网络技术的进步和规模的发展。网络应用是直接面向计算机网络的用户,遵循相应的网络应用协议,为用户提供某个特定的网络服务或实现特定的网络功能的一套完整的软件系统。各种网络应用协议决定了不同网络应用的功能和工作机制,是网络应用最核心的部分。网络应用伴随着计算机网络的诞生一直到现在,经历了几个不同的发展阶段,从最初的电子邮件、远程登录和文件传输等基本网络应用,到万维网、电子商务和电子政务等基于传统Web的网络应用,再到即时通信、社交媒体和网络视频等基于P2P技术的网络应用。目前,随着物联网、移动互联网、云计算和大数据等为代表的新一代网络形态和技术的出现,各种新型的网络应用正在源源不断地涌现出来,改变着人们的生活。

尽管多种多样的网络应用的功能和作用各不相同,但其基本的工作模式都是客户/服务器模式,即网络应用是由服务请求方(客户机)提出服务请求,由服务提供方(服务器)提供服务来实现的。客户机/服务器模式又分为一般的客户机/服务器模式和P2P模式。

1.一般的客户机/服务器模式

一般的客户机/服务器(C/S)应用模式是指在通信过程中,首先运行服务器,并且被动等待客户的访问;客户在服务器之后运行,根据应用需要主动向服务器发起通信。概括的说,在C/S应用中,主动发起通信的一端就是客户,被动接受通信的一端就是服务器。这里的客户和服务器都是指通信中所涉及的两个应用进程。需要指出的是,在讨论网络应用服务方式的时候,经常会用到浏览器/服务器(B/S)方式这个概念,B/S从本质上讲也属于客户机/服务器模式,只是其客户端使用的不是特定的客户端软件,而是通用的浏览器软件用户可以通过WWW浏览器(如Interet Explorer)去访问Internet上的文本、数据、图像动画、视频点播和声音信息,这些信息的产生和保存是在网络中的Web服务器,以及与之相连的数据库服务器上,客户端除了WWW浏览器,一般无须安装任何其他程序,这样就会大大减轻系统维护与升级的成本和工作量。此外,B/S模式与传统的C/S模式相比,还具有许多优点,比如作为用户,使用起来非常灵活,在任何一台安装了浏览器的联网计算机上都可以随时随地地访问服务器;业务扩展简单,通过增加网页即可增加服务器功能;维护方便,只需要改变网页即可实现所有用户的同步更新等。常用的WWW、E-mail和 FTP等应用都属于一般的客户机/服务器模式。

2.P2P模式

对应于一般的C/S模式,还存在一种特殊的C/S模式,称为对等(Peer to Peer,P2P)模式。在P2P应用模式中,通信双方没有明确的客户与服务器之分,任何一方都可以主动发起通信,任何一方也都可以被动接受通信,所以称为对等模式。之所以说P2P是C/S模式的一种特例,是因为P2P应用仍然是由服务请求方(客户)提出服务请求,由服务提供方(服务器)提供服务来实现通信过程的,只不过每个Peer都是一个客户与服务器的结合而已,既可以提出服务请求,也可以提供服务。即时通信软件QQ、Skype,文件共享软件 BitTorrent、emule,以及流媒体软件PPLive等应用都是基于P2P模式的。

下面将详细介绍几种典型的网络应用技术。

第二节 Internet域名系统(DNS)

如前文所述,Internet中使用IP地址标识成千上万台位于世界各地的主机和路由器,IP数据报中必须包含目的IP地址才能被网络中的路由器层层转发,最终到达指定的终点。而 IP地址(IPv4)是由32位二进制数字组成的,即使采用点分十进制表示方法,也是要写成4个十进制数,如202.194.20.138,没有任何的字面意义,人们记忆起来十分不方便。相对于数字,人们更加喜欢使用字符名称来表示Internet上的主机,该字符名称能代表一定的意义,可以比较容易地记忆和使用。比如人们可以很方便地记录中央电视台的官方网站名称 www.cctv.com、NBA 的官方网站名称www.nba.com 等。因此,Internet采用了一套与IP地址并行使用的命名机制--域名,通过人们便于理解和记忆的字符形式对Internet上的主机进行命名。在用户使用的层面,采用域名进行地址描述,而在数据报的实际传输过程中,采用IP地址进行路由和转发。由于存在这样一种两级的Internet地址描述方式,因此就需要有一种专门的机制负责在域名地址和IP地址之间进行转换。在Internet中,提供将主机域名转换为IP地址服务的网络应用称为域名系统(Domain Name System,DNS)。当一个应用程序遇到某个域名时,可以通过DNS将该域名对应的IP地址找到,并在通信过程中使用IP地址进行数据的传输。

DNS 为了实现域名与IP地址之间的转换,设计了一套综合的业务规则和工作机制,其核心内容主要包括以下3个方面。

1.层次域名空间

使用DNS 的前提条件是Internet中的每一台主机和路由器都要有一个唯一的名称,而要保证如此庞大的名称集合不出现重复是非常困难的,因此,Internet采用了层次树状结构的命名方法来解决这个问题。层次树状结构的基本思想是:任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名称,即域名。域名的结构由标号序列组成,各标号之间用点隔开,标号分别代表不同级别的域名。

构)、gov(中国政府机构)、mil(中国国防机构)、net(提供互联网服务的机构)和org(中国非盈利性组织)。比如sohu.com(搜狐公司)、sdu.edu(山东大学)和moe.gov(教育部)等。

行政区域名是为我国每个省、市、自治区分配一个本行政区所使用的二级域名,如bj(北京)、sh(上海)和sd(山东)等。

获得了二级域名的单位或组织,可以自主划分下一级域名而无须由上一级管理机构批准,当域名划分到某一台具体计算机时,则不能再继续向下划分域名。

2.域名服务器

DNS 实现域名与IP地址的转换具体是由分布在各地的域名服务器实现的。DNS中的服务器的设置不是以“域”为单位,而是以“区”为单位。一个服务器所负责管辖的(或有权限的)范围称为区(zone)。区的范围可以小于或等于域,但不能大于域。每一个区设置相应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射。DNS按区管理的好处主要是可以避免所有用户访问一个DNS服务器,降低网络负荷,便于分区域进行管理,减少访问的路径,有利于提升用户访问的速度。DNS的域名服务器主要包括根域名服务器、顶级域名服务器、权限域名服务器和本地域名服务器4类。

1) 根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对Internet上的任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。在Internet上共有13个不同 IP 地址的逻辑根域名服务器,它们的名称是用一个英文字母命名的,从a~m(前13个字母)。如a. rootservers.net、b. rootservers.net、…、m. rootservers. net。每一个逻辑根域名服务器都由多台机器组成,它们具有同样的域名和功能,分布在多个地点。当用户需要求助于根域名服务器时,路由器会找到距离用户最近的一台根域名服务器设备。根域名服务器并不直接把待查询的域名转换成IP地址,而是告诉本地域名服务器应该找哪一个顶级域名服务器进行查询。

2)顶级域名服务器(TLD服务器)。顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当它们收到DNS查询请求时,就给出相应的回答,或者是域名查询的结果,或者是应该继续查找的域名服务器的IP地址。

3)权限域名服务器。权限域名服务器负责一个区的域名服务,其中保存了该区中所有主机的域名到IP 地址的映射。当权限域名服务器不能回答DNS用户的查询请求时,它将告诉用户应该继续查询哪一个权限域名服务器。

4)本地域名服务器,也称为默认域名服务器。本地域名服务器距离主机最近。每一个 Internet 服务提供者ISP,或一个大学,一个公司,都可以拥有一个本地域名服务器。当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器,如果本地域名服务器和所要查询的主机属于同一个网络,则可以直接将所查询的主机域名转换为IP地址,而不需要再去询问其他域名服务器。

3.域名解析过程

域名解析分为递归解析和迭代解析两种方式。主机向本地域名服务器的查询一般都是采用递归查询。递归查询是指:如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份向某根域名服务器继续发出查询请求报文。

本地域名服务器向根域名服务器的查询通常是采用迭代查询。迭代查询是指:当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个顶级域名服务器进行查询”。然后让本地域名服务器向相应的顶级域名服务器进行查询。顶级域名服务器同样按照要么给出所查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个权限域名服务器进行查询”的方式进行工作;最终,本地域名服务器在某个权限域名服务器上找到要查找域名的IP地址,并将其返回给主机。其过程如图6-2所示。

第三节 文件传输协议 (FTP)

文件传输协议(File Transfer Protocol,FTP)用于用户在两台主机之间进行远距离的文件传输,并保证传输的可靠性。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中的任意计算机之间传送文件。

FTP采用客户机/服务器的方式,由FTP服务器和FTP客户机两部分组成。FTP服务器中以目录结构保存着各种文件,FTP客户机是安装了FTP客户端软件的用户计算机。服务器和客户机之间通过“下载”和“上传”来实现文件的传输。下载是将文件从FTP服务器传输到客户机,上传是将文件从FTP客户机传输到服务器。如果用户要使用FTP服务,首先要从FTP客户机登录到FTP服务器,登录需要输入正确的FTP服务器名、用户名和密码.每个 FTP服务器名在全球范围是唯一的,如ftp.sdu.edu.cn。FTP服务器的用户名和密码可以自行设置。许多FTP服务器可以提供匿名FTP服务,即不需要每一个用户都有一个专用的账号,可以共同使用一个公开的用户账号(通常为anonymous)登录FTP服务器。

FTP使用TCP提供的可靠传输服务。FTP客户机和服务器之间的通信是由若干个进程实现的,分为FTP服务器进程和客户机进程。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

FTP 主进程的工作步骤如下。

1)打开熟知端口(端口号为21),使客户进程能够连接上。

2)等待客户进程发出连接请求。

3)启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。

4) 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发进行的。

在进行文件传输时,FTP的客户端和服务器之间需要建立两个并行的TCP连接:控制连接和数据连接。

1)控制连接在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程的熟知端口(21),但控制连接不用来传送文件。

2)实际用于传输文件的是数据连接。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后,就创建数据传送进程并且建立数据连接,客户端和服务器端的数据传送进程通过数据连接完成文件的传送,在传送完毕后关闭数据连接并结束运行。服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号建立数据连接。

在实际使用中,企业、学校及个人用户可以根据需要建立自己的FTP服务器,在其中可存储文档、应用程序、视频和音频等各种文件供远程用户下载使用;远程用户通过浏览器或专门的FTP客户端软件登录服务器并进行文件的传输。创建FTP服务器可以利用Windows Server、Windows7等操作系统自带的FTP管理工具,也可以利用Server-U等专门的 FTP 服务器管理软件。常用的FTP客户端工具软件有Flashftp、Leapftp和Cuteftp等。

第四节电子邮件(E-mail)

一、电子邮件的基本概念

电子邮件E-mail是Internet中使用最为广泛的一种应用服务,几乎每个使用Internet的用户都会经常使用电子邮件进行个人通信。使用电子邮件可以在瞬间将信件传送到世界各地,而且几乎没有任何花费,极大地提高了通信和工作的效率。除了文字信息外,电子邮件还可以以附件的形式传送文档、图像、音频和视频文件。随着电子邮件的普及,传统的纸质平信已经使用得越来越少了,传统的电报业务甚至已经被市场所淘汰。

Internet中的电子邮件系统主要由3部分构成:用户代理、邮件服务器和邮件发送/读取协议。其具体内容如下。

1)用户代理UA(UserAgent),以电子邮件客户端软件的形式存在,如Microsoft的 Outlook Express、国产的Foxmail等,是用户与电子邮件系统之间的接口。用户代理的基本功能如下。

  • 编辑:用户可以使用用户代理撰写、编辑信件,添加收件人,设置邮件主题,以及添加各种附件等。
  • 显示:将收到的邮件以合适的形式呈现在计算机屏幕上。
  • 处理:将收到的邮件、发送的邮件和未发送的邮件等进行管理,包括阅读、标记、删除、分类、转发、保存附件和自动回复等操作。
  • 通信:将撰写好的邮件发送到邮件服务器;将邮件服务器中的邮件接收到用户计算机。

2)邮件服务器。邮件服务器相当于普通邮政系统中的邮局,其功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝或丢失等)。邮件服务器按照客户机/服务器方式工作。邮件服务器需要使用发送和读取两个不同的协议。一个邮件服务器既可以作为客户,也可以作为服务器。

3)邮件发送/读取协议。用户代理与邮件服务器之间的通信是由邮件发送/读取协议实现的。最常用的邮件发送协议是简单邮件传送协议SMTP,最常用的邮件读取协议是邮件协议 POP3。

如同纸质信件的传递需要写明收信人和发信人的姓名、单位、地址和邮编等信息一样,电子邮件系统也需要用于标识发信人和收信人的地址符号。在TCP/IP体系下的电子邮件地址格式是:邮箱名@邮箱所在服务器的域名。

其中符号“@”读作“at”,表示“在”的意思。例如,电子邮件地址haixiazhang@ sdu.edu.cn,haixiazhang 表示该邮箱的名称,sdu.edu.cn表示邮箱所在的服务器。该用户在服务器上拥有一个只属于自己的电子邮箱,可以进行邮件的收发。通常公司、学校等单位会建立各自的电子邮件服务器,单位内的用户可以申请带有单位域名的电子邮箱,Internet上也有许多提供免费的电子邮件服务的网络服务商,用户可以在他们的网站进行注册申请,获得电子邮件服务,常用的有国外的hotmail、gmail,以及国内的QQ邮箱、新浪邮箱和263邮箱等。

一个标准的电子邮件内容由首部(header)和主体(body)两部分组成,其中邮件内容首部包括一些关键字,后面加上冒号。关键字主要包括以下几个。

“To:”后面填入一个或多个收件人的电子邮件地址。用户只需打开地址簿,单击收件人的名字,收件人的电子邮件地址就会自动填入到合适的位置上。

“Subject:”是邮件的主题。它反映了邮件的主要内容,便于用户查找邮件。

"Cc:”表示应给某人发送一个邮件副本。

“From”和“Date”表示发信人的电子邮件地址和发信日期。

“Reply-To:”是对方回信所用的地址。

邮件主体部分由用户自行编辑撰写。

一封电子邮件的发送和接收主要包括以下几个基本步骤。

1)用户使用用户代理编辑好要发送的电子邮件,并且指明正确的收件人地址,然后单击“发送”按钮。

2)用户代理使用SMTP协议,将邮件传送到发送方邮件服务器上,保存在邮件缓冲区

内,等待发送到接收方的邮件服务器。

3)发送方邮件服务器与接收方邮件服务器建立TCP连接,使用的熟知端口号为25,将邮件缓冲区内的邮件依次发送出去,中间不被任何一个中间邮件服务器所接收。如果超过规定的时间还不能把邮件发送出去,则发送邮件服务器要向用户代理报告发送失败。

4)接收方邮件服务器收到邮件后,将邮件放入收件人的用户邮箱中,等待收件人下载。

5)当收件人运行用户代理的“接收邮件”功能时,用户代理利用POP3或IMAP协议,将邮件从接收服务器中下载到本地用户代理。

二、SMTP、POP3 和IMAP协议的基本机制

如前文所述,电子邮件从用户代理发送到邮件服务器采用的是SMTP协议,从邮件服务器接收邮件到用户代理采用的协议是POP3 或IMAP。

SMTP 协议规定在两个相互通信的SMTP进程之间应如何交换信息。SMTP 使用客户机服务器方式,因此负责发送邮件的SMTP进程就是SMTP客户,而负责接收邮件的SMTP 进程就是SMTP服务器。当用户代理要发送电子邮件到发送方邮件服务器时,用户代理就作为 SMTP 客户端,发送方邮件服务器是SMTP服务器;当发送方邮件服务器与接收方邮件服务器建立TCP连接时,发送方邮件服务器就作为SMTP客户端,而接收方邮件服务器是SMTP服务器。

SMTP 通信可以概括为3个阶段。

1)连接建立:在发送方邮件服务器和接收方邮件服务器之间建立TCP连接。

2)邮件传送。

3)连接释放:邮件发送完毕后,SMTP释放TCP 连接。

传统的SMTP 作为电子邮件发送协议存在着一定的缺陷。

1)SMTP不能传送可执行文件或其他的二进制对象,只限于传送7位的ASCII码。许多其他非英语国家的文字(如中文、俄文等)就无法传送。

2)SMTP 协议发送邮件不需要经过鉴别,在From命令后可以任意填写邮件地址,从而造成垃圾邮件的泛滥。

3) SMTP 传送的邮件是明文,没有经过加密,容易被截获,从而造成信息泄露。

邮局协议POP是一个功能简单的邮件读取协议,现在使用的是它的第3个版本POP3。 POP协议也使用客户机/服务器的工作方式。在接收邮件的用户PC中必须运行POP客户端程序,而在邮件接收用户所连接的接收服务器中则运行POP服务器程序。POP服务器程序需要设置用户名和密码,只有用户正确输入身份鉴别信息后才能从接收服务器下载邮件。当用户利用 POP 服务器程序将接收到的邮件下载到本地计算机后,服务器会把该邮件删除。

封邮件。这就会造成当用户使用某台计算机下载了邮件后,就无法再使用另一台计算机再次读取同一

另外一种功能更丰富的邮件接收协议是网际报文存取协议(Internet Massage Access Pro- tocol,IMAP)。IMAP同样使用客户机/服务器工作方式。用户计算机上的IMAP客户端程序通过 TCP与接收邮件服务器上的IMAP服务器程序建立连接,用户可以对接收邮件服务器收到的邮件进行阅读、回复和管理邮箱文件等操作。这样,就可以在不同的地点,使用不同的计算机进行电子邮件的使用。其缺点是如果用户不删除邮件,IMAP服务器上的邮件将会一直保留,对服务器存储空间的要求比较大。

除了传统的使用客户机/服务器模式的电子邮件服务外,现在更多的用户使用基于Web的电子邮件系统。用户可以使用Web浏览器登录创建在网站上的电子邮箱,并且在浏览器界面上进行邮件的收发、附件的传输和资料的网络存储等操作。如hotmail、gmail、网易、腾讯和新浪等网站,都提供基于Web的电子邮件服务,用户通过在相关网站进行注册和登录操作后,可以免费使用这些网站提供的电子邮件服务。基于Web的电子邮件系统在发信人客户端与发送邮件服务器之间、收件人客户端与接收邮件服务器之间都是采用HTTP进行通信,而不使用SMTP、POP3 或者IMAP协议。

第五节万维网(WWW)

一、WWW 的概念与构成

万维网(World Wide Web,WWW)是Internet上最为普及的一种应用服务,它是由成千上万个万维网站点(简称网站)组成的一个联机信息存储系统,网站上以网页(Page)的形式存储着各种文档,其中包含了文字、图片、声音和视频等各种信息。各个网站以链接(link)的方式联系在一起,用户可以非常方便地从一个网站转到另一个网站进行访问。

万维网的概念最初是由欧洲粒子物理实验室的Tim Berners Lee于1989年提出的,他于1990年11月13日写出了第一个网页,标志着万维网的诞生。万维网被认为是20世纪末人类最为重要的发明之一,是Internet发展的重要里程碑,它为信息社会的发展提供了最有力的支持工具。万维网是一个分布式系统,所有的信息都以文档的形式保存在Internet中的各个网站上,信息之间通过链接的方式相连,形成一个包含文本、图像、图形、声音、动画和视频等各种信息形式的超媒体(Hypermedia)系统。万维网的工作模式采用客户机/服务器方式,在用户计算机上运行浏览器(Browser)作为万维网客户程序,大量的万维网文档保存在服务器上,运行服务器程序。用户使用万维网时,首先由客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档,并在客户程序的主窗口上显示文档的内容,称为页面(Page)。

因为万维网是一个容纳各种信息资源的超媒体系统,因此它要比FTP、电子邮件等传统的Internet应用复杂很多,必须首先要解决以下几个问题。

1)分布在世界各地的万维网文档如何进行标识?

2)用户如何从一个万维网文档链接到另一个文档,数据信息是怎样交换的?

3)各种不同类型的万维网文档如何能被所有的用户客户端正确打开并显示?

用来解决这3个问题的思想和技术构成了万维网的核心内容:统一资源定位(URL)、超文本传输协议(HTTP)和超文本标记语言(HTML)。

三、HTTP

用户访问万维网文档,万维网文档之间的链接,以及将万维网文档中的数据传送到用户计算机,这些功能的实现都是由超文本传输协议HTTP(HyperTextTransfer Protocol)负责完成的。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送,能够在万维网上进行文本、声音、图像和视频等各种信息的交换。

HTTP也是工作在客户机/服务器模式下,分为HTTP客户端和 HTTP服务器两部分,双方每次进行交互,都是由客户端发出的请求和服务器端发出的响应构成。HTTP规定的用户使用浏览器访问万维网的过程可以总结为以下几个步骤。

1)用户在浏览器中输入需要访问网页的URL或者单击某个网页中的链接。

2)浏览器根据URL中的域名,通过DNS解析出目标网页的IP地址。

3)浏览器与网页所在服务器建立TCP连接。

4)浏览器发送HTTP请求报文,获取目标网页的文件。

5)服务器发送HTTP 响应报文,将目标网页文件发送给浏览器。

6)释放 TCP 连接。

7)浏览器将网页的内容(包括文本、图像和声音等)显示呈现在用户计算机屏幕。

HTTP 是无连接的,它使用面向连接的TCP所提供的服务。同时,HTTP也是无状态的,即服务器端不记录客户端访问的时间和次数。最初的HTTP版本是1.0版,使用非持续连接(Nonpersistent Connection)。每传输一个对象都需要利用一个往返时间RTT建立TCP连接,用一个往返时间RTT 申请并传输回对象,即平均用两个往返时间RTT获取一个对象。目前使用比较广泛的是HTTP的1.1版本(HTTP/1.1),其在默认情况下使用持续连接(Persis-tent Connection),即利用同一个TCP连接传输多个对象。

HTTP 报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。请求报文是从客户端向服务器发送的报文,响应报文是从服务器到客户端的报文。下面分别介绍请求报文和响应报文的具体格式。

四、Cookie 机制和 Session 机制

由于HTTP是一种无状态的协议,一旦数据交换完毕,客户端和服务器端的连接就会关闭,再次进行数据交换需要建立新的连接,这就意味着服务器端无法跟踪用户的会话。比如用户每次登录论坛、社交网站等万维网网站时,都需要重新输入用户名和密码;用户进行网络购物时,选购了一件商品放入购物车内,当他再次选择其他商品时,服务器无法识别该次购物是否还是这位顾客的行为,因此需要每购买一件商品就必须立即结账。为了解决这些问题,万维网引入了Cookie机制和Session机制来实现会话的跟踪。

1.Cookie 机制

Cookie原意为“小甜饼”或“曲奇”,是由W3C组织首先提出的一种技术,目前已经成为万维网的标准,所有的主流浏览器都支持Cookie。Cookie可以形象地比喻为万维网网站服务器颁发给各个客户端用户的通行证,服务器通过通行证可以识别、限制和跟踪用户。

Cookie的准确定义是:Cookie是万维网服务器在客户端保存的一段文本,用于保存用户访问服务器的相关信息。Cookie中保存的信息在用户每次访问服务器的过程中被服务器进行检索,以此来对用户进行识别和跟踪。Cookie的工作基本原理为:假设某用户A使用他的计算机首次浏览某个万维网网站的服务器,该网站会给A分配一个唯一的ID号,并以此为索引在服务器数据库中创建一条记录。然后在发送给A的 HTTP响应报文中添加一个首部行,其名称为Set-cookie,值为分配给A的ID号,假设为00000001,即 Set-cookie:00000001。当用户A收到网站发回的HTTP 响应报文时,先在本地计算机创建一个文本文件(即为该网站的Cookie),并从响应报文中读取A的ID号,与网站的主机名一起作为一行写入Cookie文件中。当用户A之后再次用同一台计算机访问该网站时,浏览器会查询客户端的 Cookie 文件,并在HTTP请求报文中写入之前获得的ID号,作为请求报文的一个首部行,即Cookie:00000001。网站收到该HTTP请求报文后,通过Cookie首部行中的ID值00000001 判断出该用户为A,并可以检索本地数据库,了解用户A都进行过哪些访问行为。

除了ID号,网站还可以根据需要将其他信息写入Cookie文件,比如用户在网站停留的时间、注册使用的账户名等。Cookie文件的格式如下。

第一行 Cookie 变量名第二行 Cookie 变量值

第三行Cookie变量所属域

第四行可选标志(Cookie是否加密)

第五行该Cookie过期时间(FILETIME格式)的高位整数

第六行该Cookie过期时间(FILETIME格式)的低位整数

第七行该Cookie创建时间(FILETIME格式)的高位整数

第八行 该Cookie创建时间(FILETIME格式)的低位整数

第九行 Cookie记录分隔符(星号*)

Cookie 中的内容大多数经过了加密处理,因此在用户角度看来只是一些毫无意义的字母数字组合,只有服务器端的专门处理程序才知道它们真正的含义。

Cookie文件可以保存在客户端计算机的硬盘中,也可以保存在客户端计算机的内存中。保存在内存中的Cookie被称为会话Cookie,表示这个Cookie的有效周期是浏览器的会话期间,只要关闭浏览器窗口,Cookie就消失。保存在硬盘中的Cookie通常被称为永久Cookie, Cookie 的有效周期可以进行设置,关闭浏览器不影响Cookie的有效周期。

万维网网站利用Cookie技术进行用户跟踪,最常见的用途有以下几个。

1)网站可以利用Cookie的ID来准确统计网站的实际访问人数、新访问者和重复访问者的人数对比,以及访问者的访问频率等数据。

2)网站可以利用Cookie限制某些特定的用户的访问。

3)网站可以存储用户访问过程中的操作习惯和偏好,对不同的用户呈现不同的显示内容、颜色和布局等界面元素,更有针对性地为用户提供服务,提升用户体验感。

4)记录用户登录网站使用的用户名、密码等信息,当用户多次登录时,无须每次都从键盘输人这些烦琐的字符和数字。

5)电子商务网站利用Cookie可以实现“购物车”功能。对于同一个ID的用户,网站可以跟踪其向“购物车”中添加的不同商品,每个商品都会和ID一起存储在网站数据库中。当用户选择结账时,网站通过对数据库中该ID的检索,找到用户购买的所有商品一起实现结账功能。

Cookie 技术使万维网的使用更加方便,但也带来了一定的安全问题。比如,网站利用 Cookie 跟踪每个用户的访问行为、账户和密码等信息,一旦泄露,会给用户造成很大的损失;对于在公共场所多个用户使用同一台计算机的情况,使用Cookie可能会暴露某个用户的网络操作行为,比如登录过哪些网站、购买过哪些商品等信息。

2. Session 机制

Session 是另外一种万维网服务器记录用户访问状态的机制,Session与Cookie的最根本不同是:Cookie机制中的用户信息文件被保存在客户端,而Session是在服务器端将用户信息进行保存的。用户使用浏览器访问万维网网站时,网站服务器把用户的信息记录在服务器上,称为Session。当该用户再次访问时可以在Session中查找该用户的状态信息。Session的基本工作原理可以描述为:当用户使用浏览器首次访问某个网站时,服务器会为该用户创建一个唯一的Session标识,称为SessionID,并以SessionID为索引开辟一块数据存储空间,用于保存该用户的访问信息。服务器将SessionID通过HTTP响应报文返回给用户。以后用户每次访问该网站时,请求报文都包含有SessionID,服务器收到后根据SessionID检索服务器端所保存的 Session。在客户端和服务器之间传递SessionID可以采用两种方式,一种是通过Cookie,即SessionID被保存在客户端的Cookie中,每次用户使用浏览器访问网站时,在 HTTP 请求报文中将SessionID传递给服务器;另一种方式称为URL重写技术,客户端浏览器直接将 Session ID添加在URL路径后面通知网站服务器。

五、超文本标记语言HTML

万维网的网页(Page)是承载Intemet上各种文档的载体,为了能让各种不同的主机和浏览器能够访问万维网网页,网页内容的描述和表示需要采用统一的标准。超文本标记语言(Hyper Text Markup Language,HTML)就是一种描述和表示万维网网页的标准语言。HTML是一种描述文件格式的计算机程序语言,通过各种标记(Tag)指示浏览器以何种方式显示网页中的文本信息,HTML标记与文本构成了网页的原始文件,而图形、声音、动画和视频等非文本元素需要用其他软件制作,再通过HTML的标记编排在原始文件中,最后通过浏览器来解读,并在屏幕上展示效果。

HTML的前身是IBM公司于20世纪60年代后期创建的通用标记语言,1980年标准通用标记语言SGML被推出,在此基础上开发出最初的HTML语言。HTML语言刚问世的时候,存在很多不同的版本,直到1995年11月才推出了第一个HTML的正式规范HTML2.0。经过多年的发展,HTML的功能不断丰富和强大,目前已经发展到支持移动互联网终端应用的 HTML 5。

HTML语言通过标记告知浏览器怎样解释和显示网页,在HTML源文件中,各种标记是由符号“<”和“>”括起来的。组成HTML文件的标记有许多种,每种标记的作用也各不相同,主要用于标注各种元素在浏览器中的输出和格式。最基本的标记是<html>和</html>。<html>位于整个HTML文件的最开始,而</html>位于整个HTML文件的最后,两者之间的文本及其他标记则是网页中的内容,如果没有这两个标记,浏览器就无法识别该文档格式并正确解释它。HTML的标记常常是成对出现的,且忽略大小写,基本的标记还包括以下几个。

第六节 电子商务应用

电子商务是将计算机网络技术,特别是Internet技术与传统商务活动相结合的一种动态商务活动。电子商务是对传统商业交易方式的一次根本性变革,通过计算机网络将商务活动的各个参与者,包括商家、顾客和金融机构等联系在一起,实现商品展示、顾客选购、在线支付和售后服务等各个环节,最后通过线下物流配送完成整个商务活动。

1997年11月,国际商会在巴黎举行了首届世界电子商务会议,首次从商业角度提出了电子商务的概念:电子商务是实现整个贸易活动的电子化的商业形式,其业务涵盖了信息交换、售前售后服务、销售、电子支付、运输、金融和虚拟企业等。电子商务将原有的传统销售渠道移植到Internet上,打破了国家和地区间有形及无形的壁垒,使企业生产全球化、网络化、无形化和个性化。在过去的十几年里,电子商务在全球范围内得到了飞速发展,在改变社会生产方式、调整经济发展结构方面发挥了巨大的作用。

一、电子商务的类型

电子商务可以按交易对象和交易内容进行分类。

1.按照交易对象分类

1)企业与消费者之间的电子商务(BusinesstoConsumers,B2C)。生产企业或者销售企业在Internet上开设网上商城,面向直接消费者销售电器、书籍、服、日用百货和食品等各种商品,典型的B2C电子商务网站有国外的Amazon,国内的京东、当当网和天猫等。

2)企业与企业之间的电子商务(BusinesstoBusiness,B2B)。分为非特定企业间的电子商务和特定企业间的电子商务两种形式。非特定企业间的电子商务是指在开放的网络中对每笔交易寻找最佳的交易对象,并进行从订购到结算的全部交易行为。特定企业间的电子商务是指在过去一直有交易关系或未来长期有交易关系的企业,为了相同的经济利益,共同设计、开发和管理的商务交易系统。典型的B2B电子商务网站是阿里巴巴网。

3)个人与个人之间的电子商务(Consumers to Consumers,C2C)。C2C模式是指在Inter- net上进行商品交易的双方都是个人或者小商户,交易的商品类型更加丰富,交易方式也更

加灵活。典型的C2C电子商务网站如淘宝网。

4)从线上到线下的电子商务(Online to Ofine,02O)。020是近几年新兴的一种电子商务类型,起源于美国。O20是指在商务活动中,将线下的商机与Internet相结合,让In- ternet成为线下交易的平台。商家同时开设网上商城和线下实体店,线上主要提供宣传推广、在线互动、在线购买和支付功能,在线下为用户提供具体的服务。这种模式适合于餐饮、旅游、娱乐和休闲等服务性行业。典型的020网站有滴滴出行、大众点评网、糯米网和美团网等。

2.按商务活动内容分类

1)间接电子商务,即有形货物的电子化交易,货物还需要通过邮政或商业物流渠道最终送到用户手中。

2)直接电子商务,即无形货物和服务的电子化交易,如计算机软件、电子图书、电影和音乐等的购买、支付和下载。

二、电子商务过程的3个阶段

因为电子商务是商务活动的一种,既有传统商务的共性,也有其自身的特点,完整的电子商务过程可以分为交易前、交易中和交易后3个阶段。

1.交易前

参与电子商务的买卖双方在交易前要做好各项准备活动。卖方要进行全面的市场调查和分析,制定各种销售策略和销售方式,利用Internet进行全方位的商品展示和宣传,提升用户体验感。买方通过Internet搜索查询需要购买的商品,比较不同的电子商务网站和卖家的商品性能、价格和服务等信息,注册交易账户和支付账户等。

2.交易中

买卖双方认可交易的各项权利和义务。买方通过Internet确定购买商品或服务的种类、规格、数量,以及用户的姓名、地址、联系方式、支付方式和物流方式等信息,形成并提交订单。卖方根据订单开始组织发货和配送。

3.交易后

买卖双方对物流配送的货物进行跟踪,买方收到货物后进行确认并支付货款,卖方出具发票,整个交易完成并记录。如果买方发现商品问题,通过电子商务网站所提供的即时通信工具与卖方客服人员进行交涉,协商退换货事宜。买方根据交易过程中卖方的服务情况,在电子商务网站平台对卖方进行打分评价。

三、电子商务的主要功能

1.企业业务组织

电子商务是一种基于信息的商业过程,在这一过程中,企业内外的大量业务被按照信息化管理的方式进行重组,实现内部的管理信息和外部的商品信息能够有效的衔接。

2、信息发布与广告宣传

电子商务通过各种形式的万维网网站进行商业信息的发布和商品的展示,并且通过万维网的搜索引擎、超链接等技术实现更大范围的宣传推广。

3. 咨询洽谈

在电子商务活动中,顾客可以通过电子邮件、BBS论坛和即时通信工具等向商家提出问题,了解商品信息,商谈交易事务。

4.在线选购

顾客根据自己的需要在电子商务网站选购商品,选择好的商品被保存在购物车中,顾客可以随时增加和删减,购物车页面会显示实时的商品数量和金额信息。

5.网上支付

顾客可以使用信用卡、网银或第三方支付等非现金方式在线支付商品货款,并且由相应的安全机制来保证支付的安全。

6.交易管理

商务活动中会涉及人、财、物及数据等多方面的内容,以及这些内容之间的相互作用和相互关系,电子商务系统会与交易相关的信息进行统一的管理,从而使得交易更加快捷、方便。

7.数据统计与挖掘

电子商务可以将大量的交易相关数据记录下来,并对这些数据进行统计分析,从中挖掘出隐藏在数据中的有商业价值的信息。利用这些信息,电子商务企业可以更有针对性地设计商品的营销策略,改进服务水平,从而提高经济效益。

本章小结

网络应用是直接面向计算机网络的用户,遵循相应的网络应用协议,为用户提供某个特定的网络服务或实现特定的网络功能的一套完整的软件系统。各种网络应用协议决定了不同网络应用的功能和工作机制。网络应用伴随着计算机网络的诞生一直到现在,一直源源不断地涌现出来,改变着人们的生活。

网络应用基本的工作模式都是客户机/服务器模式,客户机/服务器模式又分为一般的客户机/服务器模式和 P2P模式。

Internet 采用了域名与IP地址并行使用,通过人们便于理解和记忆的字符形式对Internet上的主机进行命名。域名系统DNS是一个提供将主机域名转换为IP地址的应用服务。当一个应用程序遇到某个域名时,可以通过DNS将该域名对应的IP地址找到,并在通信过程中使用IP地址进行数据的传输。IDNS采用了层次树状结构来进行域名的命名,域名的管理采用分级管理方式,其中最高的顶级域名由ICANN统一管理,其他级别的域名由上一级域名管理机构管理。DNS中的顶级域名包括了国家顶级域名nTLD、通用顶级域名gTLD 和基础结构域名(infrastructure domain)3类。

DNS实现域名与IP地址的转换具体是由分布在各地的域名服务器实现的。DNS中的服务器的设置以“区”为单位。DNS的域名服务器主要包括根域名服务器、顶级域名服务器、权限域名服务器和本地域名服务器4类。

域名解析分为递归解析和迭代解析两种方式。主机向本地域名服务器的查询一般都是采用递归查询。本地域名服务器向根域名服务器的查询通常采用迭代查询。

文件传输协议(FTP)用于用户在两台主机之间进行远距离的文件传输,并保证传输的可靠性。FTP采用客户机/服务器的方式,由FTP服务器和FTP客户机两部分组成。FTP使用TCP提供的可靠传输服务。FTP客户机和服务器之间的通信是由若干个进程实现的,分为FTP服务器进程和客户机进程。

电子邮件(E-mail)是Internet上使用最为广泛的一种应用服务,主要由用户代理、邮件服务器和邮件发送/读取协议3部分组成。用户使用用户代理软件进行邮件的编写、读取等操作;邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况;用户代理与邮件服务器之间的通信是由邮件发送/读取协议实现的。最常用的邮件发送协议是简单邮件传送协议SMTP,最常用的邮件读取协议是邮件协议POP3。

电子邮件地址格式是:邮箱名@邮箱所在服务器的域名。

除了传统的使用客户机/服务器模式外,用户还可以使用Web浏览器登录创建在网站上的电子邮箱,并且在浏览器界面上进行邮件的收发、附件的传输和资料的网络存储等操作。

万维网(WWW)是Internet上最为普及的一种应用服务,它是由成千上万个万维网站点(简称网站)组成的一个联机信息存储系统,网站上以网页(Page)的形式存储着各种文档,其中包含了文字、图片、声音和视频等各种信息。各个网站以链接(Link)的方式联系在一起,用户可以非常方便地从一个网站转到另一个网站进行访问。万维网的核心内容包括统一资源定位(URL)、超文本传输协议(HTTP)和超文本标记语言(HTML)。

万维网采用统一资源定位符(URL)的方法,为Internet上的每一个万维网分配一个唯一的标识符。URL的一般格式是:<协议>://<主机>:<端口 >/ <路径>。

用户访问万维网文档、万维网文档之间的链接,以及万维网文档中数据传送的用户计算机,都是由超文本传输协议(HTTP)负责完成的。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送,能够在万维网上进行文本、声音、图像和视频等各种信息的交换。

HTTP 有两类报文:请求报文和响应报文。请求报文是从客户端向服务器发送的报文,响应报文是从服务器到客户端的报文。

万维网采用Cookie 机制和Session机制来实现会话的跟踪。Cookie是万维网服务器在客户端保存的一段文本,用于保存用户访问服务器的相关信息。Cookie中保存的信息在用户每次访问服务器的过程中被服务器进行检索,以此来对用户进行识别和跟踪。Session 是另外一种万维网服务器记录用户访问状态的机制,Session与Cookie 的最根本不同是:Cookie机制中的用户信息文件被保存在客户端,而Session是在服务器端将用户信息进行保存的。

万维网的网页(Page)是承载Internet上各种文档的载体,为了能让各种不同的主机和浏览器能够访问万维网网页,网页内容的描述和表示需要采用统一的标准。超文本标记语言(Hyper Text Markup Language,HTML)是用来描述和表示万维网网页的标准语言,通过各种标记(Tag)指示浏览器以何种方式显示网页中的文本信息。

为了解决HTML功能相对简单的问题,在HTML基础上产生了很多新的网页描述语言,使用最为广泛的是可扩展标记语言XML,其最大的特点是,在XML中,开发人员可以根据需要定义自己的标记,可以克服HTML语言只有固定标记的缺点,使设计的网页内容更加丰富、美观。

当需要在网页上显示即时新闻、股票行情和体育比赛比分等频繁变动的信息时,需要创建能够自动更新内容的动态文档。动态文档是由应用程序创建的,需要在万维网服务器端增加某种应用程序,称为通用网关接口CGI程序或者CCI脚本,用来编写CGI程序的语言包括Perl、JavaScript和Tcl/Tk等。

电子商务是将计算机网络技术,特别是Internet技术与传统商务活动相结合的一种相互关联的动态商务活动。电子商务是对传统商业交易方式的一次根本性变革,通过计算机网络将商务活动的各个参与者联系在一起,实现商品展示、顾客选购、在线支付、售后服务和配送等各个环节。电子商务按交易对象的不同可以分为B2C、B2B、C2C和O20等形式,按交易内容的不同可以分为间接电子商务和直接电子商务。典型的电子商务系统主要包括客户、供货方、支付机构、认证中心、销售中心和配送中心等实体。

思考题与练习题

1、请简述一般的客户机/服务器模式和P2P模式的工作特点。

2.新一代网络形态和技术有哪些?

3.即时通信工具QQ是基于哪种网络应用服务模式的?

4.DNS的顶级域名包含哪3大类?

5.DNS 的域名服务器主要包括哪4类?

6.DNS 域名解析分为哪两种方式?每种方式各自在什么情况下使用?

7.DNS进行查询使用的是哪种传输层协议?

8.请简述 FTP 服务器主进程的工作步骤。

9.FTP服务使用的是哪种传输层协议?

10.电子邮件系统主要由哪3部分构成?各部分的功能是什么?

11.如果用户想在不同的地点使用不同的计算机实现邮件接收服务,则应用到哪种邮件接收协议?

12.请简述 HTTP 规定的用户使用浏览器访问万维网的过程。

13.如果用户浏览网页时输入了错误的URL,会在浏览器页面中看到什么样的状态代码和状态描述?

14.HTTP 的请求报文由哪几部分构成?15.Cookie技术常见的用途包括哪些?

16.Session 机制与Cookie 机制的最根本不同是什么?

17.HTML 通过什么指示浏览器以何种方式显示网页中的文本信息?18.可扩展标记语言XML的主要特点是什么?

19.请简述静态万维网文档和动态万维网文档的区别。

20.请简述B2B、B2C、C2C和O20电子商务类型的含义及其代表应用。21.电子商务系统一般包含哪些元素?22.电子商务系统的主要功能有哪些?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值