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

理解网络协议

1.查看网络配置 : ipconfig

2. ip地址 : ipv4(4字节, 32bit), ipv6, 用来标识主机的网络地址

3.端口号(0~65535) : 用来标识主机上的某个进程, 1 ~ 1024 知名端口号, 如果是服务端的话需要提供一个特定的端口号, 客户端的话是随机分配一个端口号

4.协议 : 简单来说就是接收数据和发送数据的双方做好的约定, 如发送时如何组织数据, 接收时如何解析数据

5.网络中的五元组 : 源IP地址, 源端口号, 目的IP地址, 目的端口号, 协议

6.协议分层

(1) OSI七层模型(简单了解就行)

(2) TCP/IP五层模型

应用层 : 和用户打交道, 接收和展示用户的数据

传输层 : 完成端到端的传输准备, 端口号

网络层 : 规划出最合适的网络传输路径, ip

数据链路层 : 根据网络层的IP地址, 来提供两个网络设备之间的通信功能

物理层 : 把真实的BIT数据流, 通过转化成光电信号在传输介质中传输 (网络:电信号, 光纤:光信号)

7. 封装和分用

封装是在发送方进行的对数据的处理

分用时在接收方进行的对数据的处理

发送方 : 

(1)应用层 : 按照程序员自定义的协议组织数据, 主要确定消息体的内容, 然后调用系统提供的 API (socket api)进行发送操作, 将消息的处理方移交给下一层

(2)传输层 : (传输层众多协议中最典型的两种: TCP, UDP), 主要是确定源端口号和目的端口号

(3)网络层 : 规划出端到端的网络路径, 主要确定源IP地址和目的IP地址 , IP协议   

 

(4)数据链路层 : 加入帧头和帧尾之后, 把数据以二进制的形式发送给物理层, 帧头有MAC地址(写死在网卡中, 出厂时就确定下来了), 帧尾有CRC(校验和, 发送方通过某种算法对载荷进行运算, 保存起来, 接收方在收到数据之后, 取出载荷以相同的算法进行运算, 如果得到的结果与校验和相同, 就表示接收到的载荷与发送的载荷一致, 否则载荷是无效的)

(5)物理层 : 根据以太网协议把具体的数据(报文)转化成光电信号, 通过传输介质进行传输

接收方 : 

(6)物理层 : 接收到光电号之后, 根据以太网协议把信号转化为二进制

(7)数据链路层 : 解析出帧头, 载荷, 帧尾, 将帧头, 帧尾去掉, 把载荷交给上一层

(8)网络层 : 根据IP协议解析报文件, 取出载荷交给上一层

(9)传输层 : 根据TCP协议解析报文件, 取出载荷交给上一层

(10)应用层 : 按照程序员自定义的协议解析消息体

发送方的数据从应用层到物理层的过程叫应用的封装

接收方的数据从物理层到应用层的过程叫应用的分用

http://www.lqws.cn/news/115039.html

相关文章:

  • 【免费】酒店布草洗涤厂自动统计管理系统(1)——智能编程——仙盟创梦IDE
  • Java SpringBoot 调用大模型 AI 构建智能应用实战指南
  • 记一次运行spark报错
  • RabbitMQ 开机启动配置教程
  • 在compose中的Canvas用kotlin显示多数据波形闪烁的问题
  • 中电金信:从智能应用到全栈AI,大模型如何重构金融业务价值链?
  • 数据结构第八章(一) 插入排序
  • 目标检测任务的评估指标P-R曲线
  • 【学习记录】如何使用 Python 提取 PDF 文件中的内容
  • 【C语言】通用统计数据结构及其更新函数(最值、变化量、总和、平均数、方差等)
  • 服务定位器模式在嵌入式系统中应用实现
  • 在虚拟宇宙中低语——进程间通信,Linux命名管道的前世今生
  • 【Linux】进程 信号保存 信号处理 OS用户态/内核态
  • 力扣面试150题--岛屿数量
  • 【位运算】丢失的数字(easy)
  • linux操作系统---网络协议
  • 【开源工具】基于PyQt5工作时长计算器工具开发全解析
  • Appium如何支持ios真机测试
  • 宝塔使用docker创建n8n
  • 如何在IDE中通过Spark操作Hive
  • Hive开窗函数的进阶SQL案例
  • 笔记 | docker构建失败
  • 【转bin】EXCEL数据转bin
  • 图神经网络实战——图属性度量方法详解
  • Electron打包前端和后端为exe
  • stress 服务器压力测试的工具学习
  • 无字母数字webshell的命令执行
  • xcode 各版本真机调试包下载
  • ShardingSphere-JDBC 与 Sharding-JDBC 的对比与区别
  • JVM——类加载的流程与机制