一、前言

在我们回忆OSI/RM模型与TCP/IP模型之前,我们先来回顾一下什么是计算机网络体系结构。

计算机网络各层次结构模型及其协议的集合,称为网络的体系结构。

而网络协议有三要素:
①语义:涉及用于协调与差错处理的控制信息
②语法:涉及数据及控制信息的格式、编码及信号电平,等
③定时:涉及速度匹配和排序等

层次结构则如下图所示:

图片描述

层次的结构要点有:
①除了在物理介质上进行的是实通信之外,其余各对等实体间进行的都是虚通信
②对等层的虚通信必须遵循该层的协议
③n层的虚通信时通过n/n-1层间接口处n-1层提供的服务以及n-1层的通信(通常是虚通信)来实现的。

层次结构遵循的原则:
①每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上、下层的接口不变,便不会对邻层产生影响。
②层间接口必须清晰,跨越接口的信息量应尽可能少
③层数应适中。若层数太少,则躲种功能混杂在一层中,造成每一层的协议太复杂;若层数太多,则体系结构太过于复杂,使描述和实现各层功能变得困难

二、OSI/RM参考模型

接下来就是我们熟知的七层结构,从最底层往最高层分别是:
①物理层
②数据链路层
③网络层
④传输层
⑤会话层
⑥表示层
⑦应用层

如下图所示:

图片描述

首先,计算机网络结构有两大子网:资源子网和通信子网。
中继开放系统可以理解为通信子网中的网络节点,用来转发数据。而中继开放系统只要包含物理层、数据链路层或多一个网络层就可以传输数据了。

接下来我们讲一下OSI/RM参考模型中的各层大体是干嘛的:

1.物理层:数据在物理层中以数据比特流bit传输的。
2.数据链路层:将数据比特流组织成数据链路协议数据单元(通常称为帧)进行传输
3.网络层:数据以网络协议数据单元(通常称为分组)进行传输
4.传输层:端对端数据直接传输,不必关心通信子网(即将网络层的数据直接转给端口)
5.会话层:进程 - 进程之间的通信
6.表示层:为上层提供数据或变换语法
7.应用层:为各应用提供访问OSI环境的手段

三、TCP/IP参考模型

相比OSI/RM模型的七层协议,TCP/IP模型只有四层协议,分别从低层往高层是:
①主机--网络层
②互连层
③传输层
④应用层

其主机--网络层相当于OSI模型中的物理层和数据链路层;互连层相当于OSI的网络层;而传输层和应用层和OSI模型的两层作用是一样的。

接下来介绍一下TCP/IP协议簇,看看我们熟知的协议:

图片描述

IP : 互连网协议
ICMP : 互连网控制报文协议
ARP : 地址转换协议
RARP : 反向地址转换协议
TCP :传输控制协议
UDP :用户数据报协议
SMTP : 简单邮件传送协议
DNS : 域名服务协议
FTP : 文件传输协议
TELNET : 远程终端访问协议

然后我们再看下各层之间的数据传输(就这张图画的最丑):

图片描述

四、两模型之间的异同点以及缺点

1.相似点

1.两者都以协议栈的概念为基础,并且协议栈中的协议彼此相互独立
2.两种模型都采用了层次结构的概念,各个层的功能也大体相似

2.不同点

1.层数不同:OSI有7层,而TCP只有4层
2.面向连接和无连接的通信范围有所不同:

a.OSI模型的网络层同时支持无连接和面向连接的通信;但是传输层只支持面向连接的通信
b.TCP模型的互连层只支持无连接通信;但是传输层上同时支持无连接和面向连接两种通信

3.OSI模型的缺点

1.模型和协议自身的缺陷。其中会话层和表示层这两层几乎是空的;而数据链路层和网络层包含的内容太多,有很多的子层插入,每个子层都有不同的功能。协议复杂难实现,功能重复,降低系统的效率。如每层都实现 编制、差错控制、和流控制

2.OSI出现晚于TCP,当时TCP已经被广泛应用,厂商不想支持第二个协议栈

4.TCP模型的缺点

1.TCP模型并没有清楚地区分哪些是规范、哪些是实现,而且TCP/IP模型不适合于其他非TCP/IP协议簇

2.TCP/IP模型的主机——网络层不是常规意义上的一层,而是一个定义了网络层和数据链路层的接口。接口和层的区别是非常重要的,而TCP/IP模型却没有将它们区分开

对于这些知识,大家还记得多少呢?欢迎大家留言讨论(✪ω✪)


小哥
12 声望2 粉丝

虚心学习


引用和评论

0 条评论