网络中的一些基本概念
目录
(1)IP地址
(2)端口号
(3)协议
(4)协议分层
①作用
②OSI 七层模型
③TCP/IP 模型
1.物理层
2.数据链路层
3.网络层
4.传输层
5.应用层
④网络设备(真实情况更模糊)
(5)封装(发送方)
①应用层
②传输层(系统内核)
③网络层
④数据链路层
⑤物理层
(6)分用(接收方)
①物理层
②数据链路层
③网络层
④传输层
⑤应用层
(7)客户端
(8)服务器
(9)请求
(10)响应
(11)两台主机之间的网络通信流程
(1)IP地址
-
一个32位的二进制数
-
通常用 “点分十进制” 表示
(2)端口号
-
无符号16位整数
-
用于区分设备上不同的应用程序(进程)
(3)协议
-
通信双方对于数据传输格式的约定
(4)协议分层
约定协议和协议之间的调用关系
①作用
A)每个协议只负责自己的一个功能,使协议更简单易懂
B)解耦合:灵活地替换协议
②OSI 七层模型
教科书上的模型,理想模型
③TCP/IP 模型
1.物理层
网络通信中依赖的硬件设施。网线,光纤,天线
2.数据链路层
负责两个相邻节点之间的通信(通过网线,光纤,无线信号直连)
3.网络层
负责任意两个节点之间的路径规划
4.传输层
只关心传输的起点和终点
5.应用层
数据的使用(程序员决定)
④网络设备(真实情况更模糊)
-
主机:操作系统实现从 传输层 到 物理层,即 下四层
-
路由器:从 网络层 到 物理层,即 下三层
-
交换机:从 链路层 到 物理层,即 下两层
-
集线器:只是 物理层
(5)封装(发送方)
①应用层
按照一定的应用层协议,来构造“应用层数据包”,调用对应api,交给传输层。
②传输层(系统内核)
按照传输层协议(TCP,UDP),构造“传输层数据包”,调用对应api,交给网络层。
-
UDP数据包:包含 报头header 和 载荷payload(应用层数据包)
-
UDP报头:包含 源端口,目的端口 等
③网络层
最主要的是“IP协议”,在 传输层数据包 的基础上,加上IP报头。
-
IP报头:源IP,目的IP
④数据链路层
最主要的协议是“以太网(网线/光纤 通信的网络)协议”,在 网络层数据包 的基础上,继续拼接上 以太网帧头 和 以太网帧尾。
-
以太网帧头:源 mac 地址,目的 mac 地址
最后形成的数据图:
⑤物理层
把“0101”这样的数据,转换成 光信号 or 电信号 or 电磁波,传输出去。
(6)分用(接收方)
①物理层
把 光信号/电信号 转化成“0101”数据,传输给 数据链路层。
②数据链路层
以太网协议 解析数据,去掉 帧头帧尾,取出 载荷(IP报头 + UDP报头+实际传输内容),交给 网络层。
③网络层
IP协议 解析,取出载荷(UDP报头+实际传输内容),交给 传输层。
④传输层
UDP协议解析,取出载荷(实际传输内容),交给 应用层。
⑤应用层
协议解析
(7)客户端
客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行 。
(8)服务器
-
服务端是通讯系统中为客户端提供资源存储、数据传输等功能的程序,通常运行于服务器计算机,采用Windows或Linux系统部署,承担接口实现、服务注册及参数配置等核心功能。
-
在分布式架构中,服务端作为RPC(远程过程调用)技术的提供方,通过标准化接口与客户端建立通信,并维护动态配置以实现可靠交互。
(9)请求
-
是客户端与服务器之间进行通信的方式,通常使用HTTP协议来传输数据。
-
由发送方发起
具体如下:
GET https://www.sogou.com/ HTTP/1.1
Host: www.sogou.com
Connection: keep-alive
Cache-Control: max-age=0
sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"
sec-ch-ua-mobile: ?0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/w
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: SUID=19AA8B7B6E1CA00A000000005F9A2F76; SUV=1603940214073598; pgv_pvi=266
(10)响应
-
是客户端与服务器之间进行通信的方式,通常使用HTTP协议来传输数据。
-
由接收方返回
具体如下:
HTTP/1.1 200
Content-Type: text/html;charset=UTF-8
Content-Length: 8
Date: Sun, 17 Aug 2025 08:29:22 GMT
Keep-Alive: timeout=60
Connection: keep-alivehello t0
(11)两台主机之间的网络通信流程
如图