好文档 - 专业文书写作范文服务资料分享网站

网络基础第3章网络体系结构(网络协议分析) 

天下 分享 时间: 加入收藏 我要投稿 点赞

1.6 OSI参考模型

对于网络而言,其最基本的功能就是实现不同节点间的通信,然而其具体实现并不是一个简单的问题。为了实现网络通信功能,引入工程化思维将复杂的网络功能加以层次化、抽象化、模块化,以便于设计、管理与维护,形象的说,即形成网络体系结构。

如今,用户可以方便的使用不同厂家的设备来构建计算机网络,不存在兼容性问题。但在早期,要实现不同厂家设备间的互通却不可能,这是因为在计算机网络发展初期,不同的厂商、科研机构都开发了自己的网络架构体系和标准。随着网络规模的增大,不同标准的网络之间通信的需求越来越强。

为了解决网络之间兼容性问题,国际标准化组织ISO于1984年提出了开放系统互联参考模型OSI/RM(open system interconnection reference model),一般称为OSI参考模型。

OSI参考模型将计算机网络的全部功能设计为7层,自底到顶依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

物理层

物理层是OSI参考模型的最底层,亦称第一层,其主要功能是实现比特流传输。需要注意的是,物理层是物理设备通过物理介质互联的描述与规定,及定义了电压、接口、线缆标准、传输距离等特性,概括来说就是机械特性(接口形状、接口尺寸、引线数目、引线序列等)、电气特性(引线的电压、电流的取值范围等)、功能特性(引线出现不同电平值得意义)、规程特性(针对不同功能的各种可能事件的出现序列)。

数据链路层

比特流数据在一条链路上传输,除了要有物理介质外,还必须有一定的规则加以控制,以保证比特流数据的正确可靠传输,这就是数据链路层的功能。数据链路层位于OSI参考模型的第二层,其主要实现以下功能:

? 帧同步:即编帧和识别帧。数据链路层中数据以帧为单位传送。发送方

需要链路层将比特编成帧,接收方需要链路层从接收的比特流中明确区分出数据帧的起始与终止的地方。

? 数据链路的建立、维持、释放:当网络中的设备要进行通信时,通信双

方必须先建立一条数据链路,在建立链路时需要保证安全性,传输中要维持链路,而通信结束后要释放链路。

? 传输资源控制:在共享介质网络上,多终端设备数据传输必须由数据链

路层协议对资源的分配加以控制。

? 流量控制:为保证数据正常收发,防止数据发送过快,导致接收方数据

溢出,网络出现拥塞,就必须及时控制发送方发送数据的速率。而数据链路层控制的就是相邻两节点间数据链路上的流量。

? 差错控制:由于物理层无法识别比特流传输时可能产生的错误,所以数

据链路层就以帧为单位实施差错控制。最常用的方法是FCS(Frame Check Sequence,帧校验序列),发送方在发送一个帧时,根据其内容,通过诸如CRC校验之类的算法计算出校验,并将其加入此帧的FCS字段中发送给接收方,接收方通过对校验和进行检查,检测是否传输出错,并进行

纠错处理。

? 寻址:数据链路层协议能够识别介质上的所有节点,并寻找目标节点,

以便将数据正确发送到目的地。我们通常所说的网卡48位MAC地址就是数据链路层识别节点的硬件地址。

? 标识上层数据:为了在同一链路上支持多种网络层协议,发送方必须在

帧的控制信息中标识载荷的网络层协议,以便接受方将载荷提交给正确的上层协议处理,实现对等通信。

网络层

网络层位于OSI参考模型的第三层。数据链路层的目标只是将帧从链路的一端传送到另一端,即相邻节点间的数据传输。而网络层的任务却是要选择合适的路径并转发数据包,使数据包能够正确无误地从发送方传递到接收方,即非相邻节点间的数据传输。网络层主要实现以下功能:

? 编址:网络层为每个节点分配标识,即网络地址。我们通常说的IP地址

就是网络地址。

? 路由选择:网络层的一个关键作用就是要确定从源到目的的数据传输如

何选择路由。网络层设备在计算路由之后,按照路由信息对数据包进行转发。

? 拥塞控制:跟链路层一样,如果网络同时传送过多数据包,也会产生拥

塞,导致数据丢失,所以网络层也负责对网络层的数据包拥塞进行控制。 ? 异种网络互联:由于通信链路与传输介质是多种多样的,每种链路都有

其特殊的通信规定,网络层必须能够工作在多种多样的链路和介质类型上,以便能够跨越多个网段提供通信服务。

另外,网络层协议还能协调发送、传输及接受设备的处理能力的不平衡性,如网络层可以对数据进行分片和重组,以使得数据包的长度能够满足该链路的数据链路层协议所支持的最大数据帧长度。

传输层

传输层位于OSI参考模型的第四层,其功能是为会话层提供无差错的传送链路,保证两台设备间传递信息的正确无误。从某种意义上讲,传输层是整个协议体系的核心,如果没有传输层,分层协议的整个概念将变得毫无意义。

传输层负责创建端到端的通信连接。通过该层,通信双方主机上的应用程序之间通过对方的地址信息直接进行对话,而不用考虑其间的网络上有多少个中间节点。

传输层的一个重要工作是差错校验和重传。包在网络传输中可能出现错误,也可能出现乱序、丢失等情况,传输层必须能检测并更正这些错误。一个数据流中的包在网络中传递时如果通过不同的路径到达目的地,就可能造成到达顺序的改变。接受方的传输层应该可以识别出包的顺序,并且在将这些包的内容传递给回话层之前将他们恢复成发送时的顺序。接收方传输层还需验证所有的包是否都已收到,如果出现错误和丢失,还必须要求对方重新传送。

为避免发送速度超出网络或接收方的处理能力,传输层还负责执行流量控制,在资源不足时降低流量,而在资源充足时提高流量。

会话层

会话层是利用传输层提供的端到端服务,向表示层或会话用户提供会话服务。会话层建立会话关系,并保持会话过程的通畅,决定通信是否被中断以及下

次通信从何处重新开始发送。

会话层也处理差错恢复。例如,若某用户正在网络上发送一个大文件的内容,而网络忽然发生故障,当网络恢复工作后,用户是否必须重新传输?答案是否定的,因为会话层允许用户在一个长的信息流中插入检查点,只需将最后一个检查点以后丢弃的数据重传。

表示层

表示层负责将应用层的信息“标识”成一种格式,对端设备能够正确识别,它主要关注传输信息的语义和语法。例如,一幅图像可以标识为JPEG格式,也可以标识为BMP格式。

表示层还负责数据的加密和压缩。

应用层

应用层是OSI的最高层,它直接与用户和应用程序打交道,负责对软件提供接口以使程序能使用网络服务。

1.7 TCP/IP协议簇

OSI参考模型为清晰地理解互联网络、开发网络产品和设计网络等带来了方便。但是OSI参考模型过于复杂,难以完全实现,并且OSI参考模型各层功能具有一定的重复性,效率较低。OSI参考模型提出时,TCP/IP协议已逐渐占据主导地位,从而导致OSI参考模型并没有流行开来,也从来没有存在一种完全遵守OSI参考模型的协议簇。

与OSI参考模型不同的是,TCP/IP模型的体系结构相对简单,是Internet上运行的协议簇,是最成功的国际标准,其最主要的功能就是将各种不同的异构网络在统一的IP架构下互联起来。

TCP/IP模型也采用层次化结构,但其简化了层次设计,只分为4层——应用层、传输层、网络层和网络接口层,如图1-2所示。

图1-2

TCP/IP模型与OSI参考模型除了在体系结构的功能层次上划分不同外,区别还体现在以下3个方面:

① TCP/IP并不是简单地对OSI的上三层和下两层合并,事实上网络接口层

并不完全对应于OSI的数据链路层和物理层。

② TCP/IP中的传输层、网络层与OSI参考模型中的功能定义也略有差别。比如,在OSI参考模型中,对传输层的功能定义着重强调端到端的可靠性,提供的是面向连接的传输服务,而TCP/IP协议簇中传输层并不要求提供的服务一定是面向连接的、可靠地传输服务。

③ TCP/IP中的网络接口层实际上是空白的,因为TCP/IP模型并没有明确规定这里的内容,其只指出,主机必须通过某个网络协议连接到网络上,以便可将分组发送到网络上。

虽然TCP/IP模型的体系结构很简单,但针对该模型开发出来的协议却十分丰富,每层都有一些代表性的协议。

① 应用层:DNS、DHCP、FTP、TELNET、HTTP、SMTP、TFTP、SNMP等 ② 传输层:TCP、UDP

③ 网络层:IP、ARP、RARP、ICMP、IGMP等

1.8 网络层的主流协议

1.IP

IP是TCP/IP协议簇中最具代表性的协议,是完成网络层功能的主体协议,具体承担在Internet上运载分组的任务,尽力地把每一个分组从源端逐跳运载到目的端,但其不能提供足够的分组安全性和可靠性的保证。在TCP/IP体系中,端到端的可靠性由传输层的TCP来实现。

IP协议的报文结构如图1-3所示,普通的IP头选项不经常使用,因此普通的IP头部长度为20个字节,其中主要字段简介如下。

图1-3

(1)版本(Version):4位,表明了IP协议的版本号,目前主要是版本4(IPv4)和版本6(IPv6)。

(2)头长度(Internet Header Length,IHL):IP包头部长度,占4位,以字节为单位。

(3)服务类型(Type of Service,ToS):用于标识IP包期望获得的服务等级,常用于QoS控制。

(4)总长度(Total Length):16位,标识整个IP包的长度,以字节为单位。利用首部长度字段和总长度字段,可计算出IP封装的数据净荷(亦称载

荷)。

(5)标识(Identification):16位,唯一标识主机发送的每一个IP包。通常每发送一个包,其值就会加1。

(6)生存时间(Time to Live,TTL):8位,设置了数据包可以经过的路由器数目。一旦经过一个路由器,TTL值就减一,当其值为0时,数据包将会被丢弃。

(7)协议(Protocol):8位,用于标识数据包内传送的数据所属的上层协议,IP用协议号区分上层协议,如TCP协议的协议号为6,UDP协议的协议号为17,ICMP协议的协议号为1。

(8)头校验和(Header Checksum):16位,用于检查IP包头的完整性。由于数据来自于传输层,传输层协议应提供自身的差错检测,所以IP只需关心分组头中的检测错误。这样做的优点是,检测较少的比特使路由器能够更快的处理分组。

(9)源地址(Source Address)和目的地址(Destination Address):本别标识数据包的源节点和目的节点的IP地址。

2.ARP和RARP

作为网络中主机的身份标识,IP地址是一个逻辑地址,但是在实际通信过程中,物理网络所使用的依然是物理地址(硬件地址),IP地址是不能被物理网络所识别的。RFC826定义的ARP给出了将主机的网络地址动态映射为硬件MAC地址的方法,而RFC903定义的RARP给出了一种允许工作站动态获得其协议地址的方法。

(1)ARP的功能

对于局域网而言,当IP数据包通过网络发送时,网络设备并不能识别32位的IP地址,他们是以48位的MAC地址标识每一设备并据此地址传输网络数据的。因此在物理网络中传输数据是,需要在逻辑IP地址和物理MAC地址之间建立映射关系,即地址映射(Address Resolution)。

ARP就是用于动态地将IP地址解析为MAC地址的协议。主机通过ARP解析到目的MAC地址后,将在自己的ARP缓存表中增加相应的IP地址到MAC地址的映射项,用于后续到同一目的地报文的转发。ARP的作用如同问路,IP地址好比目的地名称,MAC地址好比目的地的物理位置。

(2)ARP基本工作原理

假设HostA和HostB在同一物理网络上,且处于同一个网段(IP网络),HostA要向HostB发送IP包,其地址解析过程如图1-4所示。

网络基础第3章网络体系结构(网络协议分析) 

1.6OSI参考模型对于网络而言,其最基本的功能就是实现不同节点间的通信,然而其具体实现并不是一个简单的问题。为了实现网络通信功能,引入工程化思维将复杂的网络功能加以层次化、抽象化、模块化,以便于设计、管理与维护,形象的说,即形成网络体系结构。如今,用户可以方便的使用不同厂家的设备来构建计算机网络,不存在兼容性问题。但在早期,要实现不同厂家设备间的互通却不可
推荐度:
点击下载文档文档为doc格式
3n03e6uu566k2th1y0qk
领取福利

微信扫码领取福利

微信扫码分享