- 博客(175)
- 资源 (2)
- 收藏
- 关注
原创 正向代理和反向代理
因为反向代理隐藏了真实的服务端,当我们请求一个网站的时候,背后可能有成千上万台服务器为我们服务,但具体是哪一台,我们不知道,也不需要知道,我们只需要知道反向代理服务器是谁就好了,反向代理服务器会帮我们把请求转发到真实的服务器那里去。我们常说的代理也就是指正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求。正向代理是客户端请求代理服务器,然后由代理服务器代表客户端向目标服务器发起请求,目标服务器返回的数据经由代理服务器返回给客户端。
2024-09-19 17:24:12 302
原创 std::atomic
atomic> 该头文主要声明了两个类,std::atomic 和 std::atomic_flag,其中实现了原子类型的所有特性。另外还声明了一套 C 风格的原子类型和与 C 兼容的原子操作的函数。
2024-09-03 15:59:37 184
原创 c++ thread mutex
std::lock_guard 是 C++ 标准库中提供的一个模板类,用于在其构造时自动获取锁,在析构时自动释放锁。使用 std::lock_guard 的好处是,当 std::lock_guard 对象离开其作用域时,会自动调用析构函数,该析构函数会释放锁。这确保了在任何情况下(包括由于异常等原因导致的提前退出),锁都会被正确释放,从而避免了忘记手动释放锁而导致的死锁问题。:递归互斥锁,允许同一个线程多次锁定。
2024-09-02 17:24:36 250
原创 c++ STL 容器相关
它的第二实参时返回 true。但因为优先级队列首先输出最大元素,所以“先来”的元素实际上会在最后输出。,它提供常数时间的(默认)最大元素查找,对数代价的插入与提取。更改顺序,例如,用 std::greater<T> 将导致最小元素作为。的作用类似于管理某些随机访问容器中的。形参的定义,使得它的第一实参在弱序中。,其优势是不可能意外使堆失效。所施加弱序的“最后”元素。
2024-08-31 10:27:51 405
原创 Linux常用命令
mtr:结合了ping和traceroute的网络诊断。netstat:显示网络连接、路由表和接口状态。nmcli:NetworkManager的命令。ip route:显示和操作路由表的现代工具。netstat-nat:显示NAT的连接信息。nethogs:显示每个进程的带宽使用情况。ip:替代ifconfig的网络配置命令。tcpflow:捕获和重组TCP流量。curl:与网络服务器交互的命令行。ethtool:网络接口配置和调试。tcpdump:网络数据包分析。iperf :网络性能测试命令。
2024-08-30 16:52:30 418
原创 vrrp协议
ESP协议验证报文的完整性检查部分包括ESP头、原IP头、传输层协议头、数据和ESP报尾,但不包括新IP头,因此ESP协议无法保证新IP头的安全。ESP协议验证报文的完整性检查部分包括ESP头、传输层协议头、数据和ESP报尾,但不包括IP头,因此ESP协议无法保证IP头的安全。3DES,3DES(Triple Data Encryption Standard),3DES是一种增强型的DES标准,它在需要保护的数据上使用3次DES,即使用三个不同的56位的DES密钥(共168位密钥)对明文进行加密。
2024-07-17 17:10:30 899
原创 dpdk uio整体分析及网卡加载
bing操作后,dmesg就会看到igb_uio模块的probe函数执行了(id_table不为空了),也就是意味着扫描到了匹配的pci设备,将uio_info注册到内核中,注册后在/sys/class/uio/uioX,同时生成/dev/uioX设备(X为次设备号),此时/sys/class/uio/目录下已产生于/dev/uioX设备对应的内容。(2)若函数被设定为destructor属性,则该函数会在main()函数执行之后或者exit()被调用后被自动的执行。注册igb_uio驱动主要做两件事情。
2024-06-03 21:48:31 796 1
原创 DPDK基础组件二(igb_uio、kni、rcu)
有两个有效的case,RTE_KNI_IOCTL_CREATE和RTE_KNI_IOCTL_RELEASE,分别对应DPDK用户态的rte_kni_alloc和rte_kni_release,即申请kni interface和释放kni interface。其中,对于IORESOURCE_MEM类型,通过igbuio_pci_setup_iomem函数进行读取,而对于IORESOURCE_IO类型,通过igbuio_pci_setup_ioport来进行读取。kni就是dpdk和内核的数据通道。
2024-06-02 17:28:16 1163
原创 DPDK基础组件一(mbuf、ring、pktmbuf_pool)
1.dpdk mempool 针对每个 lcore 配置 cache,对于单独使用 pthread_create 创建的线程,由于 lcore_id 为 -1,不能获取到 mempool cache,在这些线程中申请、释放元素到 mempool 中不会经过 cache每一个 lcore 上 mempool cache 的使用没有任何互斥保护,多个线程使用同一个 lcore 的情况下对 mempool cache 的访问会存在不一致性,这种场景下需要关闭 mempool cache 功能.
2024-06-02 11:44:05 1420
原创 Linux实现memcpy
以上两篇博客提供了很大思路,但是考虑到实际面试当中的时间等问题,结合以上两篇实现如下代码。此代码可运行,并且考虑了32位机和64位机。
2023-08-31 15:45:33 941
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人