当前位置: 首页 > news >正文

【Linux 网络编程】协议的分层知识!

文章目录

      • 1. 计算机网络背景
      • 2. 认识 "协议"
      • 3. 协议分层

1. 计算机网络背景

  • 网络互联: 多台计算机连接在一起, 完成数据共享;

  • 🍎局域网(LAN----Local Area Network): 计算机数量更多了, 通过交换机和路由器连接。

在这里插入图片描述


  • 🍎 广域网WAN: 将远隔千里的计算机都连在一起;
    在这里插入图片描述

2. 认识 “协议”

🍎① “协议” 本质是一种约定 (通信双方之间 ),可以理解我们在淘宝上面买一个商品,我们收到快递后,我们收到的不止是买的商品还有一个快递单 ( 这个快递单其实就是我们双方约定好的协议,从快递单我们知道双方的寄货、收货信息, — 报文 ---- ,协议是通信信息多出来的部分 )
协议其实就是C语言中的结构体,结构体中 填充我们需要的字段(两个结构体对象之间相互通信,所以都认识)

在这里插入图片描述


🍎② 计算机之间的传输媒介是光信号和电信号. 通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息. 要想传递各种不同的信息, 就需要约定好双方的数据格式.


🍎③ 小问题: 只要通信的两台主机, 约定好协议就可以了么?

  • 计算机生产厂商有很多;
  • 计算机操作系统, 也有很多;
  • 计算机网络硬件设备, 还是有很多;
  • 如何让这些不同厂商之间生产的计算机能够相互顺畅的通信?
    就需要有人站出来, 约定一个共同的标准, 大家都来遵守, 这就是网络协议;

🍎④ 每层都需要有自己的协议!
在这里插入图片描述


3. 协议分层

  • 🍎 打电话📞的例子
  • 🐧 分层有什么好处呢?
    ① 分层最大的好处在于 “封装”;
    ② 分层符合 “高内聚”(层内部之间相互联系),“低耦合” (层与层之间)的特性,便于维护。
    在这里插入图片描述

相关文章:

  • 专项技能训练五《云计算网络技术与应用》实训9 使用openVPN建立小型企业内网VPN环境
  • C语言 指针——指针变量的定义、初始化及解引用
  • 串口通信问题排查总结
  • Flink 对接 Hudi 查询数据,java代码编写
  • Windows驱动开发系列文章一
  • Deepin Linux 深度 V23 beige 官方源及换镜像源方法。
  • 【MySQL精通之路】优化
  • 一千题,No.0037(组个最小数)
  • 2021职称继续教育--中国共产党的光辉历程及其经验
  • 服务器的远程桌面无法连接,服务器远程桌面无法连接问题处理教程
  • nginx配置文件
  • 分布式事务-TCC
  • 锐捷网络与您相约第七届数字中国建设峰会 共话数字未来
  • RestTemplet 自定义消息转换器总结
  • 香港Web3媒体:Techub News
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 【附node操作实例】redis简明入门系列—字符串类型
  • const let
  • CSS 专业技巧
  • docker python 配置
  • echarts花样作死的坑
  • Linux快速复制或删除大量小文件
  • MD5加密原理解析及OC版原理实现
  • 大整数乘法-表格法
  • 订阅Forge Viewer所有的事件
  • 构造函数(constructor)与原型链(prototype)关系
  • 数组大概知多少
  • 通过git安装npm私有模块
  • 一个完整Java Web项目背后的密码
  • 硬币翻转问题,区间操作
  • 用jQuery怎么做到前后端分离
  • 7行Python代码的人脸识别
  • 带你开发类似Pokemon Go的AR游戏
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​Java基础复习笔记 第16章:网络编程
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #stm32整理(一)flash读写
  • (6)添加vue-cookie
  • (7) cmake 编译C++程序(二)
  • (C#)获取字符编码的类
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (七)Activiti-modeler中文支持
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十)c52学习之旅-定时器实验
  • (转)负载均衡,回话保持,cookie
  • (转载)Google Chrome调试JS
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .Net Winform开发笔记(一)
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET单元测试
  • .NET委托:一个关于C#的睡前故事