博客
关于我
OSI七层参考模型和数据封装
阅读量:485 次
发布时间:2019-03-07

本文共 1308 字,大约阅读时间需要 4 分钟。

OSI七层参考模型与数据封装


分层思想

在复杂的系统中,分层设计能够将复杂的流程划分为几个功能相对单一的子过程。这种方法能够使整个流程更加清晰,显得更加简单化。通过分层,可以更容易发现问题并针对性地进行解决,从而提高系统的可维护性和可扩展性。


OSI七层参考模型

OSI七层参考模型是一种网络通信的标准模型,它将网络功能划分为七个独立的层次,每一层都有特定的功能和协议。这种分层设计使得网络通信过程更加清晰,便于理解和管理。

层次结构如下:

  • 物理层(Layer 1):负责数据的物理传输,例如传输波调制、光纤传输等。
  • 数据链路层(Layer 2):负责网络之间的通信协议,例如MAC地址、IP地址解析等。
  • 网络层(Layer 3):负责网络地址的路由选择。
  • 传输层(Layer 4):负责数据的端到端通信,例如TCP和UDP协议。
  • 会话层(Layer 5):负责建立和管理会话。
  • 表示层(Layer 6):负责数据的编码和解码。
  • 应用层(Layer 7):提供具体的应用服务,如HTTP、FTP等。

  • TCP/IP协议簇与OSI参考模型

    TCP/IP协议簇是一种实际广泛应用的协议集,由四层协议组成:链接层(Layer 2)、网络层(Layer 3)、传输层(Layer 4)和应用层(Layer 7)。虽然它与OSI模型不同,但其功能与OSI模型的某些层次相匹配。

    TCP/IP五层模型常见协议

  • 应用层协议:HTTP、HTTPS、FTP、DNS等。
  • 传输层协议:TCP、UDP。
  • 网络层协议:IP、ICMP、IGMP、OSPF等。
  • 数据链路层协议:以太网、802.11、token ring等。
  • 确认传输单位(ARP)与反确认传输单位(RARP)

  • ARP(地址解析协议):ARP用于将IP地址转换为MAC地址。当一台设备想与另一台设备通信时,如果知道对方的IP地址但不知道MAC地址,它会通过发送广播请求来获取对方的MAC地址。

  • RARP(反地址解析协议):RARP与ARP相反,它用于在已知MAC地址的情况下获取IP地址。


  • PDU协议数据单元的数据封装与解封装

    在每层网络协议中,数据都是以协议数据单元(PDU)形式传输的。每一层会对数据包装裹上特定的头信息,并进行速率适配,从而将数据包传递到更高或更低的层次。

    数据封装过程

    数据封装是指将业务数据映射到特定协议的净荷范围内,并填充对应协议的包头信息,形成封装数据包。这一过程打破了数据的直接传输,使数据能够适应不同的网络环境。

    数据解封装过程

    数据解封装是指在传输过程中,对于接收到的封装数据包,通过检查数据包头的信息,识别所属的协议,并拆解出原始的业务数据。这一过程使得数据能够被正确地解析和处理。


    TCP/IP层间通讯过程

    在TCP/IP协议簇中,各层之间的通讯过程如下:

  • 应用层:通过应用协议(如HTTP)传输数据。
  • 传输层:通过TCP/UDP协议进行数据的端到端传输。
  • 网络层:通过IP协议进行路由选择。
  • 数据链路层:通过以太网、Wi-Fi等协议进行局域网通信。
  • 物理层:通过光纤、缆线等介质进行物理传输。

  • 希望这篇优化后的文章能够更好地满足你的需求!

    转载地址:http://ctncz.baihongyu.com/

    你可能感兴趣的文章
    npm run dev提示“sh: 1: webpack-dev-server: not found”
    查看>>
    如何在excel2019指定的单元格中插入图片
    查看>>
    Java练习中的渣渣小点子,只给自己看的
    查看>>
    力扣-26题(Java)
    查看>>
    力扣-81题(Java)
    查看>>
    力扣-344题(Java)
    查看>>
    windows快捷键隐藏桌面所有窗口——“老板键”
    查看>>
    Ubuntu进入超级用户提示“认证失败”
    查看>>
    微信自定义分享ios无效
    查看>>
    this.$router.push不起作用(this指向错误)
    查看>>
    Sublime安装px转rem插件
    查看>>
    retrofit --post请求
    查看>>
    IDEA上传Jar
    查看>>
    Spring 应用程序有哪些不同组件?
    查看>>
    SpringBoot工程临时加一个分页的yml文件没有生效
    查看>>
    搭建的SpringMVC项目,404错误,确保代码正确的前提,可能是jar包没导进去
    查看>>
    flume使用中的一些常见错误解决办法 (地址已经使用)
    查看>>
    基于递归的全排列
    查看>>
    前端笔试题总结(三) - CSS篇
    查看>>
    C语言字符型、整型和变量的长度
    查看>>