共计 1667 个字符,预计需要花费 5 分钟才能阅读完成。
一、前言
在我们回忆 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 模型却没有将它们区分开
对于这些知识,大家还记得多少呢?欢迎大家留言讨论 (✪ω✪)