OSI七层模型各个分层的作用
— 专门百度了下 “广为应用的是tcp/ip 为什么还要学习七层模型”这个智障但困扰我许久的问题…
原谅我的无知…
给出的回答是: TCP/IP是由应用到的理论,而OSI是国际标准化制定模型,有理论,并且想推广到应用.并且前者先出现,他们有对应关系,不能说一个XX是TCP/IP模型不是OSI模型的
之前有粗略学习过七层模型,但是真真正正梳理了一遍后发现这个…的问题就化无了。
- 应用层(针对协议)
为应用程序提供服务,并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录(虚拟终端)等协议。
- 表示层(转换格式)
将应用处理的信息转化为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的各式。因此它主要负责数据格式的转换。
具体来说,就是将设备固有的数据格式转换为网络标准传输格式。不同设备对同一比特流解释的结果可能会不同。因此,使他们保持一致是这一层的主要作用。
- 会话层(建立断开连接)
负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理
- 传输层(可靠的传输)
起着可靠传输的作用,只在通信双方节点上进行处理,无需在路由器上处理。
- 网络层(寻址和路由选择)
将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某一个地址。因此这一层主要负责寻址和路由选择。
- 数据链路层
负责物理层面上互连的、节点之间的通信传输。例如与1个以太网相连的两个节点之间的通信。
将0、1序列划分为有意义的数据帧传给对端(数据帧的生成与接受)。
- 物理层
负责将0、1比特流(0、1序列)与电压的高低、光的闪灭之间的转换。
假定用户A要给用户B发送一封内容为“你好,很高兴认识你”的邮件,那么网络究竟会怎么处理呢?
1.输入电子邮件后发送给目标地址 ==>应用层
从用户输入完所要发送而内容并点击“发送”的那一刻起,就进入了应用层协议的处理。该协议会在所要传送数据的前端附加一个首部信息,该首部标明了 目标地址,发送人, 邮件内容。
2.若两主机使用的应用软件的不同会导致数据的表现形式截然不同。==>表示层
若用户A与用户B所使用的客户端软件完全一致,就能顺利收取阅读邮件,而客户端不同是常有的事。
“你好,很高兴认识你”这段文字的编码格式针对不同计算机就有很多可能,如UTF-8,GB2312,BIG5等,如果未能按特定格式编码,那么在接收端就算收到了邮件也可能只是一团乱码。
解决方法:
将 “某个计算机特定数据格式” 转换为 “网络通用标准数据格式” ,后发送出去。接收端将 “网络标准格式” 恢复为自己计算机通用数据格式。意思是在表示层的底层数据都是同一以网络标准格式传输。
在此例中就是根据 “你好,很高兴认识你” 这段文字的编码格式转换成了“同一的网络数据格式”。
3.两端主机采用何种方法传输数据,如何高效数据传输 ==>会话层
此处的连接不是真实具体开始传输,而是确定一种策略,决定建立连接和断开连接的时机。
假定A准备发送5封电子邮件给B,而发送顺序可以有很多种,比如发送一封邮件建立一次连接,还可以一经建立就直接将五封邮件直接发送给对方,或是同时建立好五个连接将五封邮件同时发送给对方。
决定采用何种连接方法是会话层的主要责任。
4.真正负责在网络上传输具体数据 ==>传输层
此处的具体应用就是大名鼎鼎的tcp 三次握手与四次挥手 、udp了,具体分析见我下篇博客。
“建立通信连接“
有了通信连接就可以使主机A发送的电子邮件到达主机B中
确保所传输数据到达目的地址(会在通信两端计算机之间确认),如果数据没有到达,他会负责重发。
”断开通信连接“
(此例为确保数据到达目的地址)
例如,主机A将 ”你好,很高兴认识你“ 这一数据发送给主机B,期间可能会因为网络异常导致数据被破坏,只有一部分到达了目标地址,比如主机B只收到了 ”你好,很高兴“ 这一部分数据,收到数据后,他会将自己没有收到”你好,很高兴“ 之后那部分数据的事实告诉给主机A,主机A得知后,会将后面的 ”认识你“ 重发给主机B,并再次确认对端是否收到。
5.通过众多链路将数据从主机A发送到主机B ==>网络层
使用无连接的网际协议 IP 和许多种路由选择协议。负责为分组交换网上的不同主机提供通信服务,把运输层产生的报文段或用户数据报封装成分组(也叫IP数据报或数据报)或包进行传送。网络层的另一个任务就是选择合适的路由。
6.将网络层交下来的 IP 数据报组装成帧,在两个相邻结点(主机和路由器,或两个路由器)之间的链路上“透明”地传送帧中的数据。 ==>数据链路层
每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。
如发现有差错,会简单的丢弃帧。如果需要改正错误,由运输层的 TCP 来完成。
7.传送数据的单位是比特。物理层的任务就是透明地传送比特流 ==>物理层
要考虑用多大的电压代表“1” 或 ”0”,以及接受方如何识别出发送方所发的比特。还要确定连接电缆的插头应当有多少根引脚以及各条引脚应如何连接。
物理层不需要加控制信息,但要注意传送比特流时应从首部开始传送
TCP/IP是由应用到的理论,而OSI是国际标准化制定模型,有理论,并且想推广到应用.并且前者先出现,他们有对应关系,不能说一个XX是TCP/IP模型不是OSI模型的.
贴一张我以前存的图 大部分协议我没有怎么了解过…
这个看起来好看了很多…
tcp/ip四层协议
很基础的总结总结方便以后查阅
tip/ip下次继续补充