网络原理——初识

发布于:2025-08-07 ⋅ 阅读:(15) ⋅ 点赞:(0)


网络互联
网络互联指将多台计算机连接在一起,完成数据共享
数据共享本质是⽹络数据传输,即计算机之间通过⽹络来传输数据,也称为⽹络通信。
根据⽹络互连的规模不同,可以划分为局域⽹⼴域⽹

局域网
通过一个交换机时连接的电脑能够互联
在这里插入图片描述

广域网
游戏兴起了之后,出现了网游,这时就出现了广域网
光宇网:把一大堆局域网进行相连,组成了更大的“局域网”
由路由器连通,不断套娃
在这里插入图片描述

网络通信基础

⽹络互连的⽬的是进⾏⽹络通信,也即是⽹络数据传输,更具体⼀点,是⽹络主机中的不同进程间,
基于⽹络传输数据。
在组建的⽹络中,如何判断到底是从哪台主机,将数据传输到哪台主机呢?这就需要使⽤IP地
址来标识。

IP地址

与家庭地址类似,IP地址是通过一串数字表示IP地址
IP地址本质上是一个32位的整数(int)【0-255】

把 32位 IP地址分成4个部分,每个部分通过 . 来分割(点分十进制)
如:jdbc:mysql://127.0.0.1:3306
其中127.0.0.1 是IP地址
3306是端口号

区分网络上的某个具体设备,原则上是希望每个设备都能有唯一的IP地址

在这里插入图片描述

端口号

端⼝号⽤于定位主机中的进程
端口号是一个16位的整数,无符号
整数是用来区分设备上不同的应用程序

协议

协议是通讯双方对于数据传输格式的“协议”
网络的本质是传输 “光信号” / “电信号” / “电磁波(WiFi)”来传输二进制的数据【0,1】
通过不同的频率来表示0/1

约定协议,就是在约定 0101 的数据格式
通过网络协议来约定所有计算机的通信畅通

五元组

进行一次通信需要的五个关键信息
源IP,源端口,目的IP,目的端口,协议类型

协议分层

由于 网络通信本身比较复杂,为了解决复杂问题,就会有一个复杂的方案
这样一个协议就会非常复杂
为了解决这种情况,就对协议进行了拆分
拆分之后,协议的数目也变多,于是进行分层,也定协议和协议之间的调用关系

分层的作用:

  1. 分层之后,每个协议,只负责自己的一个功能了.协议更简单,更好理解.关注一个协议的时候,不需要关心其他协议了.
    封装
  2. 解耦合。可以灵活的对协议进行替换

真实的网络协议分层结构
TCP/IP 五层模型
在这里插入图片描述
越往下,越接近底层【硬件】
越往上,越接近软件

1.物理层 网络中依赖的硬件设施。网线,光纤,天线

2.数据链层 负责两个相邻节点之间的通信【通过 网线/光纤/无线信号 直接连接的两个设备】(类似快递小哥只关心自己的送货路线)
3.网络层 负责任意两个节点之间的路径规划(类似快递公司对货物进行路径规划)
4.传输层 不关心中间的传输过程,只关心传输的起点和终点(就像网购的买家和卖家,不关心快递的中间路线,值关心从哪发货,发给谁)
5.应用层 (应用程序,由程序员经管)

每一层都涉及到一些具体协议

网络设备所在的分层

对于⼀台主机,它的操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP五层模型的下四层

对于⼀台路由器,它实现了从⽹络层到物理层,也即是TCP/IP五层模型的下三层

对于⼀台交换机,它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层

网络协议分层之后,一定是上层调用下层下层给上层提供服务.
不能“乱调用”或者“跨层”调用

封装和分用

这是网络通信中非常关键的环节

假设用户A向用户B发消息

发起方【请求】

1.应用层
用户输入 hello ,点击发送按钮
QQ应用程序能获取到 hello 字符串
把这个hello 构造成“应用层数据包”(按照一定的应用层协议来构造 )

假设按照下列格式构造协议:
发送者的用户id,接受者的用户id,消息的发送时间,消息的正文
1234,5678,2025-08-06 16:59,hello
【网络协议实际上就是拼接字符串】

2.通过操作系统的 API ,把这个数据包交给下一层(传输层(操作系统 内部/内核))
按照传输层的协议,构造出"传输层"数据包
在这里插入图片描述
传输层设计到的协议主要是 TCP 和 UDP,此处以 UDP 为例
UDP 数据包,包含 报头+载荷(应用层数据包)
在这里插入图片描述
UDP报头类似于快递员包装快递,贴标签

传输层把构造好的传输层的数据包,调用对应的 api, 交给网络层

3.网络层
网络层最主要的是“IP 协议”
IP 协议也会在 传输层数据报 基础上,填上IP 报头
在这里插入图片描述
把这个IP数据报,进一步的往下传输给数据链路层

4.数据链路层
数据链路层最主要的协议是 “以太网”(插网线/光纤通信的网络)
以太网协议,在IP数据报的基础上,拼接上信息
在这里插入图片描述

源mac 地址,目的 mac 地址:只负责相邻节点
源IP,目的IP:总领整个通信,是整个通信的起点和终点
把上述数据再进一步的交给物理层

5.物理层
需要把上述0101这样的数据,转换成光信号/电信号/电磁波,通过物理介质,传输出去

像上述从 应用层 -> 物理层 的整个过程,就是 封装
把要传输的 hello,一层一层的套上很多信息

接收方【响应】

1.物理层收到光电信号
把光电信号转换成0101数字信号,交给数据链路层

2.数据链路层
以太网协议,就会进行解析
在这里插入图片描述
去掉帧头帧尾,取出载荷
进一步的交给网络层

3.网络层

在这里插入图片描述
IP 协议 也会进行解析,也会取出载荷,进一步的交给传输层

4.传输层
UDP协议,再进行解析
在这里插入图片描述
也会取出载荷,进一步交给应用层

5.应用层
QQ的应用层协议进行解析
在这里插入图片描述
把这里的信息提取出来,显示到界面上

像上述从 物理层 -> 应用层 的整个过程,就是 分用


网站公告

今日签到

点亮在社区的每一天
去签到