计算机网络讲义

目录
计算机网络基础 2
第一部分:互联网发展史以及TCP/IP协议 2
1.1、TCP/IP协议的产生过程 2
1.2 TCP/IP是什么 3
1.2.1、OSI RM(开放系统互连参考模型) 3
1.2.2、TCP/IP(传输控制协议/网际协议) 6
1.2.3、TCP报文格式 8
1.2.4、TCP的三次握手和四次挥手 9
1.2.5、TCP/IP协议体系常见术语 12
第二部分:TCP/IP网络组成 13
2.1、TCP/IP世界的基本组成元素 13
2.2、局域网 14
2.2.1、概述 14
2.2.2、局域网拓扑结构 15
2.3、网络设备 17
2.3.1、交换机 17
2.3.2、路由器 18
2.3.3、防火墙 19
2.3.4、主机 21
2.3.5、Modem 21
2.3.6、IP世界的道路构成 22
2.4、IP世界的管理体系构造 22
2.5、互联网数据中心IDC 24
第三类和第四类,人们能看得见,却摸不找。 25
第三类叫作IP地址池。 25
第四类叫作软件。 25
第三章节:TCP/IP网络规则 26
第四章节 TCP/IP网络路由技术 46
4.1、基础网络术语 46
4.2、VLAN概述 46
1.VLAN的原理 46
2.VLAN的划分种类 48
4.3 常见中继设备介绍 50
4.4、路由表 62
1.华为路由表 62
2.中兴路由表 65
3.电脑路由表 65
4.5 路由协议 66
第五章节 77
5.1、Ping命令 78
5.2、Traceroute命令 78
5.3、Netstat命令 80
5.4、ARP命令 83
(1)Arp–a :显示所有的ARP表项。 84
(2)Arp-s:在ARP缓存中添加一条记录。 84
(3)Arp-d:在ARP缓存中删除一条记录。 84
5.5、Route命令 84
(1)Route print显示IP路由表的完整内容。 85
(2)Route add 增加一条路由记录(重起后丢失)。 85
(3)Route delete 删除一条路由记录。 86
5.6、 Flushdns命令 86
第六章节:网络规划实战 86
案例2:城域网设备选择 103

计算机网络基础
第一部分:互联网发展史以及TCP/IP协议
1.1、TCP/IP协议的产生过程
计算机与计算机之间要相互通信,必须“读”懂对方的“语言”,这种语言就是网络协议。计算机必须运行相同的协议,才能相互通信,传输控制协议/网际协议(Transfer Control Protocol/Internet Protocol,TCP/IP)就是为此而生,而产生的过程是一个漫长的过程。
在古巴导弹危机之后,美国国防部(DoD)认为,如果仅有一个集中的军事指挥中心,万一这个中心被原苏联的核武器摧毁,全国的军事指挥将处于瘫痪状态,其后果将不堪设想,因此有必要设计这样一个分散的指挥系统——它由一个个分散的指挥点组成,当部分指挥点被摧毁后其他点仍能正常工作,而这些分散的点又能通过某种形式的通信网取得联系。
1969年,美国国防部高级研究计划署(ARPA)的领导利克利德提出“巨型网络”的概念,设想“每个人可以通过一个全球范围内相互连接的设施,在任何地点都可以快速获取各种数据和信息”。 紧接着,在利克利德的资助下,一群天才的科学家们建立了名为阿帕网(ARPAnet)的网络。1969年9月美国军方阿帕网问世。
在阿帕网产生运作之初,大部分计算机相互之间不兼容。在一台计算机上完成的工作,很难拿到另一台计算机上去用;想让硬件和软件都不一样的计算机联网,也有很多困难。当时美国陆军用的计算机是DEC系列产品,海军用的计算机是Honeywell中标机器,空军用的是IBM公司中标的计算机,每一个军种的计算机在各自的系统里都运行良好,但却有一个大弊病:不能共享资源。
为了让计算机“生来平等”共享资源,以温顿·瑟夫(Vinton G.Cerf)为代表的科学家们,在经过多年努力之后,1974年他们提出命名为TCP的分组网互通协议,随后发表的著名的论文将TCP分为TCP/IP,开始布设可以架构在现有和新的技术上的互联网,让大家使用它自由的分享。
1983年,阿帕网分裂为两部分:用于军事和国防部门的军事网(MILNET)和用于民间的阿帕网版本。同时,局域网、广域网的产生和蓬勃发展对Internet的进一步发展起了重要的作用。其中最引人注目的是美国国家科学基金会ASF(National Science Foundation)基于IP建立的名为NSFNET的广域网。NSF在全美国建立了按地区划分的计算机广域网并将这些地区网络和超级计算机中心互联起来。阿帕网为主干网的互联网,只对少数的专家以及政府要员开放,而以NFSNET为主干网的互联网向社会开放。
1984年,美国国防部将TCP/IP作为所有计算机网络的标准。
1989年蒂姆·伯纳斯·李(Tim Berners-Lee)发明了首个网页浏览器——万维网(World Wide Web,WWW),1991年5月WWW在Internet上首次露面,立即引起轰动,获得了极大的成功,并被广泛推广应用。TCP/IP网络大发展时代的序幕由此拉开。
1990年6月NSFNET彻底取代了阿帕网而成为Internet的主干网。到1991年,NSFNET的子网已经扩展到3 000多个,由此奠定了今天异常繁荣的互联网之基础。
NSFNET吸引的用户当中不仅包含有很多学术团体、研究机构,至为重要的是,个人用户也开始参与到这个网络当中。越来越多不同类型用户的加入,让这个无趣的资源共享区开始变得热闹非凡。人们渐渐地不安分于板着面孔交流资料,各种形式的沟通也开始盛行并越来越有吸引力。E-mail、BBS、FTP、Telnet等,都是互联网产生初期人类智慧的结晶。
1995年,微软Internet Explorer浏览器(IE1)诞生。
1996年,4个并不是科班出身的以色列籍犹太小伙发明了ICQ。
至此,互联网完成了由资源传播通道到交流通信平台的角色转换,这个转换过程缓慢而细微,就如同一场天街小雨,轻柔地滋润着这多彩的世界。
1996年,美国克林顿政府提出“下一代Internet计划(NGI)”。
随后的20年,一大批太阳、月亮和星星一样的企业横空出世,一大批业界精英粉墨登场,一大批新技术、新思路、新理念、新思维风起云涌、叱咤风云……
1999年,腾讯公司推出腾讯QQ(简称QQ),同年新浪公司推出“新浪微博”。
2001年,微软发布Windows XP操作系统。
2003年,淘宝网成立。
2011年,腾讯公司推出微信(WeChat)。
2012年,伦敦奥运会开幕式上,蒂姆·伯纳尔斯·李出现在场地中央,他在键盘上敲出一行字,此时大屏幕上显示“This is for everyone”,意喻万维网是送给世界上每一个人的礼物。
2020年,以及正在进行时2021年,TCP/IP大行其道,它无所不在,无坚不摧,无往不利,战无不胜,攻无不克……
1.2 TCP/IP是什么
IP世界的基石,是TCP/IP协议族,IP世界是由通信实体构成的,而通信实体,是要分层的,以保证各种网络技术能和谐地共存和良好地配合。比如路由器是一个通信实体,某个通信软件(如浏览器或者QQ)是一个通信实体,网络游戏的服务器软件和用户端软件都是通信实体。不同实体所承担的功能不一样,,管理上要将类似功能的实体放在同一层,在实现技术经常变化的地方增加层次,每个层次有自己的职责
1.2.1、OSI RM(开放系统互连参考模型)
基于上述要求,国际标准化组织(ISO)于1984年建立了一套非常抽象的分层结构,这就是著名的ISO/OSI(国际标准化组织的开放网络架构)层次以及各层职责如下
在这里插入图片描述

1、物理层
该层包括物理连网媒介。具体的标准有RS232、V.35、RJ-45、FDDI
RS232对应的设备图片:是常用的串行通信接口标准之一
在这里插入图片描述

V.35接口设备:
在这里插入图片描述

RJ-45:网线接口
FDDI:光纤分布式数据接口

2、数据链路层
有了发音,才能有“字”或者“词”,对于说错的话,要尽快予以纠正;如果不能很好地纠正,就要重新把话再说一遍。
接下来,我们开始考虑在物理层提供的按“位”服务的基础上,在相邻的网络节点之间提供简单的、传输以帧为单位的数据,同时它还负责数据链路的流量控制、差错控制。
首先,数据链路层为网络层提供“简单”的通信链路,通信实体所在的系统必须经过物理介质直接相连——当然,这物理介质可以是有线的铜缆或者光缆,也可以是无线的微波。
大家要理解,这条链路不具备任何路径选择和转发功能,你可以把它仅仅理解为“一条封闭的路”,除了两端,没有额外出入口。
数据链路层将物理层提供的比特流组成“帧”,也就是说,把发送方发出来的若干“位”的数据组成一组,加上“开始”“结束”标志和与检错有关的代码等,形成有固定格式的数据帧——这有点像把货物放入标准集装箱中,正因为集装箱的体积、尺寸都是标准的,最后所有的集装箱看起来非常整齐,搬运和船载过程也会变得有序和规范。
本层要提供一定的差错检验和纠正机制。信号会因机械、电气等原因,出现错误,如将“0”“1”颠倒,丢失一个“0”或“1”,或者因为外界干扰而多出一位数字。接收者根据检错代码就可以判断收到的数据帧是否有错误,并在可能的情况下纠正错误。不能纠正的错误可以选择重传。
这里面很有学问。发送的信息,接收方是不清楚的。但是如何让接收方知道发送过来的信息有错误呢?对付这种问题,数据链路层有应对策略。
假如我们运送的不是数据信息而是货物,运送工具不是帧而是车。这个问题怎么处理?
发货方出货前,将附带一张“装箱单”,单子上标明了这车货物的相关参数,比如重量、体积、品质,接收方只需要称重量、测体积以及检验品质,并和装箱单上的数据做对比,即可判断运送过程中是否出现错误或者失误。
数据帧传送也有类似装箱单一样的信息,存储在“纠错字节”中。当数据帧到达目的地,它会对自身进行计算,计算结果和纠错字节中的内容进行对比。如果一致,进行下一步操作。如果不一致呢?这个类似“装箱单”的纠错字节就能够很快将错误检测出来并进行相应处理(比如进行重传)。
以太网就属于这一层。所以你会经常听到“以太网帧”这一术语。
数据链路层:进行内容的纠偏,如果到达目的地,发送的数据与‘纠错字节不一致’,再进行处理,一般就是重新发送一次

3、网络层
我们继续分析日常说话的方式。说话应该有目标、内容和语速,向谁说,通过谁转述,说什么,以多快的速度说。网络层所干的工作,就是进行路由选择、拥塞控制和网络互联。
网络层对自己的上级——传输层,可以提供两种服务,一种叫作“面向连接”的网络服务,一种叫作“无连接”的网络服务——这有点像有轨交通和无轨交通。
有轨交通的特点是,车辆沿着特定轨道行驶,自出发点到目的地,路线、速度基本确定。面向连接的服务也有类似特点。
无轨交通的特点是,车辆走一站看一站,线路、速度均不确定。无连接的服务与此惊人一致。
这两者的区别,直接导致相关技术体制的巨大差异。面向连接的服务关注于如何建立链路,而无连接的服务则专注于在每一站建立一套详尽的路由表。
传统IP技术就是无连接服务,而改造为MPLS(多协议标签交换)网络后,就属于面向连接的服务了。
网络层担负着的四大任务如下。
路由选择:任何数据包都不可能在网络上像无头的苍蝇乱跑乱撞,而网络层的关键任务是发现路由、选择路径,有时,也负责地址转换。它就像一个警察,在网络节点这样的“十字路口”管理来来往往的数据包,数据包的路径选择就是我们经常提到的“路由选择”。各种路由协议、MPLS的流量工程都与路由选择有关。
拥塞控制:后文会专门介绍拥塞发生的原理。网络层可以采用拥塞控制机制,尽量避免拥塞的发生,如果真的发生拥塞,也要通过多种途径缓解拥塞状况(比如丢弃一些数据,或者进行缓存)
局域网间互联。数据包在局域网间穿梭,会面临诸如包大小、网络速度,甚至协议的差异,这些都是网络层要解决的,就是通过一定的调整,让两个网络之间的数据包成功的传递。
统计和控制。如统计哪些用户需要的网络流量比较多,访问哪些站点比较频繁,或者禁止或控制用户访问某些站点;记账功能一般也在网络层解决。
网络层最知名的协议就是IP
4、传输层
要保证别人听到你说的话,不能“想当然”。
传输层的任务是向用户提供可靠的、透明的端到端的数据传输,以及差错控制和流量控制机制。由于它的存在,网络硬件技术的任何变化对高层都是不可见的,也就是说会话层、表示层、应用层的设计不必考虑低层细节,因此传输层起到“承上启下”的作用。
所谓“端到端”是相对链接而言的。
需要记住一个概念,OSI参考模型的四层到七层属于端到端的方式,而一到三层属于链接的方式。在传输层,通信双方的两机器之间,有一对应用程序或进程直接对话,它们并不关心低层的实现细节。低层的链接方式就不一样,它要负责处理通信链路中的任何相邻机器之间的通信。假如两台计算机A和B要通信,那么A和B之间可以进行直接的传输层的通信,而在A和B之间如果有若干网络节点,如路由器X、Y、Z,那么A与X、X与Y、Y与Z、Z与B之间都要进行低三层的通信。
传输层通过逻辑接口向高层提供服务。服务的类型是在连接建立时确定的,最重要的服务是端到端的、可靠的、面向连接的字节流服务——这里已经不是“位流”(也称“比特流”)了。一般情况下,传输层为每一条传输连接生成一条第三层的网络链接,但也有例外:需要高吞吐率的传输连接可以同时占用多条网络链接。
传输层有一项很有趣的工作——流量控制,通过技术手段,使字节流均匀、稳定。当然,这不是必需的。
大名鼎鼎的TCP和UDP就属于传输层。
TCP与UDP的异同

5、会话层
说话要有开始、过程和终止。在不同的机器之间提供会话进程的通信,如建立、管理和拆除会话进程。你可能要考虑这个话是在大庭广众之下说还是专门对某个人说,或者是说一句等对方答复后再说下一句。
会话层还提供了许多增值服务,如交互式对话管理,允许一路交互、两路交换和两路同时会话;管理用户登录远程分时系统;在两机器之间传输文件,进行同步控制等。
6、表示层
有些话要以悄悄话的形式,避免第三者听到;有些话,要简单明了,不要拖泥带水。表示层就处理通信进程之间交换数据的表示方法,包括语法转换、数据格式的转换、加密与解密、压缩与解压缩等。
7、应用层
有了上面所列的网络层次,你已经把要说的话通过声带的震动,一字一句、清晰明了地地告诉了你的某个好朋友,并且保证他听到了,没有让第三者听到。你明确地让对方知道,你的谈话何时开始以及何时结束。
应用层就负责管理应用程序之间的通信。
应用层是OSI参考模型的最高层,低层所有协议的最终目的都是为应用层提供可靠的传送手段,低层协议并没有直接满足用户的任何实际需求。我们日常使用的收发电子邮件、传送文件、浏览网页、交互即时信息、播放网络视频等都属于应用层的范畴,这是用户体验最直观的服务。
1.2.2、TCP/IP(传输控制协议/网际协议)
“优胜劣汰,适者生存”是一条永恒不变的法则,OSI由于体系比较复杂,不太方便计算机软件实现,逐渐退出人们关注的视野,TCP/IP得到了广泛的应用。
TCP/IP是Internet的核心技术,是由IETF定义的。所有的系统、终端、线路、用户、开发者,都必须遵守TCP/IP协议族所规定的法则,否则,将不被IP世界所接受。
在这里插入图片描述

在TCP/IP分层结构中,没有表示层和会话层,也就是说OSI规定的这两层,在TCP/IP中并不是必需的。
还有一种五层的说法,将网络接口层分为物理层和数据链路层两层,这样有利于数据通信的分析。TCP/IP体系结构中最核心的部分是上面的三层:应用层、传输层和互联网层(也称网络层),互联网层以下的层次没有制定相关标准,萝卜咸菜各有所爱,至于最下面的是一层还是两层,这都不太重要。我们建议提到分层模型时按四层来分,在进行数据通信时按五层来分析。2 n
说到《快乐大本营》,你会立刻想到何炅,谢娜,其实快乐大本营是一个节目组,不仅包括主持人,还有导演、摄像、录音等其他工作人员。TCP/IP也是一个组,是一个协议组,不仅包括TCP、IP,还包括HTTP、TELNET、FTP、RIP、OSPF、BGP、UDP、ARP、pop3等,只不过TCP/IP这个名字来源于协议族中最主要的两个协议——TCP(传输控制协议)和IP(网际协议)。各个层次分别对应着不同的协议
在这里插入图片描述

下面,分别介绍各层的主要功能。
1、网络接口层也称为数据链路层,TCP/IP并没有严格定义该层,它只是要求能够提供给其上层——网络层一个访问接口,以便在其上传递IP分组。由于这一层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。以太网是IP通信中数据链路层最常见的形式,除此之外还有PPP、HDLC等。10Gbit/s以下的以太网一般应用于局域网,而PPP、HDLC则应用于广域网范围内居多。
2、网络层(Internet Layer)俗称IP层,它处理机器之间的通信。IP是一个不可靠的、无连接协议,它接受来自传输层的请求,传输某个具有目的地址信息的分组。该层把分组封装到IP数据报中,填入数据报的首部(也称为报头),使用路由算法来选择是直接把数据报发送到目标机还是把数据报发送给路由器,然后把数据报交给下面的网络接口层中的对应网络接口模块。IP负责给互联网的每一台计算机或者终端分配一个地址,并将信息以IP包的形式传送到正确的目的地。这是TCP/IP的核心。IP协议族中最关键的是路由协议。除此之外还有ICMP,被用来传送IP的控制信息。我们熟知的Ping和Traceroute命令就出自ICMP。
3、传输层:传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)是该层的重要协议。TCP是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层。在接收端,它负责把收到的报文进行重组后递交给上层。TCP还要处理端到端的流量控制。UDP是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。大家注意一下,在数通试题中,会经常涉及TCP、IP、UDP可靠不可靠,连接无连接的内容。

1.2.3、TCP报文格式
TCP报文包括首部(报头)和数据部分,其中首部的具体字段如下。
在这里插入图片描述

1、源端口和目的端口字段——各占16bit。用来标识同一台计算机的不同的应用进程,
目的端口指明接收方计算机上的应用程序接口
2、序号字段——SEQ序号,占32bit。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
3、确认序号:ACK序号,占32 bit,是期望收到对方的下一个报文段的数据的第一个字节的序号。只有ACK标志位为1时,确认序号字段才有效,ACK=SEQ+1。
4、标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下。
紧急比特 URG——当 URG=1 时,表明紧急指针(urgent pointer)字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。
确认比特ACK——只有当ACK=1时确认号字段才有效。当 ACK=0时,确认号无效。
推送比特PSH(PuSH)——接收TCP收到推送比特置1的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。
复位比特 RST(ReSeT)——当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
同步比特SYN——同步比特SYN置为1,就表示这是一个连接请求或连接接受报文。
终止比特 FIN(FINal)——用来释放一个连接。当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
需要注意的是:不要将确认序号ACK与标志位中的ACK搞混了;确认方ACK=发起方SEQ+1,两端配对。
5、数据偏移——占4bit,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。
6、窗口字段——占16bit。窗口字段用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。
7、检验和——占16bit。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在TCP报文段的前面加上12字节的伪首部。
8、紧急指针字段——占16bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。
9、选项字段——长度可变。TCP只规定了一种选项,即最大报文段长度MSS(Maximum Segment Size)。MSS告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”
10、保留字段——占6bit,保留为今后使用,但目前应置为0。
1.2.4、TCP的三次握手和四次挥手
TCP的连接和建立都是采用客户服务器方式。主动发起连接建立的应用进程叫作客户(Client)。被动等待连接建立的应用进程叫作服务器(Server)。
建立TCP需要三次握手才能建立,而断开连接则需要四次挥手。整个过程如图所示
在这里插入图片描述

1、三次握手
在TCP/IP中,采用三次握手建立一个连接,连接过程就像打电话的过程,如下图所示
在这里插入图片描述

第一次握手:Client(主机A)向Server(主机B)发送一个连接请求,在这个包中,标志位SYN=1,发送序号SEQ=x,上图中x=200,Client进入SYN_SEND状态,等待Server确认。
第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,确认序号ACK=x+1=201,随机产生一个发送序号SEQ=y,上图中y=500,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
第三次握手:Client收到确认后,检查确认序号ACK是否为x+1=201,标志位ACK是否为1,如果正确,则将标志位ACK置为1,确认序号ACK=y+1=501,并将该数据包发送给Server,Server检查确认序号ACK是否为y+1=501,标志位ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态。
完成三次握手,客户端与服务器开始传送数据。
2、四次挥手
四次挥手(Four-Way Wavehand)即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开,如图所示。
在这里插入图片描述

第一次挥手:当客户A要断开TCP连接时,发送一个包,其中标志位fin=1,ACK=1,发送序号SEQ=x,确认序号ACK=y,上图中x=200,y=500。Client进入FIN_WAIT_1状态。
第二次挥手:客户B知道A要断开后,发送一个确认包,其中标志位ACK=1发送序号,SEQ=y确认序号ACK=x+1=201,Server进入CLOSE_WAIT状态。
第三次挥手:客户B也断开TCP连接,此时发送一个包,其中,标志位fin=1,发送序号SEQ=y+1=501,Server进入LAST_ACK状态。
第四次挥手:客户A收到B的断开请求后,Client进入TIME_WAIT状态,接着发送一个确认包,标志位ACK=1,发送序号SEQ=x+1=201,确认序号ACK=y+2=502;Server进入CLOSED状态。
由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。
1.2.5、TCP/IP协议体系常见术语
1、包
包(Packet)是网络上传输的数据片段,也称分组。包是一种统称,在不同的协议不同的层次,包有不同的名字,如TCP/IP中,数据链路层的包叫帧(Frame),IP层的包称为IP数据报,TCP层的包常称为TCP报文等。大多数包都由包头和信息组成:包头常常包括诸如源和目的地址、包的长度和类型指示符等信息;信息部分可以是原始数据,也可以包含另一个包。
2、封装
不同设备的对等层之间依靠封装和解封装来实现相互间的通信。封装就像洗完澡光着身子穿衣服,解封装就像洗澡前脱衣服,脱了一层又一层直到脱光。
TCP/IP也是一种计算机数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在互联网中几乎可以无差错地传送数据。
在通信过程中,TCP/IP每一层都让数据得以通过网络进行传输,这些层之间使用协议数据单元(Protocol Data Unit,PDU)彼此交换信息,确保网络设备之间能够通信。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。如下图所示,传输层在上层数据中加入TCP报头后得到的PDU被称为数据段(Segment);数据段被传递给网络层,网络层添加IP报头得到的PDU被称为数据包(Packet);数据包被传递到数据链路层,封装数据链路层报头得到的PDU被称为数据帧(Frame);最后,帧被转换为比特,通过网络介质传输。这种协议栈向下传递数据,并添加报头和报尾的过程称为封装。数据被封装并通过网络传输后,接收设备将删除添加的信息,并根据报头中的信息决定如何将数据沿协议栈上传给合适的应用程序,这个过程称为解封装。
在这里插入图片描述

第二部分:TCP/IP网络组成
概述
TCP/IP的世界如同城市的高楼大厦,在光鲜艳丽、霓虹闪烁之下,是冷冰冰的“钢筋混凝土”。它们准确、严肃、一丝不苟,每一个元器件尺寸、规格、功能都恰到好处,软件、硬件、传送介质,分布考究,配合完美,就像一台结构精密复杂的发动机,每个零部件都精益求精,相互配合严丝合缝。构建这样的世界,需要周密的逻辑和高超的智慧。
2.1、TCP/IP世界的基本组成元素
TCP/IP世界的组成元素可谓琳琅满目。为了便于分析和总结,我们将它们分为节点、管线、管理体系、应用系统等几大类组成部分。
在这里插入图片描述

节点:是数据信息发生路由、交换、处理、分析、转换的装置,包括路由器、交换机、防火墙、流控设备、主机、终端,还有一些节点并非只为IP设计,如语音网关,3G网络中的GGSN等。在节点里,信息内容及其表现形式将发生或者有可能发生人为的或自动的转换。
管线:包括所有有线和无线的传送线路,以及各种电信级、企业级、家庭级以及个人级的传送网络、Modem、转换器等。数据信息在管线中传送,理论上是不允许发生任何信息内容改变的,当然,外界干扰对信息内容可能会有影响。这就像运送货物的车队,车在道路上行走,你可以在允许的范围内转换货物的包装方式,但货物本身并未发生改变。
管理体系:包括对IP网络进行配置、告警、维护、控制等所需要的所有软件和硬件。首先声明,IP网络的管理并不是强制性的,也就是说,没有专门的管理体系,IP网络也能处于工作状态。只是,没有管理的网络是脆弱和笨拙的。
应用系统:所有基于IP网络的业务和应用,包括WWW、IM系统、CRM/ERP/MIS、网络游戏、博客、微博、Wiki、SNS等。绝大部分应用系统都不是由单一软件或者硬件组成的,而是由一系列软硬件组成的复杂的生态系统。
节点、管线、管理体系、应用体系是TCP/IP网络的基本组成部分,它们各成体系又浑然天成,它们相互联系又各司其职。我们将所有这些基本组成部分称为IP世界的钢筋混凝土。
正如建设高楼大厦,绝不是钢筋混凝土的简单堆砌,建设IP网络,也绝对不是节点、管线、管理体系、应用体系的简单叠加,他们是有层次地组织在一起的。而这种组织的最基本单元,是局域网。
下面我们先从总体上概括一下局域网,然后详细介绍组成局域网的各节点设备,管线设备。至于应用系统的运维,就是在对运维进行概述时所提的软件运维我们在后续的课程再继续讲。
2.2、局域网
2.2.1、概述
局域网(Local Area Network)是在有限的地域范围内把分散在一定范围内的计算机、终端、大容量存储器的外围设备、控制器、显示器及用于连接其他网络而使用的网间连接器等,通过通信链路按照一定的拓扑结构相互连接起来,进行高速数据通信的计算机网络。该网络上的任何设备可以与其他设备交互作用。
目前以太网是局域网的主要技术。今天的全球以太网市场上,三巨头鼎力:思科网络、华为、惠普。
2.2.2、局域网拓扑结构
拓扑结构(Topology)是指网络中各台计算机相互连接的方法和方式,它代表网络的物理布局,与计算机的实际分布位置及电缆连接方式相关。
在局域网中常用的拓扑结构有:总线型结构、星形结构和环形结构。
1.总线型结构
总线型拓扑结构(Bus Topology)是指由一根网线连接所有计算机的一种网络结构,如下图所示。一根主线贯穿始末,在主线上“分叉”来连接主机,各客户机的地位平等、无中心节点控制。

这一设计简单、便捷、灵活性强,随时可以添加、删除主机,方便非专业人士组网,以太网在前期组网方式都是总线型。
但由于单根电缆就一根通信通道,因此连接在电缆上的计算机和其他共享设备共享电缆的所有容量。连接在总线上的设备越多,网络发送和接收数据就越慢
这就像一个多人会议,没有主持人,而每次发言者只能是一个人,任何人想发言,必须举手;如果某个人想发言,需要先看是否有人正在讲话,如果是,他需要等待一段时间;如果恰巧同时出现两个人举手要求发言,那么他们都分别随机等待一段时间,再开始讲话;只要两个参与者等待的时间不同,冲突就不会出现。如果恰巧两者又出现冲突(这种情况的发生概率极低),那就需要再次等待一段随即时间,直到某一方先开始发言。这样是很绅士,很井井有条,可传达信息的速度会随者参会人数的变多越来越慢。
更为重要的是,这种“一个说,大家听”的特质是其在安全上的弱点,因为网络上任何主机都可以选择是否监听线路上传输的所有信息。说给你听的,你听,没说给你听的,你也可以听,哪有隐私可言,哪有安全可言!这也是这一种拓扑结构广受诟病的原因。
通过以上的表述,我们应该知道以太网通过总线型拓扑结构搭建,就是为了解决发言问题,虽说有一定问题,也是用事后诸葛亮的视角发现的,当时以太网能够在竞争中碾压对手正是采用了这种组网方式,让操作变得很简单。我们也应该知道它的专业名词:CSMA/CD即载波侦听多路访问/冲突检测
2.星形结构
1990年,交换式以太网技术诞生了。它能同时提供多条传输路径,从而显著提高网络的整体带宽,同时也为网络安全性提供了保证。交换式以太网核心设备是以太网交换机,而非共享总线。CSMA-CD依然有效,但共享总线结构的传统模式被彻底颠覆了!
为了最大程度的减少冲突,提高网络速度和使用效率,当今的以太网大都以以太网交换机为核心来进行网络连接和组织,如下图所示,这样,以太网的拓扑结构就成了星型。

但需要大家注意的是,以太网的星型连接是我们的直觉,而实质上它是一种总线型连接,只是这根“总线”隐藏在交换机或者HUB内部。所以有些试题会问拓扑结构为星型的以太网,基本拓扑结构类型为什么?答案就是共享总线型。
星形结构的优点除了以上所说的安全与效率高,还有就是查找引起网络故障的原因较容易。集线器是诊断网络故障的一个最佳场所,使用智能集线器还可以实现网络的集中监视与管理。
3.环形结构
这个之所以放到最后说,是由于它是以太网技术出现之前,比较流行的局域网技术:令牌网的组网方式,由于令牌网已经消失在历史中,大家了解就好。
环形拓扑结构(Ring Topology)由网络中若干节点通过点到点的链路首尾相连,形成一个闭合的环,如下图所示。这种结构使公共传输电缆组成环形连接,数据在环路中沿着一个方向在各个节点间传输,信息从一个节点传到另一个节点。每台计算机都和相邻计算机首尾相连,而且每台计算机都会重新传输已收到的信息。

2.3、网络设备
2.3.1、交换机
交换式以太网需要一种核心设备,能够快速地指导所有进入者,你该从哪个门走,并将进入者“扭送”至出口。这个设备只负责处理以太网信息,因此被称为“以太网交换机”。
这个家伙往往只有一类物理接口——以太网接口,如下图所示,当然,可以是电接口(比如RJ45),也可以是光接口(单模光纤接口、多模光纤接口等)。不同的以太网交换机,因接口类型和数量、交换容量、处理能力、所处理的协议层等不同而有所差异。
以太网交换机根据其处理的协议层不同,分为二层交换机和三层交换机(现在根据市场需要,商家们还提出了4层、7层交换机)。这里的“层”是指ISO/OSI的7层结构。二层是指数据链路层,也就是处理以太网帧的相关操作,三层是指IP层,处理IP层的操作。
二层交换机在操作过程中不断地收集资料,并建立它本身的地址表,这个表并不复杂,主要标明每个MAC地址是在哪个端口上被发现的。例如:在我们郑职校区的学校机房中,机房的后方高处,大家会看到交换机,每个电脑都通过网线连接到交换机,当交换机接收到一个数据包时就知道是哪台电脑发送的数据包,并且会检查该数据包的目的地址,检索一下自己的地址表,并决定把数据包从哪个端口发出

这与HUB不同。HUB组成的共享式以太网,某个站点发送的数据会出现在HUB所有端口上(不管是否为其所需),不但效率低,安全性也差。
以太网交换机的引入,使得网络节点间可独享带宽。
但还有一个比较重要的知识点需要重点讲解一下,那就是广播域
当一个交换机连接多个终端设备,多个终端设备即处于一个相同的网段中,而一个相同的网段,即表示一个广播域(VLAN)。当一个广播域中的主机发送广播时,这个广播域内的主机都要无条件接收。如果这个局域网太大,连接的主机过多,那么广播就会泛滥,从而过多的消耗了广播域内主机的资源。这就是令人头痛的“广播风暴”。
解决这个问题的方法,是在一个二层交换网络内按照一定的逻辑,进一步划分为多个广播域,这个划分与物理地址无关。
在实际应用中,比如一个企业,可以把每个部门的计算机划分为一个广播域;一个学校,把不同的院系划分为不同的广播域。根据需要,可以把一个屋子的主机划分为两个广播域,也可以把不同屋子的主机划分到同一个广播域里面去。
两个不同的广播域之间是不能直接互相通信的,因为他们处于不同的网段,这样就避免了广播风暴。

如果被划分在不同的VLAN里,他们之间的通信,必须经过路由设备(路由器或者三层交换机)进行。
如果一个大型企业,局域网被划分为50个VLAN,VLAN之间的通信需要占用大量路由器端口和处理能力。解决了“广播风暴”,却带来了成本压力——路由器可不便宜,并且效率也会大打折扣。于是,三层交换的概念就在这种情况下被提出。
三层交换机是在二层交换机的基础上增加三层路由功能。
2.3.2、路由器
路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。

路由器的工作过程

如上图所示,当一个LAN即局域网内主机向另一个局域网的主机发送数据的时候,会先通过路由器到达WAN即广域网,然后再通过路由器到达另一个局域网内,把数据送到.
路由器有自己的记忆。其中最关键的记忆,是它的路由表。
每台路由器都可以按照一定规则动态更新它的记忆,也就是更新自己的路由表(这叫动态路由)。
有了这张路由表,从某个端口进来的IP包才能在其指导下正确地选路。所有的路由协议,都是为获取这张可能不断变化着的路由表服务的。
路由器的分类:
如思科的26系列,Juniper的E系列,华为的AR系列等。
2.3.3、防火墙
防火墙是在外部网络(互联网)和内部网络(Intranet)之间的一堵墙。当然,这堵墙必须得有一扇门,否则它将把内外网完全隔绝——这违背互连的初衷,因此并不是我们所希望看到的。
门有两个基本状态:开和关,防火墙也会说两个词:YES(接受)或者NO(拒绝)。最简单的防火墙是以太网桥,用来隔离两个网段;但这种原始的防火墙管不了多大用处。
那么,这道门怎么设置,才能让防火墙起到作用呢?也就是说,这道门什么时候开,什么时候关呢?
我们先从这道门必须具备的4个基本功能部件说起。
第一,这道门需要访问原则。放哪些数据包进来?放哪些数据包出去?哪些数据包需要特殊处理?这些原则,组成了服务访问规则 。
第二,这道门必须有有效的验证工具,以保证其验证结果的正确性。这有点像门禁系统。门禁系统一般采用射频卡,刷卡时,卡内信息与后台数据库的账号列表进行对比,确认后会发出“嘟”的一声,就说明验证通过。
第三,对于那些没有验证通过的数据包,这道门必须知道如何将他们过滤掉,因此防火墙必须具备包过滤机制。
第四,对于应用层的各种病毒,防火墙也应该有一定的防范能力。这种功能部件叫作“应用网关”。
防火墙的技术原理
防火墙采用的技术五花八门,形式也多种多样:有的取代系统上已经安装的TCP/IP协议栈,有的在已经有的协议栈上建立自己的软件模块,有的干脆就是一套独立的操作系统,还有一些应用型防火墙只对特定类型的网络连接提供保护,另外有一些基于硬件的防火墙产品,有些人称之为“安全路由器”。
如下的一幅图,就是防火墙最典型的应用场景。

每个服务器上都有防火墙,都有防火墙策略,这个策略有些是需要我们手动设置的,比如192.168.55.135这个ip一直向服务器发送病毒数据或不健康数据,就可以在服务器防火墙策略中,加入对这个ip地址发送的数据进行拦截的配置,那么以后192.168.55.135这个ip发送过来的数据将全部被拦截。
这张图中,两个网段之间隔了一个防火墙,防火墙的一端有一台LINUX服务器,另一个网段则摆了一台PC机。
当PC机向LINUX主机发起某种请求,PC的客户程序就产生一个TCP包并把它传给本地的协议栈准备发送。接下来,协议栈将这个TCP包“塞”到一个IP包中,然后通过PC机的TCP/IP协议栈所定义的路径将它发送给LINUX主机。在这个例子中,该IP包必须经过横在PC和LINUX主机中的防火墙才能到达LINUX主机里,linux主机里有一个防火墙策略。
现在我们“命令”防火墙把所有发给LINUX主机的数据包都给拒绝掉。完成这项工作后,防火墙出于怜悯,还会告诉客户程序一声——“Hi,我把你的数据给拒绝了啊”。接下来,只有和LINUX主机同在一个网段的用户才能访问这台主机。
当然,我们也可以“命令”防火墙专门给那台可怜的PC机“找茬”,别人的数据包都被允许顺利通过,就它发出的不行。这正是防火墙的基本功能:根据IP地址做转发判断。但到了大场面,这种小伎俩就玩不转了,由于黑客们可以采用IP地址欺骗技术,伪装成合法地址的计算机,就可以穿越信任这个地址的防火墙了。
仅仅靠地址进行数据过滤在实际应用中是不可行的,原因是目标主机上往往运行着多种通信服务。大多数情况下,不能因为要过滤掉某台计算机发来的某一种应用的数据包,而拒绝掉这台计算机发出来的所有数据包。
比如很多公司不希望员工上班登录QQ,那么就需要在防火墙上做相应的配置,使QQ无法正常登录到腾讯服务器上。其实这种配置非常简单,只需要关闭QQ的端口号即可。不可能因为不让登录QQ而抛弃所有的数据包,否则这就是典型的“因噎废食”了。
其实,到处都是防火墙
当然,我们也可以以一种宽松的方式定义出广义的防火墙。目前的操作系统、路由器上,都带有一定的数据过滤机制。那么可以说,当前的计算机、路由器,甚至一些多媒体网关,也都可以做防火墙。
在企业局域网组网中,很多出口路由器(接入路由器)就承担了防火墙的功能。
2.3.4、主机
TCP/IP世界的信息,是在主机之间进行交互的。PC、服务器、工控机,这些都是主机
服务器与工控机
服务器是一种运行管理软件以控制对网络或网络资源(磁盘驱动器、打印机等)进行访问的计算机,并能够为在网络上的计算机提供资源,使其犹如工作站那样地进行操作。
工控机(Industrial Personal Computer)是一种加固的增强型个人计算机,它可以作为一个工业控制器在工业环境中可靠运行。
我们知道,在工业现场,一般都有强烈的震动,灰尘特别多,还有很高的电磁场干扰,并且一般工厂都是连续作业的,工人三班倒,计算机极少关机。
在这样的环境下,一般的PC机和服务器是支撑不住的,这就要工控机大显身手了。
工控机的机箱采用钢结构,有较高的防磁、防尘、防冲击的能力,机箱内配置有专用电源,抗干扰能力很强。最为重要的一点是,工控机连续工作的能力很强,很多工控机都连续工作达数年之久!
早在20世纪80年代初期,美国AD公司就推出了类似工控机的MAC-150工控机,随后IBM公司正式推出工业个人计算机IBM7532。
虚拟主机
一台服务器,只提供一种资源,这种资源对硬件和带宽的要求并不高,无论是CPU、内存还是硬盘,都是一种浪费。能不能在这台服务器上运行多个应用呢?
虚拟主机将在这样的应用中大显身手。
虚拟主机是在网络服务器上划分出一定的磁盘空间供用户放置站点和应用组件,提供必要的站点功能与数据存放,以及必要的传输功能。
CPU和内存,可以同时处理多个进程;硬盘是文件系统,多个应用之间并不冲突,甚至还互相有关联。
这一方案的出现,对IP世界产生了重大贡献!由于多台虚拟主机共享一台真实主机的资源,每个用户承受的硬件费用、网络维护费用、通信线路费用均大幅度降低,互联网真正成为人人用得起的网络,这对中小企业而言意义重大。
每一个虚拟主机都具有独立的域名和完整的互联网服务器(支持WWW、FTP、电子邮箱或其他互联网服务)功能。从用户角度根本看不出他们在同一台服务器上。
当然,虚拟主机不是万能的,它也会受到性能限制。一台主机只能够支持一定数量的虚拟主机,具体数量视主机性能而定;当超过这个数量时,性能急剧下降。
虚拟主机暂时介绍到这里,在云计算一节里,我们还会提到一个与此类似的概念——虚拟化。
以太网卡
以太网卡是一块能插在计算机上的卡,一般它们都被插到计算机的PCI插槽上。这张卡一般至少有一个以太网接口(一般是RJ45的接口)。以太网卡的驱动程序会与操作系统中的协议栈接驳。以太网卡上有自己的地址——MAC地址,以太网卡在诞生之日就被写死了MAC地址,当然,黑客高手们有办法修改这些地址。
目前大量的计算机主板已经集成了以太网卡,用户无需单独购买,即可连接以太网线。而在10多年前,网卡曾被认为是计算机的高级外设。
2.3.5、Modem
Modem(调制解调器),是Modulator(调制器)和Demodulator(解调器)两个英文单词组合简化后的新词汇。而根据其谐音,中国人亲昵地称之为“猫”, 是一种计算机硬件。
Modem最大的能力,就是把计算机的数字信号翻译成可沿电话线传送的模拟脉冲信号,而这些信号又可被线路另一端的另一个Modem接收,并翻译成计算机读得懂的数字信号。这一过程可以完成两台主机间远距离通信。
Modem的传输速率,指的是Modem每秒钟传送的数据量大小。通常所说的14.4kbit/s、28.8kbit/s、33.6kbit/s、56kbit/s等,指的就是Modem的传输速率。
2.3.6、IP世界的道路构成
在IP节点之间,用于IP包通行的道路,由管线和电路构成。管线是指物理的直接连接,电路是指传输网构成的逻辑电路。当然,逻辑电路也必须行走在管线上,无论这种管线我们能看到(有线)还是看不到(无线)。
1、管线
常见的道路材质,有以下几种类型。
(1)通信电缆
(2)光纤
(3)IP无线通信。
Wi-Fi、WiMAX、数字集群都是无线通信范畴的概念,它们以微波形式传送信号。把IP包当作货物,微波当作运输机,这就是IP无线通信了。
根据频率、应用场合、传送信号类型的不同,常见的无线网络通信系统有无线PDH、Wi-Fi、移动网、WiMAX、蓝牙、对讲机、LMDS/MMDS、卫星等。当然,广播、无线电视、寻呼、GPS也都采用无线网络传送信号,但并不是我们关注的重点。
2.4、IP世界的管理体系构造
IP通信是个五好学生。他性格开朗(开放性强),多才多艺(兼容性强),团结同学(互连性强),勤奋好学(扩展性强),身体健康(健壮性强)。
但是这个学生有个很大的缺点。那就是,不服管。
对IP网络的管理,自IP技术开创之初就没有很好的规划。
所以早期的IP网络很少有网络管理,一般只对具体网元进行操作,采用CLI(命令行界面)或者SYSLOG(系统日志)进行管理。今天中小企业的局域网,仍然采用这种落伍的方式进行管理。
随着IP网络规模不断扩大,对单一网元的管理已经无法适应新的网络维护要求,电信领域的网络管理方式逐渐渗透到IP网络中来了。电信网的网络管理协议中,最常用的是SNMP(简单网络管理协议)和CMIP(公共管理信息协议)。
SNMP协议诞生于1988年,它的初衷是简化大型网络中设备的管理和数据的获取。果然,SNMP的部署收到奇效,以至于网络硬件厂商开始把SNMP加入到他们制造的每一台设备中去。今天各种网络设备上都能看到默认启用的SNMP服务,从交换机到路由器,从防火墙到网络打印机,几乎无一例外。
1990年RFC1157定义了SNMP的第一个版本——SNMPv1,这当时被认为是通往CMIP的一个过渡协议。SNMP如其名,简单、易于实现,对于管理当时并不复杂的网络非常有效,很快便得到众多产品供应商的支持。
今天,SNMP已经成为事实上的网络管理工业标准。而另外一个协议——CMIP,却由于应用复杂而发展混乱,虽然CMIP出身不错——它是ISO制定的,在1990年成为国际标准。近年来关于两者的争论从来没有停止过。
比如CMIP爱好者攻击SNMP的理由之一是,SNMP的过度应用和开放,造成了很大的网络安全问题,很多黑客对网络节点的攻击,就是通过SNMP进行的。
虽然标准化的网络管理协议促进了多厂商的互连,但是,仅局限于协议的标准化也不足以实现不同厂商的网络管理设备之间的功能整合。这方面有影响的技术发展是电信管理网(TMN)模型和围绕COBRA技术展开的分布式网络管理模型。TMN是ITU提出的大而全的概念,实施难度很大,反倒限制了其推广;而基于COBRA技术的分布式网络管理结构,正在和SNMP、CMIP结合,以实现超大规模网络或全网统一监控的网络管理。
与许多专业网络的网络管理功能一样,ISP或者电信运营商针对自己网络的管理,也有相同的五大功能域,它们分别如下所述。
故障管理
检测、定位、隔离、修正以及提供服务故障报告,比如对于一条链路的故障,要先定位究竟是哪里的问题,这是一系列的IF……THEN……模式逻辑推理。
如果是一台路由器工作不正常,需要分析是硬件问题、配置问题还是软件版本问题;对于重大问题,解决之前要充分考虑是否对其他正常业务有影响;如果要做软件升级,是否要断网;如果要断网,在什么时间合适,诸如此类。
配置管理
收集必要的网络数据,识别网上设备和跟踪系统状态,为系统提供初始化数据。对网络设备的配置要全面考虑,不仅仅是当前业务需要,还要考虑扩容需要、故障定位的需要、安全的需要,等等。
性能管理
分析网络的资源利用率,以及网络满足不同层次用户通信质量要求的能力。尤其是那些对用户的SLA(服务等级协定)有区分的用户,性能管理更是一项重要的工作。
这里要介绍一下SLA。它是关于网络服务供应商和客户之间的一份合同(Agreement),其中定义了服务类型、服务质量和客户付款等标准术语,其中有关目标被称为SLO(服务等级目标)。
一份典型的SLA应该包括以下项目。
要给这个客户分配带宽的下限是多少?
能同时服务的客户数量是多少?
在可能影响用户行为的网络变化(如扩容或者割接)前是否通知安排?
拨入访问的可用性如何?
最小的网络利用性能是多少?是3个9还是4个9?(3个9即每年99.9%的可用性,就是每年最多断网9小时以内,这是企业级需求;4个9的要求就高了,每年最多断网1小时,这是“电信级”需求。)
各类客户的流量优先权如何?
客户技术支持和服务要达到何种水平?
总之,按照SLA要求,服务供应商将采用多种技术和解决方案去监控和管理网络性能及流量,以满足SLA中的相关规定,并产生对应的客户结果报告。
当今,无论是ISP还是大型企业IT部门,都规范了一套SLA,以衡量、确认他们的客户服务。
安全管理
提供对被管理网络的安全预防、检测、侵害抑制和恢复,主要包括身份鉴别(比如RADIUS系统可提供的认证)、密钥管理、病毒预防和灾难恢复。
计费管理
计费未必和钱有直接关系。它将对用户使用的各种资源进行跟踪,统计用户对资源的使用量和时间,计算费用及对已收费的用户进行确认。
针对运营级的IP网络,如电信运营商和ISP的IP网络,计费管理是日常运营的重要组成部分。在大多数的网络实现中,与网络设备仪器提供的网络管理系统一般不会完成计费管理功能,仅仅为计费管理系统提供原始计费数据。而真正的计算“钱”的管理系统,是专门的营账系统。
在电信运营中,有一种专门的系统叫作BOSS系统。BOSS就是BSS(业务支撑系统)和OSS(运营支撑系统)的合称。OSS更多是面向通信设备的,比如计费原始数据采集就在OSS中,而BSS则更多是面向用户的,比如收费金额的计算等。
对IP带宽的计费,按照时长、包月、流量等的方式很多,在不同领域,采用的计费方案也不完全相同。
网络管理的概念绝非一套管理软件加上一套计费系统这么简单,对硬件、软件、人力的使用和协调,对网络资源的监视、测试、配置、分析、评价和控制,都是网络管理的重要组成部分。让网络平稳运行,故障尽可能少,断网时间尽可能短,黑客攻击无计可施——“防患于未然,绸缪于未雨”,这就是一个好的网络管理团队应努力奋斗的目标。
2.5、互联网数据中心IDC
在IP世界里面,IDC是当之无愧的大腕儿级核心组成部分。IDC是大粮仓,互联网内容最集中的地方。商业也好,娱乐也罢,互联网内容必须安全稳妥地保存,IDC责任重大。下面有请IDC同学给各位做一下自我介绍。
“各位大家好!我是IDC。我是企业和ICP提供服务器托管、空间租用、带宽批发、应用服务ASP、电子商务的中心环节。我既有实体的物理位置,又有虚拟的网络空间,这是个相当庞大的系统,由以下元素构成……”
“稍等,IDC同学!”我们打断了IDC的介绍。“你这套说辞太学究气,能否讲的浅显一些?”
“哦,对不起,职业素养让我变得严肃,因为我的工作必须一丝不苟。毕竟从质量上来说,互联网最宝贵的信息都在我这里存储,如果我出了差错,后果不堪设想!不过为了让大家对我有更深入的了解,我还是尽可能用简单的语言来为大家讲解吧!”
接着,IDC开始讲自己的故事。
继续刚才的话,我们IDC家族由以下元素构成。
一类看不见,摸不着。这就是从互联网拉来的带宽,是信息和数据进入IP世界的道路。
如果不想使我们仅仅成为“硬件仓库”,那就需要足够的带宽。带宽质量是判断我们实力的第一参数。
一个电信级IDC的到底需要多大带宽接入互联网?很难给出确定回答,就像问你们人类一天要喝多少水吃多少饭一样,它不是绝对的、固定的、死板的,但又是有规律的、可总结的、有范围的。
从经验规律上来说,我们应当至少拥有两条100Mbit/s速率的线路通过不同路由与骨干网相连(这可是最低要求,底线!大部分的IDC都会拥有高达几个G甚至几十个G的出口线路)。典型的电信级IDC不应仅仅是骨干网的高速接入网,还应该是世界上所有独立网络的“对等网络”
我们IDC所拥有的带宽资源,将直接影响用户访问的服务质量。
这里展示一组有趣的数字:某调查统计显示,从输入一个网址到浏览到全部页面的信息,美国互联网用户的忍耐时间是12s,而韩国年轻一代网民的可忍受时间是4s,中国网民可忍受的时间较长,也是35s以内(从中我们看出,中国人的性格更具忍耐性,暂不讨论这种忍耐性是否有价值)。
响应速度慢的网站会使客户大量流失,而响应速度快的头号功臣就是带宽!
一类看得见,摸得着。这类是我们IDC的硬件设施,路由交换设备、服务器和存储设备、机柜、电源、空调等支撑环境。
路由交换设备包括以太网交换机、路由器、防火墙。核心以太网交换机应当是千兆以上级别,总吞吐量在8Gbit/s以上,应采用双备份,以提高网络的可靠性(不是不能凑合,那就看客户的接受程度了)。
只有获得授权的人才能进入小区,也只有被认为是合法的IP包才能进入我们IDC的管理范围。在这里,防火墙是我们的忠实保镖。
当然,防火墙的安全永远是相对的。
技术都是人开发的,“魔高一尺,道高一丈”,有时候也相反。时时防范黑客攻击,不能因为有了防火墙就觉得万事大吉高枕无忧。不要相信任何违反常识的宣传。
我们的核心设施是服务器。专门为ISP、ICP和IAP(互联网应用提供商)设计的互联网服务器,除在性能上满足互联网应用的要求外,从结构上考虑,它应当是一种薄型机架式服务器,包括刀片式服务器。
我们一般都会设置存储备份设备(如磁带机、大容量磁带库),对于有高速大容量要求的设备,还应当考虑磁盘组和磁盘阵列甚至磁盘塔,上述设备都应采用一种叫作RAID5的技术,这种技术帮助我们在多个存储介质中动态地备份数据信息。
对于重要的核心设备,除了应用上述技术外,还可直接采用“镜像技术”,同时还应考虑通过网络进行异地备份,要大量应用到缓存或者服务器负载均衡技术。
如果资金允许,我们可采用“存储局域网系统(SAN)”系统作为全面的存储解决方案。
第三类和第四类,人们能看得见,却摸不找。
第三类叫作IP地址池。
主机没有IP地址,就无法进入互联网;而我们如果缺乏IP地址,就算有再大的存储空间,又能干什么事情呢?
除此之外,最好有对等、独立的AS号,使我们每个IDC都成为独立的对等网络,这有助于业务的独立性和可扩展性。
第四类叫作软件。
数据库也好,网页代码也好,应用软件也罢,他们是用户访问我们最直接的目的所在。应用软件存储在服务器或者专用存储系统里,是我们的核心,直接占用空间,间接用体积。
当然,还有一种东西属于第五类。
这种类型的特点是喜欢以自我为中心,总是自以为是,也许他们有自以为是的资本。他们被用于对前四类事物的组织、协调、经营、服务和维护。我们的成败,与其管理水平密不可分。
这类叫作“人”,灵长类生物,自然界唯一具有非人工智能的智能体,包括IDC的组织者、规划者、建设者、经营者、管理者、服务者以及被服务者。
如果你对IDC有兴趣,不妨把你的服务器搬进IDC机房。不过在服务器进入IDC之前,你要先做一件事——交钱。
IDC服务提供商会根据你的服务器所需带宽和服务器的体积向你收费。这时候你会发现服务器的高度是有规律的。它总是4.4cm的整数倍。
4.4cm被称为一个U,所以你只要告诉IDC服务商,你的服务器有几个U即可。一个标准的机柜高2m,一般情况下可以放30台1U的服务器——服务器之间需要有一定的空隙用于散热。
接下来,是软件问题。
作为提供信息的服务器,除了需要健壮的硬件和操作系统,还要有合适的应用软件。
IDC主机托管主要应用范围是网站发布、虚拟主机和电子商务,当然,还有当今炙手可热的“云计算”。
网站发布,客户通过托管主机,从IDC分配到互联网IP地址,并申请合法域名以后,即可发布自己的WWW站点,将自己的产品或服务通过互联网广泛宣传。
虚拟主机是ISP服务商通过托管主机,将自己主机的海量硬盘空间出租,为其他客户提供虚拟主机服务。
电子商务是指单位通过托管主机,建立自己的电子商务系统,通过这个商业平台来为供应商、批发商、经销商和最终用户提供完善的服务。
然而这一切正在发生变化。因为,有一个叫作“云计算”的概念在ICT界正闪亮登场。

第三章节:TCP/IP网络规则
人类对于TCP/IP世界的规则定义,一直在前进中探索,在探索中发展。
这些规则,也是TCP/IP世界的重要组成部分。表面上看,TCP/IP世界仅仅是由路由器、交换机、主机、线路等这些钢筋混凝土组成的,而实际上,规则才是TCP/IP世界的精神领袖。没有规则,钢筋混凝土将不复存在。
3.1、关键规则之一:以太网编码规则
1、以太网帧
在以太网链路上的数据包称作以太帧。以太帧起始部分由前导码和帧开始符组成。后面紧跟着一个以太网报头,以MAC地址说明目的地址和源地址。帧的中部是该帧负载的包含其他协议报头的数据包(例如IP协议)。以太帧由一个32位冗余校验码结尾。它用于检验数据传输是否出现损坏。

目的地址:“我要到哪里去。”48位的目的MAC地址。
源地址:“我从哪里来。”48位的出发地MAC地址。
以太网类型:“我是干什么的?”以太网的“大池子”里跑的不仅仅是数据信息,还有主机间相互交流所必须的握手信号。为了将数据信息和握手信号区分出来,需要有类型定义字段。如果类型是0806,就是ARP的请求和应答;如果类型是8035,就是RARP请求和应答。这两种情况下,数据字段最后还有18位填充字段(PAD)。社会车辆和警车,无论在道路上还是在停车场,受到的待遇当然不完全相同,数据信息和握手信号在网络中和主机中享受的待遇也是不完全相同的。
数据:“根据类型,你知道我葫芦里卖的什么药?” 这是以太网承载的数据信息,根据上面的“类型”字段推断出数据是何种类型后,再根据这种类型的格式要求进行拆包和分析。按照RFC894的规定,数据字段的长度为46~1 500字节。而RFC1042中规定,其长度为38~1 492字节。
CRC校验:“看,这是我的装箱单。”以太网的校验机制,用于检查整个帧传送过程中是否出现了错误。在通信领域,几乎每种技术体制的分组格式都要进行校验,因此都包含校验字段。
从物理层提取到的0和1的数据集合,被“框”入以太网帧格式中。目的地址、源地址、长度、校验和、数据信息……每台接收到以太网帧的交换机或者主机都将根据其中的信息接收、转发或者处理这个以太网帧。
主机获取了以太网帧以后,将拆掉以太网帧的头部,这时,净荷将裸露出来。接下来,就是IP及其上层的操作了。
2.MAC地址
MAC这个名词的英文全称是Media Access Control,是指“媒体访问控制”。可以把它理解为信号在通信线路介质传送中的一种最基本的管理和控制能力。
这里的“管理”,是指通过某些标准化操作,避免传送发生错误;而“控制”,是指通过某些标准化操作,让信号按照既定策略传送和转换。媒体访问控制,其实就是对物理层传送的0和1进行最基本的管理和控制。通过MAC层,将物理层获取的信号送到更高层去处理,让更高层专注于路由、传输和应用,无须操心底层的传送过程。
8 0100 C 1100 1 0001 6 0110 4 0100 5 0101 D 1101 B 1011 9 1001
以太网的每一个节点(网卡、交换机和路由器的每个端口)都具有一个MAC地址(也就是物理地址),由IEEE统一管理。由设备商固化在设备中。MAC地址长度为48位二进制,前24位由设备商标识符,后24位是设备商自行分配的序列号,常表示为12位的十六进制数。如MAC地址000000001110000011111100001110011000000000110100,表示为十六进制是00 .e0.fc.39.80.34或00e0fc398034或00-e0-fc-39-80-34。
MAC地址就像身份证号码一样具有唯一性。当然,这种唯一性也不是绝对的。身份证还能造假,更何况MAC地址。
使用ipconfig/all命令可以查看本机的mac地址,其中的“物理地址”即所查的MAC地址。

MAC地址是网卡自身的唯一标识,与网络无关,无论把这个网卡接入到网络的什么地方,MAC地址都是不变的。但是MAC地址是可以人为改变的,同时IP也是可以改变,这样会导致网络安全。比如校园网中的IP地址被盗现象,被盗IP地址的计算机不能正常上网,还会频繁出现IP地址被占的提示框。非常情形时采取非常手段,捆绑IP地址和MAC地址可以避免这种现象。
3.2 关键规则之二:IPv4地址的定义
IPv4地址是32位二进制数字,可转化为4个0~255之间的数字。
IP地址需要和子网掩码配合使用才有意义。
公有IP地址分为A、B、C、D、E五类。
私有IP地址分为A、B、C三类。
在IP世界里,一台计算机必须明确分配一个IP地址,才有可能与其他计算机展开交流。合理的IP地址规划,可以大幅度提高网络性能。
要了解IP地址的规划,就必须先学习二进制。互联网是IP世界的老大,前面我们讲过,IP世界的地址规划,由ICANN负责。
注意,不但所有的计算机都应该分配IP地址,连网络上的路由器和带路由功能的交换机,每个路由端口也都应分配IP地址。
当前我们使用的IP地址其实应该叫作“IPv4地址”,未来将逐渐迁移到IPv6地址上去。
1.IPv4
IPv4地址是一个32位二进制数字,理论上从32个0到32个1,一共2的32次方个地址可供分配。如果我们用二进制表示IP地址,那将非常烦琐,并且不容易记忆和书写。
于是人们用四段十进制数字表示,每一段就是8位二进制数,用十进制表示就是从0到255,那么一个IP地址可以用如下形式表示出来:
A.B.C.D
上面的A、B、C、D分别是0~255中的任何一个十进制数字。但是我们经常见到的IP地址,往往后面带着一个以255开头的另外一组数字,比如一个IP地址是:
211.99.34.33
255.255.255.248 根据这两个我们就能算出此网段有几台主机以及更多的信息
上述IP地址分为两个部分,第一部分是我们常说的IP“主机地址”,后面的叫作“子网掩码”,用来标识这个IP地址所在的子网(大部分是局域网)网段有多大。这就像做自我介绍——“我叫我们,我来自北京”一样。
有了这个规范的IP地址,你甚至能计算出这个子网的网段是从哪个地址开始到哪个地址终止。
在IP地址中,采用子网掩码,就像一个门牌号码前要设置省(州)、市、县(区)、乡、村一样,而不是直接给每家每户设置一个仅由数字组成的门牌号。
这样做的目的,就是要简化管理,提高查询、检索的效率。
比如上述的例子,211.99.34.33是从211.99.34.32开始到211.99.34.39结束的整个子网网段中的一个IP地址。该网段的第一个IP地址211.99.34.32叫作“子网地址”,最后一个IP地址211.99.34.39叫作“广播地址”。
这是怎么计算出来的呢?我们给出简单的算法。
假如子网掩码是M.N.P.Q,你套入这么一个公式:(256-M)(256-N)(256-P)(256-Q),得到的结果,即这个网段一共有多少IP地址。在本例中,(256-255)×(256-255)×(256-255)×(256-248)=8,那么你就知道这个网段一共8个IP地址。
再看看这个IP地址211.99.34.33,因为我们已经计算出它所在的网段一共有8个地址,所以你只要把最后一个小圆点后面的数字从0到255分组,每8个连续的地址编号作为一组,看33在哪个组里面即可。0~7是第一组,8~15是第二组,如此类推,32~39是第五组,而33正在32~39之间。我们一般说的“网段”,就是指这样的“组”, 在一个掩码里或者一个网络地址区域内可互相通讯。
于是我们说,211.99.34.33在子网地址为211.99.34.32、掩码为 255.255.255.248的网段中。
如果在书写IP地址的时候,只写地址,不写子网掩码,人们就无法判断这个地址属于哪个网段。就好比你只知道你的朋友家的门牌号和所在楼的单元号,而不知道他住哪条街,这样你是无法知道怎么到朋友家的。
总之,不带子网掩码的IP地址是无效的IP地址。
如果你觉得书写子网掩码过于麻烦,不妨试试一种简单的书写方法——就是在IP地址后面加上“/n”,如果你知道这个网段有X个IP地址,假设2的Y次方等于X,那么n就等于32-Y。比如上面例子中的网段有8个IP地址,2的3次方等于8,那么n=32-3=29。上述例子的211.99.34.33就可以表示为211.99.34.33/29
互联网上使用的IP地址,被人为地分为A类、B类、C类、D类和E类5种。

A类、B类和C类是最常用的单播IP地址,D类地址用于组播,E类地址被保留用于扩展和实验开发与研究。还有一些地址有特殊功能,如下所述。

0.0.0.0/0,未知网络,通常默认保留,常用于代表“缺省网络”,在路由器表中用于描述“缺省路径”。缺省路径的意思是享有最低优先级,在没有特别定义的情况下,IP包会按照该地址所定义的路由表项进行转发。
127.0.0.0/8,表示回环地址和本地软件回送测试之用,保留而不分配。
255.255.255.255/32,有限广播地址。
2.公共地址和私有地址
上面提到IP地址在全世界范围内唯一,看到这句话你可能有这样的疑问,像192.168.0.1这样的地址在许多地方都能看到,并不唯一,这是为何?
根据用途和安全性级别的不同,IP地址可以大致分为两类:公共地址(公网地址)和私有地址(内网地址)。在IP地址中专门保留了三个区域作为私有地址,范围如下:
10.0.0.0/8:10.0.0.0~10.255.255.255;
172.16.0.0/12:172.16.0.0~172.31.255.255;
192.168.0.0/16:192.168.0.0~192.168.255.255。
这三个IP地址段不会被互联网的公用服务器使用,而只能在企业内网里使用。也就是说,你到A公司,可能某台主机的地址是10.1.1.30/8,那么你到另外一个公司B,很有可能另外一台主机也被分配了10.1.1.30/8的IP地址。公用地址在Internet中使用,可以在Internet中随意访问。使用私有地址的网络只能在内部进行通信,而不能与其他网络互连。因为本网络中的私有地址同样也可能被其他网络使用,如果进行网络互连,那么寻找路由时就会因为地址的不唯一而出现问题。私有地址可以自己组网时用,但不能在Internet网上用,Internet网没有这些地址的路由,有这些地址的计算机要上网必须通过地址转换(NAT)技术转换成为合法的IP地址,也称为公网地址。这就像有很多的地名,南京有大观园,济南也有大观园,如果你要去大观园,必须说明是去南京大观园还是济南大观园。在这里大观园是好比私有地址,南京大观园和济南大观园好比公网地址。
各位读者,不管你是否参与网络和通信的技术类工作,请记住上述的IP地址分类,互联网已经渗透到我们生活工作的各个角落,而对IP技术而言,地址规划是互联网的基础。学会它、掌握它,你才能更加熟练地应用它。
3.如何用子网掩码得到网络号/主机号/主机数
既然子网掩码这么重要,那么它是如何计算出IP地址中的网络号、主机号、主机数呢?过程如下:将IP地址与子网掩码转换成二进制;将二进制形式的IP地址与子网掩码做“与”运算,将答案化为十进制便得到网络号;将二进制形式的子网掩码取“反”;将取“反”后的子网掩码与IP地址做“与”运算,将答案化为十进制便得到主机号;主机数为2主机号位数-2。
下面我们用一个例子给大家演示。假设有一个IP地址:192.168.127.101,子网掩码为:255.255.255.192,我们来计算网络号,主机号,广播地址和主机最大数。
将IP地址转换成二进制为:11000000.10101000.01111111.01100101,子网掩码转换成二进制为:11111111.11111111.11111111.11000000,将两者做“与”运算得:11000000.10101000.01111111.01000000,转换成十进制为:192.168.127.64,这便是网络号。主机号就是IP地址中除去网络号的部分即100101,转换成十进制为:37。
主机数还是采用(256-255)(256-255)(256-255)*(256-192)=64这样运算,由于此网段子网地址与广播地各占一个ip,理论上最大主机数为64,但实际上最多也就62个
那下边我们算此案例的子网地址与广播地址
0~63 64~127 128~191 192~255 可以把此局域网划分为4组,而192.168.127.101这个ip地址处于192.168.127.64~192.168.127.127网段内。所以此网段的
子网地址为192.168.127.64
广播地址为192.168.127.127
4.无类域间路由
传统的路由寻址模式,是根据标准的A、B、C类地址等网络地址寻找目标网络和主机的。由于分类,所以称为有类域间路由。无类别域间路由选择(Classless Inter-Domain Routing,CIDR),有时称为超网(Supernetting),它的基本思想是取消IP地址的分类结构,将多个地址块聚合在一起生成一个更大的网络,以包含更多的主机。CIDR支持路由聚合,能够将路由表中的许多路由条目合并成为更少的数目,因此可以限制路由器中路由表的增大,减少路由通告。
如下图所示,在路由器R1路由表中有N条路由表,192.168.1.0/24~192.168.N.0/24,此时R2中也有N条路由与之对应。

如果将R2路由表中的N条路由,写成一个地址,192.168.0.0/16,照样可以通信,同时又减少了R2路由表空间,如下图所示。这里用到的概念就是CIDR路由聚合。

5.可变长子网掩码–允许把子网继续划分为更小的网络

前面说了,住在济南北园大街的1号住户和6号住户要能互相找到对方,必须知道各自的门牌号:济南北园大街6号,济南北园大街1号。在以前也许可以找到对方,现在城市建设很快,各个大街上都是高楼大厦了,不是平房了,济南北园大街1号可能已经不是单个住户了,而是一幢高楼了,此时,还得知道各自的楼号(小区号)。即要互相通信,此时街道地址不变,原住户号得细分为新的楼号和房间号,比如济南北园大街1号变更为济南北园大街1号1号楼2101室。
在实际应用中,IP地址也可以细分,将一个网络分为多个子网。在分层时,不再把IP地址看成由单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号,这就是可变长子网掩码VLSM(Variable Length Subnetwork Mask)的概念。VLSM其实就是相对于类的IP地址来说的。A类的第一段是网络号(前8位),B类地址的前两段是网络号(前16位),C类的前三段是网络号(前24位)。而VLSM的作用就是在类的IP地址的基础上,从它们的主机号部分借出相应的位数来做网络号,也就是增加网络号的位数。各类网络可以用来再划分子网的位数为:A类有24可以借,B类有16位可以借,C类有8位可以借(可以再划分的位数就是主机号的位数。实际上不可以都借出来,因为IP地址中必须要有主机号的部分,而且主机号部分剩下一位是没有意义的,所以在实际中可以借的位数是在我写的那些数字中再减去2,借的位作为子网部分)。
这是一种产生不同大小子网的网络分配机制,指一个网络可以配置不同的掩码。开发可变长度子网掩码的想法就是在每个子网上保留足够的主机数的同时,把一个子网进一步分成多个小子网时有更大的灵活性。如果没有VLSM,一个子网掩码只能提供给一个网络。这样就限制了要求的子网数上的主机数。
如上图所示: 一个192.168.100.0 /24,划分两个网段
192.168.100.0 /25 192.168.100.128 /25
我们可以继续把192.168.100.128-192.168.100.255 / 25 子网段继续划分为
192.168.100.128-192.168.100.191 /26
192.168.100.192-192.168.100.255 /26 两个网段,以此类推
6、子网划分案例
子网划分的案例1
172.16.100.0
255.255.0.0
我们可以计算出此网段最大的ip数为(256-255)(256-255)(256-0)(256-0)=256256=65536
所以此网段最多有65536个ip地址

划分出5个网段,每个网段最大ip数不能少于80
2^y-2>=80 得出y的最小值为7
所以我们按一个网段128个ip地址进行划分
172.16.100.0~172.16.100.127/25
172.16.100.128~172.16.100.255/25
172.16.101.0~172.16.101.127/25
172.16.101.128~172.16.101.255/25
172.16.102.0~172.16.102.127/25
所以我们划分出的5个网段如上
子网划分的案例2
有如下应用场景:
100.1.32.0/20划分5个网段,每个网段40台主机,减少主机浪费,写出子网掩码以及每个网段主机范围
划分方法:
从主机台数入手,n代表主机位数 2^n-2>=40 n>=6 即至少要有6位主机位才可满足,那网络位就有26位:
100.1.32.0----- 01100100.000000001.00100000 . 00000000
11111111 . 11111111 . 11110000 .00000000
原题40台主机,所以最少需要6位主机位,所以把剩余的6个主机位划分到网络位,
划分网段26=64个网段,每个网段主机数量26-2=62个:
子网掩码:
11111111.11111111.11111111.11 000000
转换为十进制为:255.255.255.192
转换成二进制所以划分出的5个网段的可用主机分别为:
第一个网段:100.1.32.1 ~ 100.1.32.64 /26
第二个网段:100.1.32.65 ~ 100.1.32.128/26
第三个网段:100.1.32.129 ~ 100.1.32.192 /26
第四个网段:100.1.32.193 ~ 100.1.33.1 /26
第五个网段:100.1.33.2 ~ 100.1.33.65 /26

3.3 关键规则之三:IP封包规则
IP包的格式是有严格定义的
一个IP包的长度,从32字节到65 535字节都有可能。
IP包,就是一列火车,承载着自然界的信息,声音、图像、文本等,从出发地到目的地,来也匆匆,去也匆匆……
要让这列火车在轨道上平稳运行,在所有的交叉路口正确选择道路,并在遇到各种优先级检验的岔口,能够提供自己的身份证明,就需要这列火车采取标准化设计,重量、体积、关键部件的尺寸都严格符合某种规范。
在IP的世界里,当IP包离开发送端进入网络,发送者就无法再对其进行实时控制了。正所谓“将在外,军令有所不受”。
其实,在IP包离开发送端之前,已经获得了详细的目的地,只是,路还得自己走,然而对任何一个IP包而言,所有的网络环境都是陌生的,它对前方的网络拓扑、控制参数一无所知。要让网络上的每个节点接纳它、识别它、给它指路,并将它成功送出线路继续旅行,就需要IP包本身携带足够的内容,就像人出门旅行,必备的用品一样都不能少,如果出国,还要携带护照。并且,为了能够让经过的每台路由器准确地识别携带信息,还必须采用统一的格式。

让我们看一看一个IP包的各个字段含义。
版本号:“我是哪个版本”,这是IP协议的版本号。众所周知,版本只有两个:IPv4和IPv6。
包头长度:“我的车头有多长”,这是指IP包头的长度。IPv4以32位(4个字节)为一个单位,从“首部长度”4位的情况看,IP包头最大也就64个字节,512位。
TOS:“我有多重要”,标识传送优先级。在传统的IP技术中,TOS字段用于标明IP包的类型。在没有QoS的网络中,TOS字段只是自娱自乐,没有任何实际意义;而在具有QoS保障的IP网络,比如MPLS里,TOS的意义才真正体现出来。这个字段由现在不再使用的3个优先权位、4个TOS位和1个必须为0的未用位组成。4个TOS位是:最小延迟、最大吞吐量、最高可靠性和最小费用。我想读者一定都在嘀咕:那这4个我都要!NO!IP包装法规定:这4位只能有1位为1!正所谓:鱼和熊掌不能兼得,4种好东西,只能四选一。Telnet采用最小延迟为1,SNMP采用最高可靠性为1,其他位,只能设置为0。

字节总长度:“我这列车一共有多长”。这是整个IP包的总长度指示,以字节为单位。用这个字段和包头长度做减法,可以得出IP包中数据部分的起始地址和长度。由于这个字段是16位,所以IP数据包的最大尺寸是2的16次方,即65 536字节。
标识:“我是第几个包”。一个大的报文,经常要被拆分为几个小包进行传送。一列火车拉不了这么多货物,分批次拉很正常。这个字段就是为了标识该IP包是这一报文被拆分成的第几个包。
片偏移:“我在最早那个数据包中的位置”。一个IP包在网络中可能会再次被拆分,比如以太网帧中数据字段的最大长度为1 500字节或者1 492字节(RFC894和RFC1042的规定略有区别),数据链路层都有此特性,这个最大传送长度被称为MTU。如果IP包长度大于链路层的MTU,等待它的是“裂刑”——将一个大的IP包拆分为多个小的IP包,并各自带有IP包头,拆分后的IP包在网络中被独立地路由,它们在达到目的地之前不会被重组。这可能会造成一种现象:某个大包的各个分段不按顺序到达最终目的地,如果这种情况发生,怎么保证目的地成功地将这些分段组合起来呢?IP包头需要足够的信息让接收者正确地重组这个大包。“片偏移”字段,就是拆分包的终端告知重组的终端,这个包是从最早那个数据包的哪个位置开始的。
标识和片偏移配合使用,才能使分段和重组工作正常进行。
标识字段为发送者送出的每个包保留一个独立的值,这个数值被拷贝到某个特定IP包的每个分段。标识字段用一位作为“更多分段”位,除了最后一段外,该位在组成一个数据包的所有分段中被置位。
片偏移含有该分段自初始数据包开始位置的位移,并且,当一个数据包被分段后,每分片的“总长度”字段为该分段的相应长度。
标识字段中的其中一位称为“不许分片”位,若此位被置位,则不会对该包分段,而是扔掉该包并且送给发送者一个ICMP错误。
当一个IP包分段后,每个分段变为一个独立的包,带有其自己的IP包头,并且各自独立地被路由。这使得有可能某包的各分段不按顺序到达最终目的地,但IP包中有足够的信息让接收者正确地重组这个包。
TTL:“我能跨越多少台路由器”。可以想象,必须对IP包能跨越的路由器数目做限制,否则,某些陷入路由死循环的IP包将永远在路由器之间闲逛。TTL就是这种事件的终结者。IP包被发出的时候,发送者将TTL初始化为某一值,比如32或者64,每个处理过该数据包的路由器将这个字段值减1,假设到达某台路由器,发现减去1以后,这个字段变成0,那么这台路由器将举起“尚方宝剑”,毫不留情
地砍掉这个IP包。
协议:“我携带的信息是属于哪类服务协议的”。1是ICMP,2是IGMP,6表示TCP,17表示UDP。
头检验:“我的车头的检验值”。仅在包头范围进行计算,不涉及包头后面的任何数据。校验的目的只有一个:判断IP包头是否被正确传输。
源地址:“我从哪里来”。用4个字节来标识包是从哪个IP地址出发的。
目的地址:“我要到哪里去”。用4个字节来标识包的目的地IP地址。
选项:“我还有啥要携带的。”是该数据包可选信息的可变长列表。目前定义的选项有:安全和操作限制(军事目的);路径登记(让每个路由器登记其IP地址);时间戳(让每个路由器登记其IP地址和时间);松散源选径(规定该数据包必须穿越的IP地址列表);严格源选径(规定该数据包只能经过规定的IP地址)。这些选项很少使用,并且,不是所有的计算机和路由器都支持所有的选项。
数据:“我所携带的货物”。这是IP包携带的真实的数据信息。IP包其他所有字段,都是为了传送本字段而设立的。
3.7 关键规则之七:传输协议TCP与UDP
TCP和UDP都属于ISO/OSI的第四层——传输层。
TCP提供可靠地、面向连接和字节流的传输层服务。
TCP的具体内容前边已经介绍过,在以后放入笔试题中会问到tcp与udp的区别我们详细介绍一下udp
UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
它有以下几个特点:

  1. 面向无连接
    首先 UDP 是不需要和 TCP一样在发送数据前进行三次握手建立连接的,想发数据就可以开始发送了。并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。
    具体来说就是:
    在发送端,应用层将数据传递给传输层的 UDP 协议,UDP 只会给数据增加一个 UDP 头标识下是 UDP 协议,然后就传递给网络层了
    在接收端,网络层将数据传递给传输层,UDP 只去除 IP 报文头就传递给应用层,不会任何拼接操作
  2. 有单播,多播,广播的功能
    UDP 不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说 UDP 提供了单播,多播,广播的功能。
  3. UDP是面向报文的
    发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文
  4. 不可靠性
    首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。
    再者网络环境时好时坏,但是 UDP 因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用 UDP 而不是 TCP。
    3.8、关键规则之八:域名解析规则(DNS)
    我们访问通过域名访问某个服务器是, 经过以下过程
    1、在浏览器上输入网址及域名
    2、把域名解析成对应ip地址
    3、通过ip地址去找到对应服务器进行访问
    DNS简介
    了解完用户访问网站的基本流程后,再来了解下DNS解析的基本流程,这是企业针对运维岗位进行招聘时经常会面试的问题,因此,必须要熟练掌握。DNS,全称为 Domain Name System,它在一个网站运行中起到了至关重要的作用,其主要作用是把网站域名解析为对应的IP地址,例如:把www.baidu.com解析为对应的IP地址记录,如1.1.1.1,这个从域名到IP的解析过程,称作A记录,即 Address Record DNS系统除了负责这个最重要的A记录解析外,还有很多的功能
    例如:
    设置 CNAME别名记录,这个别名解析功能常被CDN加速服务商应用。
    设置MX邮件记录,这个MX记录功能,在购买或搭建邮件服务时会被用到。
    设置PTR记录,反向解析,即把IP地址解析为对应的域名,和A记录的解析相反,此功能在邮件服务等业务中会用到。
    DNS系统的架构类似于一棵倒挂着的树(和 Linux系统目录结构类似),它的顶点也是根(“”),只不过这个根是用点(“”)来表示的,不是目录的根斜线("/)。整个DNS系统的树状结构如图所示。

DNS解析流程
(1)DNS解析流程说明
客户端是怎样一步步通过各个层级的DNS,获取到域名所对应的IP的呢?这里给大家做一个较为详细的说明。DNS的解析流程实际上就是从用户在客户端浏览器中输入网站地址并按回车开始的,一直持续到获取域名对应的IP,整个过程可分为如下几个步骤。
第一步:客户端用户在浏览器里输人www.etiantian.org网站地址后回车,系统首先会查找系统本地的DNS缓存及hosts文件信息,确定是否存在www.etiantian.org域名对应的IP解析记录,如果有就直接获取到IP地址,然后去访问这个IP地址对应的www.etiantian.org域名的服务器。一般第一次请求时,DNS缓存是没有解析记录的,而 hosts多为内部临时测试使用。
第二步:如果客户端本地DNS缓存及本地hosts文件没有www.etiantian.org域名对应的解析记录,那么,系统会把浏览器的解析请求发送给在客户端本地设置的DNS服务器地址(通常称此DNS为LDNS,即 Local dns)解析,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回IP地址给客户端;如果没有,则LDNS会负责继续请求其他的DNS服务器。
第三步:LDNS从DNS系统的(“”)根开始请求对www.etiantian.org域名的解析,
根DNS服务器在全球一共有13台,根服务器下面是没有www.etiantian.org域名解析
记录的,但是根下面有www.etiantian.org对应的顶级域.org的解析记录,因此,根会
把.org对应的DNS服务器地址返回给LDNS。
第四步:LDNS获取到org对应的DNS服务器地址后,就会去.org服务器请求
www.etiantian.org域名的解析,而org服务器下面也没有www.etiantian.org域名对应的
解析记录,但是有 etiantian.org域名的解析记录,因此,.org服务器会把 etiantian.org对
应的DNS服务器地址返回给LDNS。
第五步:同理,LDNS获取到 etiantian.org对应的DNs服务器地址后,就会去
etiantian.org服务器请求对www.etiantian.org域名的解析,etiantian.org域名对应的DNs
服务器是该域名的授权DNS服务器,这个DNS服务器正是企业购买域名时用于管理解
析的服务器(也可能是自建的授权DNS服务器),这个服务器会有与www.etiantian.org
对应的IP解析记录,如果此时没有,就表示企业的域名人员没有为www.etiantian.org
域名做解析,即网站还没架设好。
第六步:etiantian.org域名DNS服务器会把www.etiantian.org对应的IP解析记录
(例如1.1.1.1)发给LDNS。
第七步:LDNS把来自授权DNS服务器的与www.etiantian.org对应的IP解析记录发给客户端浏览器,并且LDNS会在本地把域名和IP的对应解析记录缓存起来,以便下一次更快地返回相同解析请求的记录。至此,整个DNS的解析流程就完成了。
DNS解析流程图

3.9 关键规则之九:端口
TCP/IP协议中,端口号用于区分不同的网络服务。
按对应的协议类型,端口有两种:TCP端口和UDP端口。
固定端口被称为“众所周知的端口号”,范围从0到1023,其中80端口分配给WWW服务,21端口分配给FTP服务等。
动态端口的范围是从1024到65535。之所以称为动态端口,是因为它一般不固定分配某种服务,而是采用动态分配的方式。
在网络技术中,端口(Port)这个词经常会被初学者混淆。集线器、交换机、路由器中俗称的“端口”指的是连接线缆的物理接口,如RJ-45端口、Serial端口等。
在网络技术中,端口(Port)大致有两种:一是看得见摸得着的硬件端口。集线器、交换机、路由器中俗称的“端口”指的是连接线缆的物理接口,如RJ-45端口、Serial端口等,二是天黑伸手不见五
指的软件端口(也称逻辑端口,一般是指TCP/IP协议中的端口)。我们所指的“端口”不是指物理意义上的端口(或者严格地说,路由器上的物理端口应该称之为“接口”),而是后者,即特指TCP/IP协议中的一种逻辑标识,是一种特殊的“地址”。
那么TCP/IP协议中的端口指的是什么呢?如果把IP地址比作一间房子,端口就是出入这间房子的门。一间房子最多只有几个门,而一个IP地址的端口可以有非常多!端口是通过“端口号”来标记的,端口号的范围从0到65535。
我们来看看端口的作用。一台网络上的主机很可能同时提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过一个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?也就是说,当它接收到一个IP包,如何判断这个IP包属于哪类型的应用?
这很重要。根据端口号,主机中的操作系统和应用软件才能判断这个IP包该如何处理。
IP地址与网络服务的关系是一对多的关系。在实践中,主机将通过“IP地址+端口号”这一组合来区分不同的服务。
需要注意的是,即使是同一种服务,两个通信终端的端口号并不是一一对应的。比如你的计算机作为客户机访问一台WWW服务器时,WWW服务器使用80端口与你的计算机通信,但你的计算机则可能使用3457这样的端口。这叫“本地有效”。
按对应的传输协议类型,端口有两种:TCP端口和UDP端口。它们各自的端口号相互独立,比如TCP有235端口,UDP也可以有235端口,两者既无冲突,亦无关联。
为特定应用服务的固定端口也被称为“众所周知的端口号”,范围从0到1023,比如TCP的80端口分配给WWW服务,TCP的21端口分配给FTP服务,UDP的500端口分配给互联网密钥交换等。我们在IE的地址栏里输入一个网址的时候(比如www.sina.com.cn)是不必指定端口号的,因为浏览器在默认情况下,WWW服务的端口号是80。
使用其他端口号的,则应该在地址栏上指定端口号,方法是在地址后面加上冒号“:”(半角),再加上端口号。比如使用8080作为WWW服务的端口,则需要在地址栏里输入:
http://192.168.34.38:8080
有些系统协议使用固定的端口号,它是不能被改变的,比如139 端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。
动态端口的范围是从1024到65 535。之所以称为动态端口,是因为它不被固定分配某种服务,而是采用动态分配的方式。
动态分配是指当一个系统进程或应用程序进程需要网络通信时,它向主机申请一个端口,主机从空闲的端口中分配一个号码供它使用。当这个进程关闭时,同时也就释放了所占用的端口号。
3.10、HTTP协议
1、HTTP协议简介
HTTP协议,全称为HyperTextTransferProtocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议。HTTP的重要应用之一是www服务。设计HTTP协议最初的目的就是提供一种发布和接收HTML(一种页面标记语言)页面的方法。HTTP协议是互联网上常用的通信协议之一。它有很多的应用,但最流行的就是用于Web浏览器和web服务器之间的通信,即WWW应用或称web应用。WWW,全称为 World Wide Web,常称为Web,中文译为“万维网”。它是目前互联网上最受用户欢迎的信息服务形式。HTTP协议的www服务应用的默认端口为80,另外一个加密的www服务应用https的默认端口为443,主要用于网银、支付等和钱相关的业务。
2、HTTP协议版本
HTTP协议从诞生之初到现在已经经历了若干个版本,其中最主要的版本为HTTP/1.0、HTTP/1.1。HTTP/1.0是第一个得到广泛使用的版本,而HTTP1.1为当前使用的主流版本
HTTP1.0简介
HTTP1.0是第一个得到广泛使用的HTTP版本。HTTP/1.0在HTTP0.9的基础上增
加了HTTP请求头,可支持更多的请求方法,并且能对多媒体对象进行处理。HTTP/1.0
使得包含生动图片的Web页面和交互式表格成为可能,而正是这些页面和表格促使互联
网被人们广泛地接受。HTTP/1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次
请求都需要与服务器建立一个TCP连接,服务器完成请求处理后即断开TCP连接,服
务器不跟踪每个客户,也不记录过去的请求。
HTTP1.1简介
HTTP1.1的重点是修复HTTP设计中的缺陷,从可扩展性、缓存处理、带宽优化、持久连接、host头、错误通知、消息传递、内容协商等多个方面都做了相关改进。HTTP/1.1是当前互联网主流的HTTP版本。在连接方面,HTTP1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和时间延迟。在请求头方面,HTTP/1.1增加了更多的请求头和响应头信息,用以增强HTTP功能。例如:host主机头功能,可以让web浏览器使用主机头名来明确表示要访问服务器上的哪个Web站点,这样就可以使用web服务器在同一个IP地址和端口号上配置多个虚拟web站点。
HTTP1.1的持久连接,也需要增加新的请求头来帮助实现,例如,Connection请求头的值为 Keep-Alive时,表示客户端通知服务器返回本次请求结果后保持连接;Connection请求头的值为 close时,表示客户端通知服务器返回本次请求结果后关闭连接。HTTP/1.1还提供了与身份认证、状态管理和Cache缓存等机制相关的请求头和响应头等。
3、HTTP请求方法
在HTTP通信中,每个HTTP请求报文都包含一个方法。用以告诉web服务器端需要执行哪些具体的动作,这些动作包括:获取指定Web页面、提交内容到服务器、删除服务器上资源文件等,这些HTP请求报文中包含的方法被称为HTTP请求方法。其中,常用的HTTP请求方法见下表

4、HTTP状态码
HTTP状态码介绍
HTTP状态码(HttpStatusCode)是用来表示web服务器响应HTTP请求状态的数字代码。每当Web客户端向Web服务器发送一个HTTP请求时,web服务器都会返回一个状态响应代码。这个状态码是一个三位数字代码,作用是告知Web客户端此次请求是否成功,或者是否要采取其他的动作方式。
在操作过程中最常见的状态码如下

5、HTTP报文
HTTP报文中有很多行内容,这些行的字段都是由一些ASCI1码串组成,但各个字段的长度是不同的。HTTP报文可分为两种,一种是从Web客户端发往web服务器的HTTP报文,称为请求报文(RequestMessage)。另外一种是从web服务器发往Web客户端的报文,称为响应报文(ResponseMessage),HTTP的请求和响应报文的格式类似。
1.HTTP请求报文(RequestMessage)介绍
HTTP请求报文由请求行、请求头部( header)、空行和请求报文主体几个部分组成,如下表

2.HTTP响应报文(ResponseMessage)介绍
HTTP响应报文由起始行、响应头部( header)、空行和响应报文主体这几个部分组
成,和HTTP请求报文格式类似。下表给出了HTTP响应报文的一般格式。

6、HTTP协议原理
HTTP协议属于OSI模型中的第七层应用层协议,HTTP协议的重要应用就是WWW服务应用,下面就以Www服务应用为例介绍HTTP协议的通信原理。以HTTP协议进行通信时,需要有客户端(即终端用户)和服务器端(即Web服务器),在web客户端向web服务器发送请求报文之前,先要通过TCP/IP协议在Web客户端和服务器之间建立一个TCP P连接。整个HTTP协议请求的工作流程如下:
1)终端客户在Web浏览器地址栏输入访问地址http:/www. etiantian. org/index. html
2)Web浏览器请求DNS服务器把域名www.etiantian.org转换成Web服务器的IP地址,此处的解析过程就是DNS解析的原理流程,前面已经讲过了,此处不再赘述。
3)Web浏览器将端口号(默认是80)从访问地址(URL)中解析出来。
4)web浏览器通过解析后的IP地址及端口号与Web服务器之间建立一条TCP连接。
5)建立TCP连接后,Web浏览器向Web服务器发送一条HTTP请求报文,请求报文的内容格式及信息细节前面已经讲过了,此处不再赘述。
6)web服务器响应并读取浏览器的请求信息,然后返回一条HTTP响应报文,响应报文的内容格式及信息细节前文也已经讲过了,此处不再赘述。
7)Web服务器关闭HTTP连接,关闭TCP连接,Web浏览器显示访问的网站内容到屏幕上。
3.11网站流量度量术语
1、IP
IP(独立IP),即 Internet Protocol,这里指独立IP数,独立IP数是指不同IP地址的计算机访问网站时被计的总次数。独立IP数是衡量网站流量的一个重要指标。一般一天内(00:00-24:00)相同IP地址的客户端访问网站页面只会被计为一次,记录独立IP的时间可为一天或一个月,目前通用的标准为“一天”。假设有部分同学在教室的局域网中同时打开了博客(http:/ oldboyblog5lcto.com),请问对于51CTO网站是几个独立IP?答:是一个独立IP。这是因为,国内所有的公司几乎都是采用局域网共享上网的,即通过路由器NAT地址转换上网,每个计算机在局域网内的私有IP是不同的,但是在外网上,就必须由路由器把每个私网地址转换成了路由器接口的固定公网IP(多IP映射暂不考虑),所以说,对于网站来说一天内多个相同IP的客户端访问会被计为一个独立IP。
再假设一个客户机用户通过ADSL等直接拨号上网,但是上网的时候偶尔掉线,一共重新拨号了3次(相近时间重新拨号IP地址相同的几率是极小的),然后每次都继续打开同一个博客地址,请问此时,网站独立IP数是多少?答:是3个独立IP。由此可见,通过独立IP数度量网站访问量,和实际的访问情况不是很匹配。国内的企业、学校等多数是用NAT上网的,一个独立IP背后可能有数十上百个客户端访问。独立IP数虽然不是很准确,但却是MT技术人员比较关心的一个衡量网站的指标。
2、PV
PV(访问量)即 Page View,中文翻译为页面浏览,即页面浏览量或单击量,不管客户端是不是相同,也不管IP是不是相同,用户只要访问网站页面就会被计算PV,一次计一个PV。PV的具体度量方法就是从客户浏览器发出一个对web服务器的请求( Request),Web服务器接到这个请求后,将该请求对应的网页(Page)发送给浏览器,这样就产生了一个PV。这里有一个问题,就是只要这个请求发送给了浏览器,无论这个页面是否完全打开(或下载完成),都会被计数(1次为1个PV),一般为了防止用户快速刷PV很多网站会把PV的统计程序放在页面的最下面。用PV衡量网站时,PV数反映的是浏览某网站的页面数量,每刷新一次页面也算次。因此,可以说PV数与来访用户的数量成正比,但PV数并不是真正的页面来访者数量,而是网站被访问的页面数量,因为一个来访者可能产生多个PV。
问:如果一个用户要访问赶集网或58同城租房,你觉得用户可能会产生多少PV?
答:平均可能会有十几到几十个PV,一个来访者访问网站的PV数的多少是和网站提供的业务直接相关的。对于分类网站,用户浏览网站可能是为了找房子、找工作,因此一个用户访问的页面会很多,自然PV也就会很多PV( Page View)是网站被访问的页面数量的一个指标,但不能直接知道有多少人访问了这个网站。
一个来访者访问网站,可能产生若干PV数,但是独立IP数就只有1个,因此,如果对比一个网站的独立IP数和PV数,不难看出,PV数一定会大于等于独立IP数,其比例视网站的业务而定,对于分类门户,可能会达到10:1,甚至更多。
3、UV
UV(独立访客)即 Unique Visitor,同一个客户端(PC或移动端)访问网站被计为一个访客。一天(00:00-24:00)内相同的客户端访问同一个网站只计一次UV。UV一般是以客户端 Cookie等技术作为统计依据的,实际统计会有误差。考虑到一台客户端计算机可能会有多人使用,因此,UV(独立访客)实际上并不定是独立的自然人访问。
4、企业网站对IP、PV、UV的度量
1.对IP的度量
*分析所有Web服务器的访问日志信息,对IP地址段去重后计数,这是IT人员的基本计算手段。
*在网站的每一个(所有)页面结尾,嵌入Js等统计程序代码,待用户加载网页后,IP即传给统计IP的服务器,这种方法一般被第三方统计公司或在企业内部开发日志分析程序时使用。
*用第三方大家比较信任的统计工具,例如:谷歌的统计(GA)。IP的统计方法简单、易用,因此,成了多数网站衡量网站流量的重要指标之一
2.对PV的度量
*分析web服务的访问日志(需要排除JS、CSS及各种图片的日志信息),只计算HTML、PHP等页面数量。
*在网站的每一个页面结尾,嵌入JS等统计程序代码,待用户加载网页后,访问数量即传给统计PV的服务器,这种方法一般被第三方统计公司或在企业内部开发日志分析程序时使用。
*用第三方大家比较信任的统计工具,例如:谷歌的统计(GA)。PV的统计方法也很简单、易用,因此也是多数网站衡量网站流量的重要指标之一。
3.对UV的度量
通过客户端HTTP请求报文分析
一个客户端会多次请求网站服务器,每次HTTP请求都会携带客户端自身的大量信息,比如:IP地址、请求发出的时间、浏览器版本,操作系统版本等。网站服务器对这些请求进行分析,如果这些请求满足一些共同特征,比如来自同一个IP地址,且浏览器版本和操作系统版本相同,请求时间又相近等,那么就可以认为这些请求是来自于同一个客户端,那么多个页面访问也只算一个UV。共同特征的定义是由服务器方决定的。通常,用IP地址+其他特征共同来定义的情况较多。但此种度量方法无法解决以下问题,例如多个人的计算机软硬件雷同,并且是一个公司或学校的人;多个人共用一个计算机等情况。
通过 Cookie鉴别
当客户端第一次访问某个网站服务器时,网站服务器会给这个客户端的计算机发出个 Cookie,通常放在这个客户端计算机的C盘当中。在这个 Cookie中会分配一个独一无二的编号,这其中会记录一些访问服务器的信息,如访问时间、访问了哪些页面等等。当你下次再访问这个服务器的时候,服务器就可以直接从你的计算机中找到上次放进去的 Cookie文件,并且对其进行一些更新,但那个独一无二的编号是不会变的。

5.IP、PV、UV的区别
针对该主题,下面以一个访问示例来讲解吧。
假设某城市的一个网吧里,有10个人都进入了www.etiantian.org的网站,每个人平均访问了5个页面,但是这个网吧的对外出口是一个公网IP(注意:也可以配置多个IP出口,此处不计特殊情况),所以,对于 etiantian网站来说,只会计算一个独立IP访问,但是因为网吧里有10人在访问www.etiantian.org的网站,并且平均都访问了5次因此,对于 etiantian网站来说,PV数就是10×5=50个PV,而因为有10个人访问,就是10个不同的客户端访问,因此,UV(独立访客)为10。那么,在此访问示例中,网站独立IP数为1个,PV数为50个,UV(独立访客)为10个。通过上述结果,我们不难得出一个结论,一个网站的独立IP数量要比网站实际访问的pv数量小得多。通常情况下(国内互联网环境下),网站的UV数也会大于独立IP数。PV数高说明访问的页面数多,但是不一定就代表来访者多;但PV数一定与来访者的数量成正比,不过,PV并不直接决定页面的真实来访者数量。比如在访问某网站时,一个人也可通过不断地刷新页面,制造出非常高的PV数。PV数多,用户访问网站页面的总数量多,通常服务器的压力会大一些。

6.并发连接
网站并发连接
在面试过程中, Linux运维人员经常会被问到:你的公司网站最大并发是多少?那么到底什么是并发?怎么理解并发呢?
笔者查阅了很多资料,但还是没有找到让人信服的确切说法。下面是网上的一些说法:
A种理解:网站服务器每秒能够接收的最大用户请求数。
B种理解:网站服务器每秒能够响应的最大用户请求数。
C种理解:网站服务器在单位时间内能够处理的最大连接数。
虽然A、B的理解占IT人员中的大多数,但是,C种理解更为准确一些。
7、有关网站度量企业运维常见面试题
1)请问你如何理解网站并发?
网站服务器在单位时间内能够处理的最大连接数。
2)你们公司网站访问量是多少?是怎么计算的?
一定要理解IP、PV、并发量这3个点的知识,在回答时才能有的放矢,这三个点的多少决定面试时说多大的架构,对于没有经验的新手不能在介绍有几万PV的同时描述数十台的集群架构,这样就尴尬了。
3)、关于网站访问指标的计算,可以考虑:
运维部门的日志分析。
开发在页面嵌入的JS程序(用于统计、收集、分析)。
运营市场通过第三方公司提供的工具进行统计,例如GA统计。

3.12 关键规则之十二:网络地址转换法则
在IPv4地址紧张,IPv6又不能立刻大规模商用的阶段,采用网络地址转换(NAT)技术是节省IP地址的最有效方案。
根据不同应用环境,NAT机制有三种类型:静态NAT、动态地址NAT、网络地址端口转换NAPT。
IPv4的地址已经基本耗尽,而IPv6大规模商用尚需时日,在这一历史时期,如何解决IP地址短缺问题?
互联网的缔造者和设计者们提供了一个特殊机制:把以太网的主机“关”在一个门里面,谁要出去,在门口领一张“出门条”——公用的、合法的IP地址;而以太网内的每台主机,尽量使用私有IP地址。
这就是网络地址翻译——通俗的称呼就是NAT,一种将IP地址从一个编址域映射到另外一个编址域的方法,最典型的应用是把私有IP地址映射为互联网所使用的公有IP地址。
NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。前文我们讲过,在IP地址规范中,10...、172...、192...*被定义为私有IP地址段,企业可以利用这些IP地址规划自己的以太网;在互联网上的公用计算机,是不存在上述地址段的IP地址的。
我们可以把一个使用私有IP地址的以太网想象为一个院子,院子里有很多屋子,每个屋子有它的门牌号。这个门牌号是本院子内部编号,比如M、N、P、Q。而这个院子的大门则有一个城市统一规定的门牌号,比如西大街5号院,这就是地址转换环节。任何人出门,都要告诉别人自己来自西大街5号院,而不能说自己在N号居住——在这个城市里,存在无数的大院,很多大院可能都有N号!
根据不同应用环境,NAT机制有三种类型:静态NAT、动态地址NAT、网络地址端口转换NAPT。
其中静态NAT是设置起来最简单,也最容易实现的一种。内部网络中的每台主机都被永久映射成外部网络中的某个合法的地址。
内外地址数量一样,很显然是无法解决IP地址紧缺问题的。动态地址NAT则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。NAPT则是把内部地址映射到外部网络的一个IP地址的不同端口上。

三种NAT方案各有利弊,我们可以根据需求采纳不同的方案。
动态地址NAT只是转换IP地址,它为每一个内部的IP地址分配一个临时的外部IP地址。这种情况下,每台拨号主机都不需要长期连接到互联网上,那么对于1万台主机,准备200个IP地址就够用了。
当拨号的计算机进行连接请求,动态地址NAT就会自动分配给它一个合法的IP地址,用户断开时,这个IP地址就会被释放,供其他拨号计算机使用——这有点像小区的停车卡,拿到停车卡才能停到指定位置,而当你离开小区,要把停车卡交给保安供其他车使用。
NAPT应用非常普遍。与动态地址NAT不同的是,NAPT将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址加上一个由NAT设备选定的TCP端口号,不同的端口号代表不同的主机——这个端口的唯一标识性,决定了从互联网返回的信息不会摸错门儿而发给错误的主机。
这是一个有趣的现象:在互联网中使用NAPT时,所有不同的信息流看起来好像来源于同一个IP地址,当信息回到以太网内,又能准确地识别信息的目的地究竟是哪台主机。
这对于大量的中小企业非常实用。通过从运营商或ISP申请的一个IP地址,将多个连接通过NAPT接入互联网。根据IP网络的寻址、路由原则,实际是申请4个处于一个网段的IP地址——一个网段地址、一个广播地址,一个本地IP地址,一个缺省路由地址——这4个地址,一个都不能少。
IETF一直主张利用IPv6技术解决地址短缺问题,并出版了几个与NAT相关的RFC。但IETF对NAT技术一直没有系统的标准化工作,尤其媒体流的私网“穿越”问题。比如,SIP和MobileIP就是NAT出现后设计的一些协议,都未考虑到NAT的穿越问题。
NAT相关问题已经引起了IETF和ITU-T等相关国际标准化组织的高度重视。中国通信标准化协会IP与多媒体工作委员会也正在积极参与ITU-TSGl6组的相关活动,加紧制定中国的多媒体业务NAT穿越标准。
业界已经意识到互联网在短期内不可能过渡到IPv6,而IPv4和IPv6将长期并存,NAT技术将继续得到长期应用。

第四章节 TCP/IP网络路由技术
路由技术是数据通信的核心内容,我们单独作为一章节的内容说一下
4.1、基础网络术语
首先来回顾一下关于网络的几个常见词语。
计算机网络:从字面看,就知道它的意思,不多说了,按照网络规模、距离和结构,计算机网络可划分为局域网、城域网、广域网。
局域网(Local Area Network,LAN)是小范围的网络,可以是一个家庭,一所学校,一家公司,或者是一个政府部门。我们经常提到私网、内网,一般是局域网。
城域网(Municipio Area Network,MAN)是一个城市范围的计算机网络。这个词目前已经不常用。
广域网(Wide Area Network,WAN)是大范围的网络,比如几个城市、一个国家的网络。广域网在网内采用同一种互联技术。我们经常提到的公网、外网一般是广域网。
局域网和广域网的区别。前者是在某一区域内,而后者要跨越较大的地域。例如,一家大型公司的总公司位于上海,而分公司遍布全国各地,如果该公司将所有的分公司都通过网络联接在一起,那么每个分公司就是一个局域网,而整个总公司网络就是一个广域网。一般说来,局域网内电脑发起的对外连接请求,路由器或网关都不会加以阻拦,但来自广域网对局域网内电脑连接的请求,路由器或网关在绝大多数情况下都会进行拦截。广域网与局域网交换数据要通过路由器或网关的NAT(网络地址转换)进行。
虚拟局域网(Virtual Local Area Network,VLAN)是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术,使用协议为IEEE802.1Q。
以上所讲的均是有线网络,传输媒介主要依赖铜缆或光缆。
无线局域网(Wireless LAN,WLAN)利用电磁波在空气中发送和接收数据,而无需线缆介质。
4.2、VLAN概述
《倚天屠龙记》,金毛狮王谢逊的一声狮子吼,只见天鹰教、巨鲸帮、海沙派、神拳门的人一个个先后倒地,不住扭曲滚动。谢逊为了不伤害张五侠、殷素素,叫他们赶紧捂住耳朵。
《笑傲江湖》,雨夜、破庙,为了保护师傅、师娘、小师妹不受辱,令狐冲独孤九剑一出,十五名蒙面客的三十只眼睛,在一瞬之间被尽数刺瞎。
可见狮子吼属于范围攻击,且范围内所有目标不分敌我都会受到伤害。独孤九剑属于特定攻击,攻击范围内目标可控。其实在数据LAN中的通信,就像狮子吼,数据会流经交换机所有端口,在VLAN中的通信,就像独孤九剑,数据只通过指定的交换机端口。
1.VLAN的原理
VLAN所指的LAN是广播域,即广播帧(目标MAC地址全部为1

如图所示,是一个由5台二层交换机连接大量客户机构成的网络。假设这时,计算机A需要与计算机B通信。在基于以太网的通信中,必须在数据帧中指定目标MAC地址才能正常通信,因此计算机A必须先广播“ARP请求(ARP Request)信息”,来尝试获取计算机B的MAC地址。交换机1收到广播帧(ARP请求)后,会将它转发给除接收端口外的其他所有端口,这个过程也称之为洪泛(Flooding)。接着,交换机2收到广播帧后也会洪泛,交换机3、4、5也会洪泛,最终ARP请求会被转发到同一网络中的所有客户机上。原本这个ARP请求是为了获得计算机B的MAC地址而发出的,可是数据帧却传遍整个网络,导致所有的计算机都收到了它。这样既浪费了带宽,也增加了CPU内存负担。
可见,在设计LAN时,需要有效地划分(或分割)广播域,用于在二层交换机上划分广播域的技术,就是VLAN。通过对交换机的端口进行分组,VLAN将一个物理的LAN在逻辑上划分成多个广播域(多个VLAN)。VLAN内的主机间可以直接通信。

换一种思维,我们可以把VLAN理解为将一台交换机在逻辑上分割成了数台交换机。如图6.2所示,在一台交换机上生成两个VLAN,设置端口1、2属于VLAN 1,端口3、4属于VLAN 2。再从A发出广播帧的话,交换机就只会把它转发给同属于一个VLAN的其他端口(也就是同属于VLAN1的端口2),不会再转发给属于VLAN 2的端口。 同样,C发送广播信息时,只会被转发给其他属于VLAN 2的端口,不会被转发给属于VLAN1的端口。此时可以看作是将一台交换机换做两台虚拟的交换机。如果在两个VLAN之外再生成新的VLAN时,可以想象成又添加了新的交换机。
需要注意的是,在交换机上设置VLAN后,未做其他处理的话,VLAN间是无法通信的。如VLAN间需要通信时,可以使用普通的路由器,也可以使用三层交换机。
2.VLAN的划分种类
最常见的VLAN种类有基于端口的静态VLAN和基于IP地址(有时也称基于子网)的动态VLAN两种,其他的(如基于MAC地址,基于用户)一般作为辅助性配置使用。
静态VLAN是目前最常用的一种方法,就是明确指定各端口属于哪个VLAN的设定方法。单个交换机的端口之间可以构建VLAN。如图6.3所示,交换机的1、2、6、7、8端口组成VLAN 1,而3、4、5端口组成VLAN 2。

不同交换机的端口之间也可以构建VLAN 。如图6.4所示,交换机1的1、2、3端口和交换机2的4、5、6端口组成VLAN 1,交换机1的4、5、6、7、8端口和交换机2的1、2、3、7、8端口组成VLAN 2。

基于端口的VLAN的划分简单、有效,但其缺点是当用户从一个端口移动到另一个端口时,网络管理员必须对VLAN成员进行重新配置。
基于IP地址的VLAN,则是通过所连计算机的IP地址,来决定端口所属VLAN的。只要它的IP地址不变,就仍可以加入原先设定的VLAN,如图所示。

IP地址是OSI参照模型中第三层的信息,一般路由器与三层交换机都使用基于IP地址的方法划分VLAN。
4.3 常见中继设备介绍
不同网络之间的联接也需要靠谱的中介,常见的中介设备有四类:
物理层(第一层)中继设备,常见的是HUB;
数据链路层(第二层)中继设备,常见的是交换机、网卡;
网络层(第三层)中继设备,常见的是路由器(Router)、三层交换机;
传输层(第四层)中继设备,常见的是网关(Gateway)、协议转换器。
1.HUB
集线器的英文称为“HUB”,外观就是一个多口的黑盒子,每个接口可以连接一个终端设备。这样多个设备可以通过HUB连接在一起,组成一个星形的网络。在HUB内部使用了共享总线的技术,采用CSMA/CD技术进行交互。

HUB发送数据时都是没有针对性的,而是采用广播方式发送。HUB的工作原理如图6.6所示,当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点。有源HUB与无源HUB的区别就在于前者能对信号放大或再生,可以延长两台主机间的有效传输距离。
2.网卡和Modem
网卡又称通信适配器或网络适配器(Network Adapter)或网络接口卡NIC(Network Interface Card),用于计算机与外界局域网的连接,可分为普通网卡和无线网卡。
Modem,用于计算机内由“0”和“1”组成的数字信号和电话线上的模拟信号的转换。计算机发送数据时,先由Modem把数字信号转换为相应的模拟信号,这个过程称为“调制”。接收方的Modem负责把模拟信号还原为数字信号,这个过程称为“解调”。
3.二层交换
从外观上看,交换机跟HUB差不多,也是一个多端口的盒子,端口的数目可能比HUB要多。在内部结构上,交换机比HUB复杂得多。

如上图所示为交换机的工作原理,在交换机内部不是一条共享总线了,而是一个数字交叉网络,能把各个终端进行暂时的连接,互相独立的传输数据。交换机还为每个端口设置了缓冲区,可以暂时缓存终端发送过来的数据,等资源空闲之后再进行交换。
交换机分为三层交换机和二层交换机。普通的交换机是二层交换机,属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。其工作流程:
①当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;
②再去读取包头中的目的MAC地址,并在自身地址表中查找相应的端口;
③如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;
④如表中找不到相应的端口则把数据包广播到所有端口上。当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。
4.路由器
前面讲了,IP地址的结构有两部分,一部分定义网络号,另一部分定义网络内的主机号。通信只能在具有相同网络号的IP地址之间进行,要与其他IP子网的主机进行通信,则必须经过同一网络上的某个路由器或网关(Gateway)出去。不同网络号的IP地址不能直接通信,即使它们接在一起,也不能通信。
路由器只根据IP地址来转发数据。路由器有多个端口,用于连接多个IP子网。每个端口对应不同的IP网段,而不是单一的IP地址。每个端口的IP地址的网络号要求与所连接的IP子网的网络号相同。不同的端口为不同的网络号,对应不同的IP子网,这样才能使各子网中的主机通过自己子网的IP地址把要求出去的IP分组送到路由器上
(注:网络号—ip地址=网络号+主机号,一个网段内的网络号是一样的 )
路由器有多个接口(端口),如下图所示。这些端口主要分为两类:局域网接口FastEthernet和广域网接口Serial。其中,局域网接口被用来连接局域网,拥有二层mac地址,可被分配三层IP地址,通常由 RJ-45接口组成;广域网接口用于连接外部网络,依靠广域网技术,使用三层IP地址。
路由器每个局域网端口都有mac地址
每个端口都可分配IP地址

路由器通常依靠内部的路由表来决定如何转发,路由表有以下三类。
(1)静态路由是由系统管理员事先设置好固定的路由,它不会随未来网络结构的改变而改变。
(2)动态路由是路由器根据网络系统的运行情况而自动调整的路径表。动态路由涉及内部网关协议(Interior Gateway Protocol,IGP)和外部网关协议(Exterior Gateway Protocol,EGP)。
(3)默认路由是一种特殊的静态路由。
在所有的路由中,静态路由优先级最高,动态路由通常作为静态路由的补充,当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。
路由器的功能是把数据包从一个接口转到另一个接口,当数据包到达路由器将做以下处理:剥离二层帧头,根据目的IP地址选出最佳路由,将数据包重新封装成帧,将帧转发出去。
路由器的工作原理:
数据包到达路由器
1、路由器把帧头剥掉,读取目标ip地址
2、取出目标地址网络号,拿到网络号之后与路由表做对比,如果从表中
找到对应的传递路径,接着就包封装成帧,从相应的端口,按照路由表中的路径传走了
4、如果路由表中没有此目的ip地址的传送路径,那么就把该包丢弃,并返回不可达息
下面我们以PC1和PC2之间的通信为例,来看一下数据包在路由器中的通信过程。
第1步,如下图所示,PC1将IP数据包封装成以太网帧,并将其目的MAC地址设为R1FastEthernet 0/0接口的MAC地
路由器每一个端口都有一个MAC地址
Pc1以太帧的目的MAC地址就是要经过的第一个路由器对应端口的mac地址

第2步,如下图所示,R1发现帧的目的mac地址是自己的MAC地址。

第3步,R1剥离以太网帧后检测目的IP地址,如下图所示。

第4步,如下图所示,R1根据目的IP地址192.168.4.10依次查找路由表项,在与路由表中的第四项进行比较时,首先用表项中的子网掩码与目的地址进行“与”运算,计算出网络地址为192.168.4.0,恰与表中第四项的网络地址匹配。
简单来说:就是把目的ip地址的网络号取出,因为路由器是根据网络号寻找路径的,
拿到网络号,就查询路由表是否已经设置过此网络号的路径,有的话就从指定端口送出,送给拥有下一站ip的设备

第5步,如下图所示,R1查询下一跳IP地址,更新目的地址,并用R2的MAC重新封装成帧。

第6步,如下图所示,R1将以太网数据包从接口Fa0/1转发出去。

第7步,如下图所示,R2发现帧的目的MAC地址是自己的MAC地址。

第8步,如下图所示,R2 剥离以太网帧头,检测目的IP地址。

第9步,如下图所示,R2在路由表中寻找目的IP地址。

第10步,如下图所示,R2更新目的地址,并用R3的MAC重新封装成帧。

第11步,如下图所示,R2将以太网数据包从接口S0/0转发出去。

第12步,如下图所示,R3接收PPP帧。

第13步,如下图所示,R3剥离PPP帧,检测目的IP地址。

第14步,如下图所示,R3在路由表中寻找目的IP地址。

第15步,如下图所示,R3的快速以太口直接连接到目的地址,更新目的地址,更新目的地址,并用PC2的MAC重新封装成帧。

第16步,如下图所示,数据包到达PC2。帧被剥离后继续检测上层协议。

下图是路由过程中的数据包交换示意图,大家需要注意的是,一个数据包从一台网络设备到另一台,端口号、源和目的IP地址在过程中不会改变,MAC地址会随之发生变化。这也是数通试题的一个常考知识点。

5.三层交换
近年来的对三层技术的宣传,耳朵都能起茧子,到处都在喊三层技术,有人说这是个非常新的技术,也有人说,三层交换嘛,不就是路由器和二层交换机的堆叠,也没有什么新的玩意,事实果真如此吗?二层交换技术是工作在OSI七层网络模型中的第二层,即数据链路层。它只需要数据包的物理地址即MAC地址,数据交换是靠硬件来实现的,其速度相当快。但是,它不能处理不同IP子网之间的数据交换。传统的路由器可以处理大量的跨越IP子网的数据包,但是它的转发效率比二层低,因此要想利用二层转发效率高这一优点,又要处理三层IP数据包,三层交换技术就诞生了。简单地说,三层交换就是二层交换技术+三层转发技术。
三层交换机是进行二层交换还是三层转发?
(1)相同网段内部的通信,通过二层功能完成互通。同网段的通信过程如图6.26所示。假设
两个使用IP协议的站点PC2、PC1通过三层交换机进行通信,发送站点PC2在开始发送时,就用子网掩码取得网络地址,把自己的IP地址与PC1的IP地址比较,判断是否在同一网段。如果在同一网段,但不知道转发数据所需的MAC地址,PC2就发送一个ARP(地址解析)请求,PC1返回其MAC地址,PC2用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口,进行二层的转发。

(2)不同网段的主机通信的时候,主机发现对方在不同的网段内,则主机就会自动借助网关来进行通信,主机首先通过ARP来查找设定的网关的MAC地址,然后把网关的MAC地址(而不是对方主机的MAC地址,因为主机认为通信对端不是本地主机)填入以太网帧头的目的MAC地址域中,将报文交给网关即三层交换机进行三层转发。不同网段的通信过程如上图所示。
根据以上规则,三层交换机根据以太网帧的目的MAC地址域的地址来判断是进行二层转发还是三层转发,如果是给某个VLAN指定的路由接口的MAC地址,则进行三层转发,否则在VLAN内部进行二层转发,如下图所示。

三层交换机的工作原理:pc机会把数据封装成帧以后,传递给三层交换机,三层交换就根据目的mac地址判断,目的机是否与发送机在一个网段内,如果在一个网段就进行二层交换,如果不在一个网段,就进行三层转发
6.四层交换
在OSI模型的第四层中,TCP和UDP标题包含端口号(Port Number),它们可以唯一区分每个数据包包含哪些应用协议(如HTTP、FTP等)。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础。
7.协议转换器
协议转换器简称协转,如下图所示,主要用于IEEE802.3协议的以太网接口、V.35数据接口和标准G.703协议的2M接口之间相互转换。

现有的协议转换器主要分为E1/以太网系列和E1/V.35系列,可以将以太网信号或V.35信号转换为E1信号,以E1信号形式在同步/准同步数字网上进行长距离传输,这样可以延长以太网信号和V.35信号的传输距离。
8.网关
从一个房间走到另一个房间,要经过一扇门,同样,从一个网络向另一个网络发送信息,也要经过一道门,这道门就是网关(Gateway)。网关是一个抽象的概念,可以指硬件(有时路由器也被称为网关),也可以指软件。网关可以分为很多种,其中我们最常用的是TCP/IP协议下的网关,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。通常指的网关就是路由器的IP。例如,有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192.168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或HUB)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。
4.4、路由表
路由是指导IP报文发送的路径信息,路由器根据报文的目的IP在路由表中查找去往目的网段的路由。IP路由表存储指导报文转发的最佳路径信息。
1.华为路由表
在华为路由表中,如下图所示,一条路由,常见的有目的网段/掩码、协议、优先级、开销、下一跳、出接口。其中协议、优先级、开销用于选择最优路由,目的网段/掩码、下一跳、出接口转发报文。

(1)Destination/Mask用来描述目的网段,路由表中不可能存储所有目的主机的地址信息,用Destination/Mask共同标识目的主机或路由器所在的网段的地址。
路由器的转发工作原理是最长匹配原则,即去往同一目的网段,如果仅有一条路由时,选择该路由,如果有多条路由时,选掩码最长的路由转发。如下图所示,数据包去往100.1.1.1时,选择的是100.1.1.0/24,而不是100.1.0.0/16。

(2)Protocol表示路由的来源。路由器运行路由协议,路由协议动态计算和更新路由表。路由器能够同时支持多个独立的路由选择协议,并同时为几个被路由的协议维护各自的路由选择表。主要有三类:直连、静态、动态路由。
直连路由(Direct):链路层协议发现,开销小,配置简单,无需人工维护。只能发现本接口所属网段的路由。
静态路由(Static):手工配置的路由,需人工维护,适合简单拓朴结构的网络。

如下图所示,我们可以使用IPROUTE命令来配置静态路由:IProute 129.1.0.0 16 10.0.0.2。16表示目标网络的掩码长度,10.0.0.2表示去往目标网络的报文所经由的下一个路由器(下一跳)的IP地址。该命令的作用是在路由器 Quidway A上配置到目标网络 129.1.0.0/16 的静态路由,此路径经过路由器 Quidway B,目标网络与路由器 Quidway B 的以太网口相连。
人工配置的缺省路由也是一种静态路由,是在没有找到匹配的路由时才被使用的路由。在路由表中,缺省路由以到网络0.0.0.0(掩码为0.0.0.0)的路由形式出现。在实际应用中,当去往其他网段只有唯一的出口(即网关),可配置下一跳为网关的缺省路由。缺省路由除了手工配置以外,还可能是动态路由协议下发的路由。
缺省路由的配置也使用命令IPROUTE ,并且命令的格式和参数都相同,但与普通静态路由的配置不同的是,缺省路由的目标网络的地址和掩码必须全部为零。

如上图所示,网络N只有一个到公网的出口,就是通过路由器Quidway B。于是可以通过配置缺省路由使得从网络N内可以访问公网内的所有网络,而不必逐个网络的配置静态路由。此时可以在路由器Quidway A上配置IProute 0.0.0.0 0.0.0.0 10.0.0.2。
动态路由协议:开销大,配置复杂,无需人工维护,适合复杂拓朴结构的网络。如RIP,OSPF,ISIS,BGP等。每台路由器将自己已知的路由相关信息发给相邻的路由器;传送的过程中保证信息正确可靠的传输;由于大家都这样做,最终每台路由器都会收到网络中所有的路由信息;运行特定算法,计算出最终的路由来。
(3)Preference表示路由表的优先级,用于比较不同路由协议发现的路由。各个路由协议都有自己的标准来衡量路由的好坏(有的采用下一跳次数、有的采用带宽、有的采用时延,一般在路由数据中用度量Metric来量化),并且每个路由协议都试图将自己认为是最好的路由送到路由表中,这样我们就有可能从不同的协议得到到达同一目标网络的不同路由。尽管每个路由协议都给出了度量值,但是由于各个协议所采用度量值的含意不同,它们之间没有可比性。这就需要有种策略来决定使用哪一条路由。按照策略,判断最优的路由,我们才将它加入路由表,利用它来进行包的转发。通常,我们使用路由优先级来判断不同路由协议所获得路由的好坏。每一种路由协议都有自己的优先级,当不同路由协议之间的路由发生冲突时,选择其中优先级最高的路由协议获得的路由。路由优先级是根据路由算法的优劣等因素得出的经验数值,也可以由网管员手动修改。
pre的数值越小,优先级越高,该条路由越可信。这就像你从北京去上海出差,是坐飞机、高铁,还是火车的问题。

如上图所示,三种路由协议 RIP、OSPF 、IGRP各自得到了一条到达目标网络10.0.0.0 的路由。我们假定三种协议之间的路由优先级的次序是OSPF > IGRP > RIP,则最终选定 OSPF 路由作为最优路由。
(4)Metric(Cost)表示路由的开销,到达路由所指的目的地的代价。其值越小,越优先。用于优选同一种路由协议发现的多条路由,即存在等值路由。这就像你出差从北京去上海,已经选择好了坐飞机,然后看哪一航班价格优惠的问题。
如下图所示,各“段”开销已标明,假设总开销的计算公式是简单“加”。PC1到PC2有两条路:Path1 A→B→C→D,总开销是1+2+5+2+1=11;Path2 A→E→F→C→D总开销是1+6+3+1+2+1=14。

优选较小的总开销Path1 PC1→A→B→C→D→PC2。
(5)Interface,即接口,是本端接口,即数据包从本端哪个接口发出去。
(6)Nexthip,即下一跳地址,指的是互联的对端的路由器的端口,而不是本端端口。
2.中兴路由表
如下图所示,中兴路由表和华为路由表大致一样。其中Gw和华为路由表的Nexthip下一跳地址对应,Ower表示路由的来源对应华为路由表的Protocol。

3.电脑路由表
在电脑开始/运行中输入cmd,在之后的弹出框中输入“route print”命令,可以调出路由表,如下图所示。

Active Routes:活动的路由。Network Destination:目的网段 。Netmask:子网掩码 。Gateway:下一跳路由器入口的Ip。Interface:到达该目的地的本路由器的出口IP。路由器通过interface和gateway定义一条到下一个路由器的链路,通常情况下,interface和gateway是同一网段的,特殊情况下gateway可以不在当前interface的网段上,比如配置递归寻路的情况下。Metric:跳数。该条路由记录的质量,一般情况下,如果有多条到达相同目的地的路由记录,路由器会采用metric值小的那条路由,如果同时连接了有线和无线网络,一般有线是20,无线是30;Persistent Routes:手工配置的静态固化路由,即时重启也不会消失。
第一条缺省路由:意思是说,当一个数据包的目的网段不在你的路由记录中,那么,你的路由器该把那个数据包发送到哪里。缺省路由的网关是由你连接上的default gateway决定的。该路由记录的意思是:当我接收到一个数据包的目的网段不在我的路由记录中,我会将该数据包通
过10.1.1.2这个接口发送到10.1.1.100这个地址,这个地址是下一个路由器的一个接口,这样这个数据包就可以交付给下一个路由器处理,与我无关。该路由记录的线路质量 20 。
第二条直连网段的路由记录:当路由器收到发往直连网段的数据包时该如何处理,这种情况,路由记录的interface和gateway是同一个。当我接收到一个数据包的目的网段是10.1.1.0时,我会将该数据包通过10.1.1.2这个接口直接发送出去,因为这个端口直接连接着10.1.1.0这个网段,该路由记录的线路质量 20。
第三条本地主机路由:当路由器收到发送给自己的数据包时将如何处理。当我接收到一个数据包的目的网段是10.1.1.2时,我会将该数据包收下,因为这个数据包是发送给我自己的,该路由记录的线路质量20。
第四条本地广播路由:当路由器收到发送给直连网段的本地广播时如何处理 。当我接收到广播数据包的目的网段是10.255.255.255时,我会将该数据从10.1.1.2接口以广播的形势发送出去,该路由记录的线路质量20 。
第五条本地环路:127.0.0.0这个网段内所有地址都指向自己的机器,如果收到这样一个数据,应该发向哪里,该路由记录的线路质量1。
第六条~第十一条:类似上面的解释,本机上其他网卡的路由。
第十二条~第十四条组播路由:当路由器收到一个组播数据包时该如何处理 。当我接收到组播数据包时,我会将该数据从10.1.1.2,192.168.64.1,192.168.217.1接口以组播的形势发送出去,该路由记录的线路质量20,该路由记录的线路质量1。
第十五条~第十八条广播路由:当路由器收到一个绝对广播时该如何处理。当我接收到绝对广播数据包时,将该数据包分别通过10.1.1.2,192.168.64.1,192.168.217.1发出去。
默认网关:10.1.1.100。
固化路由:没有,如果用route add-p参数添加静态路由,机器即使重启后仍然存在,显示在这个地方。
4.5 路由协议

回到路由协议。
路由协议作为TCP/IP协议族中重要成员之一,其选路过程实现的好坏会影响整个网络的效率。按应用范围的不同,路由协议可以分为内部路由协议(IGP)和外部路由协议(EGP),RIP2、OSPF、IS-IS、EIGRP都属于内部路由协议,BGP是唯一的一种外部路由协议。

4.5.1、 RIP2和RIPng协议
史上最简单的动态路由协议叫作RIP,它被称为“距离向量协议”,目前我们使用其升级版RIP2。我们说某个路由协议是简单还是复杂,其中一个判断依据就是该路由协议所规定的“路径综合成本”算法的复杂度。而RIP2的路径成本算法是最简单的一个。
在RIP2中,路由器每隔30秒钟就将所谓的“距离向量”信息发送到相邻路由器,路由表只存储到目的站点的最佳路径的下一跳地址。RIP2选择最佳路径,将以最小路由器跳数为依据。比如路由器A到达路由器B,有2条路,一条经过10台路由器,一条经过8台路由器,RIP2协议将确定A中的IP包要到达B,经过第二条路径。
RIP2允许最大跳数为15跳(Hop,就是通过的网络节点数),超过15跳被认为是不可达的。新的基于IPv6的RIP协议RIPng,在信息格式和地址相关方面比RIP2有所加强。
简单的优点,是简单;缺点,也是简单。
对于庞大的IP网络,仅仅靠“跳数”这一距离参数来选择路由,在很多时候会显得有点应付差事。还是刚才的例子,路由器A到达路由器B的路径1,看似跳数较多,但如果带宽比路径2大很多,这种情况RIP2作何感想?
没法办。RIP2依然会倔强地选择路径2。而事实上我们很容易判断,路径2并非最优解。
因此,RIP适合于较小的网络内,或者在大的IP网络的边缘。真正能担当大网路由任务的,还得是OSPF和IS-IS。

4.5.2、 IS-IS协议
由于IS-IS协议相对简单,可扩展性好的原因,已经在电信运营商的网络中得到了大规模的应用。目前的IP承载网,路由协议大部分使用IS-IS协议。
2.IS-IS概述
IS-IS(Intermediate System-to-Intermediate System,中间系统到中间系统)是一种路由选择协议,IS(Intermediate System,中间系统)就是IP网络中的路由器。IS-IS本来是为OSI七层模型中的第三层CLNS(Connectionless Network Service,无连接网络服务)设计的,使用CLNS地址来标识路由器,并使用PDU(Protocol Data Unit,协议数据单元,网络层PDU相当于IP报文)进行信息沟通。OSI与IP术语对照关系如下图所示。

在ISO规范中,一个路由器就是一个IS(Interactive System,中间系统),一个主机就是一个ES(End System,末端系统)。那么一个自治域可以理解为许多中间系统被许多末端系统包围着,许多末端系统被许多中间系统连接起来。
提供IS和ES(路由器和主机)之间通信的协议,就是ES-IS;提供IS和IS(路由器和路由器)之间通信的协议(也就是路由协议),叫作IS-IS。
IS-IS是目前应用最广泛的内部网关路由协议,中国联通的AS4837网、AS9929网,中国电信的AS4134网等,都采用IS-IS协议。随着IP网络的蓬勃发展,IS-IS被扩展应用到IP网络中,扩展后的IS-IS协议被称为集成IS-IS(Integrated IS-IS)协议,集成IS-IS协议可以支持纯CLNP(Connectionless Network Protocal,无连接网络协议)网络,或者纯IP网络,或者同时运行CLNP和IP的双重环境。由于现实环境中IP网络的广泛使用,通常我们在日常使用中说的“IS-IS”就是指扩展后的“集成IS-IS”。
IS-IS支持点到点网络和广播型网络,对于广播型网络涉及到的DIS(Designated IS,指定中间系统,)选举和LSP(Link state Protocol Data Unit,链路状态协议数据单元)在广播型网络中的泛洪等不做详细讲解,在后文中如无特别说明,均指点到点网络。
前面已经说到,IS-IS是一种使用链路状态算法的路由协议,这类路由协议通常收集网络内的节点和链路状态信息,构建出一个链路状态数据库,然后运行SPF(Shortest Path First,最短路径优先)算法计算出达到已知目标的最优路径。首先我们先看看IS-IS是怎么样去标识一个节点的。
3.NET地址
NET地址是采用IS-IS协议的路由器的唯一标识
还有一个route id 是采用OSPF协议的路由器的唯一标识
在讲解IS-IS协议对网络节点的标识之前,首先补充一下Loopback接口的知识。通常我们在完成网络规划之后,为了方便管理,会为每一台路由器创建一个Loopback接口,并在该接口上单独指定一个IP地址作为管理地址,Loopback接口是一个类似于物理接口的逻辑接口,即软接口,它的特点是只要设备不宕机,该接口就始终处于UP状态,经常用于线路的环回测试中,或使用该地址对路由器远程登录(Telnet),因此该地址实际上起到了类似设备名称一类的功能。
动态路由协议OSPF、BGP 在运行过程中需要为该协议指定一个Router ID(Router ID的概念在下一结OSPF中还会介绍),作为此路由器的唯一标识,并要求在整个自治系统内唯一。由于Router ID是一个32位的无符号整数,这一点与IP地址十分相像。而且IP地址是不会出现重复现象的,所以通常将路由器的Router ID指定为与该设备上的某个接口的地址相同。由于Loopback 接口的IP地址通常被视为路由器的标识,所以也就成了Router ID的最佳选择。因此动态路由协议OSPF、BGP一般使用该接口地址作为Router ID。在IS-IS中,又是怎么个情况呢?
由于IS-IS协议本身是为CLNS设计的,因此虽然已经扩展应用到IP网络中,但仍然需要使用CLNS地址对路由器进行标识,在OSI模型中CLNS地址叫NSAP(Network Service Access Point,网络服务访问点,对应TCP/IP协议集中的IP地址),而用于标识网络节点的特殊NSAP叫NET(Network Entity Title,网络实体标识)地址。
与IP地址长度固定为4个字节不同,NET地址的长度在8~20字节可变,NET地址可以分成三段,如下图所示。
Area ID(区域地址):这一段标识路由器所在的区域,长度在1~13字节可变。由于IS-IS中区域是以路由器为边界,因此,1个路由器的每个接口上的区域ID都是一样的。在IS-IS中,1个路由器最多可以具有3个区域ID,这样对区域中的过渡是很有用的。
如果一组路由器有相同的区域ID,那么它们属于同一区域。如果一台IS-IS路由器属于多个区域,可以配置多个具有不同区域ID和相同SysID的NSAP。
SYSTEM ID:这一段在一个AS里唯一标识一个路由器,可以看作路由器的“身份证”,长度固定为6字节。
SEL(或NSEL,N选择器):这一段用于标识IS-IS应用的网络,长度固定为1字节。
当该段设置为0时,用于IP网络。
在IS-IS的世界中,所有的NET地址必须遵从如下限制。
一个中间系统(路由器)至少有一个NET(所有NET必须有相同的System ID,但由于一个中间系统可以同时有3个Area ID,因此实际中最多可以有3个NET),不同的两个中间系统不能具有相同的NET 。
一个路由器可以有一个或多个Area ID,多NET设置只有当区域需要重新划分时才需要使用,例如多个区域的合并或者将一个区域划分为多个不同的区域。这样可以保证在进行重新配置时仍然能够保证路由的正确性。
NET地址至少需要8个字节:1个字节的区域地址,6个字节的系统标识和1个字节的N 选择器,最多为20个字节。

由于IS-IS系统使用这个特别的NET地址进行网络节点的标识,因此在使用IS-IS协议的网络中,一台路由器除了用Router ID(通常使用逻辑接口Loopback0)地址进行标识外,还多了一个NET地址。
4.IS-IS的分层
网络中的每个节点都分配一个NET地址,链路连接完成后,路由器和路由器之间就可以找邻居了。在这之前,我们先了解一下IS-IS的分层结构。
前面说到,IS-IS是一种IGP,使用于一个AS(自治系统)内,但AS是一个逻辑定义,范围可大可小,打个比方,广西壮族自治区可以看做一个AS,三江侗族自治县也可以看作一个AS,我们管理一个像广西这么大的AS时,通常需要将他进一步划分为市、县进行管理,对于IS-IS网络也有这样的分区域、分层管理需求。
IS-IS支持网络划分区域和层次,但IS-IS仅仅支持两种分层。
(1)Level-1:普通区域(Areas),也叫Level-1(L1)。
(2)Level-2 :骨干区域(Backbone),也叫Level-2(L2)。
在IS-IS中,路由器必须属于某个特定的区域,普通区域内只保存区域内L1的数据库信息。骨干区域内既有L1数据库又有L2数据库信息。同一区域内的路由器交换信息的节点组成1层(L1),区域内的所有L1路由器知道整个区域的拓扑结构,负责区域内的数据交换。区域之间通过L12路由器相连接,各个区域的L12路由器与骨干L2路由器共同组成骨干网,是2层(L2),L12负责区域间的数据交换(对于一个要送往另一个区域的数据报,不管它的目的区域到底在哪)。

如上图所示,可以看到在分区域、分层结构中,有三种不同的路由器角色,包括L1路由器、L2路由器和L12路由器。
(1)L1路由器。
只与本区域的路由器形成邻居;只参与本区域内的路由,只保留本区域的数据库信息;通过与自己相连的L1/2路由器的ATT bit寻找与自己最近的L1/2路由器;通过发布指向离自己最近的L1/2路由器的缺省路由,访问其他区域。
(2)L2路由器。
可以与其他区域的L2路由器形成邻居;参与骨干区的路由;保存整个骨干区的路由信息;L1/2路由器同时可以参与L1路由。
(3)L12路由器。
可以和本区域的任何级别路由器形成邻居关系;可以和其他区域相邻的L2或L1/L2路由器形成邻居关系;可能有两个级别的链路状态数据库;L1用来作为区域内路由;L12用来作为区域间路由;完成它所在的区域和骨干之间的路由信息的交换,将L1数据库中的路由信息转换到L2数据库中,以在骨干中传播,既承担L1的职责也承担L2的职责;通常位于区域边界上。
5.IS-IS协议的工作原理
(1)建立邻接关系。
“找啊找啊找朋友,找到一个好朋友,敬个礼啊握握手……”,这首《找朋友》大家是不是很熟悉呢?在IS-IS中,路由器之间首先要做的就是“找朋友”,用数据通信的术语来讲就叫“建立邻接关系”。
两台运行IS-IS的路由器在交互协议报文实现路由功能之前必须首先建立邻接关系,建立邻接关系需要遵循以下基本原则。
只有同一层次的相邻路由器才有可能成为邻接体,L1路由器只能和L1路由器或L12路由器建立L1邻接关系,L2路由器只能和L2路由器或L12路由器建立L2邻接关系,L12路由器和L12路由器可以建立L1、L2邻接关系。这里要特别注意L1邻接关系和L2邻接关系是完全独立的,两台L12路由器之间可以只形成L1邻接关系,也可以只形成L2邻接关系,还可以同时形成L1邻接关系和L2邻接关系。
形成L1邻接关系要求区域号(Area ID)一致。
一般而言,建立邻接关系的接口IP地址只能在同一网段。这点在IS-IS的原理上并不要求,但通常华为设备会进行检查。
相邻路由器互相发送Hello报文,验证相关参数后即可建立邻接关系。
(2)链路状态信息泛洪。
泛洪(Flooding)这个词大家可能经常会听到,有的地方也称为洪泛,这个词描述的就是链路状态信息在整个网络的传播,节点将某个接口收到的数据流从除该接口之外的所有接口发送出去,这样任何链路状态信息的变化都会像洪水一样,从一个节点瞬间传播到整个网络中的所有节点。下面我们来看看这个过程是怎么完成的。
发生链路状态变化的节点产生一条新的LSP(Link state PDU,链路状态协议数据单元),并通过链路层组播地址发送到自己的邻居。LSP描述一个节点的链接状态,通常包含LSP ID、序列号、剩余生存时间、邻居、接口、IP内部可达性(与该路由器直接连接的路由域内的IP地址和掩码)和IP外部可达性(该路由器可以到达的路由域外的IP地址和掩码)等信息。
邻居收到了新的LSP,将该LSP与自己数据库中的LSP进行序列号等方面比较,发现收到的LSP为更新的LSP,将新的LSP安装到自己的LSP数据库中标记为flooding,并通过PSNP(Partial Sequence Numbers PDU,部分时序协议数据单元)进行确认。
邻居将新的LSP发送给自己所有的邻居,就这样一条新的LSP就从网络节点的邻居,扩散到邻居的邻居,然后进一步扩散在网络中完成泛洪。由于IPRAN中进行多进程IGP部署,单进程内路由器数量不多,通常完成一次泛洪的时间很短。
链路状态信息泛洪在IS-IS协议中的作用非常重要,因为IS-IS协议依靠泛洪来达到各个节点链路状态数据库的一致性,就好像所有的地点都拿到同样的一张地图。如果无法保证数据一致性,甲的地图指示A地点应该往乙那边走,而乙的地图指示A地点应该往甲那边走,就容易造成循环,最终导致数据包被丢弃。
(3)计算路径
一个网络节点完成链路状态数据库的构建和更新后,就可以根据SPF算法进行路径计算。SPF算法基于Dijkstra(迪科斯彻)算法,这种算法把每一台路由器都作为“根(Root)”来计算其到每一个目的地路由器的距离,每一台路由器将根据一个统一的数据库,计算出AS的拓扑结构图,这个结构图类似于一棵树——注意,这是从这台路由器的视角观察到的拓扑图,并非实际的拓扑图,这就是著名的“最短路径树”。最短路径树的树干长度,即路由器至每一个目的地路由器的“距离”,就是我们前面提到的“路由成本”。
下图所示的例子就是路由器A(RTA)计算出的最小生成树,从最小生成树上可以算出路由器A到其他所有节点的度量值。

4.5.1、OSPF协议
1.OSPF概述
路由协议OSPF全称为Open Shortest Path First,开放式最短路径优先协议,因为OSPF是由IETF开发的,它的使用不受任何厂商限制,所有人都可以使用,所以称为开放的,而最短路径优先(SPF)是OSPF的核心思想。
OSPF是一个内部网关协议,用于在单一自治系统(AS)内决策路由。与IS-IS协议类似,OSPF也是一个基于链路状态算法的IGP。
OSPF协议具有如下特点。
(1)适应范围广:OSPF支持各种规模的网络,最多可支持几百台路由器。
(2)携带子网掩码:由于OSPF在描述路由时携带网段的掩码信息,所以OSPF协议不受自然掩码的限制,对VLSM提供很好的支持。
(3)支持快速收敛:如果网络的拓扑结构发生变化,OSPF立即发送更新报文,使这一变化在自治系统中同步。
(4)无自环:由于OSPF通过收集到的链路状态用最短路径树算法计算路由,故从算法本身保证了不会生成自环路由。
(5)支持区域划分:OSPF协议允许自治系统的网络被划分成区域(区域的概念在后面会介绍)来管理,区域间传送的路由信息被进一步抽象,从而减少了占用网络的带宽。
(6)支持路由分级:OSPF使用4类不同的路由,按优先顺序来说分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。
(7)支持等值路由:OSPF支持到同一目的地址的多条等值路由,即到达同一个目的地有多个下一跳,这些等值路由会被同时发现和使用。
(8)支持验证:它支持基于接口的报文验证以保证路由计算的安全性。
(9)组播发送:OSPF在有组播发送能力的链路层上以组播地址发送协议报文,即达到了广播的作用,又最大程度的减少了对其他网络设备的干扰。
在以上9个特点中,除了第5条的区域划分以及第6条的路由分级与IS-IS有些不同外,其他的特点IS-IS也同样具备。
2.Router ID
每一个OSPF路由器都必须有一个唯一标识,就相当于人的身份证,这就是Router ID,每一台OSPF路由器只能有一个Router ID,且在网络中不能重名,Router ID定义为一个4字节(32比特)的整数,通常使用IP地址的形式来表示,确定Router ID的方法如下。
(1)手工指定Router ID。现网应用中一般将其配置为该路由器的loopback0地址的IP地址。由于IP地址是唯一的,所以这样就很容易保证Router ID的唯一性。譬如路由器A的loopback0地址为10.11.101.1,Router ID一般也配置为10.11.101.1。这是日常网络规划常用的方法。
(2)路由器上活动Loopback接口中IP地址最大的,也就是数字最大的,如C类地址优先于B类地址,一个非活动的接口的IP地址是不能被选为Router ID的。如果没有活动的Loopback接口,则选择活动物理接口IP地址最大的。这种方法在日常网络中较少使用。
注:如果一台路由器收到一条链路状态,无法到达该Router ID的位置,就无法到达链路状态中的目标网络。Router ID只在OSPF启动时计算,或者重置OSPF进程后计算。
3.OSPF的分层
对于规模巨大的网络,OSPF通常将网络划分成多个OSPF区域(Area),并只要求路由器与同一区域的路由器交换链路状态,而在区域边界路由器上交换区域内的汇总链路状态,这样可以减少传播的信息量,且使最短路径计算强度减少。在区域划分时,必须要有一个骨干区域(Backbone Area),其他常规区域(Normal Area)与骨干区域必须要有物理或者逻辑连接。所有的常规区域应该直接和骨干区域相连,常规区域只能和骨干区域交换LSA(Link State Advertisement,链路状态通告),常规区域与常规区域之间即使直连也无法互换LSA。
区域的命名可以采用整数数字,如1、2、3、4,也可以采用IP地址的形式,0.0.0.1、0.0.0.2,区域0(或者可以表示为0.0.0.0)就是骨干区域。
如下图中Area 1、Area 2、Area 3、Area 4只能和Area 0互换LSA,然后再由Area 0转发,Area 0就像是一个中转站,两个常规区域需要交换LSA,只能先交给Area 0,再由Area 0转发,而常规区域之间无法互相转发。

当有物理连接时,必须有一个路由器,它的一个接口在骨干区,而另一个接口在非骨干区。当非骨干区不可能物理连接到骨干区时,必须定义一个逻辑的或虚拟链路,虚拟链路由两个端点和一个传输区来定义,其中一个端点是路由器接口,是骨干区域的一部分,另一端点也是一个路由器接口,但在与骨干区没有物理连接的非骨干区域中。传输区是一个区域,介于骨干区域与非骨干区域之间。
OSPF的分层与IS-IS的分层既有相似之处,又有一定的不同。
(1)在IS-IS中,一台路由器只能归属一个区域,如果要归属多个区域必须在路由器上配置多个区域ID。而在OSPF中,一台路由器的多个接口可以归属多个不同的区域。
(2)在OSPF中,非骨干区域可以进一步细分为多种类型,包括非末梢区域、末梢区域(Stub Area),末梢区域又分成完全末梢区域(Totally Stub Area)和非纯末梢区域(Not So Stub Area,NSSA),其中完全末梢区域对应于IS-IS中的L1区域。在IPRAN接入层应用OSPF的情况中,一般将接入环路定义为完全末梢区域。

从上图可以看到,如果一台OSPF路由器属于单个区域,即该路由器所有接口都属于同一个区域,那么这台路由器称为内部路由器(Internal Router,IR);如果一台OSPF路由器属于多个区域,即该路由器的接口不都属于一个区域,那么这台路由器称为区域边界路由器(Area Border Router,ABR),ABR可以将一个区域的LSA汇总后转发至另一个区域;如果一台OSPF路由器将外部路由协议重分布进OSPF,那么这台路由器称为自治系统边界路由器(Autonomous System Boundary Router,ASBR),但是如果只是将OSPF重分布进其他路由协议,则不能称为ASBR。
由于OSPF有着多种区域,所以OSPF的路由在路由表中也以多种形式存在,共分以下几种:如果是同区域的路由,叫作Intra-Area Route,在路由表中使用O来表示;
如果是不同区域的路由,叫作Inter-Area Route或Summary Route,在路由表中使用O IA来表示;如果并非OSPF的路由,或者是不同OSPF进程的路由,只是被重分布到OSPF的,叫作External Route,在路由表中使用O E2或OE 1来表示。
当存在多种路由可以到达同一目的地时,OSPF将根据先后顺序来选择要使用的路由,所有路由的先后顺序为
Intra-Area→Inter-Area→External E1→External E2,即 O→O IA→O E1→O E2。
4.OSPF的工作原理
与IS-IS相类似,OSPF的工作原理也可以分成三步,建立邻接关系、泛洪链路状态信息和计算路径。
(1)建立邻接关系。
通过互相发送Hello报文,验证参数后建立邻接关系。其主要的参数包括区域ID、接口IP地址网段、Hello时间间隔,路由器无效时间间隔(相当于IS-IS中的抑制时间)、认证信息等,OSPF要求邻居之间Hello时间间隔、路由器无效时间间隔相同,而IS-IS并不强制要求。
(2)链路状态信息泛洪。
OSPF链路状态信息泛洪过程与IS-IS类似,通过IP报文组播对各种LSA进行泛洪,LSA和IS-IS协议中的LSP类似但并不完全相同,OSPF协议中的LSA就是OSPF接口上的描述信息,描述接口上的IP地址、子网掩码、网络类型、Cost值等信息。
OSPF路由器会将自己所有的链路状态毫不保留地全部发给邻居,邻居将收到的链路状态全部放入LSDB(Link-State Database,链路状态数据库),邻居再发给自己的所有邻居,并且在传递过程中,不做更改。通过这样的过程,最终网络中所有的OSPF路由器都拥有网络中所有的链路状态,并且所有路由器的链路状态应该能描绘出相同的网络拓扑。这个过程的关键点在于,要防止形成路由信息的循环,就是老张告知老李了,老李又把老张的信息告知老张,常识告诉我们,这是没有必要的,并且会造成死循环!幸运的是,LSA在设计机制上已经规避了这种死循环。
这里再举个例子,例如现在要计算一段北京地铁的线路图,如果不直接将该图给别人看,图好比是路由表,现在只是报给别人各个站的信息,该信息好比是链路状态,通过告诉别人各个站左边一站是什么,右边一站是什么,别人也能通过该信息(链路状态),画出完整的线路图(路由表)。
★五道口-站(下边一站是知春路,上边一站是上地)
★知春路-站(下边一站是大钟寺,上边一站是五道口)
★大钟寺-站(下边一站是西直门,上边一站是知春路)
★西直门-站(上边一站是大钟寺)
还原线路图(路由表)如下。
根据分析以下两站信息(两条链路状态):
★大钟寺-站(下边一站是西直门,上边一站是知春路)
★西直门-站(上边一站是大钟寺)
计算得出线路为西直门-大钟寺-知春路。
再根据如下两站信息(链路状态):
★五道口-站(下边一站是知春路,上边一站是上地)
★知春路-站(下边一站是大钟寺,上边一站是五道口)
计算这部分线路为知春路-五道口-上地。
通过以上各部分的线路,很轻松地就画出该段地铁线路图为西直门-大钟寺-知春路-五道口-上地。
从以上计算过程可以知道,因为得到各站的信息,就能画出整条线路图,而OSPF也同样根据路由器各接口的信息(链路状态),计算出网络拓扑图,OSPF之间交换链路状态,就像上面交换各站信息,OSPF的智能算法比距离矢量协议对网络有更精确的认知。
在这个泛洪过程中,OSPF和IS-IS非常类似,但我们还是可以注意OSPF和IS-IS的又一点区别,IS-IS协议报文如LSP报文是直接封装在链路层报文上的,而OSPF协议报文如LSA报文是封装在IP数据包里的,OSPF的协议号是89。
(3)计算路径。
OSPF同样基于Dijkstra算法进行最小生成树计算,各个路由器都开始计算到达所有本AS内所有网段的最短路径,并编写一条条路由表项。
比如路由器S知道,要到达路由器A的直连网段W.X.Y.0/24,必须先从自己的端口s1出发(s1与路由器T直连),经过4跳(哪4跳,路由器S并不十分关心,只知道最后一跳将到达路由器A);在路由器T上的与路由器S直连的端口t1,其IP地址是202.34.55.27/24,则是路由器S到达211.33.88.0/24网段的“下一跳地址”,那么路由器S上的路由表将增加这样一项:
211.33.88.0 255.255.255.0 202.34.55.27/24
读者们可以想象,当所有的路由器都经过上述步骤,获得了所有的路由表项,整个网络将“趋于平稳”。当有IP包从任何路由器进入网络,根据其目的地址,查找自己对应的路由表项,就可以进行转发了。
当网络状态比较稳定时,网络中传递的链路状态信息是比较少的,或者可以说,当网络稳定时,网络是比较“安静”的。这也正是链路状态路由协议区别于距离向量路由协议的一大特点。
在本阶段,需要关注的是OSPF中对于接口度量值(COST)的定义,OSPF的度量值为16位整数,接口度量取值为1~1024,路径度量取值范围为1~65535,该值越小越好。默认情况下,OSPF使用以下公式对接口度量值自动进行计算:
度量值=108/接口速率(接口速率以bit/s为单位)
也就是,百兆以太网接口的度量值为1,由于度量值不能取小数,因此千兆以太网等更高速率的接口度量值也只能为1。
如果路由器要经过两个接口才能到达目标网络,两个接口的开销值要累加起来,在累加时,只计算出接口,不计算进接口,累加之和为到达目标网络的度量值。到达目标网络如果有多条开销相同的路径,可以执行负载均衡,OSPF最多允许6条链路同时执行负载均衡。
OSPF可以按照上述方式自动计算接口上的开销值,也可以通过手工指定该接口的开销值,手工指定的优先于自动计算的值。由于网络流量规划的需要,在实际部署中一般使用手工指定。

第五章节
TCP/IP命令
5.1、Ping命令
Ping对老鸟来说,实在太普通不过了,几乎每天都会用到它,而对于新手来说,多多少少会有点陌生,作为常用的一个工具,了解它非常必要。Ping来源于物理学,是用来测声纳脉冲的回应情况的,在网络中是一种关于协议的常用工具,主要用来检测分析网络连接的状况。
当你对着前方大声喊叫,如果你听到回声,就能确定对面有阻挡物。根据你喊叫的声音和回声之间的时间差,你就能确定阻挡物距离你的距离。
那么Ping命令也就运用了这一原理。
据说,Ping命令是互联网时代DOS系统中使用频率最高的命令之一,因为我们运行Windows的资源管理器,就可以做绝大部分DOS命令能做的工作,如对磁盘文件的处理,但和TCP/IP网络有关的许多操作,用DOS命令行的方式更加直观,例如:
ping 202.102.7.1
ping www.sina.com.cn
其他操作系统,比如LINUX、UNIX、Solaris,命令与此相似。
选项:
-t Ping 指定的主机,直到停止。
若要查看统计信息并继续操作,请键入 Ctrl+Break;
若要停止,请键入 Ctrl+C。
-a 将地址解析为主机名。
-n count 要发送的回显请求数。
-l size 发送缓冲区大小。
-f 在数据包中设置“不分段”标记(仅适用于 IPv4)。
-I TTL 生存时间。
-v TOS 服务类型(仅适用于 IPv4。该设置已被弃用,
对 IP 标头中的服务类型字段没有任何
影响)。
-r count 记录计数跃点的路由(仅适用于 IPv4)。
-s count 计数跃点的时间戳(仅适用于 IPv4)。
-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。
-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。
-w timeout 等待每次回复的超时时间(毫秒)。
-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。
根据 RFC 5095,已弃用此路由标头。
如果使用此标头,某些系统可能丢弃
回显请求。
-S srcaddr 要使用的源地址。
-c compartment 路由隔离舱标识符。
-p Ping Hyper-V 网络虚拟化提供程序地址。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
5.2、Traceroute命令
互联网中,信息的传送是通过网中许多段的传输介质和设备(路由器,交换机,服务器,网关等)从一端到达另一端。每一个连接在Internet上的设备,如主机、路由器、接入服务器等一般情况下都会有一个独立的IP地址。通过Traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(Source)到达某一同样的目的地(Destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。Traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备Traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址。
Traceroute是追踪路径的命令。在英文里,Trace是“追踪、追寻”的意思。既然是追踪、追寻,就要有所反馈,而Traceroute的特点,就是“一步一回头”。Tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间。命令功能同ping类似,但它所获得的信息要比ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。
Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器… traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?
Traceroute在送出UDP datagrams到目的地时,它所选择送达的port number 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute 收到这个消息时,便知道目的地已经到达了。所以traceroute 在Server端也是没有所谓的Daemon 程式。
Traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析。每次 ,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间。 1.命令格式:
traceroute [参数] [主机]

2.命令功能:
traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
具体参数格式:traceroute [-dFlnrvx][-f<存活数值>][-g<网关>…][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]
3.命令参数:
-d 使用Socket层级的排错功能。
-f 设置第一个检测数据包的存活数值TTL的大小。
-F 设置勿离断位。
-g 设置来源路由网关,最多可设置8个。
-i 使用指定的网络界面送出数据包。
-I 使用ICMP回应取代UDP资料信息。
-m 设置检测数据包的最大存活数值TTL的大小。
-n 直接使用IP地址而非主机名称。
-p 设置UDP传输协议的通信端口。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-s 设置本地主机送出数据包的IP地址。
-t 设置检测数据包的TOS数值。
-v 详细显示指令的执行过程。
-w 设置等待远端主机回报的时间。
-x 开启或关闭数据包的正确性检验。

如上:
第一列是序号
第每次测试的时间(ms)和设备的名称(如有的话)及其IP地址
Traceroute命令有什么实际用途呢?
试想,庞大的网络发生故障,节点A到一节点Z的道路很不畅通,但是并非完全不通。我们需要知道,A到Z,IP包走的哪条路。如果我们通过Traceroute获知,路径是A-B-C-D-Z,那么可以判断出,A-B、B-C、C-D、D-Z,以及B-A、C-B、D-C、Z-D,这8条路径, 至少有一条是不顺畅的,接下来就可以借助多种方式判断究竟是哪条路径发生了拥塞。这有利于快速排查故障,让整个网络通畅起来。
另外,需要说明的是Traceroute也有不同的叫法,在UNIX系统中,我们称之为Traceroute,而在Windows中为tracert。默认情况下,tracert是向目的地址发出ICMP请求回显数据包,而traceroute是向目的地址的某个端口(大于30000)发送UDP数据包。两者用于探测的数据类型不同。但它们也有一个共同点,都是通过设置发送包的TTL的值从1开始、逐次增1的方法来探测。
假如我们身处某个大公司的网络中,而这个公司的网络很混乱,路由器接着路由器,连成一串。如果这时你发现你的WIN7系统的电脑无法上网,那么多个路由器,相信你找那台出现问题的路由器会找到你崩溃。这个时候tracert命令就可以派上用场了,我们可以直接发送命令:“tracert baidu.com”,回显中会显示你连接网络所经过的每台路由器,你只需记住回显数据在哪个IP地址处停下来了,那么这台路由器就是有问题的路由器。
5.3、 Netstat命令
Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况命令格式:netstat [-r] [-s] [-n] [-a]。
参数含义:
-r 显示本机路由表的内容;
-s 显示每个协议的使用状态(包括TCP协议、UDP协议、IP协议);
-n 以数字表格形式显示地址和端口;
-a 显示所有主机的端口号。
在Windows 2000/XP/Server 2003中依次单击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口,键入“netstat-a-n”,按下回车键后可以显示当前正在活动的网络连接的详细信息,如采用的协议类型、当前主机与远端相连主机的IP地址以及它们之间的连接状态,其中包括以数字形式显示的TCP和UDP连接的端口号。如果端口被封了,相应的程序就不能运行了,例如封了3076端口后,你用迅雷就不能下载大片了。

可以清楚的查看到每个端口的上网情况。
我们再来查看一下linux系统中命令的执行情况

1、Active Internet connections 有源TCP连接,其中"Recv-Q"和"Send-Q"指接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
2、Active UNIX domain sockets 有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
列名解释:
Proto:显示连接使用的协议。
RefCnt:表示连接到本套接口上的进程号。
Types:显示套接口的类型。
State:显示套接口当前的状态。
Path:表示连接到套接口的其它进程使用的路径名。
常用netstat相关命令
1、列出所有端口 #netstat -a
2、列出所有 tcp 端口 #netstat -at
3、列出所有 udp 端口 #netstat -au
4、只显示监听端口 #netstat -l
5、只列出所有监听 tcp 端口 #netstat -lt
6、只列出所有监听 udp 端口 #netstat -lu
7、列出所有监听 UNIX 端口 #netstat -lx
8、显示所有端口的统计信息 #netstat -s
9、显示 TCP 或 UDP 端口的统计信息 #netstat -st 或 -su
10、 输出中显示 PID 和进程名称 #netstat -p
11、netstat 输出中不显示主机,端口和用户名 (host, port or user)
当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。
同样可以加速输出,因为不用进行比对查询。
#netstat -an
如果只是不想让这三个名称中的一个被显示,使用以下命令

netsat -a --numeric-ports

netsat -a --numeric-hosts

netsat -a --numeric-users

12、持续输出 netstat 信息 #netstat -c
13、找出程序运行的端口 #netstat -ap | grep ‘:80’
14、查看连接某服务端口最多的的IP地址(前20个)
#netstat -nat | grep “10.1.62.23:443” |awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -20
15、TCP各种状态列表
#netstat -nat |awk ‘{print $6}’
统计数量
#netstat -nat |awk ‘{print $6}’|sort|uniq -c
排序
#netstat -nat |awk ‘{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 6}̲'|sort|uniq -c|…NF]} END {for(a in S) print a, S[a]}’
16、直接统计tcp数量监听的数量
#netstat -ant | wc -l
5.4、ARP命令
地址转换协议ARP是IP层的协议,像武侠影视剧中可以吸人内力的吸星大法一样,可以得到对方的东西。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。一个主机和另一个主机进行直接(或通过交换机)通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议ARP获得的。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

如上图所示,如果主机A需要知道在同一子网的另一台主机的MAC地址,主机A将向网络发送一条广播消息 “我是128.1.2.7,谁知道IP地址为128.1.2.15的主机对应的MAC地址?”。其他主机不回应,唯有具有IP地址128.1.2.15的主机E将回传一条包括目标主机物理地址的ARP响应“主机128.1.2.7,我是128.1.2.15,我的MAC地址是8:0:20:e:28:ef”。主机A收到ARP应答,存入本端ARP缓存表中。
常用的arp命令有三种。
(1)Arp–a :显示所有的ARP表项。
(2)Arp-s:在ARP缓存中添加一条记录。
Arp-s 126.13.156.2 02-e0-fc-fe-01-b9
(3)Arp-d:在ARP缓存中删除一条记录。
Arp-d 126.13.156.2

根据上图可以查到,每个子网的mac地址
5.5、Route命令
Route命令是在本地IP路由表中显示和修改条目,手动配置静态路由表,常用的Route命令有三种。
(1)Route print显示IP路由表的完整内容。
要显示IP路由表的完整内容: route print。

要显示IP路由表中以 119.开始的路由: route print 119.
(2)Route add 增加一条路由记录(重起后丢失)。
Route –p add 永久地增加一条路由记录(重起后不丢失)。
1、要添加默认网关地址为 192.168.12.1 的默认路由:
route add 0.0.0.0 mask 0.0.0.0 192.168.12.1。
2、要添加目标为 10.41.0.0,子网掩码为 255.255.0.0,下一个跃点地址为 10.27.0.1的路由: route add 10.41.0.0 mask 255.255.0.0 10.27.0.1。

route add 10.41.0.0 gw 10.27.0.1 netmask 255.255.0.0
3、要添加目标为 10.41.0.0,子网掩码为 255.255.0.0,下一个跃点地址为 10.27.0.1的永久路由: route-p add 10.41.0.0 mask 255.255.0.0 10.27.0.1。
4、要添加目标为 10.41.0.0,子网掩码为 255.255.0.0,下一个跃点地址为 10.27.0.1,跃点数为 7 的路由:route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7。
要设定一个到目的网络209.98.32.33的路由,其间要经过5个路由器网段,首先要经过本地网络上的一个路由器,IP为202.96.123.5,子网掩码为255.255.255.224,那么我们应该输入以下命令:route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5。
(3)Route delete 删除一条路由记录。
要删除目标为 10.41.0.0,子网掩码为 255.255.0.0 的路由:
route delete 10.41.0.0 mask 255.255.0.0。
要删除IP路由表中以 10.开始的所有路由:
route delete 10.

5.6、 Flushdns命令
有时候大家可能会遇到这样的情况,电脑突然上不了网,或者存在某些网站打不开的情况,但别的网站又可以打开。对于这种情况很多是DNS缓存延时导致。解决办法需要清除DNS缓存,最常用的方法就是使用清除DNS缓存命令来完成。
清空DNS缓存命令为:ipconfig/flushdns。
这样我们就成功地完成了DNS缓存清理了,其实很简单,当我们电脑无法上网,或者DNS出错的时候都可以尝试下清除DNS缓存试试。
另外大家还可以在以上命令框中,输入“ipconfig/displaydns”这个命令,来查看一下本机已经缓存了哪些DNS信息。

第六章节:网络规划实战
概述:
网络规划是网络建设的基础,是对用户的网络应用需求进行分析,然后构思、设计出满足用户日常生产需求的计算机网络的过程。因此,任何一个网络设计人员都必须了解网络规划的具体内容,具体如下:
1、网络系统生命周期。
2、网络开发过程。
3、网络设计的约束因素。
4、以太网网络标准。
6.1、网络系统生命周期
一个网络系统从构思开始到最后被淘汰的过程称为网络系统生命周期。一般来说,网络系统生命周期至少包括网络系统的构思和计划、分析和设计、运行和维护的过程。网络系统的生命周期是一个循环迭代的过程,每次循环迭代的动力都来自网络应用需求的变更,每一个迭代周期都是网络重构的过程。常见的迭代周期构成方式主要有3种:四阶段周期、五阶段周期和六阶段周期。
1.四阶段周期
四阶段周期能够快速适应新的需求变化、强调网络建设周期中的宏观管理。4个阶段分别是构思与规划阶段、分析与设计阶段、实施与构建阶段、运行与维护阶段,这4个阶段之间有一定的重叠,保证了两个阶段之间的交接工作。如下图展示了四阶段周期中各个阶段之间的关系。

(1)构思与规划阶段:明确网络设计的需求,同时确定新网络的建设目标。
(2)分析与设计阶段:根据网络设计的需求进行设计,形成特定的建设方案。
(3)实施与构建阶段:根据设计方案进行设备购置、安装、调试,建成可试用的网络环境。
(4)运行与维护阶段:提供网络服务,并实施网络管理。
2.五阶段周期
五阶段周期的 5个阶段分别是需求规范阶段、通信规范阶段、逻辑网络设计阶段、物理网络设计阶段、实施阶段。每个阶段都是一个工作环节,每个环节完毕后才能进入下一个环节,一般情况下,不允许返回到前面的阶段。五阶段周期适用于网络规模较大,需求较明确,需求变更较小的网络工程。展示了五阶段周期的各阶段之间的次序关系。

3.六阶段周期
六阶段周期是对五阶段周期的补充,是对其缺乏灵活性的改进,通过在实施阶段前后增加相应的测试和优化过程来提高网络建设过程中对需求变更的适应性。六阶段周期是对五阶段周期的补充,是对其缺乏灵活性的改进,通过在实施阶段前后增加相应的测试和优化过程来提高网络建设过程中对需求变更的适应性。六阶段周期由需求分析、逻辑设计、物理设计、设计优化、实施及测试、检测及性能优化6个阶段组成。
(1)需求分析:网络分析人员通过与用户进行交流来确定新系统(或系统升级)的商业目标和技术目标,然后归纳出当前网络的特征,分析当前和未来的网络通信量、网络性能、协议行为和服务质量要求。
(2)逻辑设计:主要完成网络的拓扑结构、网络地址分配、设备命名规则、交换及路由协议选择、安全规则、网络管理等设计工作,并且根据这些设计选择设备和服务提供商。
(3)物理设计:根据逻辑设计的结果选择具体的技术和产品,使得逻辑设计成果符合工程设计规范的要求。
(4)设计优化:完成工程实施前的方案优化,通过召开专家研讨会、搭建实验平台、网络仿真等多种形式找出设计方案中的缺陷,并进一步优化。
(5)实施及测试:根据优化后的方案购置设备,进行安装、调试和测试,通过测试和试用发现网络环境与设计之间的偏差,纠正其中的错误,并修改网络设计方案。
(6)检测及性能优化:通过网络管理、安全管理等技术手段,对网络是否正常运行进行实时监控,如果发现问题,则通过优化网络设置参数来达到优化网络性能的目的,如果发现网络性能无法满足用户的需求,则进入下一个迭代周期。
6.3 网络开发过程
网络系统生命周期为网络开发过程提供了理论模型,一个网络工程项目从构思到最终退出应用,一般会遵循迭代模型,经历多个迭代周期。例如,在网络建设的初期,网络规模较小,宜采用四阶段周期模型,随着网络规模越来越大,则更适合采用五阶段或六阶段模型。由于中等规模网络较多且应用范围较广,下面主要介绍五阶段周期模型。根据五阶段周期模型,网络开发过程可以划分为5个阶段,如下图所示。

1.需求分析
需求分析是开发过程中最关键的阶段。不同的用户有不同的网络需求,需求调研人员应与不同的用户进行交流,归纳总结得出明确的需求,确保以此设计出符合用户要求的网络。需收集的需求范围包括业务需求、用户需求、应用需求、计算机平台需求、网络通信需求。需求分析的输出是产生一份需求说明书,也就是需求规范。网络设计者必须清晰而细致地记录单位和个人的需求意愿并记录在需求说明书中,网络工程设计人员还必须与网络管理部门就需求的变化建立起需求变更机制,明确允许的变更范围。
2.现有网络系统分析
如果当前的网络开发过程是对现有网络的升级和改造,则必须开展对现有网络系统的分析工作,此项工作的目的是描述资源分布,以便在升级时尽量保护已有投资。在这一阶段,应给出一份正式的通信规范说明文档作为下一个阶段的输入。网络分析阶段应该提供的通信规范说明文档包含下列内容:现有网络的拓扑结构图、现有网络的容量,以及新网络所需的通信量和通信模式、详细的统计数据,直接反映现有网络性能的测量值、因特网(Internet)接口和广域网提供的服务质量报告、限制因素列表,例如使用线缆和设备清单等。
3.确定网络逻辑结构
网络逻辑结构设计是体现网络设计核心思想的关键阶段,在这一阶段根据需求规范和通信规范选择一种比较适宜的网络逻辑结构,并实施后续的资源分配规划、安全规划等内容;网络逻辑结构要根据用户需求中描述的网络功能、性能等要求来设计,逻辑设计要根据网络用户的分类和分布,形成特定的网络结构。在这个阶段最后应该得到一份逻辑设计文档,输出的内容应该包括以下几点:网络逻辑设计图、IP地址分配方案、安全管理方案,以及具体的软硬件、广域网连接设备和基本的网络服务、招聘和培训网络员工、对软硬件费用、服务提供费用及员工培训费用的初步估计。
4.确定网络物理结构
物理网络设计是逻辑网络设计的具体实现,通过对设备的具体物理分布、运行环境等的确定来确保网络的物理连接符合逻辑设计要求。在这一阶段,网络设计者需要确定软/硬件、连接设备、布线和服务的具体方案。网络物理结构设计文档必须尽可能详细、清晰,输出的内容如下:网络物理结构图和布线方案、设备和部件的详细列表清单、软硬件和安装费用的估算、安装日程表,以及详细说明安装的时间及期限、安装后的测试计划、用户的培训计划。
5.安装和维护
安装是根据前面的工程成果实施环境准备,以及对设备安装调试的过程。安装阶段应产生的输出如下。
(1)逻辑网络结构图和物理网络部署图,以便管理人员迅速掌握网络的结构。
(2)符合规范的设备连接图和布线图,同时包括线缆、连接器和设备的规范标识。
(3)运营维护记录和文档,包括测试结果和数据流量记录。
网络安装完成后,接受用户的反馈意见和监控网络的运行是网络管理员的任务,网络投入运行之后,需要做大量的故障检测、故障恢复,以及网络升级和性能优化等维护工作,网络维护也是网络产品的售后服务工作。
6.4 网络设计的约束因素
网络设计的约束因素是网络设计工作必须遵循的一些附加条件,一个网络设计如果不满足约束条件,将导致该网络设计方案无法实施。所以在需求分析阶段,确定用户需求的同时,也应明确可能出现的约束条件。一般来说,网络设计的约束因素主要来自政策、预算、时间和应用目标等方面
1.政策约束
了解政策约束的目的是为了发现可能导致项目失败的政策要求,以及因历史因素导致的对网络建设目标的争论意见。政策约束的来源包括法律法规、行业规定、业务规范和技术规范等。政策约束的具体表现是法律法规条文,以及国际、国家和行业标准等。
2.预算约束
预算是决定网络设计的关键因素,很多满足用户需求的优良设计因为超过用户的预算资金而不能实施。对于预算不能满足用户需求的情况,应该在统筹规划的基础上将网络建设划分为多个迭代周期,阶段性地实现网络建设目标。
3.时间约束
网络设计的进度安排是需要考虑的另一个问题。通常,项目进度由客户负责管理,但网络设计者必须就该日程表是否可行提出自己的意见。在全面了解了项目之后,网络设计者要对安排的计划和进度表的时间进行分析,对有疑问之处及时与用户进行沟通。
4.应用目标约束
在开始下一阶段的任务之前,需要确定是否了解了客户的应用目标和所关心的事项。通过应用目标检查,可以避免用户需求的缺失。
6.5 以太网网络标准
以太网是一种产生较早、使用广泛的局域网。以太网最初是由施乐(Xerox)公司开发的一种基带局域网技术,使用同轴电缆作为网络媒体,采用载波多路访问和冲突检测CSMA/CD(Carrier Sense Multiple Access/Collision Detection)机制,数据传输速率达到10Mbit/s。以太网被设计用来满足非持续性网络数据传输的需要,而IEEE 802.3标准则是基于最初的以太网技术于1980年制订。以太网版本2.0由DEC、Intel和Xerox三家公司联合开发,与IEEE 802.3标准相互兼容。
在IEEE 802.3标准中,为不同的传输介质制定了不同的物理层标准,在这些标准中前面的数字表示传输速度,单位是“Mbit/s”,最后的一个数字表示单段网线长度(基准单位是100m),Base表示“基带”的意思,Broad代表“宽带”。
(1)标准以太网:只有10Mbit/s的吞吐率,使用CSMA/CD访问控制机制的早期以太网称为标准以太网。表1.1所示为标准以太网的相关技术指标。
(2)快速以太网:快速以太网(Fast Ethernet)是一种局域网(LAN)传输标准,它提供每秒100Mbit/s的数据传输率(100BASE-T)。FE0
(3)吉比特以太网:吉比特以太网是对IEEE 802.3以太网标准的扩展,在基于以太网协议的基础上,将快速以太网的传输速率100Mbit/s提高10倍,达到1 Gbit/s。标准为IEEE802.3z(光纤与铜缆)和IEEE802.3ab(双绞线)。
(4)10 吉比特以太网:传输速率达到 10Gbit/s,工作在全双工模式,因此不存在争用问题,也不使用CSMA/CD协议。
6.6、各设备的选择指标
1、交换机选择指标
交换机的的性能标准
1.转发速率
转发速率是交换机的一个非常重要的参数。转发速率通常以“Mpps”(Million Packet Per Second,每秒百万分组数)来表示,即每秒能够处理的数据分组的数量。转发速率体现了交换引擎的转发功能,该值越大,交换机的性能越强劲。
2.端口吞吐量
端口吞吐量反映交换机端口的分组转发能力,通常可以通过两个相同速率的端口进行测试。吞吐量是指在没有帧丢失的情况下,设备能够接受的最大速率。
一般的局域网都是10M以太网,再考虑到升级换代的需要,10M/100M自适应交换机就成为局域网交换机的主流,甚至可以成为局域网的标准交换设备。但随着通信要求的不断提高,数据传输流量的不断增大,开始出现100M的交换机,还有千兆交换机甚至万兆交换机了。
3.背板带宽
背板带宽是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。背板带宽体现了交换机总的数据交换能力,单位为Gbit/s,也叫交换带宽。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会越高。
4.端口种类
交换机按其所提供的端口种类的不同有三种类型的产品,它们分别是纯百兆端口交换机、百兆和千兆端口混合交换机、纯千兆端口交换机。每一种产品所应用的网络环境各不相同,核心骨干网络上最好选择千兆产品,上连骨干网络一般选择百兆/千兆混合交换机,边缘接入一般选择纯百兆交换机。
5.MAC地址数量
每台交换机都维护着一张 MAC 地址表,记录 MAC 地址与端口的对应关系,交换机就是根据MAC地址将访问请求直接转发到对应端口上的。存储的MAC地址数量越多,数据转发的速度和效率也就越高,抗MAC地址溢出供给能力也就越强。
端口数要满足将来升级要求。局域网对网络通信的要求越来越高,网络扩容的速度也越来越快,因此最好在选购交换机时,考虑到足够的扩展性,选择适当的端口数目。
6.缓存大小
交换机的缓存用于暂时存储等待转发的数据。如果缓存容量较小,当并发访问量较大时,数据将被丢弃,从而导致网络通信失败。只有缓存容量较大,才可以在多播和广播流量很大的情况下,提供更佳的整体性能,同时保证最大可能的吞吐量。目前,几乎所有的廉价交换机都采用共享内存结构,由所有端口共享交换机内存,均衡网络负载并防止数据分组丢失。
7.支持网管类型
网管功能是指网络管理员通过网络管理程序对网络上的资源进行集中化管理的操作,包括配置管理、性能和记账管理、问题管理、操作管理和变化管理等。一台设备所支持的管理程度反映了该设备的可管理性及可操作性,现在交换机的管理通常是通过厂商提供的管理软件或通过满足第三方管理软件的管理来实现的。
8.VLAN支持
一台交换机是否支持 VLAN 是衡量其性能好坏的一个重要指标。通过将局域网划分为虚拟网络 VLAN 网段,可以强化网络管理和网络安全,控制不必要的数据广播,减少广播风暴的产生。由于 VLAN 是基于逻辑上连接而不是物理上的连接,因此网络中工作组的划分可以突破共享网络中的地理位置限制,而完全根据管理功能来划分。目前,好的产品可提供功能较为细致丰富的子网划分功能。
9.支持的网络类型
一般情况下,固定配置式不带扩展槽的交换机仅支持一种类型的网络,机架式交换机和固定配置式带扩展槽的交换机则可以支持一种以上类型的网络,如支持以太网、快速以太网、千兆以太网、ATM、令牌环及FDDI等。一台交换机所支持的网络类型越多,其可用性、可扩展性越强。
10.冗余支持
冗余强调了设备的可靠性,也就是当一个部件失效时,相应的冗余部件能够接替工作,使设备继续运转。冗余组件一般包括管理卡、交换结构、接口模块、电源、机箱风扇等。对于提供关键服务的管理引擎及交换结构模块,不仅要求冗余,还要求这些部件具有“自动切换”的特性,以保证设备冗余的完整性。
2、路由器的性能指标
1.吞吐量
吞吐量反映核心路由器的数据分组转发能力。吞吐量与路由器的端口数量、端口速率、数据分组长度、数据分组类型、路由计算模式(分布或集中),以及测试方法有关,一般泛指处理器处理数据分组的能力,高速路由器的数据分组转发能力至少能够达到20Mpps以上。吞吐量包括整机吞吐量和端口吞吐量两个方面,整机吞吐量通常小于核心路由器所有端口吞吐量之和。
2.路由表能力
路由器通常依靠所建立及维护的路由表决定分组的转发。路由表能力是指路由表内所容纳路由表项数量的极限。由于在Internet上执行BGP协议的核心路由器通常拥有数十万条路由表项,所以该项目也是路由器能力的重要体现。一般而言,高速核心路由器应该能够支持至少25万条路由,平均每个目的地址至少提供2条路径,系统必须支持至少25个BGP对等及至少50个IGP邻居。
3.背板能力
背板指的是输入与输出端口间的物理通路,背板能力通常是指路由器背板容量或者总线带宽能力,这个性能对于保证整个网络之间的连接速度是非常重要的。如果所连接的两个网络速率都较快,而由于路由器的带宽限制,将直接影响整个网络之间的通信速度。所以一般来说,如果是连接两个较大的网络,且网络流量较大,此时,就应格外注意路由器的背板容量,但如果是在小型企业网之间,这个参数就不太重要了,因为一般来说路由器在这方面都能满足小型企业网之间的通信带宽要求。
背板能力主要体现在路由器的吞吐量上,传统路由器通常采用共享背板,但是作为高性能路由器不可避免会遇到拥塞问题,其次也很难设计出高速的共享总线,所以现有高速核心路由器一般都采用可交换式背板的设计。
4.分组丢失率
分组丢失率是指核心路由器在稳定的持续负荷下,由于资源缺少而不能转发的数据分组在应该转发的数据分组中所占的比例。分组丢失率通常用作衡量路由器在超负荷工作时核心路由器的性能。分组丢失率与数据分组长度,以及分组发送频率相关,在一些环境下,可以加上路由抖动或大量路由后进行测试模拟。
5.时延
时延是指数据分组第一个比特进入路由器到最后一个比特从核心路由器输出的时间间隔。该时间间隔是存储转发方式工作的核心路由器的处理时间。时延与数据分组的长度及链路速率都有关系,通常是在路由器端口吞吐量范围内进行测试。时延对网络性能影响较大,作为高速路由器,在最差的情况下,要求对1518字节及以下的IP分组时延必须小于1ms。
6.时延抖动
时延抖动是指时延变化。数据业务对时延抖动不敏感,所以该指标通常不作为衡量高速核心路由器的重要指标。当网络上需要传输语音、视频等数据量较大的业务时,该指标才有测试的必要性。
7.背靠背帧数
背靠背帧数是指以最小帧间隔发送最多数据分组不引起数据丢失时的数据分组数量。该指标用于测试核心路由器的缓存能力。具有线速全双工转发能力的核心路由器,该指标值无限大。
8.服务质量能力
服务质量能力包括队列管理控制机制和端口硬件队列数两项指标。其中,队列管理控制机制是指路由器拥塞管理机制及其队列调度算法。常见的方法有RED、WRED、WRR、DRR、WFQ、WF2Q等。端口硬件队列数是指路由器所支持的优先级是由端口硬件队列来保证的,而每个队列中的优先级又是由队列调度算法进行控制的。
9.网络管理能力
网络管理是指网络管理员通过网络管理程序对网络上资源进行集中化管理的操作,包括配置管理、计账管理、性能管理、差错管理和安全管理。设备所支持的网管程度体现设备的可管理性与可维护性,通常使用SNMPv2协议进行管理。网管力度指路由器管理的精细程度,如管理到端口、网段、IP地址、MAC地址等,管理力度可能会影响路由器的转发能力。
10.可靠性和可用性
路由器的可靠性和可用性主要是通过路由器本身的设备冗余程度、组件热插拔、无故障工作时间及内部时钟精度等四项指标来提供保证的。
(1)设备冗余程度:设备冗余可以包括接口冗余、插卡冗余、电源冗余、系统板冗余、时钟板冗余等。
(2)组件热插拔:组件热插拔是路由器24小时不间断工作的保障。
(3)无故障工作时间:即路由器不间断、可靠工作的时间长短,该指标可以通过主要器件的无故障工作时间计算或者大量相同设备的工作情况计算。
(4)内部时钟精度:拥有 ATM 端口做电路仿真或者 POS 口的路由器互连通常需要同步,在使用内部时钟时,其精度会影响误码率。
3、防火墙及其选型
3.1、防火墙分类
目前,防火墙产品种类繁多,其分类方法也各不相同,常见的分类方法主要包括以下几种。
1.按防火墙的物理特性进行分类
防火墙按其物理特性进行分类可分为硬件防火墙、软件防火墙以及芯片级防火墙。
(1)硬件防火墙
硬件防火墙是一种以物理形式存在的专用设备,通常架设于两个网络的连接处,直接从网络设备上检查、过滤有害的数据报文,位于防火墙设备后端的网络或者服务器接收到的是经过防火墙处理的相对安全的数据,不必另外分出CPU资源去进行基于软件架构的NDIS数据检测,可以大大提高工作效率。
硬件防火墙一般是通过网线连接于外部网络接口与内部服务器或企业网络之间的设备,由于硬件防火墙的主要作用是把传入的数据报文进行过滤处理后,转发到位于防火墙后面的网络中,因此它自身的硬件规格也是分档次的,尽管硬件防火墙已经足以实现比较高的信息处理效率,但是在一些对数据吞吐量要求很高的网络中,档次低的防火墙仍然会形成瓶颈,所以对于一些大企业而言,芯片级的硬件防火墙才是首选。
传统硬件防火墙一般至少应具备三个端口,分别接内网、外网和DMZ区(非军事化区)。一些新的硬件防火墙往往扩展了端口,常见的四端口防火墙将第四个端口作为配置管理端口。
(2)软件防火墙
软件防火墙是一种安装在负责内外网络转换的网关服务器或者独立的个人计算机上的特殊程序,它是以逻辑形式存在的。防火墙程序跟随系统启动,通过运行在 Ring0 级别的特殊驱动模块把防御机制插入系统关于网络的处理部分和网络接口设备驱动之间,形成一种逻辑上的防御体系。软件防火墙就像其他的软件产品一样,需要先在计算机上安装并做好配置才可以使用。使用软件防火墙,需要网络管理人员对所工作的操作系统平台比较熟悉。
(3)芯片级防火墙
芯片级防火墙基于专门的硬件平台,设有操作系统。专有的ASIC芯片促使它们比其他种类的防火墙速度更快、处理能力更强、性能更高。生产这类防火墙主要的厂商有NetScreen、FortiNet、Cisco等。这类防火墙由于是专用OS(操作系统),因此防火墙本身的漏洞比较少,不过价格相对比较高昂。
2.按防火墙所采用的技术进行分类
防火墙按其所采用的技术进行分类可分为分组过滤技术防火墙、应用代理技术防火墙、状态监视技术防火墙。
(1)分组过滤技术防火墙
分组过滤技术防火墙工作在OSI网络参考模型的网络层和传输层,它根据数据报文中的源地址、目的地址、端口号和协议类型等标志确定是否允许通过。只有满足过滤条件的报文才被转发到相应的目的地,其余报文则被从数据流中丢弃。
在整个防火墙技术的发展过程中,分组过滤技术出现了两种不同版本,称为“第一代静态分组过滤”和“第二代动态分组过滤”。
① 第一代静态分组过滤防火墙
这类防火墙几乎是与路由器同时产生的,它是根据定义好的过滤规则审查每个数据报文,以便确定其是否与某一条包过滤规则相匹配。过滤规则基于数据包的报头信息进行制订,报头信息中包括IP源地址、IP目标地址、传输协议(TCP、UDP、ICMP等)、TCP/UDP目标端口、ICMP消息类型等。分组过滤类型的防火墙要遵循的一条基本原则是“最小特权原则”,即明确允许哪些管理员希望通过的数据分组,禁止其他的数据分组。
② 第二代动态分组过滤防火墙
这类防火墙采用动态设置分组过滤规则的方法,避免了静态分组过滤所存在的问题。动态分组过滤功能在保持原有静态分组过滤技术和过滤规则的基础上,会对已经成功与计算机连接的报文传输进行跟踪,并且判断该连接发送的数据分组是否会对系统构成威胁,一旦触发其判断机制,防火墙就会自动产生新的临时过滤规则或者把已经存在的过滤规则进行修改,从而阻止该有害数据的继续传输。现代的分组过滤防火墙均为动态分组过滤防火墙。
基于分组过滤技术的防火墙是依据过滤规则的实施来实现分组过滤的,不能满足建立精细规则的要求,而且只能工作于网络层和传输层,不能判断高层协议里的数据是否有害,但价格低廉,容易实现。
(2)应用代理技术防火墙
由于分组过滤技术无法提供完善的数据保护措施,而且一些特殊的报文攻击仅仅使用过滤的方法并不能消除危害(如SYN攻击、ICMP洪水等),因此需要一种更全面的防火墙保护技术,这就是采用“应用代理”(Application Proxy)技术的防火墙。
应用代理型防火墙是工作在 OSI 的最高层,即应用层。其特点是完全“阻隔”了网络通信流,通过对每种应用服务编制专门的代理程序,实现监视和控制应用层通信流的作用。
应用代理防火墙也叫应用层网关(Application Gateway)防火墙。这种防火墙通过一种代理(Proxy)技术参与到一个 TCP 连接的全过程,从内部发出的数据分组经过这样的防火墙处理后,就好像是源于防火墙外部网卡一样,从而可以达到隐藏内部网结构的作用,它的核心技术就是代理服务器技术。
所谓代理服务器,是指代表客户在服务器上处理用户连接请求的程序。当代理服务器收到一个客户的连接请求时,服务器将核实该客户请求,并经过特定的安全化的代理应用程序处理连接请求,将处理后的请求传递到真实的服务器上,然后接收服务器应答,并做进一步处理后,将答复交给发出请求的最终客户。
在代理型防火墙技术的发展过程中,它也经历了两个不同的版本,即第一代应用网关型代理防火墙和第二代自适应代理防火墙。
代理型防火墙的最突出的优点就是安全。由于每一个内外网络之间的连接都要通过Proxy的介入和转换,通过专门为特定的服务如Http编写的安全化的应用程序进行处理,然后由防火墙本身提交请求和应答,没有给内外网络的计算机以任何直接会话的机会,从而避免了入侵者使用数据驱动类型的攻击方式入侵内部网。
(3)状态监视技术防火墙
状态监视技术是继“分组过滤”技术和“应用代理”技术后发展的防火墙技术,这种防火墙技术通过一种被称为“状态监视”的模块,在不影响网络安全正常工作的前提下采用抽取相关数据的方法对网络通信的各个层次实行监测,并根据各种过滤规则做出安全决策。
状态监视技术在保留了对每个数据分组的头部、协议、地址、端口、类型等信息进行分析的基础上,进一步发展了“会话过滤”功能,在每个连接建立时,防火墙会为这个连接构造一个会话状态,其中包含了这个连接数据分组的所有信息,以后这个连接都基于这个状态信息进行,这种检测的高明之处是能对每个数据分组的内容进行监视,一旦建立了一个会话状态,则此后的数据传输都要以此会话状态作为依据。状态监视可以对数据分组的内容进行分析,从而摆脱了传统防火墙仅局限于几个分组头部信息的检测弱点,而且这种防火墙不必开放过多端口,进一步杜绝了可能因为开放端口过多而带来的安全隐患。
3.按防火墙的结构进行分类
防火墙按其结构进行分类可分为单一主机防火墙、路由器集成式防火墙和分布式防火墙。
(1)单一主机防火墙
单一主机防火墙是最为传统的防火墙,独立于其他网络设备,它位于网络边界。这种防火墙其实与一台计算机结构差不多,同样包括主板、CPU、内存、硬盘等基本组件。它与一般计算机最主要的区别就是一般防火墙都集成了两个以上的以太网卡,用来连接一个以上的内、外部网络。其中的硬盘用来存储防火墙所用的基本程序,如分组过滤程序和代理服务器程序等,有的防火墙还把日志记录也记录在硬盘上。
(2)路由器集成式防火墙
随着防火墙技术的发展及应用需求的提高,原来作为单一主机的防火墙已发生了许多变化。最明显的变化就是在许多中、高档的路由器中已集成了防火墙的功能。
(3)分布式防火墙
分布式防火墙不仅位于网络边界,而且还渗透到网络的每一台主机,对整个内部网络的主机实施保护。在网络服务器中,通常会安装一个用于管理防火墙系统的软件,在服务器及各主机上安装有集成网卡功能的PCI防火墙卡,一块防火墙卡同时兼有网卡和防火墙的双重功能,这样一个防火墙系统就可以彻底保护内部网络。各主机把任何其他主机发送的通信连接都视为“不可信”的,都需要严格过滤,而不是像传统边界防火墙那样,仅对外部网络发出的通信请求“不信任”。
3.2、防火墙的选购
网络防火墙与路由器非常类似,是一台特殊的计算机,同样有自己的硬件系统和软件系统,与一般计算机相比,只是没有独立的输入/输出设备。防火墙的主要性能参数是指影响网络防火墙分组处理能力的参数。在选择网络防火墙时,应主要考虑网络的规模、网络的架构、网络的安全需求、在网络中的位置,以及网络端口的类型等要素,选择性能、功能、结构、接口、价格都最为适宜的网络安全产品。
1.防火墙购买参数参考
(1)系统性能
防火墙性能参数主要是指网络防火墙处理器的类型及主频、内存容量、闪存容量、存储容量和类型等数据。一般而言,高端防火墙的硬件性能优越,处理器应当采用ASIV架构或NP架构,并拥有足够大的内存。
(2)接口
接口数量关系到网络防火墙能够支持的连接方式,通常情况下,网络防火墙至少应当提供 3个接口,分别用于连接内网、外网和 DMZ 区域。如果能够提供更多数量的端口,则还可以借助虚拟防火墙实现多路网络连接。而接口速率则关系到网络防火墙所能提供的最高传输速率,为避免可能的网络瓶颈,防火墙的接口速率应为100Mbit/s或1000Mbit/s。
(3)并发连接数
并发连接数是衡量防火墙性能的一个重要指标,是指防火墙或代理服务器对其业务信息流的处理能力,是防火墙能够同时处理的点对点连接的最大数目,反映出防火墙设备对多个连接的访问控制能力和连接状态跟踪能力,该参数值直接影响防火墙所能支持的最大信息点数。
提示:低端防火墙的并发连接数都在1000个左右。而高端设备则可以达到数万甚至数十万个并发连接。
(4)吞吐量
防火墙的主要功能就是对每个网络中传输的每个数据分组进行过滤,因此需要消耗大量的资源。吞吐量是指在数据不丢失的情况下单位时间内通过防火墙的数据分组数量。
防火墙作为内外网之间的唯一数据通道,如果吞吐量太小,就会成为网络瓶颈,给整个网络的传输效率带来负面影响。因此,考察防火墙的吞吐能力有助于更好地评价其性能表现。这也是测量防火墙性能的重要指标。
(5)安全过滤带宽
安全过滤带宽是指防火墙在某种加密算法标准下的整体过滤功能,如DES(56位)算法或3DES(168位)算法等。一般来说,防火墙总的吞吐量越大,其对应的安全过滤带宽越高。
(6)支持用户数
防火墙的用户数限制分为固定限制用户数和无用户数限制两种。前者如SOHO 型防火墙一般支持几十个到几百个用户不等,而无用户数限制大多用于大的部门或公司。这里的用户数量和前面介绍的并发连接数并不相同,并发连接数是指防火墙的最大会话数(或进程),而每个用户可以在一个时间里产生很多的连接。
2.网络防火墙选择策略
针对越来越多的蠕虫、病毒、间谍软件、垃圾邮件、DoS/DDoS等混合威胁及黑客攻击,不仅需要有效检测到各种类型的攻击,更重要的是降低攻击的影响,从而保证业务系统的连续性和可用性。
一个较好的网络防火墙应该具备以下特征
(1)提供针对各类攻击的检测和防御功能,同时提供丰富的访问控制能力。
(2)准确识别各种网络流量,降低漏报和误报率,避免影响正常的业务通信。
(3)满足高性能的要求,提供强大的分析和处理能力,保证正常网络通信的质量。
(4)具备良好的可靠性,提供硬件BYPASS或HA等可靠性保障措施。
(5)提供灵活的部署方式,支持在线模式和旁路模式的部署,第一时间把攻击阻断在企业网络之外,同时也支持旁路模式部署,用于攻击检测,适用于不同用户需要。
(6)支持分级部署、集中管理,满足不同规模网络的使用和管理需求。

4、负载均衡器及其选型
负载均衡器是一种把网络请求分散到一个服务器集群中的可用服务器上,通过管理进入的 Web数据流量和增加有效的网络带宽的硬件设备。
4.1、负载均衡器简介
由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。
在此情况下,如果扔掉现有设备去做大量的硬件升级,将造成现有资源的浪费,而且当再面临业务量的提升时,又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。
4.2、负载均衡实现方式
1.软件负载均衡技术
该技术适用于一些中小型网站系统,可以满足一般的均衡负载需求。软件负载均衡技术是在一个或多个交互的网络系统中的多台服务器上安装一个或多个相应的负载均衡软件,实现均衡负载技术。软件可以很方便地安装在服务器上,并且实现一定的均衡负载功能。软件负载均衡技术配置简单、操作方便,最重要的是成本很低。
2.硬件负载均衡技术
由于硬件负载均衡技术需要增加额外的负载均衡器,成本比较高,所以适用于流量高的大型网站系统。不过在现在较有规模的企业网、政府网站,一般来说都会部署硬件负载均衡设备。硬件负载均衡技术是在多台服务器间安装相应的负载均衡设备,也就是用负载均衡器来完成均衡负载技术,与软件负载均衡技术相比,能达到更好的负载均衡效果。
3.本地负载均衡技术
本地负载均衡技术是对本地服务器群进行负载均衡处理。该技术通过对服务器进行性能优化,使流量能够平均分配在服务器群中的各个服务器上。本地负载均衡技术不需要购买昂贵的服务器或优化现有的网络结构。例如微软NLB网络负载均衡技术,该技术通过在多台服务器上应用完成负载均衡。原理是几台服务器虚拟出一个IP地址,应用会使服务器轮循响应数据。但是在一次安全网关的部署过程中却遇到了问题,问题简单描述如下:当外部测试个人计算机,向虚拟IP地址发了一个ping分组之后,虚拟IP回应一个数据分组,另外,实主机也均回应数据分组,导致安全设备认为会话不是安全的。所以进行阻断,致使业务不正常。
4.全局负载均衡技术
全局负载均衡技术(也称为广域网负载均衡)适用于拥有多个地域的服务器集群的大型网站系统。全局负载均衡技术是对分布在全国各个地区的多个服务器进行负载均衡处理,该技术可以通过对访问用户的IP地理位置判定,自动转向地域最近点。很多大型网站都使用这种技术。
5.链路集合负载均衡技术
链路集合负载均衡技术是将网络系统中的多条物理链路,当作单一的聚合逻辑链路使用,使网站系统中的数据流量由聚合逻辑链路中所有的物理链路共同承担。这种技术可以在不改变现有的线路结构,不增加现有带宽的基础上大大提高网络数据吞吐量,节约成本。
4.3、负载均衡器的选择
负载均衡的部署方式,简单地可分为串接、单臂、透明和服务器直接返回4类。
1.串接路由模式
串接部署模式如下第一张图所示,通常服务器的网关需要指向负载均衡设备。
这种情况下的流量处理最简单,负载均衡只做一次目标地址 NAT(选择服务器时)和一次源地址NAT(响应客户端报文时),如下第二张图所示。

负载均衡器使用两个不同网段,使用3层分配流量。是比较常见的部署方式。串接部署模式有以下优点:①将服务器有效隔离,安全考虑上最好;②服务器网关指向负载均衡器,功能实现更简单,有利于最大化负载均衡性能;③服务器可以直接接收到真实访问源客户IP地址。
同时,这种部署模式也有一些缺点:对现有拓扑结构变动较大;需要考虑内网服务器是否有对外访问需求,必要时需要设置静态NAT转换。
2.单臂模式
单臂模式如下图所示,通常服务器网关指向核心交换,为保证流量能够正常处理。

负载均衡设备需要同时做源地址和目标地址NAT转换,如下图所示。也就是说,这种情况下服务器无法记录真实访问客户端的源地址。如果是http流量时,可以通过在报头中插入真实源地址,同时调整服务器日志记录的方式弥补。

3.透明模式
透明模式如下第一张图所示,服务器和负载均衡设备在同一网段;通过二层透传,服务器的流量需要经过负载均衡设备,如下第二张图所示。

透明模式下,负载均衡器和服务器部署在同一网段,仅在有特殊需求时使用。透明模式的优点:对现有拓扑结构变动最小;服务器可以直接接收到访问源客户IP地址。但透明模式也有缺点:部署不直观;调试和故障分析时较烦琐。
4.服务器直接返回
服务器直接返回是较早的负载均衡常用方式,如下图所示,通过在服务器上的配置修改,负载均衡设备其实仅处理客户请求流量,所有服务器响应的流量直接返还给客户,早期在负载均衡性能较低时常用来作为一个避免性能瓶颈的手段。由于此种方式只能使用一些基本的 4 层负载,现在的高性能负载均衡设备通常不使用此类部署,但仍对延迟性要求高的语音类和视频类有应用。

服务器直接返回模式下,服务器回程报文不通过负载均衡器,直接返回给客户端;延迟短,适合流媒体等对时延要求较高的应用。这种模式的优点是:性能高,可处理吞吐量高;服务器可以直接接收到访问源客户IP地址。但也有一些缺点:只能做4层的负载均衡,基于7层的服务无法实现优化(例如,压缩等)无法使用需要在服务器上配置 loopback 地址。loopback 地址称为本地环回接口(或地址),亦称回送地址。此类接口是应用最为广泛的一种虚接口,几乎在每台路由器上都会使用。系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个loopback 接口,并在该接口上单独指定一个IP地址作为管理地址,管理员会使用该地址对路由器远程登录(Telnet),该地址实际上起到了类似设备名称一类的功能。

5、不间断电源的工作原理及其选型
当前,数字革命和网络经济正席卷全球。随着各种信息系统在各个行业的应用,更带动了不间断电源(Uniuterruptable Power System,UPS)的迅猛发展。作为直接关系到计算机软硬件能否安全运行的一个重要因素,电源质量的可靠性应当成为中小企业、学校等首要考虑的问题。UPS是一种含有储能装置,以逆变器为主要组成部分的恒压、恒频的不间断电源,主要用于给服务器、计算机网络系统或其他电力电子设备提供不间断的电力供应。不间断电源从计算机的外围设备、一个不受重用的角色迅速变成为互联网的关键设备及电子商务的保卫者。UPS作为信息社会的基石,已开始了其新的历史使命。随着国际互联网时代的到来,对电力供电质量提出了越来越高的要求,无论是整个网络的设备还是给数据传输途径以端到端的全面保护,都要求配置高质量的不间断电源。
5.1 不间断电源工作原理
UPS 是一种含有储能装置,以逆变器为主要元件,稳压、稳频输出的电源保护设备。当市电正常输入时,UPS 就将市电稳压后供给负载使用。同时对机内电池充电,
把能量贮存在电池中,当市电中断(各种原因停电)或输入故障时,UPS即将机内电池的能量转换为220V交流电继续供负载使用,使负载维持正常工作并保护负载软、硬件不受损坏。
UPS主要从20世纪90年代开始成规模,90年代初,对UPS要求能提供无时间中断的电源来确保用户的数据不致丢失为保护重点;90年代中期,发展为在UPS配置了RS232接口和在计算机监控平台上配置各种电源监控软件的智能化UPS,保护重点为用户数据的完整性;到了90年代末期,UPS以确保系统具有“高稳定性”及“高可用性”为其保护重点。
5.2 不间断电源的分类
目前市场上有不同类型的UPS,按UPS的工作方式可分为后备式、在线互动式、双变换在线式三大类。
1.后备式UPS电源
它是静止式UPS的最初形式,应用广泛,技术成熟,一般只用小功率范围,电路简单,价格低廉。这种UPS对电压的频率不稳、波形畸变,以及从电网侵入的干扰等不良影响基本上没有任何改善,其工作性能特点如下。
(1)市电利用率高,可达96%。
(2)输出能力强,对负载电流波峰因数、浪涌系数、输出功率因数、过载等没有严格限制。
(3)输出转换开关受切换电流能力和动作时间限制。
(4)输入功率因数和输入电流谐波取决于负载性质。
2.在线互动式UPS电源
在线互动式UPS电源也称为3端口式UPS电源,使用的是工频变压器。从能量传递的角度考虑,其变压器在3个能量流动的端口;端口1连接市电输入,端口2通过双向变换器与蓄电池相连,端口 3 输出,市电供电时,交流电经端口 1 流入变压器,在稳压电路的控制下选择合适的变压器抽头拉入,同时在端口2 的双向变换器的作用下借助蓄电池的能量转换共同调节端口 3 上的输出电压,以此来达到比较好的稳压效果。当市电掉电时,蓄电池通过双向变换器经端口 2 给变压器供电,维持端口3上的交流输出。在线互动式UPS电源在变压器抽头切换的过程中,双向变换器作为逆变器方式工作,蓄电池供电,因此能实现输出电压的不间断。其工作性能特点如下。
(1)市电利用率高,可达98%。
(2)输出能力强,对负载电流波峰因数、浪涌系数、输出功率因数、过载等没有严格的限制。
(3)输入功率因数和输入电流谐波取决于负载性质。
(4)变换器直接接在输出端,并处于热备份状态。对输出电压尖峰干扰有抑制作用。
(5)输入开关存在断开时间,致使UPS输出仍有转换时间,但比后备式小得多。
(6)变换器同时具有充电功能,且其充电能力很强。
(7)如在输入开关与自动稳压器之间串接一个电感,当市电掉电时,逆变器可立即向负载供电,可避免输入开关未断开时,逆变器反馈到电网而出现短路的危险。
3.双变换在线式UPS电源
它是属于串联功率传输方式。当市电存在时,实现AC→DC转换功能,一方面向DC→AC逆变器提供能量,同时还向蓄电池充电。该整流器多为可控硅整流器,但也有IGBT-PWM-DSP高频变换新一代整流器。当逆变时,完成DC→AC转换功能,向输出端提供高质量电能,无论由市电供电或转向电池供电,其转换时间为零。当逆变器过载或发生故障时,逆变器停止输出,静态开关自动转换,由市电直接向负载供电。静态开关为智能型大功率无触点开关其工作性能特点如下。
(1)不管有无市电供应,负载的全部功率都由逆变器提供,保证高质量的电力输出。
(2)由于全部负载功率都由逆变器提供,因而UPS的输出能力不理想,对负载提出限制条件,如负载流峰值因数,过载能力,输出功率因数等。
(3)对可控整流器还存在输入功率因数低、损耗大、输入谐波电流对电网产生极大影响的问题,当然,若使用IGBT-PWM-DSP整流技术成功率因数校正技术,可把输入功率因数提高到接近1。
4.双逆变电压补偿在线式UPS电源
此项技术是近些年提出来的,主要是把交流稳压技术中的电压补偿原理(delta变换)应用到UPS的主电路中,产生一种新的UPS电路结构型式,它属于串并联功率传输其工作性能特点如下。
(1)逆变器(Ⅱ)监视输出端,并与逆变器(Ⅰ)参与主电路电压的调整,可向负载提供高质量的电能。
(2)市电掉电时,输出电压不受影响,没有转换时间;当负载电流发生畸变时,由逆变器(Ⅱ)调整补偿,因而是在线工作方式。
(3)当市电存在时,逆变器(Ⅰ)与(Ⅱ)只对输入电压与输出电压的差值进行调整与补偿,逆变器只承担最大输出功率的20%,因而功率余最大。过载能力强。
(4)逆变器(Ⅰ)同时完成对输入端的功率因数校正功能。输入功率因数可达到 0.99,输入谐波电流<3%。
(5)在市电存在时,由于两个逆变器承担的最大功率仅为输出功率的1/5,因此整机效率可达到96%。
(6)在市电存在时,逆变器(Ⅱ)功率强度仅为额定值的1/5,因此功率器件的可靠性必然大幅度提高。
(7)由于具有输入功率因数补偿,因而有节能效果。
5.3 不间断电源的选择方法
根据设备的情况、用电环境,以及想达到的电源保护目的,可以选择适合的UPS。
1.设备功率
一般来讲,普通计算机或工控机的功率在200W左右,苹果计算机在300W左右,服务器在300~600W,其他设备的功率数值可以参考该设备的说明书。另外,应了解 UPS 的额定功率有两种表示方法:视在功率(单位VA)与实际输出功率(单位W),由于无功功率的存在所以造成了这种差别,两者的换算关系为:视在功率×功率因数=实际输出功率。
后备式、在线互动式的功率因数为0.5 ~0.7,在线式的功率因数一般是0.8。
2.使用环境
按使用环境选择可以将UPS分为工业级UPS和商业级UPS,工业级UPS 适应于环境比较恶劣的地方,商业级 UPS 对环境的要求比较高。UPS 通常分为工频机和高频机两种。工频机由可控硅SCR整流器、IGBT逆变器、旁路和工频升压隔离变压器组成。因其整流器和变压器工作频率均为工频50Hz,顾名思义叫工频UPS。高频机通常由IGBT高频整流器、电池变换器、逆变器和旁路组成,IGBT 可以通过控制加在其门极的驱动来控制 IGBT 的开通与关断,IGBT 整流器开关频率通常在几kHZ到几十kHz,甚至高达上百kHz,相对于50Hz工频,称之为高频UPS。
随着电力电子技术的发展和高频功率器件不断问世。中小功率段的UPS产品正逐步高频化,高频UPS有功率密度大、体积小、重量轻的特点。但在高频UPS功率段向中大功率过渡推进的过程中。高频拓扑UPS在使用过程中暴露出一些固有缺点,并影响UPS的安全使用和运行。UPS电池配置方案及选购UPS不间断电源方法:电池供电时间主要受负载大小、电池容量、环境温度、电池 放电截止电压等因素影响。根据延时能力,确定所需电池的容量大小,用安时(Ah)值的来表示,以给定电流安培数时放电的时间小时数来计算。一般UPS 配置按以下公式计算:
UPS电源功率(VA)×延时时间(小时数)÷UPS电源启动直流=所需蓄电池安时数(Ah)
以山特C3KS延时4小时为例:
普通蓄电池一般没有容量为125AH的一组8只蓄电池。一般蓄电池大多为12V直流,96V(UPS启动直流电压)÷12V(蓄电池直流电压)=8Ah。
可以选择一组100Ah电池来对其进行配置,其延时时间为:100Ah(蓄电池容量)×96V(UPS启动直流)÷3000V(UPS电源功率)=3.2h;也可以选择2组(16只)65Ah的蓄电池并联进行配置,其延时时间为:65Ah×2×96V÷3000VA=4.16h。

6、选择设备案例
1.案例1:大规模局域网的设备选择
某大学在校师生大约5000人,分两个校区:本部校区和西南校区。学校师生需要访问学校官网和chinaNet,西南校区网络连接本部校区接入外网。学校主要有教学楼、办公楼、逸夫楼、信息楼、图书馆、学生公寓、学生食堂等楼宇,所有楼宇均采用铺设光缆的方式连接到信息楼的网络中心,并接入Internet。应用系统包含办公系统、教学系统、人事工资档案等,所有应用系统和数据均存储在网络中心。学校对外部用户提供的服务有门户网站、邮件系统等应用系统,对内部用户提供的服务有 OA 系统、FTP应用系统、选课系统、课件制作系统等,并对内部用户提供DNS服务、DHCP服务。要使用的操作系统有Windows、UNIX、Linux等,数据库有SQL Server、Oracle、MySQL、Access等。通过建立校园内部的局域网并接入广域网,可以实现内部办公及学生在线学习,并能访问Internet。
为了实现上述需求,首先需要制定网络建设方案,其网络拓扑结构如下图所示。
组建这个大规模学校局域网时,用到的基本网络设备有:交换机、路由器、防火墙。在本案例中,选择Cisco Catalyst 4506作为核心交换机,表5.4所示为该交换机的基本参数。该交换机是模块化交换机,有6个插槽,可以插不同类型的线卡。通过线卡提供的GBIC光纤口,使光纤能够与办公楼、教学楼、图书馆等楼宇的汇聚交换机互连。西南校区可以采用 TRUNK 模式或者路由模式,把西南校区的交换机通过租用的数字链路直接连接到核心交换机,最终实现所有楼宇的连接。所有校区均通过光纤接入网络中心,并通过统一出口访问广域网。

Cisco Catalyst 4506交换机基本参数

本案例中汇聚交换机选用Cisco Catalyst 3560,下表所示为该交换机的基本参数。各个汇聚交换机通过光纤接口与 Cisco Catalyst 4506 核心交换机互连,并为各接入交换机或直接接入用户提供10M、100M或1000M接入。

本案例防火墙选择速通 3500,下表所示为该防火墙的基本参数。防火墙部署在路由器和核心交换机之间,一则对整个内网的用户提供安全保障,二则实施NAT转换(解决IP地址匮乏问题)。此外,当IDS检测到攻击时,防火墙应能够接收到IDS指令,并对来自外部的攻击进行阻拦,对防火墙的规则进行动态调整。因此,防火墙转换(解决IP地址匮乏问题)。此外,当IDS检测到攻击时,防火墙应能够接收到IDS指令,并对来自外部的攻击进行阻拦,对防火墙的规则进行动态调整。因此,防火墙应能与用户的IDS设备联动。

案例2:城域网设备选择
某市网通公司城域网分布于市内的4个点,A区2个点,B区2个点,计划建设成基于以太网接入和VLAN连接的宽带IP城域网。该城域网具有1个GE的Internet出口(通过CNC骨干网的POP路由器上的GE端口)。该城域网结构图如下图所示。

某市城域网的网络节点包括骨干层、汇聚层,开通后还会有接入层,其中,骨干层包括 1个核心节点:市邮政机房。核心节点配置有一台爱立信的 Extreme BD6808 核心路由交换机,和一台Alpine3804核心三层交换机。BD6808核心路由交换机通过155Mbit/s接口连接CNC骨干网POP路由器,通过1GE以太网端口连接城域网的汇聚节点。汇聚层目前有7个节点,A区图书馆、A区邮政、A区科技大楼、A区广电大楼、A区大学城、B区POP1、B区POP2节点。每个汇聚节点各有一台Extreme Summit48i汇点。汇聚层目前有7个节点,A区图书馆、A区邮政、A区科技大楼、A区广电大楼、A区大学城、B区POP1、B区POP2节点。每个汇聚节点各有一台Extreme Summit48i汇聚三层交换机。在本城域网项目中,各节点间的连接主要靠混合传输网来实现。各汇聚交换(Summit48i)配置了 100Mbit/s 以太网端口连接混合传输网。A 区图书馆和义乌POP1与A区邮政中心骨干机房的BD6808核心路由交换机通过GE裸光纤直连,向下通过混合传输网分别以百兆以太网端口连接A区邮政和义乌POP2节点,其他节点到核心路由交换机的连接是通过城域网的综合传输网来实现。

6.6子网划分回顾
一家集团公司有 12 家子公司,每家子公司又有 4个部门。上级给出一个172.16.0.0/16的网段,让给每家子公司以及子公司的部门分配网段,如下图所示。

具体思路如下:既然有12家子公司,那么就要划分12个子网段,但是每家子公司又有4个部门,因此又要在每家子公司所属的网段中划分4个子网分配给各部门。具体步骤如下。
1.先划分各子公司的所属网段
有12家子公司,那么就有2^n≥12,n的最小值为4。因此,网络位需要向主机位借4位。那么就可以从172.16.0.0/16这个大网段中划出24(即16)个子网详细过程如下。
先将172.16.0.0/16的第3、4个字节用二进制表示为172.16.00000000.00000000/16。主机位借4位之后可以划分16个子网,具体如下。
(1)172.16.00000000.00000000/20(172.16.0.0/20)。
(2)172.16.00010000.00000000/20(172.16.16.0/20)。
(3)172.16.00100000.00000000/20(172.16.32.0/20)。
(4)172.16.00110000.00000000/20(172.16.48.0/20)。
(5)172.16.01000000.00000000/20(172.16.64.0/20)。
(6)172.16.01010000.00000000/20(172.16.80.0/20)。
(7)172.16.01100000.00000000/20(172.16.96.0/20)。
(8)172.16.01110000.00000000/20(172.16.112.0/20)。
(9)172.16.10000000.00000000/20(172.16.128.0/20)。
(10)172.16.10010000.00000000/20(172.16.144.0/20)。
(11)172.16.10100000.00000000/20(172.16.160.0/20)。
(12)172.16.10110000.00000000/20(172.16.176.0/20)。
(13)172.16.11000000.00000000/20(172.16.192.0/20)。
(14)172.16.11010000.00000000/20(172.16.208.0/20)。
(15)172.16.11100000.00000000/20(172.16.224.0/20)。
(16)172.16.11110000.00000000/20(172.16.240.0/20)。
从这16个子网中选择12个即可,就将前12个分给下面的各子公司。每个子公司最多容纳主机数目为212-2=4094。
2.再划分子公司各部门的所属网段
以甲公司获得172.16.0.0/20 为例,其他子公司的部门网段划分同甲公司。甲公司有4个部门,那么就有2n≥4,n的最小值为3。因此,网络位需要向主机位借2位。那么就可以从172.16.0.0/20这个网段中再划出23(即8)个子网,正符合要求。
详细过程如下。
先将172.16.0.0/20的第3、4字节用二进制表示为172.16.00000000.00000000/20。借2位后可划分出4个子网,具体如下。
(1)172.16.00000000.00000000/21(172.16.0.0/23)。
(2)172.16.00000100.00000000/21(172.16.4.0/22)。
(3)172.16.00001000.00000000/21(172.16.8.0/22)。
(4)172.16.00001100.00000000/21(172.16.12.0/22)。
将这4个网段分给甲公司的4个部门即可。每个部门最多容纳主机数目为210-2=1022。
1.案例:子网划分
某公司最初拥有十多台计算机,由于公司规模不大,因此大家的计算机都在同一个 C 类网络192.168.1.0 中。但随着公司的发展,人员规模增多,而且为了能够更好地保护公司的信息与文档,现在要求根据不同的部门把原来的一个网络分成多个子网。
问题1:原来财务部的两台个人计算机的IP地址是192.168.1.118和192.168.1.116,现在要增加1台计算机,最多可能增加到5台。那么应该使用的新的子网掩码是什么?新增加的这台计算机的可用IP地址有哪些?
问题2:开发部门的6台机器原来使用的IP地址比较零散,数字最小的是192.168.1.16,最大的是192.168.1.43,为了使这些机器都处于同一个子网,那么应该使用的新的子网掩码是什么?这个子网最大可以容纳多少台主机?子网号和广播地址分别是什么?
问题3:划分为子网之后,如果需要跨子网通信,需要采用什么设备?当两台路由器的广域网接口直接相连时,浪费最小的IP地址分配方案的子网掩码应该是多少位?
2.案例分析
(1)问题1:根据题目的要求,首先要使这两个IP地址能够处于同一个子网中,因此要找出这两个IP地址的相同的位,前24位显然是相同的,因此只要比较最后8位。
192.168.1.118的最后8位是01110110。
192.168.1.116的最后8位是01110100。
只要子网掩码中1的位数小于等于30,就能保证这两个IP地址处于相同的子网之中。然后再考虑第二个条件,即要使该网段至少能包含5台机器,所以要确保主机位数大于等于3,即子网掩码1的位数为29(32-3),即255.255.255.248。
而其网络号的最后8位就是01110 000,即112(192.168.1.112);广播地址则是主机号全为1,最后8位应该是01110 111,即119(192.168.1.119)。因此在这个范围之内的IP地址,除已经使用的192.168.1.116和192.168.1.118外都可以使用。
(2)问题2:与前一个问题类似。首先要找出这两个IP地址的相同位,因为前24位相同,因此比较后8位。
192.168.1.16的最后8位是00010000。
192.168.1.43的最后8位是00101011。
从上面可以看出只有最前面的两位是相同的。因此只要子网掩码中1的位数是小于等于26,就能保证这两个IP地址处于相同的子网中,因此子网掩码中1的位数为26,即255.255.255.192。而网络号的最后8位数应该是00000000,即192.168.1.0,广播地址则是主机号全为1,最后8位应该是00111111,即192.168.1.63,因此在这个范围之类可用的IP地址是192.168.1.1~192.168.1.62,共有主机62台。
(3)问题3:IP地址是网络层地址,如果网络层地址不在同一个子网内,就需要借助工作在第三层的设备,如路由器、三层交换机等。两台路由器的广域网接口直接相连时,只需要分配两个IP地址,因此主机号需要的位数显然是2位,子网掩码就是30位,即255.255.255.252。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值