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

文章目录

      • [1. 计算机网络背景](#1. 计算机网络背景)
      • [2. 认识 "协议"](#2. 认识 "协议")
      • [3. 协议分层](#3. 协议分层)

1. 计算机网络背景

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

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

  • 🍎 广域网WAN: 将远隔千里的计算机都连在一起;

2. 认识 "协议"

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

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

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

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

🍎④ 每层都需要有自己的协议!


3. 协议分层

  • 🍎 打电话📞的例子
  • 🐧 分层有什么好处呢?
    ① 分层最大的好处在于 "封装";
    ② 分层符合 "高内聚"(层内部之间相互联系),"低耦合" (层与层之间)的特性,便于维护。
相关推荐
(Charon)11 分钟前
【C++/Qt】Qt 封装 TCP 客户端底层 Network 类:连接、收发、自动测试与错误处理
服务器·网络·qt·tcp/ip
KKKlucifer25 分钟前
日志审计与行为分析在安全服务中的应用实践
网络·人工智能·安全
Agent产品评测局28 分钟前
生产排期与MES/ERP系统打通,实操方法详解:2026企业级智能体与超自动化集成实战指南
运维·人工智能·ai·chatgpt·自动化
CodeOfCC29 分钟前
Linux 嵌入式arm64安装openclaw
linux·运维·服务器
绿虫光伏运维34 分钟前
一文理清光伏运维的内容、常见问题与重要措施
大数据·运维·光伏业务
Aray123441 分钟前
浅析内网跨网段连通差异:ICMP不可达与静默丢包底层原理拆解
网络·ping
Unbelievabletobe42 分钟前
港股api的WebSocket推送如何订阅多只股票
网络·websocket·网络协议
羑悻的小杀马特1 小时前
零成本搞定!异地访问 OpenClaw 最简方案:SSH 端口映射组网!
运维·服务器·人工智能·docker·自动化·ssh·openclaw
TechWayfarer1 小时前
IP归属地运营商能解决什么问题?风控/增长/数据平台落地实践(附API代码)
开发语言·网络·python·网络协议·tcp/ip
TechWayfarer1 小时前
IP归属地运营商生产落地进阶:缓存+降级+灰度对账全解析
网络·python·网络协议·tcp/ip·缓存