【计算机网络】
文章平均质量分 74
联通了世界的桥梁,当属TCP/IP
rtoax
行百里者半九十
展开
-
SSH原理
SSH原理荣涛2021年11月15日文档修改日志日期修改内容修改人备注2021年11月15日创建荣涛1. 引言SSH是一种协议标准,其目的是实现安全远程登录以及其它安全网络服务。SSH仅仅是一协议标准,其具体的实现有很多,既有开源实现的OpenSSH,也有商业实现方案。使用范围最广泛的当然是开源实现OpenSSH。2. SSH中是如何解决中间人攻击问题?2.1. 基于口令的认证从上面的描述可以看出,问题就在于如何对Server的公钥进行认证?在http原创 2022-03-27 18:13:41 · 1330 阅读 · 1 评论 -
ethtool - utility for controlling network drivers and hardware
ethtool - utility for controlling network drivers and hardwarehttps://mirrors.edge.kernel.org/pub/software/network/ethtool/ethtool - utility for controlling network drivers and hardwareIntroductionethtool is the standard Linux utility for controlling转载 2022-01-02 21:37:11 · 327 阅读 · 0 评论 -
生成MAC地址
https://computingforgeeks.com/how-to-deploy-openshift-container-platform-on-kvm/https://computingforgeeks.com/how-to-deploy-openshift-container-platform-on-kvm/date +%s | md5sum | head -c 6 | \ sed -e 's/\([0-9A-Fa-f]\{2\}\)/\1:/g' -e 's/\(.*\):$/^原创 2021-12-28 10:19:02 · 593 阅读 · 0 评论 -
rfc4251: The Secure Shell (SSH) Protocol Architecture
https://www.ietf.org/rfc/rfc4251.txtNetwork Working Group T. YlonenRequest for Comments: 4251 SSH Communications Security CorpCategory: Standards Track C. Lonvick, Ed.转载 2021-11-15 13:28:08 · 1225 阅读 · 0 评论 -
用DPDK rte_ring实现多进程间通信
F-Stack是多进程架构,去除了进程间资源共享来达到更高的性能,但还是有部分控制信息需要在进程间同步,使用rte_ring让多个进程间的通信变得十分简单。 rte_ring在F-Stack中主要用于:1.各个进程间ARP包的广播2.KNI的转发3.与工具(sysctl等)进行通信。rte_ring是一个用CAS实现的无锁FIFO环形队列,支持多消费者/生产者同时出入队列,常用于多线程/多进程之间的通信。具体原理可以查看DPDK官方文档或者阅读源码,本文主要是介绍如何使用rte_ri...转载 2020-07-21 14:56:16 · 1819 阅读 · 0 评论 -
DPDK的安装
目录DPDK网址下载安装1.解压2.开启pcap3.安装依赖4.编译:5.后续DPDK网址https://www.dpdk.org/下载下载地址:https://core.dpdk.org/download/安装1.解压$lsdpdk-18.02.2.tar.xz$ tar xf dpdk-18.02.2.tar.xz $ l...原创 2018-10-13 21:44:57 · 867 阅读 · 0 评论 -
DPDK无锁队列rte_ring相关代码及示例程序(rte_ring.h,rte_ring.c,main.c,makefile)
目录rte_ring.hrte_ring.cmain.cmakefile推荐阅读:【共享内存】基于共享内存的无锁消息队列设计:https://rtoax.blog.csdn.net/article/details/101508279 DPDK ring库:环形缓冲区的解剖:https://rtoax.blog.csdn.net/article/details/107614630 DPDK单生产者入队单消费者出队:https://rtoax.blog.csdn.net/articl原创 2020-08-24 17:37:52 · 1732 阅读 · 2 评论 -
How-to: Build VPP FD.IO development environment with Mellanox DPDK PMD.
目录ReferencesPrerequisiteInstallation, Compilation and ConfigurationVPP is an open-source Vector Packet Processing (VPP) platform by Cisco. The package supplies a powerful DPDK-based dataplane with a variety of Layer 3 (L3) and Layer 2 (L2) function转载 2020-08-21 17:22:34 · 568 阅读 · 6 评论 -
DPDK官方中文文档
DPDK参考文档[中]:https://dpdk-docs.readthedocs.io/en/latest/linux_gsg/index.html原创 2020-07-02 18:25:03 · 5219 阅读 · 0 评论 -
DPDK支持的硬件:CPU、网卡NIC、加密引擎、基带加速器
DPDK支持的硬件:CPU、网卡NIC、加密引擎、基带加速器https://core.dpdk.org/supported/目录CPUs - 处理器NICs -网卡Crypto Engines - 加密引擎Baseband Accelerators - 基带加速器CPUs - 处理器CPUs - 处理器 架构 arm BlueField, DPAA, DPAA2, OCTEON TX, OCTEON TX2 ppc POWER...原创 2020-08-31 14:02:02 · 6315 阅读 · 7 评论 -
DPDK 跟踪库 CTF格式
DPDK笔记 DPDK 跟踪库CTF格式RToax2021年4月注意:跟踪库基于DPDK 20.05DPDK跟踪库:trace libraryDPDK 跟踪库tracepoint源码实例分析CTF该通用跟踪格式(CTF)是一个二进制 跟踪 设计是格式非常快写 不影响极大的灵活性。它允许任何C / C ++应用程序或系统以及裸机(硬件)组件本地生成跟踪。使用CTF,使用称为跟踪流描述语言(TSDL)的类似于C的自定义声明性语言来描述二进制文件中写入的所有标头,上下文和事件字.原创 2021-04-15 18:04:49 · 498 阅读 · 0 评论 -
FD.io VPP配置文件详解
目录VPP Configuration File - ‘startup.conf’IntroductionCommand-line ArgumentsConfiguration FileConfiguration ParametersList of Basic Parameters:List of Advanced Parameters:“unix” Parameters“dpdk” Parameters“cpu” Parameters“acl-plugin” P转载 2020-08-17 15:32:31 · 4393 阅读 · 0 评论 -
DPDK内存篇(一): 基本概念
Table of Contents引言标准大页将内存固定到NUMA节点硬件、物理地址和直接内存存取(DMA)IOMMU和IOVA内存分配和管理结论推荐阅读引言内存管理是数据面开发套件(DPDK)的一个核心部分,以此为基础,DPDK的其他部分和用户应用得以发挥其最佳性能。本系列文章将详细介绍DPDK提供的各种内存管理的功能。但在此之前,有必要先谈一谈为何DPDK中内存管理要以现有的方式运作,它背后又有怎样的原理,再进一步探讨DPDK具体能够提供哪些与内存相关的.转载 2020-10-25 16:09:57 · 1080 阅读 · 1 评论 -
FD.io VPP的C语言接口如何使用:FD.io VPP: How To Use The C API
目录引言 - IntroductionC语言API概述 - C API Overview运行环境 - The Runtime EnvironmentAPI回顾 - Message API Review响应处理的重要信息 - Important Information about Reply Handlers头文件 - API Include Files基本模块和插件 - VPE vs. Plugin Messages消息注册 - Message RegistrationW原创 2020-09-01 19:08:25 · 2374 阅读 · 15 评论 -
FD.io VPP软件架构(一):vppinfra(基础结构层)
`VPPinfra`是基本c库服务的集合,足以建立直接在裸机上运行的独立程序。它还提供高性能的动态数组,哈希,位图,高精度的实时时钟支持,细粒度的事件记录和数据结构序列化。原创 2020-10-09 19:22:14 · 5366 阅读 · 1 评论 -
持久内存开发套件(Persistent Memory Development Kit-PMDK) - pmem.io: PMDK
目录libpmemobjlibpmemblklibpmemloglibpmemlibpmem2libvmemlibvmmalloclibpmempoolpmempoollibrpmemlibrpmalibpmemsetlibvmemcachedaxiopmreorderPMDK转换C ++绑定pmemkv持久内存开发套件(pmdk) - pmem.io:PMDK永久性存储器开发套件https://pmem.io/pmdk/.转载 2020-11-14 18:25:46 · 1547 阅读 · 0 评论 -
CentOS通过yum安装高版本gcc
目录一、问题二、解决方案三、devtoolset对应gcc的版本四、安装五、激活gcc版本一、问题在某些应用场景中,需要高版本的gcc支持,编译gcc耗时耗力,这里介绍一种简便的方法。二、解决方案红帽官方Developer Toolset文档地址:https://access.redhat.com/documentation/en-us/red_hat_developer_toolset/8/用红帽官方提供的开发工具包来管理gcc版本,可以做到多版本并存,随时切换,还不转载 2020-08-19 09:15:21 · 2314 阅读 · 1 评论 -
FD.io VPP基本介绍-理解VPP软件架构
向量封包处理器1. 什么是VPP1.1. 介绍VPP平台是一个可扩展的框架,可提供开箱即用的生产质量交换机/路由器功能。它是思科矢量数据包处理(VPP)技术的开源版本:一种高性能的数据包处理协议栈,可以在商用CPU上运行。实施VPP的好处在于其高性能,经过验证的技术,其模块化和灵活性以及丰富的功能集。VPP技术基于成熟的技术,已帮助交付了超过10亿美元的思科产品。这是一个模块化设计。该框架允许任何人“插入”新的**图形节点**,而无需更改内核代码。1.1.1. 模块化,灵活和可扩展VPP原创 2020-09-07 18:40:00 · 6155 阅读 · 9 评论 -
DPDK 网卡收包流程
Table of Contents1、Linux网络收发包流程1.1 网卡与liuux驱动交互1.2 linux驱动与内核协议栈交互题外1: 中断处理逻辑题外2:中断的弊端2、linux发包流程2、DPDK 收发包流程2.1 网卡DMA描述符环形队列2.2 dpdk 收包流程1、构造收包队列2.启动3.收包3、 PCIE 带宽调优1)减少MMIO访问的频度。(2)提高PCIe传输的效率。(3)尽量避免Cache Line的部分写。4、软..原创 2020-10-31 12:45:49 · 7679 阅读 · 3 评论 -
DPDK EAL parameters(DPDK环境抽象层参数)-原始版本(F-Stack配置文件的配置参数)
7. EAL parametersThis document contains a list of all EAL parameters. These parameters can be used by any DPDK application running on Linux.7.1. Common EAL parametersThe following EAL parameters are common to all platforms supported by DPDK.7.1....转载 2020-07-27 17:46:34 · 1201 阅读 · 0 评论 -
DPDK iperf 源码
https://github.com/ansyun/dpdk-iperfdpdk-iperfFork from official iperf-3.1.3, and run on the dpdk user space TCP/IP stack(ANS).Build and InstallDownload latest dpdk version fromdpdk website, and build dpdk$ make config T=x86_64-native-linuxapp-g.转载 2020-08-06 17:37:20 · 736 阅读 · 0 评论 -
《深入浅出DPDK》读书笔记(十四):DPDK应用篇(DPDK与网络功能虚拟化:NFV、VNF、IVSHMEM、Virtual BRAS“商业案例”)
Table of ContentsDPDK应用篇DPDK与网络功能虚拟化157.网络功能虚拟化13.1.1起源158.发展159.OPNFV与DPDKNFV的部署160.NFV的部署1. 分解2. 虚拟化3. 云化4. 重构VNF部署的形态161.VNF部署的形态162.VNF自身特性的评估163.性能分析方法论164.性能优化思路VNF的设计165. VNF虚拟网络接口的选择166.IVSHMEM共享内存的PCI设备167原创 2020-10-29 21:45:32 · 4335 阅读 · 5 评论 -
VPP命令行:启动配置,HTTP服务,DPDK配置
VPP CLI 功能 create sub BondEthernet0 834 创建子接口,tag是834 set interface ip table BondEthernet0.834 1 将此接口设置在fib 1里 set interface ip address BondEthernet0.834 192.168.0.250/24 设置接口ip set interface state BondEthernet0.834 up up接口 se...原创 2020-09-02 15:41:30 · 2462 阅读 · 7 评论 -
FD.io VPP 使用场景-用例
FD.io是一种联网技术,可用于构建网络功能星系。如今,一些主要的通信网络提供商和设备制造商正在使用它来构建世界一流的网络功能。路由器/通用CPE等FD.io VPP支持许多硬件供应商的入门硬件选件,用于构建客户前提设备设备。可以从供应商处获得基于FD.io的商业选项,例如带有TNSR的Netgate,带有ASR 9000和运营商级服务引擎的Cisco等。商业实施为IKE集成了Strong Swan。使用DPDKCryptodev加速了整个平台加密的实现。特色:数据平面...翻译 2020-08-17 15:09:12 · 1120 阅读 · 1 评论 -
开源网络数据平面生态:软件正在吞食整个世界
目录LFN - Linux基金会网络开源伞项目ONF基金会下的网络开源项目数据面开源项目DPDKFD.ioNSMIOVisorGeorge Zhao,目前任职华为在美国的研发公司 Futurewei Technologies,主要从事网络开源与生态发展。曾经担任过 OpenDaylight 董事,技术指导委员会成员,社区经理和版本经理,目前是DPDK 董事会董事 和FD.io 技术指导委员会成员。在2020网络数据平面峰会上,DPDK董事会董事和FD.i.转载 2020-09-01 11:37:38 · 802 阅读 · 4 评论 -
向量封包处理器(VPP)特点
目录功能详细信息:基于ACL的转发安全组的ACL地址解析协议邻接双向转发检测位索引显式复制粘接缓冲区元数据更改跟踪器对静态http或https服务器的内置URL支持警察分类数据平面对象动态主机配置协议GPRS隧道协议通用路由封装IP邻居数据库IP安全IP隧道中的IPIPFIX探针英特尔IPSecMB库提供的IPSec加密引擎Openssl库提供的IPSec加密引擎本机实现提供的IPSec加密引擎IPv6邻居发现翻译 2020-07-01 08:56:01 · 4646 阅读 · 3 评论 -
《深入浅出DPDK》读书笔记(十二):DPDK虚拟化技术篇(半虚拟化Virtio)
Table of Contents半虚拟化Virtio132.Virtio使用场景133.Virtio规范和原理11.2.1 设备的配置1. 设备的初始化2. 设备的发现3. 传统模式virtio的配置空间4. 现代模式Virtio的配置空间134.虚拟队列的配置1. 初始化虚拟队列2. 描述符列表3. 可用环表4. 已用环表135.设备的使用1. 驱动向设备提供数据缓冲区2. 设备使用和归还数据缓冲区136.Virtio网络设备驱动设计原创 2020-10-29 21:12:11 · 1692 阅读 · 3 评论 -
Vector Packet Processing(VPP) (一)简介
目录一、简介二、扩展性1、结点操作2、可编程能力三、网络功能1、网络特性2、网络性能最近公司启动了一个新项目,是基于FD.io的开源项目VPP来进行开发的。由于VPP项目目前只支持对L2和L3数据包的处理,但是我们新项目希望加入对L4(主要是TCP和UDP)协议的处理并提供一套类似于BSD socket API来建立自己的网络应用。对L4协议的处理我们选用了开源项目OpenFastPath实现的协议栈,所以需要将OFP实现的L4协议栈处理加入到VPP项目中并最终可以实现对TC转载 2020-06-30 13:37:32 · 2046 阅读 · 1 评论 -
FD.io VPP用户文档:会话层架构与VPP应用
FD.io VPP:用户文档 HostStackRToax2020年9月HostStack1. 描述VPP的主机协议栈是利用VPP传输,会话和应用程序层协议的用户空间实现。它大致包括四个主要部分:接受可插拔传输协议的会话层用于在VPP和应用程序之间推送数据的共享内存机制传输协议实现(例如,TCP,QUIC,TLS,UDP)通讯库(VCL)和LD_PRELOAD库2. 会话层架构会话层架构2.1. 会话命名空间为了限制通信范围,应用程序应在附加时提供它们所属的原创 2020-09-21 14:55:37 · 3361 阅读 · 4 评论 -
《深入浅出DPDK》全书在线阅读(附录+推荐阅读)
Table of Contents文章目录推荐阅读原文附录附录A 缩略词附录B 推荐阅读文章目录《《深入浅出DPDK》读书笔记(一):基础部分知识点》《《深入浅出DPDK》读书笔记(二):网卡的读写数据操作》《《深入浅出DPDK》读书笔记(三):NUMA - Non Uniform Memory Architecture 非统一内存架构》《《深入浅出DPDK》读书笔记(四):并行计算-SIMD是Single-Instruction Multiple-Data(单指令多原创 2020-10-30 19:59:27 · 5404 阅读 · 0 评论 -
DPDK examples rxtx_callbacks完全注释
目录main.cThe RX/TX Callbacks sample application is a packet forwarding application that demonstrates the use of user defined callbacks on received and transmitted packets. The application performs a simple latency check, using callbacks, to determine th原创 2020-07-29 15:43:15 · 853 阅读 · 0 评论 -
DPDK内存篇(二): 深入学习 IOVA
Anatoly Burakov:英特尔软件工程师,目前在维护DPDK中的VFIO和内存子系统。“文章转载自DPDK与SPDK开源社区公众号”目录引言环境抽象层(EAL)参数IO虚拟地址(IOVA)模式作为物理地址(PA)的IOVA模式作为虚拟地址(VA)的IOVA模式IOVA模式的选择IOVA模式和DPDK PCI驱动程序用户空间IO(UIO)驱动程序VFIO内核驱动程序内核驱动程序的选择软件轮询模式驱动程序(PMD)总结推荐阅读系列文章.原创 2020-11-08 14:32:08 · 1031 阅读 · 0 评论 -
F-Stack API Reference(FStack 用户接口)
F-Stack API ReferenceF-Stack (FF) is a high-performance network framework based on DPDK.FF API provides the standard Kqueue/Epoll interface, and a micro threading framework (SPP).In order to facilitate a variety of services to use F-Stack simpler and fa原创 2020-08-13 18:52:11 · 1377 阅读 · 3 评论 -
DPDK 绑定网卡之后的解绑
目录查看网卡驱动执行dpdk-devbind.py解绑网卡加载驱动恢复网卡到kernel查看网卡驱动[root@localhost ~]# ethtool -i p1p1driver: ixgbe...执行dpdk-devbind.py# dpdk-devbind --status-dev netNetwork devices using DPDK-compatible driver===================================.原创 2020-08-18 10:59:37 · 2296 阅读 · 2 评论 -
在多线程数据平面开发套件(DPDK)应用程序中优化内存使用
目录介绍参考申请环与堆叠从环形内存池转移到堆栈内存池所需的代码更改测试方法结果结论关于作者资源资源尾注介绍高速数据包处理应用程序可能会占用大量资源。软件工程师和架构师可以提高其应用程序性能的一种方法是,将其数据包处理管道划分为多个线程。但是,这可能导致对缓存和内存资源的压力增加。因此,保持应用程序的内存占用量相对于数据平面流量尽可能小是制作高性能应用程序的关键。本文提供了一种优化多线程数据包处理应用程序的内存使用的技术,该技术应提高内存绑定应用程序的性能.翻译 2020-11-18 16:16:00 · 670 阅读 · 1 评论 -
FD.io VSAP(VPP Stack Acceleration Project),通过FD.io VSAP构建用户态协议栈
目录VSAPScope-使用范围ReleasesList of all subpages (used or unused)通过FD.io VSAP构建用户态协议栈VSAPhttps://wiki.fd.io/view/VSAPVSAP(VPP Stack Acceleration Project) aims to establish an industry user space application ecosystem based on VPP host stack. V原创 2020-08-27 08:33:44 · 1559 阅读 · 0 评论 -
《深入浅出DPDK》读书笔记(一):基础部分知识点
OS 的内核不是解决 C10M 问题的办法,恰恰相反 OS 的内核正是导致 C10M 问题的关键所在。原创 2020-10-06 14:05:21 · 5897 阅读 · 2 评论 -
DPDK examples helloworld完全注释
/* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2010-2014 Intel Corporation */#include <stdio.h>#include <string.h>#include <stdint.h>#include <errno.h>#include <sys/queue.h>#include <rte_memory.h>#in.原创 2020-07-28 17:43:22 · 1004 阅读 · 0 评论 -
DPDK服务核心(coremask)
目录服务核心服务核心初始化在核心上启用服务服务核心统计服务核心DPDK具有称为服务核心的概念,该概念允许动态地在DPDK lcore上执行工作。EAL中内置了服务核心支持,并且提供了一个API,以选择性地允许应用程序控制运行时如何使用服务核心。服务核心概念是由服务(需要CPU周期才能运行的DPDK组件)和服务核心(负责运行服务的DPDK lcore)构建而成的。服务核心概念的强大之处在于,可以将服务核心和服务之间的映射配置为抽象化平台与环境之间的差异。例如,Eventdev具翻译 2020-07-27 15:29:23 · 1761 阅读 · 0 评论 -
DPDK PMD( Poll Mode Driver)轮询模式驱动程序
DPDK PMD( Poll Mode Driver)轮询模式驱动程序目录Mellanox PMDs轮询模式驱动程序要求和假设设计原则逻辑核心,内存和NIC队列关系设备标识,所有权和配置设备识别港口所有权设备配置即时配置发送队列的配置按需免费发送mbuf硬件卸载轮询模式驱动程序API共性通用数据包表示以太网设备API以太网设备标准设备参数扩展统计APINIC重置APIMellanox PMDshttps://ww.翻译 2020-08-21 10:46:14 · 4294 阅读 · 1 评论