1.1 计算机网络基础知识
现代社会,计算机网络被广泛应用于各个方面,并成为人们工作和生活中不可或缺的一部分。从企业、学校到家庭等场所都在应用计算机网络,从固定终端设备到可移动、便携的移动终端设备,再到家用电器、汽车、飞行器等都需要计算机网络。
计算机网络以实现资源共享和数据通信为目的。计算机网络是利用通信设备和传输介质,把地理位置分散的、具有独立功能的多个计算机系统相互连接起来,通过网络协议和网络软件来运行的计算机系统的集合。
1.1.1 TCP/IP分层模型
在网络中,各种网络设备之间需要通过事先达成的一种详细的“约定”来实现通信,这种“约定”就是通常说的协议。不同厂家生产的网络设备、CPU及具有不同操作系统的网络设备之间,只有遵循相同的协议才能够实现通信。不同的协议制定了不同的网络通信行为的规范,只有相互通信的设备使用相同的协议,并遵循协议规范才能实现通信。
TCP/IP是计算机网络中广泛使用的协议。图1-1所示为TCP/IP分层模型。图中不仅给出了TCP/IP分层模型与OSI模型分层之间的对应关系,也列举了TCP/IP各层的常用协议及实现各层协议的主体。
TCP/IP的第一层是网络接入层(Network Access Layer),对应于OSI模型的物理层和数据链路层。网络接入层提供连接网络中物理设备的接口,形成传输介质所需的数据帧格式,基于物理地址进行寻址,提供物理设备间传输数据的差错控制。网络接入层通常遵循IEEE的标准,如IEEE 802.3是Ethernet标准,IEEE 802.11是Wireless LAN的标准。物理层遵循的标准有EIA/TIA-232、V.35、V.21等。
TCP/IP的第二层是互联网层(Internet Layer),也称为网络层。互联网层提供与硬件无关的基于逻辑地址的寻址,选择到达目标主机的最佳路径,使数据能够在不同物理结构的子网中通过。在计算机网络中实现互联网层功能的协议是IP。
图1-1 TCP/IP分层模型
TCP/IP的第三层是传输层(Transport Layer)。传输层的主要功能是保证应用程序之间的逻辑通信,如建立连接,处理流量控制和差错控制。传输层的常用协议是TCP和UDP。这两种协议可以分别为应用层提供面向连接的服务和无连接的服务,即能提供可靠和不可靠的数据传输。在网络终端设备上通常同时运行着多个程序,为了识别不同的应用程序采用了端口号。
TCP/IP的第四层是应用层(Application Layer),对应于OSI参考模型中的会话层、表示层和应用层。应用层为操作系统或网络应用程序提供访问网络服务的接口。表示层提供数据格式的转换服务。会话层建立端到端的连接并提供访问验证和会话管理。常见应用层协议有HTTP、FTP、DNS、Telnet等。
1.1.2 计算机网络的构成
随着我国国民经济的迅速发展,高速公路已经成为交通网络的“主干”道路,城市与城市之间的道路主要由高速公路连接。如果从甲城市到乙城市的某个地方,需要先通过甲城市的城市街道到达城市间的高速公路入口,经高速公路到乙城市的高速公路出口,再进入乙城市的城市道路,从而到达终点。计算机网络的结构和交通网络结构相似,计算机网络是分层的结构,其中与高速公路类似的部分,称之为“骨干”或者“核心”。计算机网络分为三层,分别是核心层、分布层和接入层,如图1-2所示。企业网络、校园网等都采用这种网络结构。
接入层中连接着计算机网络的各种终端设备,这些设备具备低成本、高密度、即插即用的特点。接入层所使用的网络设备通常是二层或者三层交换机,称为接入层交换机。
分布层也称为汇聚层,提供路由、策略控制及QOS策略的管理。大量具有相同行为的用户发出的数据通过接入层交换进入分布层,分布层设备转发数据给核心层设备,并对核心层进行保护与协助,完成这项任务的交换机称为分布层交换机。分布层交换机需要配置高性能、高可用性和高冗余性的设备。分布层至少配置两台交换机,接入层和分布层交换机之间的链路采取冗余的连接方式,如图1-2所示。
图1-2 分层网络结构
核心层设备是网络内的核心,所有的数据都通过核心层设备在骨干网络中进行高速交换,之后再从分布层到接入层,完成整体的数据交换。因此,核心层设备必须具有高冗余能力、高可靠性、高转发速率的特点。核心层设备也需要做到冗余配置。而对于网络控制策略则尽量放在接入层或分布层,以便降低网络控制对核心设备能力的影响。
1.1.3 常见网络设备
在构建计算机网络环境时,会涉及各种各样的电缆和网络设备。本节忽略电缆,只介绍搭建计算机网络时用到的主要硬件设备及其作用。网络设备可能工作在某个协议层上,也可能工作在多个协议层上,如图1-3所示。这里将对常见的网络设备进行简单介绍,后续章节中将对交换机和路由器做重点介绍。
图1-3 工作在不同协议层上的设备
1.网络接口卡(NIC)
网络接口卡又称为网络适配器,简称网卡。网卡能处理物理层和数据链路层的协议,可以使各种硬件终端连接到网络。网卡有多种分类方法,比如可分为内置网卡和外置网卡,或者有线网卡和无线网卡等,如图1-4所示。
图1-4 网络接口卡
a) 无线网卡 b) 网卡 c) USB网卡
2.集线器(Hub)和中继器(Repeater)
中继器和集线器是物理层设备,如图1-5所示。两者的相似之处在于均可以延长数据传输距离,但放大距离有限。不同之处在于中继器能进行信号的重新发送或转发,数据的传输距离比集线器更远。
图1-5 集线器和中继器
a) 集线器 b) 中继器 c) 无线中继器
3.二层交换机(Layer 2 Switch)/ 网桥(Bridge)
二层交换机通常简称为交换机,交换机和网桥具有相同的工作机制。网桥仅支持两个端口,相比之下,交换机的端口密度更高,交换机是多端口的网桥。另外,在数据转发速率上,交换机比网桥快。交换机和网桥可以处理物理层及数据链路层的协议,这两个设备可以在数据链路层上扩展网络,并根据物理地址(即MAC地址)进行数据帧的转发。因此,交换机和网桥也被称为二层设备。随着硬件技术的提升,交换机的安全性和效率更高,因此交换机应用更加广泛。图1-6所示是不同厂商生产的二层交换机。
图1-6 二层交换机
a) 思科Catalyst 2950系列交换机 b) 华为S2700系列交换机
4.路由器(Router)/三层交换机(Layer 3 Switch)
路由器和三层交换机是通过网络层实现网络之间的连接,并对分组数据进行转发的设备。与二层设备不同的是,路由器和三层交换机是根据逻辑地址(IP地址)进行数据包的转发。路由器可以用于连接不同介质的数据链路,同时路由器具备一定的网络安全功能。图1-7所示为不同厂商生产的路由器和三层交换机。
图1-7 路由器及三层交换机
a) 华为S3700系列交换机 b) 思科1800系列路由器
5.网关(Gateway)
通俗地讲,网关是从一个网络到另一个网络的“关口”。网关可以运行在较高的协议层次上,所以网关有多种类型。网关把使用不同通信协议的两个网络连接在一起,并负责协议转换,以使不同网络之间可以相互转发数据。如家庭用于接入电信网络用的Modem就是一种网关。因此,网关也被称为协议转换器。图1-8所示为思科和华为的多媒体网关。代理服务器和防火墙可以作为应用网关,并具有过滤和安全功能。网关的内容在本书中不做详细阐述。
图1-8 多媒体网关
a) 思科媒体网关 b) 华为AR500系列敏捷网关
在互联网早期,路由器被称为“网关”,即通常所说的默认网关(Default Gateway),这是因为路由器可以为局域网和其他网络提供链接,在不同网络之间实现数据包的转发。局域网中的各种终端设备需要知道路由器在本网络中的IP地址(即网关地址),并定义指向该路由,以实现与其他网络之间的互通。本书后续章节将会涉及路由器。
6.防火墙(Firewalls)
防火墙是内部网络和外部网络之间的网络安全系统,根据预设的安全策略监控进出网络的数据流。防火墙有网络层防火墙、应用层防火墙、数据库防火墙,防火墙可以通过在常规硬件上运行软件实现,也可以基于硬件实现。图1-9为防火墙设备,本书不对防火墙做详细介绍。
图1-9 防火墙设备
a) 思科ASA5505防火墙 b) 瞻博SSG5防火墙