Linux(9)

一.网络发展

独立模式

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

而在网络互联的基础上就产生了局域网,城域网、广域网它们是采用地理范围划分的

二.初识协议

协议本质是为了解决通信的某种问题,所以哪里有问题哪里就需要协议,协议落在计算机是通过结构体对象实现的,因此就会在原先的基础上加上内容,即包快递的箱子。

三.网络协议初始

协议为什么分层,两个原因:问题是分层的,内容太多了

分层的要求是高内聚(相同层),低耦合(不同层),分层的好处就是方便维护

四.OSI模型和TCP/IP模型

4.1 OSI模型

  • OSI(Open System Interconnection,开放系统互连)七层网络模型 称为开放式系统互联参考模型,是一个逻辑上的定义和规范
  • 把网络从逻辑上分为了7层
  • OSI 七层模型是一种框架性的设计方法 ,其最主要的功能就是帮助不同类型的主机实现数据传输。
  • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来概念清楚,理论也比较完整 ,通过七个层次化的结构模型使不同的系统、不同的网络之间实现可靠通信。
  • 但是,它既复杂又不实用 ;所以我们按照TCP/IP 四层模型来讲解。

4.2 TCP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.

每一层都依赖其下一层提供的服务来完成数据的传输:上层将数据交给下层,下层为其封装并负责传递。
T****CP/IP 协议族通常采用四层模型:应用层、传输层、网络层和网络接口层(物理层+数据链路层)。

在教学中,有时会将其与 OSI 模型结合,形成五层结构(加入物理层),便于理解。

重点:TCP/IP 原生是四层模型;五层结构是教学简化。

  • 物理层:负责光/电信号的传输方式,如双绞线、同轴电缆、光纤、Wi-Fi 电磁波等。它决定了最大传输速率、距离和抗干扰能力。集线器(Hub)工作在物理层。
  • 数据链路层:负责相邻节点间的数据帧传输与识别,包括帧同步、差错校验等。以太网、无线 LAN 等属于该层标准。交换机(Switch)工作在数据链路层。(注:冲突检测仅用于早期共享介质以太网,现代交换网络已不使用。)
  • 网络层:负责地址管理与路由选择,如 IP 协议通过 IP 地址标识主机,并利用路由表规划传输路径。路由器(Router)工作在网络层。
  • 传输层:负责端到端的数据传输,如 TCP 提供可靠传输服务。
  • 应用层:负责应用程序间的通信,如 SMTP、FTP、HTTP 等。网络编程主要面向应用层。

五.网络传输流程图

同网段

报文 = 报头(协议) + 有效载荷(从上层获取的),通信的过程本质是不断封装和解包

知识补充

  1. 几乎任何层的协议,都要提供一种能力,将报头和有效载荷分离的能力

  2. 几乎任何层的协议,都要在报头中提供,决定将自己的有效载荷交付给上层的哪一个协议的能力(分用后面会解释这个意思)

以太网通信概念

早期以太网(如使用同轴电缆或集线器)采用共享总线结构 :数据广播到总线上,所有设备监听,通过 MAC 地址过滤 ;同一时间仅一台主机可发送 ,否则发生碰撞,需重传 ------这种共享介质区域称为碰撞域

但现代以太网使用交换机每个端口独享带宽 ,帧被定向转发 ,工作在全双工模式已消除碰撞域不再依赖 CSMA/CD(冲突检测)

不同网段

跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器.

**令牌环网:**只有持有令牌的主机才能发送信息

IP与MAC区别: IP记录"从哪里,到哪去"全程不变 ,MAC记录"上一站从哪来,下一站到哪去"会不断变化

IP 协议屏蔽了底层网络的差异化,靠的就是工作在 IP 层的路由器,这样就实现以太网和令牌环网的通信,因为路由器会不断脱和穿新的MAC

六.数据包封装、解包、分用

数据包的不同称呼

  • 传输层叫做数据段
  • 网络层叫做数据报
  • 链路层叫做数据帧

封装
应用层数据通过协议栈发送到网络时,每层协议都会在其上添加一个协议首部(有时还有尾部),这个过程称为封装。

首部中通常包含本层所需的控制信息,如上层协议标识、数据长度、校验码等,用于接收端正确解封装和处理。

解包
解包是指接收方在协议栈中自下而上逐层剥离协议首部,还原出原始应用数据的过程。

分用

分用是指接收端在解封装时,根据当前层协议首部中的标识信息 (如协议号、端口号等),将数据正确交付给上一层对应的协议或应用程序

7.认识IP地址和MAC地址

关于这部分网络知识就讲到这了,内容还是比较简单的,不过后面还会带来进阶的,比较这一章的协议只是大概讲了它是什么,后面会带来更详细的讲解!

相关推荐
他们叫我阿冠18 分钟前
Day5学习--SpringBoot详解
spring boot·后端·学习
tedcloud12326 分钟前
hello-agents部署教程:从零学习AI Agent开发
服务器·人工智能·学习·自动化·powerpoint
szxinmai主板定制专家36 分钟前
电力设备RK3568/RK3576+FPGA,多系统混合部署Linux+RTOS RT-THREAD,强实时性
linux·运维·服务器·人工智能·嵌入式硬件·fpga开发
我想我不够好。36 分钟前
针对性抓人 随机应变
学习
枕星而眠1 小时前
Linux 四大进程/线程同步锁详解:互斥锁、读写锁、条件变量、文件锁
linux·c语言·后端·ubuntu·学习方法
OSwich1 小时前
【 Godot 4 学习笔记】命名规范
笔记·学习·godot
觅_1 小时前
前端学习后端的时候 选择一个技术
前端·学习
吃吃今天努力学习了吗1 小时前
【大模型入门学习笔记】常见概念总结
笔记·学习
L、2181 小时前
CANN调优工具链全景:从profiler到tensorboard的完整观测体系
linux·运维·服务器·深度学习
Bechamz2 小时前
大数据开发学习Day39
大数据·学习