1.计算机网络的分层结构
目的:为降低协议设计和调试过程的复杂性,便于对网络进行研究、实现和维护,促进标准化工作
体系结构:计算机网络各层及其协议的集合。计算机网络及其所应完成的功能的精确定义,它是各层次、各层的协议及层间接口的集合。
分层的基本原则:
①每层实现相对独立的功能,降低大系统的复杂度
②各层之间界面自然清晰,易于理解,各层之间交流尽可能少
③各层功能的精确定义独立于实现方法,采用最合适的技术实现功能
④保持下层对上层的独立性,上层单向使用下层提供的服务
⑤整个分层结构应能促进标准化工作
实体:任何可发送或接受信息的硬件或软件进程,通常是个特定的软件模块。第n层的活动元素称为n层实体
不同机器上同一层称为对等层,同一层的实体叫做对等实体
在计算机网络体系结构的各个层次中,对等层次之间传送的数据单位称为该层的协议数据单元(PDU),由协议控制信息(PCI)和服务数据单元(SDU)组成,协议数据单元(PDU)在每一层都有一个通俗的名称,如物理层叫比特,链路层叫帧,网络层叫分组,传输层叫报文。。n+1层的PDU(n层的SDU)+n层的PCI组成n层的PDU
层次结构的含义:
①第n层的实体不仅要使用第n-1层的服务,实现自身定义的功能,还要向第n+1层提供服务,该服务包括第n层及下面各层提供的服务总和
②最低层只提供服务,是整个层次结构的基础,最高层面向用户提供服务
③上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其他层的服务,下一层所提供服务的实现细节对上一层透明
④两个主机通信时,对等层再逻辑上有一条直接信道,表现为不经过下层就把信息传送给对方
2.计算机网络协议、接口、服务概念
1.协议:规则的集合,为网络中的数据交换而建立的规则、标准或约定称为网络协议,他是控制对等实体进行通信的规则的集合,是水平的
协议由语法(规定数据格式)、语义(完成的功能)、同步(规定操作条件、时序关系)组成。完整的协议一般包括线路管理、差错控制、数据转换等功能。
2.接口:同一结点内 相邻两层间交换信息的连接点。典型的接口上,相邻两层实体一般通过 服务访问点(SAP)进行交互,SAP是个抽象的概念,是个逻辑接口3.服务:下层为紧邻的上层提供的功能调用,垂直的。对等实体在协议的控制下使得本层能为上一层提供服务。
上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令再OSI中称为服务原句。请求->指示->响应->证实
本层协议的实现才能保证向上一层提供服务,本层用户只能看到服务而无法看到下面的协议。协议是水平的,而服务是垂直的。只有能够被高一层看到的功能才叫服务
计算机网络提供服务的分类:(个人对以下服务的理解:整个计算机系统是底层,用户是上层)
⑴面向连接服务(先建立连接,分配相应资源,结束后释放连接和所占资源)连接建立-->数据传输-->连接释放,TCP是一种面向连接的服务
无连接服务(把每个带有目的地址的包(报文分组)传送到线路上)(尽最大努力交付),不保证通信的可靠性。如IP、UDP协议
⑵可靠服务:指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地
不可靠服务:尽量正确可靠的传送,其网络的正确性、可靠性就要由应用或用户来保障
⑶有应答服务:接收方再收到数据后向发送方给出相应的应答,该应答有传输系统内部自动实现,而不是用户实现
无应答服务:接收方收到数据后不自动给出应答,如要给出应答,则由高层实现。如WWW服务,客户端收到服务器发送的页面文件后不给出应答
3.ISO/OSI参考模型和TCP/IP模型
1.OSI参考模型
开放系统互联参考模型(OSI/RM):国际标准化组织(ISO)提出的网络体系结构模型,通常称为OSI参考模型
具有7层,低三层称为通信子网,他是为了联网而附加上去的通信设备,完成数据传输功能
高三层为资源子网,相当于计算机系统,完成数据的处理功能。传输层承上启下。
由低到高:
①物理层:传输单元为比特,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明的传输原始比特流
主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理和逻辑连接方法,所以物理层协议也称为物理层接口标准(物理层规程)
物理层接口标准很多:如EIA-232C、EIA/TIA RS-449、CCITT的X.21等
②数据链路层:传输单元是帧,任务是将网络层传下来的IP数据包组装成帧。功能概括:成帧、差错控制、流量控制、传输管理等。
差错控制:由于外界噪音的影响,物理层传输比特流时可能发送错误,数据链路层要检测出这些差错,再把错的信息丢弃(协议)
流量控制:可能节点A发送数据速度比结点B接受数据速度快很多,若不加以控制,结点B会丢弃很多来不及接受的正确数据
广播式网络再数据链路层中还要处理:如何控制对共享信道的访问,数据链路层的一个特殊子层(介质访问子层)专门处理这个问题
数据链路从的协议有:SDLC、HDLC、PPP、STP、帧中继等
③网络层:传输单元是数据报,他关心通信子网的运行控制,主要任务把网络层的PDU从源端传到目的端,提供通信功能。
其关键问题是对路由选择,并实现流量控制、拥塞控制、差错控制、国际互联等功能(利用路由算法找出一条合适路径,使分组顺利到达)
流量控制:和②一样,协调A的发送速度和B的接受速度
差错控制:若出现差错,能纠错就纠错,不能纠错就丢弃,确保向上层提交的数据是无误的
拥塞控制:网络处于拥塞状态会使网络中两个结点无法正常通信,网络层要采取一定措施,环节这种拥塞
国际互联:因特网是个很大的互联网,他由大量的异构网络通过路由器相互连接,其主要网络层协议是无连接的网络协议和许多路由选择协议,因此 其网络层也叫网络层或IP层。
网络层的协议有:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF等
④传输层:也叫运输层,传输单位是报文段(TCP)或用户数据包(UDP),任务是负责主机中两个进程之间的通信
功能:为端到端连接提供可靠的运输服务:提供流量控制、差错控制、服务质量、数据传输管理等服务
数据链路层提供点对点通信,主机到主机的通信(IP地址或硬件地址),而运输层提供端对端通信(不同主机的两个进程,一个进程用端来标识)
由于一个主机可同时运行多个进程,因此传输层具有复用和分用的功能。复用是多个应用层进程同时使用运输层服务,分用是运输层把收到的信息分 别交付给上面应用层上相应的进程。
传输层的协议有:TCP、UDP
⑤会话层:允许不同主机上各进程间的回话。利用传输层提供的端到端服务,想表示层提供他的增值服务。服务主要是向表示层实体或用户进程提供建立
连接并再连接上有序地传输数据,这就是会话,也成为建立同步(SYN)
负责管理主机间的会话进程,包括建立、管理、终止进程间的会话。会话层使用校验点可使会话在失效时从校验点继续回复通信,实现数据同步
⑥表示层:处理再两个通信系统中交换信息的表示方式,不同机器采用的编码和表示方法不同,使用的数据结构也不同,为使不同表示方法的数据和信息
之间能互相交换,表示层用抽象的标准方法定义数据结构,并采用标准的编码方式。数据压缩、加密、解密也是其提供的数据表示变换功能。
⑦应用层:是用户与网络的界面。为特定类型的网络应用提供方位OSI环境的手段。由于用户实际应用的多样性应用层采用不同的应用协议来解决不同的
应用需求,因此是最复杂的一层,使用协议也最多,典型的有文件传送的FTP、电子邮件的SMTP、万维网应用HTTP等
2.TCP/IP模型
ARPA在研究ARPAnet提出TCP/IP模型,其由于广泛应用而称为实际上的国际标准。
由低到高:
①网络接口层:功能类似与OSI的物理层和数据链路层。他表示与物理网络的接口,但实际上TCP/IP本身没有真正描述这一部分,只是指出主机必须使用某种协议与网络连接,以便能再骑上传递IP分组。其责任是从主机或结点接受IP分组,并把它们发送到指定的物理网络上。
②网络层(主机-主机):TCP/IP关键部分,将分组发往任何网络,并为之独立选择合适路由,不保证各组有序到达,有序交给高层负责。
网络层定义了标准的分组格式和协议,即IP协议,当前为IPv4,下一版本是IPv6
③传输层(应用-应用或进程-进程):使发送端和目的端主机上的对等实体可以进行对话。协议有TCP、UDP
④应用层(用户-用户):包含所有的高层协议,比如虚拟终端协议(Telnet)、文件传输协议(FTP)、域名解析协议(DNS)电子邮件协议( SMTP)和超文本传输协议(HTTP)
IP协议是因特网中的核心协议,TCP/IP可以为各式各样的应用提供服务(everything over IP),同时TCP/IP允许IP协议在各种各样的网络构成的互联网上允许( IP over everything)。
3.两大模型的比较
相似之处:①都采用分层的体系结构,且分层功能也大体相似②都基于独立的协议栈概念③都可以解决异构网络的互联,实现不同产家生产的计算机间的通信
不同之处:
①OSI参考模型最大贡献就是精确定义了三个主要概念:服务、协议、接口,而TCP/IP对此没有明确区分,不符合软件工程的思想
②OSI参考模型产生在协议发明之前,没有偏向于任何特定的协议,通用性好,但设计者再协议方面没有太多经验,不知道把功能放哪一层好。
而TCP/IP正好相反,首先出现的是协议,模型实际上是对已有协议的描述,因此不会出现协议不能匹配模型的情况,但该模型不适合于其他非TCP/IP模型。
③TCP/IP设计之初就考虑多种异构网的互联问题,并将网络协议IP作为一个单独的重要层次。而OSI模型只考虑用过一种标准的公用数据网将不同系统互联起来
④OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信,而TCP/IP模型认为可靠性是端和端的问题,依次它在网络层仅有一种无连接的通信模式,但在传输层有两种。
通信协议栈类似快递或送信,再次不一一叙述