当前位置: 首页 > news >正文

网络中的一些基本概念

目录

(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)两台主机之间的网络通信流程

如图

http://www.dtcms.com/a/336677.html

相关文章:

  • Conda 环境 在AI 私有化部署 有怎么用?
  • 微信小程序 小白gps工具v0.01 使用说明
  • react echarts图表监听窗口变化window.addEventListener(‘resize’)与ResizeObserver()
  • python -基础(5)组合数据类型
  • 每日两道算法题:DAY3
  • java常见的数据加密
  • 当 AI 开始 “理解” 情感:情感计算技术正在改写人机交互规则
  • Linux 服务:iSCSI 存储服务配置全流程指南
  • 廖雪峰-Java教程-Part02
  • C#高级语法_委托
  • 力扣第463场周赛
  • 17-线程
  • uC/OS - III 系统DEBUG时内核对象统计信息
  • 模拟实现 useEffect 功能
  • 配置 NVIDIA RTX 5090 + sm_120 + flashattention,已跑通一个大模型 ~~
  • clion 如何调试 redis(在 mac 上)
  • AMBA-AXI and ACE协议详解(三)
  • 期望分位数回归模型
  • 利用pypy加速pyxlsbwriter生成xlsb文件
  • 五、redis入门 之 客户端连接redis
  • 日语学习-日语知识点小记-进阶-JLPT-N1阶段蓝宝书,共120语法(3):21-30语法
  • 雷卯针对香橙派Orange Pi Kunpeng Pro开发板防雷防静电方案
  • CloudBeaver:基于浏览器的DBeaver
  • 机器学习案例——对好评和差评进行预测
  • 当AI替我“搬砖”,我的价值是什么?
  • 21.AlexNet
  • 金山办公的服务端开发工程师-25届春招部分笔试题
  • C# Newtonsoft.Json 反序列化子类数据丢失问题
  • DBeaver连接MySQL 8报错连接丢失
  • HTTP协议-3-HTTP/2是如何维持长连接的?