网络基础简介

一句话本质:

网络是一套规则 + 物理介质 + 硬件控制器,让多台独立设备之间,可以互相传递比特数据。

不是单纯一根网线,是分层体系。

一、什么是网络?

1、计算机网络:

将若干具有独立处理能力的计算机 / 嵌入式设备,通过通信介质、网络硬件,按照约定通信协议连接在一起,实现数据交换、资源共享的系统。

2、核心目标两点:

① 把 A 设备内存里的二进制比特,送到 B 设备;

② B 收到后,还原出原始数据,理解对方的意图。

设备可以是 PC、嵌入式 SOC、摄像头、路由器等各种网络设备。

二、经典分层:OSI 七层模型(最标准)

OSI 七层(从上往下)

1、应用层:

业务数据。HTTP、FTP、SSH、RTSP。

如: ping、wget、应用程序收发数据都在这里。

2、表示层:

数据编码、加密、格式转换(TCP/IP 体系里一般合并进应用层)

3、会话层:

建立 / 断开会话连接(TCP/IP 合并进传输层)

4、传输层:

端口、可靠 / 不可靠传输。TCP(可靠)、UDP(不可靠)。区分同一个设备上不同进程。

5、网络层:

IP 地址、路由寻址。IP 协议,负责把包从源 IP 送到目标 IP,跨网段转发。

6、数据链路层(链路层):

MAC 地址、帧封装、差错检测。GMAC MAC 控制器就工作在这一层!

  • MAC:把上层 IP 包封装成以太网帧(加上源 MAC、目的 MAC、类型字段、CRC 校验)
  • 帧:以太网最小传输单元

7、物理层:

比特流传输、电平、时钟、编码。

RGMII、PHY 芯片 RTL8211E、网络变压器、网线 RJ45 全部属于物理层。

只负责传输 0/1 比特,不懂帧、IP。

三、配套 TCP/IP 四层(Linux 内核实际用)

TCP/IP 四层(Linux 内核实际实现,工程最常用)

1、应用层

2、传输层

3、网际层(IP)

4、网络接口层(= 链路层 + 物理层)

四、两个核心地址

1、MAC 地址(物理地址,48bit):

固化在 PHY 或者 SOC,链路层地址。只在同一个局域网(同一根交换机下)生效。

GMAC 收发帧,依靠 MAC 地址判断这个帧是不是发给自己。

2、IP 地址(逻辑地址,32bit IPv4):

网络层地址,用来跨网段路由。软件配置,可修改。

类比:

MAC = 房间门牌号(小区内部找人);

IP = 完整收件地址(跨城市邮寄)。

五、网络的两种形态

1、局域网 LAN:

小范围,同一交换机下,比如 嵌入式开发板直连 PC,家用内网。依靠 MAC 帧转发。

2、广域网 WAN:

跨远距离,比如互联网。依靠 IP 路由,路由器转发 IP 包。

六、发包完整流程(开发板 发送 ping 包例子,从上到下)

  1. 应用层:执行 ping 命令,构造 ICMP 数据
  2. 传输层:ICMP 属于网络层,跳过 TCP/UDP
  3. 网络层:加上源 IP、目的 IP,生成 IP 包
  4. 链路层 GMAC:给 IP 包封装以太网帧头(MAC 地址)+CRC 校验,通过 RGMII 并行数字信号发给 RTL8211E
  5. 物理层 PHY:数字信号编码成差分模拟信号,经过网络变压器送到 RJ45 网线
  6. 网线传输到 PC 网卡,PC 网卡 PHY 解码,MAC 校验 CRC,逐层向上解包,最终应用收到 ping 请求。

收包就是整个流程反向。

七、小结

网络分层 ↔ 开发板 硬件 + Linux 驱动 完整映射对照表

体系:TCP/IP 四层模型(工程调试用),附带对应 OSI 七层位置,从上到下,发包数据流方向

TCP/IP 四层 OSI 七层对应 核心职责 开发板 平台对应的模块 / 软件 调试现象判断
应用层 应用层表示层会话层 业务数据;HTTP/RTSP/SSH/ping;数据格式组装解析 Linux 用户态程序:ping、iperf、rtsp 服务、应用 APP 底层链路正常,但业务不通;ping 通但是 iperf 丢包,多是应用 / 端口 / 防火墙问题
传输层 传输层 TCP(可靠)/UDP(不可靠);端口号;流量控制、重传 Linux 内核协议栈 net/ipv4/tcp.c udp.c IP 可达,但端口不通;TCP 握手失败,防火墙过滤
网际层(网络层) 网络层 IP 地址、ICMP、路由;分片;寻址跨网段 Linux 内核 net/ipv4/ip.c,ip 命令配置 IP MAC 帧收发正常,ping 不通,大概率 IP 网段不匹配、路由错误
网络接口层 数据链路层 以太网帧封装 / 解封装;MAC 地址;CRC 校验;帧收发控制 GMAC(MAC 控制器,SOC 内置硬件) + GMAC 驱动 PHY 链路 up,但是收发帧计数为 0、大量 CRC 错误,MAC 层 / 时序问题
物理层 0/1 比特流编码解码;电平、时钟;速率自协商;差分信号 PHY 芯片 + 网络变压器 + RJ45 网口 + 网线 网卡一直 down,自协商失败;寄存器读取异常;链路时断时续

相关推荐
qq_443132411 小时前
数字资产安全治理平台是什么:定义、核心能力与选型要点
网络·安全
尘一不染1 小时前
多模型 API 接入实战(一):从一次 HTTP 请求到可维护的适配层
网络·人工智能·网络协议·http
话梅姐姐呀1 小时前
IOT -- 设备入网与注册
大数据·网络·人工智能·物联网·iot
天蓝蓝的本我2 小时前
ollama外部无法访问.ollama.service 文件无法写入.ollama外部无法访问.
运维·网络
I肆逸I2 小时前
OpenStack 管理:从认证、计算到存储与网络
网络·php·openstack
星恒讯工业路由器2 小时前
蜂窝物联网模组选型实践:4G Cat.1、Cat.4 与 5G RedCap 的工程对比
网络·物联网·redcap·工业物联网·cat.1·cat.4·cat.1 bis
笑虾2 小时前
RustDesk 支持局域网 IP + 自定义端口直接连接
网络·网络协议·tcp/ip
桑榆4163 小时前
板端修改静态IP
网络·网络协议·tcp/ip
CS_Zero3 小时前
解决模型开发板ping不通模型终端设备问题
linux·网络