局域网络技术

来自CloudWiki
跳转至: 导航搜索

TCP/IP参考模型

在计算机网络中,协议就是为了使网络中的不同设备能够进行数据通信,而预先制定的一整套通信各方相互了解和共同遵守的格式和约定,是一系列规则和约定的规范性描述。只有遵守相同的协议,网络设备之间才能够相互通信。协议分为两类:一类是私有协议,它由各个网络设备厂商自己来定义的协议;另一类是开放式协议,它由专门的标准机构来定义的协议。为了解决网络设备之间的兼容性问题,帮助各个厂商生产出可以兼容的网络设备,国际标准化组织(ISO)提出了开放系统互联参考模型(OSIRM)。OSI参考模型由下至上分为7层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

OSI的7层协议体系结构清楚地定义了网络结构,但相对比较复杂。随着互联网的发展,TCP/P的5层体系结构得到了广泛应用,成为事实标准。TCP/P通信协议是目前最完整、使用最广泛的通信协议。它可以使不同硬件结构、不同操作系统的计算机互相通信。TCP/IP协议既可以用于广域网,也可以用于局域网,它是Internet/Intranet 的基础。TCP/IP通信协议由一组独立的协议组成,其主要协议有传输控制协议(TCP)和网际协议(P)。按照功能分为5层协议,由下至上分别是:物理层、数据链路层、网络层、传输层和应用层。


物理层

它的作用是透明传递比特流。它规定了介质类型、接口类型和信令类型。物理层介质主要为同轴电缆、双绞线、光纤和无线电波等。物理层标准包括:支持局域网的以太网标准802.3、令牌总线标准802.4、令牌环网标准 802.5、光缆标准FDDI等,支持广域网的公共物理层接口标准RS-232、串行线路接口标准V.24和 V.35、数字接口标准G.703等。


数据链路层

它的作用是负责从上而下将源自于网络层的数据封装成帧,从下而上将源自物理层的比特流划分成帧,并且控制帧在物理信道上的传输。不同网络设备之间通过不同的数据链路层协议传输数据。主要协议有以太网协议(Ethernet)、高级数据链路控制协议(HDLC) 、点对点协议(PPP)、帧中继协议(FR)等。数据链路层常见设备为以太网交换机。

网络层

它的作用是负责在网络之间将数据包从源转发到目的地。在发送数据时,网络层把传输层产生的报文段加上网络层的头部信息封装成包的形式进行传送;在接收数据时,网络层根据对端添加的头部信息对包进行相应的处理。主要协议有网际协议(IP)、网际控制报文协议(ICMP)、地址解析协议(ARP)、反向地址解析协议(RARP)。网络层常见设备为路由器。

网络层在整个分层结构中的功能是:

①提供逻辑地址:网络层定义了一个地址,用于在网络层唯一标识一台网络设备。网络层地址在TCP/IP模型中即为P地址。

②路由:将数据报文从某一链路转发到另一个链路。路由决定了分组包从源转发到目的地的路径。

传输层

它的作用是为上层应用屏蔽网络的复杂性,并实现主机应用程序间端到端的连通性。它将应用层发往网络层的数据分段或者将网络层发往应用层的数据段进行合并。建立了端到端的连接以传送数据流。它实现了主机间的数据段传输,在传送过程中可以通过计算校验以及流控制的方式保证数据的正确性,避免发生缓冲区溢出现象。部分传输层协议能够保证数据传送的正确性。在数据传送过程中确保了同一数据既不多次传送,也不丢失,同时保证数据报的接收顺序和发送顺序一致。主要协议有传输控制协议(TCP)和用户数据报协议(UDP)。TCP提供面向连接的、可靠的字节流服务,UDP提供无连接的、面向数据报的服务。


应用层

应用层协议定义了互联网常见的应用(服务器和客户端通信)通信规范,它直接为用户应用进程提供服务,包括为用户提供接口;处理特定的应用;数据加密、解密、压缩、解压缩;定义数据表示的标准等。应用层的协议可以帮助用户使用和管理TCP/IP网络,主要有基于TCP传输层协议工作的文件传输协议(FTP)、基于UDP传输层协议工作的简单文件传输协议(TFTP)、远程登录协议(Telnet)、超文本传输协议(HTTP)、简单网络管理协议(SNMP)、简单邮件传输协议(SMTP)等。其中部分协议如域名系统(DNS),既可以封装在TCP头部中,也可以封装在UDP头部中。

各层的数据封装和解封装

数据的发送过程和物品的邮寄比较类似,在邮寄物品的时候,会将物品封成包裹,填上收发人的信息,数据的转发也是如此。需要给待发送的数据封装上头部报文,在报头中包含了IP地址、MAC地址等信息。在TCP/IP分层结构中,对等层之间互相交互的数据被称为PDU(协议数据单元)。PDU在不同层有约定俗成的名称。如在传输层中,在上层数据中加入TCP报头后得到的PDU被称为数据段(Segment) ﹔数据段被传递给网络层,网络层添加Ⅳ报头得到的PDU被称为数据包(Packet)﹔数据包被传递到数据链路层,封装数据链路层报头得到的PDU被称为数据包(Frame) ﹔最后,帧被转换为比特,通过网络介质传输。这种协议栈向下传递数据,并添加报头和报尾的过程就称为封装。数据链路层被表示为LLC和 MAC两个逻辑子层。在实际应用中,根据协议的不同,有时候只需要封装MAC子层的头部信息即可。而添加的帧检验序列FCS是一种错误检验机制,主要用于校验数据在传输过程中有无发生错误。当数据通过网络传输后,到达接收设备,接收方将删除添加的信息,并根据报头中的信息决定如何将数据沿协议栈上传给合适的应用程序,这个过程称为解封装。数据的封装和解封装都是逐层处理的过程,各层都会处理上层或者下层的数据,并加上或者剥离到本层的封装报头。不同设备的对等层之间依靠封装和解封装来实现现相互间的通信。

IP地址

IP地址概述

在计算机网络中,IP地址用于唯一标识一台网络设备,由32个二进制数字被分为4个八位数组组成,又称为4个字节。P地址点分十进制形式表示为:192.168.10.100。它通过分层设计可以分为网络地址部分和主机地址部分这两部分。网络地址部分用于唯一地标识一个网段,或者若干网段的聚合。同一网段中的网络设备有同样的网络地址。主机地址部分用于唯一地标识同一网段内的网络设备,在网络设备拥有多个接口的情况下,则拥有标识某个特定的三层接口。

子网掩码作用

子网掩码是一种用来指明I地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。它的作用是将某个P地址划分成网络地址和主机地址两部分。计算机在进行网络通信时,首先断定目标地址和自己的地址是否在同一个网段,先对自己的子网掩码和P地址进行与运算,得到自己所在的网段,再对自己的子网掩码和目标地址进行与运算,比较网络部分与自己所在的网段是否相同。如果不相同,则不在同一个网段,封装帧时目标MAC地址使用网关的MAC地址,交换机将帧转发给路由器接口;如果相同,则直接使用目标IP地址的MAC 地址封装帧,直接把帧发给目标IP地址。

IP地址分类

●A类P地址:网络地址为第一个8位数组,第一个字节以“O”开始。主机地址位数为后面的3个字节24位。A类地址的范围为1.0.0.0~126.255.255.255,每一个A类网络共有224个A类P地址。

●B类IP地址:网络地址为前两个8位数组,第一个字节以“10”开始。主机地址位数为后面的两个字节16位。B类地址的范围为128.0.0.0~191.255.255.255,每一个B类网络共有26个B类IP地址。

●C类IP地址:网络地址为前三个8位数组,第一个字节以“110”开始。主机地址位数为后面的一个字节8位。C类地址的范围为192.0.0.0~223.255.255.255,每一个C类网络共有28个C类IP地址。

●D类I地址:第一个8位数组以“1110”开始,通常作为多播地址。

●E类IP地址:第一个字节在240~255之间,保留,用于科学研究。

目前网中经常使用的是A、B、C类IP地址,随着互联网络飞速发展,目前P地址段已经分配完毕。因此,IETF组织推出了IPv6协议,IP地址由现在的32位扩充到128位,能够用于替代现行短缺的IPv4地址。

交换机组网

交换以太网大大减少冲突域的范围,显著提升网络的性能,并且加强网络的安全性。目前交换以太网使用的网络设备是交换机和网桥。网桥用于连接物理介质类型相同的局域网。而交换机是具有多个端口的转发设备,在各个终端主机之间进行数据转发。它通过隔离冲突域,使得终端主机可以独占端口的带宽,并实现全双工通信。

交换机主要功能

交换机有三个主要功能:地址学习、转发\过滤和环路避免。这三个主要功能同时被使用,共同在网络中起作用。交换机内有一张 MAC(介质访问控制)地址表,表中维护了交换机端口与该端口下设备MAC地址的对应关系,交换机根据MAC地址表进行数据帧的交换转发。而对于收到的数据帧,交换机一般采用三种方式进行处理:直接转发、丢弃和泛洪。直接转发是当收到数据帧的目的MAC地址能够在转发表中查询到,并且对应的出端口与收到报文的端口不是同一个端口时,该数据帧从表项对应的出端口转发出去。丢弃是如果收到数据帧的目的MAC地址能够在转发表中查询到,而对应的出端口与收到报文的端口是同一个端口时,该数据帧被丢弃。泛洪是当收到数据帧的目的MAC地址是单播MAC地址,但在转发表中查询不到,或者收到数据帧的目的MAC地址是组播或者广播MAC地址时,数据帧向除了输入端口外的其他端口复制并且发送。

交换机的交换模式

交换机有快速转发、存储转发和分段过滤三种交换模式。在快速转发模式下,交换机接收到目的地址即开始转发过程,交换机不检测错误,直接转发数据帧,延迟小。在存储转发模式下,交换机接收完整的数据帧后才开始转发过程,交换机检测错误,一旦发现错误数据包将会丢弃,数据交换延迟大,并且延迟的大小取决于数据帧的长度。在分段过滤模式下,交换机接收数据包的前64B后,根据帧头信息查表转发。

ARP及Proxy ARP

地址解析协议ARP是用来将IP地址映射为正确的MAC地址。ARP表项可以分为动态和静态两种类型。动态 ARP是利用ARP广播报文,动态执行并自动进行P地址到以太网MAC地址的解析,无需手动添加。静态ARP是建立P地址和 MAC地址之间固定的映射关系,在主机和路由器上不能动态调整此映射关系,需要手动添加。设备上有一个ARP高速缓存,用来存放P地址到MAC地址的映射表,利用ARP请求和应答报文刷新映射表,以便能正确地把三层数据包封装成二层数据帧,达到快速封装数据帧、正确转发数据的目的。

在进行地址转换时,有时还要用到逆向地址解析协议RARP。它常用于无盘工作站,这些设备知道自己的MAC地址,需要获得P地址。为了使RARP能够正常工作,在局域网中至少有一台主机需要充当RARP服务器。无盘工作站获得自己的P地址的过程是:先向网络中广播RARP请求→RARP服务器接收广播请求→发送应答报文→无盘工作站获得IP地址。

Proxy ARP为代理ARP,当ARP请求是从一台主机发出,用以解析处于同一逻辑三层网络却不在同一物理网段上的另一台主机的硬件地址时,连接它们的具有代理ARP功能的设备就可以应答该请求,使得处于不同物理网段的主机可以正常进行通信。

虚拟局域网VLAN

虚拟局域网VLAN是一种通过将局域网内的设备逻辑而非物理地划分成一个个网段,从而实现虚拟工作组的技术。VLAN将一个物理的LAN在逻辑上划分成多个广播域。VLAN内的主机间可以直接进行通信,而VLAN间不能互通。如果需要不同VLAN间的主机互通,就必须由路由设备进行转发。VLAN技术在以太网帧的基础上增加了VLAN头,用VLAN ID(0—4095)把用户划分为更小的工作组,每一个 VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性,且无须被放置在同一个物理空间里。一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。

VLAN划分方式

(1)基于端口方式

交换机的每个端口配置端口默认VLAN,如果收到的是Untagged帧,则VLAN ID 的取值为PVID。

(2)基于MAC地址方式

配置好MAC地址和VLAN ID的映射关系表,如果收到的是Untagged帧,则依据该表添加VLAN ID。

(3)基于协议方式

配置好以太网帧中的协议域和VLANID的映射关系表,如果收到的是Untagged帧,则依据该表添加VLAN ID。

(4)基于子网方式

根据报文中的P地址信息,确定添加的VLAN ID。

(5)基于策略方式

安全性很高,可以基于MAC地址+IP地址、MAC地址+IP地址+接口。成功划分VLAN后,可以达到禁止用户改变IP地址或者MAC地址的目的。

VLAN端口类型

VLAN技术的出现,使得交换网络中存在了带VLAN的以太帧和不带VLAN的以太帧。因此相应地对链路做了区分,分为接入链路和干道链路。

①接入链路(Access Link):连接用户主机和交换机的链路为接入链路。接入链路上通过的帧为不带Tag的以太网帧。

②干道链路(Trunk Link):连接交换机和交换机的链路为干道链路。干道链路上通过的帧一般为带Tag的VLAN帧,也允许通过不带Tag 的以太网帧。

基于对VLAN标签不同的处理方式,对以太网交换机的端口也做了区分,可以分为3类:

①接入端口 (Access Port) : Access端口是交换机用来连接用户主机的端口,它只能连接接入链路。在同一时刻,Access端口只能归属于一个VLAN,只允许一个VLAN帧通过。Access端口接收到的都是Untagged帧,接收帧时,给帧加上Tag标记。当接收到带 Tag报文时,如果VLAN ID跟默认VLANID相同,则接收该报文。如果跟默认VLANID不同,则丢弃该报文。发送帧时,将帧中的 Tag标记剥离后再发送。

②干道端口(Trunk Port) : Trunk端口是交换机用来和其他交换机连接的端口。干道端口允许多个VLAN帧(带Tag标记)通过。在接收帧时,如果没有Tag,则标记上该端口的默认VLAN ID;如果有Tag,则判断该干道端口是否允许该VLAN帧进入,如果不允许进入,则丢弃该帧。在发送帧时,如果VLAN ID跟默认VLAN ID相同,则剥离VLAN;如果跟默认VLAN ID不同,则直接发送帧。

③混合端口 (Hybrid Port):混合端口时交换机上既可以连接用户主机,也可以连接其他交换机的端口。它允许多个VLAN帧通过。在接收帧时,如果没有Tag,则标记上混合端口的默认VLAN ID;如果有Tag,则判断该混合端口是否允许该VLAN帧进入,允许则进行下一步处理,如果不允许进入,则丢弃该帧。在发送帧时,交换机判断VLAN在本端口的属性是Untag.还是 Tag。如果是Untag,则先剥离帧的VLAN Tag后再发送;如果是Tag,则直接发送帧。