为什么需要有计算机网络体系结构?我们都知道计算机网络非常复杂,涉及非常多的组成部分:如主机(hosts)、路由器(routers)、链路(links)、应用(applications)、协议(protocols)等等。那么有没有这样一种系统结构能够很好的描述网络呢?如果有的话是什么样的结构呢?至少这个系统结构可以用来讨论网络。答案是可以使用分层结构来描述复杂系统。为什么采用分层结构呢?(分层结构优点)因为分层结构清晰,有利于我们认识复杂系统的部件及其关系;模块化的分层易于系统更新、维护,任何一层服务实现的改变对于系统其它层都是透明的;有利于标准化。
计算机网络体系结构简称网络体系结构(network architecture)是分层结构,计算机网络体系结构是计算机网络的各层及其协议的集合,每层遵循某个/些网络协议完成本层功能。协议是控制两个对等实体进行通信的规则的集合,协议 是 “ 水平的 ” 。服务:任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供 服务 ,服务是“ 垂直的 ”,下层协议的实现对上层的 服务用户是 透明 的。同系统的相邻层 实体间通过接口进行交互。
2、OSI与Internet参考模型2.1OSI参考模型
最早的时候网络刚刚出现的时候,很多大型的公司都拥有了网络技术,公司内部计算机可以相互连接。可是却不能与其它公司连接。因为没有一个统一的规范。计算机之间相互传输的信息对方不能理解。所以不能互联。从而形成了一个个的网络孤岛,限制了计算机和网络的发展。因而国际标准化组织(ISO)推出了OSI参考模型。
OSI(Open System Interconnect)即开放式系统互连,一般叫OSI参考模型,OSI参考模型是由国际标准化组织 (ISO) 于1984年提出的分层网络体系结构模型, 目的是支持异构网络系统的互联互通。但由于OSI参考模型的标准实在是太严格了,目前还没有完全按照OSI标准设计的网络,理论成功,市场失败。OSI参考模型采用分层设计的方式,将一个复杂的网络问题划分成了多个小的问题。使网络的维护更利于实现、使网络技术更利于更新。OSI给设计网络和网络排错提供了一个非常好的模型和思路——一个完整的应该具备哪些功能?该功能在哪个层次?通过这样的思考方式很容易定位网络的故障。也很容易的来衡量出一个现实的网络是否完善。OSI参考模型将网络按照功能分为7层,每层完成特定的网络功能。如表1-1所示。
表1-1 OSI七层参考模型 层号 层名 数据的名字 功能描述7 应用层(Application) 数据(data) 提供用户通过用户代理(如浏览器)或网络接口使用网络(服务)如、文件传输(FTP)、电子邮件(SMTP)、Web(HTTP)等。
6 表示层(Presentation) 数据(data) 处理两个系统间交换信息的 语法与语义(syntax and semantics ) 问题,比如对用户数据进行相应的编码、加密/解密、压缩/解压缩等
5 会话层(Session) 数据(data) 对话控制(dialog controlling):建立维护对话、同步(synchronization)数据:在数据流中插入“同步点”。
4 传输层(Transport) 数据段(sagment) 为数据提供一种安全可靠的传输方式,主要做的工作:分段与重组、SAP寻址(确保将完整报文提交给正确进程,如端口号)、连接控制、流量控制、差错控制
3 网络层(Network) 分组(packet) 负责源主机到目的主机数据分组(packet)交付。完成数据在网络中的实际传输,确定地址和***路径。逻辑寻址(Logical addressing):封装全局唯一逻辑地址,确保数据分组被送达目的主机,如IP地址;路由(Routing):路由器(或网关)互连网络,确定分组从源主机到目的主机***传输路径;分组转发:将分组从路由器的输入端口交换到正确的输出端口。
2 数据链路层(Data link) 帧(frame)