常见的计算机网络体系结构
OSI体系结构(七层)
法律上的国际标准
- 应用层
- 表示层
- 会话层
- 运输层
- 网络层
- 数据链路层
- 物理层
失败原因
- OSI的专家们缺乏实际经验,OSI标准没有商业驱动力;
- OSI的协议实现起来太过复杂,而且运行效率很低;
- OSI标准的指定周期太长,使得按照OSI生产的设备无法及时投入市场;
- OSI的层次划分不合理,有些功能再多个层次中重复出现(与TCP/IP体系结构相比,后者相当于将OSI体系结构的物理层和数据链路层合并成了网络接口层,并去掉了会话层和表示层)
TCP/IP体系结构(四层)
因特网从1983年开始使用TCP/IP协议族
- 应用层
- 运输层
- 网际层(网络层,在网络层使用的协议是IP协议(中文:网际协议),因此TCP/IP体系结构的网络层也常称为网际层)
- 网络接口层
事实上的国际标准
用户有接入因特网的需求,这就要求用户的主机必须下hi用TCP/IP协议。在用户主机的操作系统中,通常都带有符合TCP/IP体系结构标准的TCP/IP协议族,而用于网络互连的路由器中,也带有符合TCP/IP体系结构标准的TCP/IP协议族,只不过路由器一般只包含网络接口层和网际层。
TCP/IP体系结构的网络接口层并没有规定具体的内容,这样可以互联全世界各种不同的网络接口(例如:有线的以太网接口、无线局域网的WIFI接口),不限定仅使用一种或几种网络接口,因此,本质上TCP/IP体系结构只有上面的三层。
TCP/IP体系结构的应用层包含了大量的应用层协议(例如:HTTP、SMTP、DNS、RTP) 。
IP协议可以将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互连服务,而TCP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供可靠传输的服务;UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠传输的服务。
IP协议作为TCP/IP体系结构中的核心协议,一方面负责不同的网络接口(IP over everything),另一方面未各种网络应用提供服务(Everything over IP)
IP协议是TCP/IP体系结构网际层的核心协议。
TCP和UDP是TCP/IP体系结构运输层的两个重要协议。
在TCP/IP体系结构中包含有大量的协议,IP协议和TCP协议是其中非常重要的两个协议,因此,用TCP和IP这两个协议来表示整个协议大家族,常称为TCP/IP协议族。
原理体系结构(五层)
为了学习方便,有利于对计算机网络原理的学习
- 应用层
- 运输层
- 网络层
- 数据链路层
- 物理层
计算机网络体系结构分层的必要性
应用层:解决通过应用进程的交互来实现特定网络应用的问题。 传输层:解决进程之间基于网络的通信问题。 网络层:解决分组在多个网络上(路由)的问题。 数据链路层:解决分组在一个网络(或一段链路)上传输的问题。 物理层:解决使用何种信号来传输比特的问题。
计算机网络体系结构分层思想举例
计算机网络体系结构的专业术语
实体
实体:任何可发送或接受信息的硬件或软件进程。
对等实体:通信双方相同层次中的实体。
通信双方的网卡(硬件)、正在进行通信的应用程序(软件进程)是对等实体
协议
控制两个对等实体进行逻辑通信的规则的集合
称为逻辑通信是因为这种通信并不存在,只是假设出来的通信,目的在于方便我们单独研究体系结构的某一层,不用考虑其他层。
协议三要素
- 语法:定义所交换信息的格式(定义了有哪些字段以及何种顺序构成)
IP数据报格式
其中的小格子称为字段或域;数字表示字段的长度,单位是位(bit).
语法就是定义了这些小格子的长度和先后顺序
语义
定义收发双方所要完成的操作,用来说明通信双方应当怎么做;用于协调与差错处理的控制信息。
同步
定义收发双方的时序关系(并不是指始终频率同步),定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是异步传输。
三次握手
服务
在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
要实现本层协议,还需要使用下面一层所提供的服务。
协议是“水平的”,服务是“垂直的”。
实体看得见相邻下层所提供的服务,但并不知道该服务的具体协议。也就是说,下面的协议对上面的实体是“透明”的。(好比我们可以看得见手机为我们提供的服务,并享受这些服务,但我们没有必要弄懂手机的工作原理)
服务访问点
在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
- 数据链路层的服务访问点为帧的“类型”字段。
- 网络的服务访问点为IP数据报首部中的“协议字段”。
- 运输层的访问服务点为“端口号”。
服务原语 上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。 **协议数据单元PDU ** 对等层次之间传送的数据包称为协议数据单元。
物理层对等实体逻辑通信的数据包称为比特流(bit stream)
数据链路层对等实体逻辑通信的数据包称为帧(frame)
网络层对等实体逻辑通信的数据包称为分组(packet),使用IP协议也成为IP数据报
运输层对等实体逻辑通信的数据包称为TCP报文段(segmeng)或UDP用户数据报(datagram),根据使用的协议而定
应用层对等实体逻辑通信的数据包称为应用报文(message)
上述各层数据包也可以统称协议数据单元PDU
服务数据单元SDU
同一系统内,层与层之间交换的数据包称为服务数据单元。
多个SDU可以合成为一个PDU;一个SDU也快划分几个PDU。
数据包和数据报
datagram(数据报) -- 在网络层中的传输单元(例如IP)。一个datagram可能被压缩成一个或几个packets,在数据链路层中传输。 packet(数据包) -- 封装(和传输)的基本单元,它穿越网络层和数据链路层的分解面。通常一个packet映射成一个frame,但也有例外:即当数据链路层执行拆分或将几个packet合成一个frame的时候。