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

网络相关基本概念

IP地址

描述一台主机在互联网上所处的位置。用32位整数表示。

用点分十进制表示。xxx.xxx.xxx.xxx表示。

端口号

区分当前主机上的指定的应用程序(进程)。一台主机上使用网络的程序有很多,可以通过端口号区分主机收到的数据要交给哪个程序处理使用。两个字节的整数(0到65535)

协议

进行一切通信的基础。通信至少要有两个主机,让接收方能理解发送方的数据,双方要按照同样的规则构造/解析数据。网络传输的信号有光信号/电信号/电磁波。

协议分层

把功能定位类似的协议放在一层,并约定好层和层之间的交互关系。协议之间不能随意相互交互,只有相邻的层之间才可以。上层协议调用写层协议,下层协议给上层提供服务。

  • OSI七层网络模型。基本只存在于理论

  • TCP/IP五层网络模型(当前世界上最主流的网络协议模型)

  • 应用层:应用程序

  • 传输层:主要是关注网络通信中的“起点和终点”

  • 网络层:网络通信的路径规划,地址管理

  • 数据链路层:针对上述规划好的路径进行实施

  • 物理层:描述硬件设备(网线等)需要满足什么条件

封装

封装就是把上层的数据,加上头部(或尾部),形成下层可识别的新数据格式。

分用

接收方在收到数据后,识别数据是发给哪个上层应用程序的过程。

客户端

客户端就是发起请求、使用服务的人或程序。

服务器

服务器是一个持续运行、等待并响应客户端请求的程序或设备。

请求

客户端向服务器“提出要求”的动作。

响应

服务器收到请求之后,返回给客户端的结果。

两台主机之间的网络通信流程

客户端发出请求 ➜ 网络传输 ➜ 服务器接收并响应 ➜ 客户端接收响应

第 1 步:建立连接(TCP 三次握手)
  • 客户端主动:创建 socket,连接目标 IP + 端口号

  • 操作系统底层会通过网络协议(TCP/IP)进行“三次握手”

  • 一旦握手成功,就相当于两人建立了“电话连接”

第 2 步:客户端发送请求

  • 建立连接后,客户端通过 OutputStream 向服务器发送数据

  • 数据在底层被打包成 IP 包,通过网络发送过去

第 3 步:服务器接收请求 & 处理

  • 服务器程序启动时监听某个端口(如 8888)

  • 一旦检测到客户端连接请求,就 accept 接收

  • 接收之后通过 InputStream 读取数据并处理

第 4 步:服务器发送响应

  • 服务器将处理后的结果通过 OutputStream 发给客户端

  • 客户端通过 InputStream 接收返回的数据

第 5 步:双方关闭连接

  • 通信完成后,客户端或服务器可以关闭 Socket

  • 相当于电话挂断

相关文章:

  • Rasa总体目录架构介绍
  • Python中如何用正则表达式精准匹配IP地址?
  • 常用环境部署(二十六)——Centos搭建MQTT服务端EMQX
  • 35.Java线程池(线程池概述、线程池的架构、线程池的种类与创建、线程池的底层原理、线程池的工作流程、线程池的拒绝策略、自定义线程池)
  • OpenStack Yoga版安装笔记(十九)启动一个实例(Self-service networks)
  • mysql 重复读自己事务中可以看到新插入数据
  • JS里对于Map的简单介绍
  • 蓝桥杯简单题练习
  • win11 redis3.0下载和运行
  • 力扣面试150题--有效的数独
  • 【Android】Android 打包 Release 崩溃问题全解析:Lint 错误、混淆类丢失及解决方法大全
  • React 条件渲染
  • Agent2Agent协议学习资源大全:从理论到实践
  • 【Linux】单例模式及其在线程池中的应用
  • Spring Boot 集成 POI
  • 【Deepseek基础篇】--v3基本架构
  • 【SLAM】将realsense-viewer录制的rosbag视频导出成图片序列(RealSense D435)
  • 二分算法的入门笔记
  • Linuix基础11
  • Python:开启自动化办公与游戏开发的无限可能
  • 公司网站建设方案/网站优化是什么
  • 毕设如何做网站/登封网络推广公司
  • 做一个网站的基本步骤/网页设计模板
  • 模板网站 建设教材/痘痘怎么去除效果好
  • 做计划网站/百度关键词排名代发
  • 海洋cms/seo关键词优化怎么收费