ywrby

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

原文链接

为什么计算机网络需要进行分层

  1. 各层独立工作,层之间通过接口联系,降低协议工作的复杂程度
  2. 提高灵活性,任何一层的改变不影响其他层
  3. 每层的实现技术可以不同,减少了实现的复杂度
  4. 易于维护,每层可以单独进行调试
  5. 还便于标准化

分层原则:

信宿机第n层收到的对象应该与信源机第n层发出的对象完全一致

典型分层模型

  • OSI七层模型
  • TCP/IP四层模型

OSI七层模型

层次 名称 功能描述
7 应用层(Application) 主要为各种各样的网络应用提供网络服务(Email,FTP,微信)
6 表示层(Presentation) 将信息表示为一定形式的数据流(将信息转换为比特)完成的任务有压缩与解压缩,加密解密等
5 会话层(Session) 它负责通信主机间的会话的建立,管理和拆除(协调通信双方会话)
4 传输层(Transport) 是参考模型的核心层之一,负责通信主机间的端到端连接(对于TCP来说,其还负责提供可靠的传输,差错恢复,拥塞控制等额外功能)
3 网络层(Network) 是另一个核心层,功能是通过IP地址以及最优路径,将每一个每一个分组从信源机一路送至目的机
2 数据链路层(Data Link) 提供介质访问服务(通过物理地址识别通信主机,提供可靠的帧传递,并作差错控制,流控等)
1 物理层(Physical) 提供透明的比特流(光信号,电信号,无线信号…)传递,物理流只关心比特流传输,不关心比特流包含内容

每一层都利用它下层的服务,为它的上层提供服务

TCP/IP参考模型

TCP/IP协议 OSI参考模型
应用层(Telent,FTP,SNTP协议) 会话层,表示层和应用层
传输层(TCP,UDP协议) 传输层
网络层(ICMP,IP,ARP协议) 网络层
数据链路层 物理层和数据链路层

数据如何传输?

涉及到:发送方,接收方和中间的信号通道(用于传输比特流)

发送方:

进行封装/打包:将信息打包,从最高层逐渐下行到最底层

在每一层上,数据都被加上头部信息,用于传递信息

  1. 在OSI模型上三层,信息表示为数据流(DataStream)
  2. 传输层,切割为数据段,加上段头(包含端口号等)
  3. 网络层,添加分组头部(包含寻址主机的IP地址等),形成分组(包)
  4. 数据链路层,添加帧头(包含寻址主机所需的物理地址(MAC),校验等信息)形成
  5. 物理层,帧转为比特流
上述黄色标注为数据在各层存在形式,称为数据协议单元PDU

接收方:

进行解封装/解包,从最底层逐渐上行到最高层提取出信息

解封装的过程就是封装的你想过程,在每层去掉头部信息,最终还原出应用层的输出:信息

实体(Entity):

每层中活动的元素,可能是硬件也可能是软件,负责完成对应层的封装或解封装任务。

对等实体:收发双方对应层上的实体互称对等实体

虚拟通信(对等通信)

只看收发双方的对应层,发现收发双方对应层(即对等实体之间)之间好像有一根直接的通道(虚拟通道),沿虚拟通道,PDU从发放到达收方。


服务,协议和接口之间的关系

参考模型上每一层都为上一层提供服务,以接口的形式供上层调用。协议作用于对应层之间

posted on 2020-04-05 18:42  ywrby  阅读(139)  评论(0编辑  收藏  举报