网络通信协议与虚拟网络技术相关整理(上)

#作者:程宏斌

文章目录

  • tcp协议
  • udp协议
  • arp协议
  • icmp协议
  • dhcp协议
  • BGP协议
  • OSPF协议
  • BGP vs OSPF 对比表
  • VLAN(Virtual LAN)
  • VXLAN(Virtual Extensible LAN)
  • IPIP(IP-in-IP)
  • vxlan/vlan/ipip
  • 网桥/veth
    • 网桥(Bridge)
    • veth(Virtual Ethernet Pair)

tcp协议

  • 类型:面向连接,可靠传输。
  • 特点
    三次握手建立连接,四次挥手断开连接;
    提供流量控制、拥塞控制、重传机制;
    按顺序传输、无丢包;
  • 使用场景:HTTP、HTTPS、SSH、FTP 等。

udp协议

  • 类型:无连接,尽力而为传输。
  • 特点
    • 不保证到达、不保证顺序;
    • 不进行握手、速度快;
  • 使用场景:DNS、视频直播、VoIP、DHCP。

arp协议

  • 作用:将 IP 地址解析为 MAC 地址。
  • 工作层级:数据链路层。
  • 通信方式:广播

icmp协议

  • 作用:发送网络控制消息、错误报告。
  • 使用场景
    • ping 命令发送 ICMP Echo Request;
    • 路由错误通知、主机不可达。

dhcp协议

  • 作用:为主机动态分配 IP 地址、网关、DNS 等。

  • 通信过程(基于 UDP)

  • DHCP 四步过程(DORA)
    Client → DHCP Discover(广播)
    Server → DHCP Offer
    Client → DHCP Request
    Server → DHCP ACK

在这里插入图片描述

BGP协议

  • 类型:外部网关协议(EGP)

  • 用途:用于不同自治系统(AS)之间的路由(即互联网级路由)

  • 协议号:TCP 179

  • 特点
    主要用于互联网主干网或大型企业跨 ISP 的连接
    路由决策基于策略(如 AS 路径、前缀长度、路由属性)
    可扩展性强,支持数十万个路由
    收敛速度慢,但非常稳定
    支持 MPLS、VPN 等高级功能

OSPF协议

  • 类型:内部网关协议(IGP)

  • 用途:用于同一自治系统(AS)内的路由(如企业、数据中心内部)

  • 协议号:IP 协议号 89(不使用 TCP/UDP)

  • 特点
    基于链路状态算法(Dijkstra)
    网络拓扑收敛快,适合动态变化的内部网络
    自动发现邻居,支持区域划分(如 backbone area 0)
    支持 VLSM、CIDR,路由环回保护机制好

BGP vs OSPF 对比表

在这里插入图片描述

VLAN(Virtual LAN)

  • 工作层级:二层(数据链路层)
  • 封装方式:通过在以太网帧中插入 VLAN Tag(802.1Q 标准)
  • 标识空间:最多支持 4096 个 VLAN ID

VXLAN(Virtual Extensible LAN)

  • 工作层级:三层封装的虚拟二层(Overlay 网络)
  • 封装方式:将二层以太网帧封装在 UDP 包中(默认端口 4789)
  • 标识空间:支持 16,777,216(2^24)个 VNI,比 VLAN 扩展得多

IPIP(IP-in-IP)

  • 工作层级:三层(将 IP 包封装在另一层 IP 包中)
  • 封装方式:外层 IP 头包裹原始 IP 数据包

vxlan/vlan/ipip

在这里插入图片描述

网桥/veth

网桥(Bridge)

  • 概念
    网桥是一个软件层的虚拟交换机,用于将多个网络接口连接到同一个二层广播域(类似物理交换机)。桥接的设备之间可以像处于同一个物理网络一样通信。
  • 常见设备
    br0, docker0:容器环境中常见的网桥接口。
    用于将容器/veth 接口“连接”到主机网络。
  • 工作原理
    将连接到桥的接口加入一个共享的 MAC 地址学习表。
    实现转发、广播、MAC 学习等功能。

veth(Virtual Ethernet Pair)

  • 概念
    veth 是一对虚拟网卡接口,成对出现。数据从一个接口发出,会直接出现在另一个接口上。
  • 常见用途
    连接容器网络命名空间与主机网络命名空间。
    模拟物理网卡之间的数据流转。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/87620.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

物联网软件层面的核心技术体系

物联网软件层面的核心技术体系 物联网(IoT)软件技术栈是一个多层次的复杂体系,涵盖从设备端到云平台的完整解决方案。以下是物联网软件层面的关键技术分类及详细说明: 一、设备端软件技术 1. 嵌入式操作系统 实时操作系统(RTOS): FreeRTO…

GreatSQL通过伪装从库回放Binlog文件

GreatSQL通过伪装从库回放Binlog文件 一、适用场景说明 1、主库误操作恢复 利用 Binlog 在其他实例解析、回放,根据gtid只回放到指定位点。 2、网络隔离环境同步 备份恢复后可以拉去主库Binlog文件至新实例同步增量数据。 3、备份恢复遇到Binlog文件过大处理 恢复实…

MVC 架构设计模式

在现代软件开发中,架构设计决定了一个项目的可维护性与可扩展性。MVC(Model-View-Controller)作为经典的分层设计模式,广泛应用于 Web 系统、前端应用乃至移动端开发中。本文不仅介绍 MVC 的核心思想和机制,还将结合具…

(18)python+playwright自动化测试鼠标拖拽-上

1.简介 本文主要介绍两个在测试过程中可能会用到的功能:在selenium中介绍了Actions类中的拖拽操作和Actions类中的划取字段操作。例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能。playwright同样可以实现元素的拖拽和释放的…

Android 网络全栈攻略(四)—— TCPIP 协议族与 HTTPS 协议

Android 网络全栈攻略系列文章: Android 网络全栈攻略(一)—— HTTP 协议基础 Android 网络全栈攻略(二)—— 编码、加密、哈希、序列化与字符集 Android 网络全栈攻略(三)—— 登录与授权 Andr…

Python爬虫实战:从零构建完整项目(数据采集+存储+异常处理)

Python爬虫实战:从零构建完整项目(数据采集存储异常处理) 爬虫不是简单的请求解析,而是一个系统工程。本文将带你体验企业级爬虫开发的核心流程。 一、前言:为什么需要完整的爬虫项目? 作为初学者&#xf…

大数据时代UI前端的用户体验设计新思维:以用户为中心的数据可视化

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩!一、引言:大数据重构用户体验设计的底层逻辑在数据爆炸式增长的今天,用…

FreeRTOS 中任务控制块(Task Control Block,TCB)用于管理和描述任务的核心数据结构

在 FreeRTOS 中,任务控制块(Task Control Block,TCB)是用于管理和描述任务的核心数据结构。每个任务都有一个对应的 TCB,它包含了任务的所有相关信息。 TCB 的主要功能 存储任务状态信息:TCB 中包含了任务…

前端-HTML-day1

目录 1、标签语法 2、HTML基本骨架 3、标签的关系 4、注释 5、标题标签 6、段落标签 7、换行和水平线标签 8、文本格式化标签 9、图像标签-基本使用 10、图像标签-属性 11、相对路径 12、绝对路径 13、超链接 14、音频 15、视频 16、综合案例1--个人简介 17、…

OpenCV篇——项目(二)OCR文档扫描

目录 文档扫描项目说明 前言 文档扫描代码总体演示 OCR文档识别代码总体演示: ​编辑 代码功能详解 1. 预处理阶段 2. 边缘检测 3. 轮廓处理 4. 透视变换 5. 后处理 主要改进说明: 使用建议: 文档扫描项目说明 前言 本项目实现了一个自动…

Java 中导出包含多个 Sheet 的 Excel 文件

在 Java 中导出包含多个 Sheet 的 Excel 文件,可以使用 Apache POI 或 EasyExcel(阿里开源库)。以下是两种方法的详细实现: 方法 1:使用 Apache POI(支持 .xls 和 .xlsx) 1. 添加 Maven 依赖 …

OneCode采用虚拟DOM结构实现服务端渲染的技术实践

一、技术背景与挑战 随着企业级应用复杂度的提升,传统服务端渲染(SSR)面临页面交互性不足的问题,而纯前端SPA架构则存在首屏加载慢和SEO不友好的缺陷。OneCode框架创新性地将虚拟DOM技术引入服务端渲染流程,构建了一套兼顾性能与开发效率的企…

变幻莫测:CoreData 中 Transformable 类型面面俱到(八)

概述 各位似秃似不秃小码农们都知道,在苹果众多开发平台中 CoreData 无疑是那个最简洁、拥有“官方认证”且最具兼容性的数据库框架。使用它可以让我们非常方便的搭建出 App 所需要的持久存储体系。 不过,大家是否知道在 CoreData 中还存在一个 Transfo…

汽车LIN总线通讯:从物理层到协议栈的深度解析

目录一、物理层:单线传输的信号奥秘1.1 电平定义与信号传输1.2 关键硬件组件作用二、数据链路层:帧结构与通信协议2.1 LIN帧的组成与功能2.2 主从式通信机制三、波特率同步:从节点的时钟校准原理四、软件实现:基于S32K144的主节点…

马尔可夫链:随机过程的记忆法则与演化密码

本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术! 一、核心定义:无记忆的随机演化 马尔可夫链(M…

【vue3+tauri+rust】如何实现下载文件mac+windows

项目背景:【vue3taurirust】 由于Safari对于下载总是有诸多阻拦,目前需求windowsmac可以实现: 后端返回的url文件可以下载;前端根据dom元素生成的PDF报告可以下载(无远程URL); 我的尝试: 方法…

SQL 快速参考手册-SQL001

SQL 快速参考手册: 为方便快速学习和实践,提供了一份 SQL 快速参考手册,您可以打印出来随时查看,了解常见 SQL 命令的语法和用法。 SQL 数据类型 SQL 数据类型根据不同的数据库系统(如 Microsoft Access、MySQL、SQL…

学习java集合

集合与数组的对比集合的长度可变, 数组的长度不可变集合实际上跟数组一样, 是一种容器, 可以存放数据数组可以直接存放基本数据类型和引用数据类型集合可以存放引用数据类型, 但是不能直接存放基本数据类型, 如果要存放基本数据类型, 需要变成一个包装类才行泛型: 限定集合中存…

python训练day49 CBAM

import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self, in_channels, ratio16):"""通道注意力机制初始化参数:in_channels: 输入特征图的通道数ratio: 降维比例,用于减少参数量,默认…

在小程序中实现实时聊天:WebSocket最佳实践

前言 在当今互联网应用中,实时通信已经成为一个标配功能,特别是对于需要即时响应的场景,如在线客服、咨询系统等。本文将分享如何在小程序中实现一个高效稳定的WebSocket连接,以及如何处理断线重连、消息发送与接收等常见问题。 W…