网络通信
linranguo
C/C++ 网络/应用,还会一点C#
展开
-
UDP数据包的产生和发送
内核网络 UDP 数据包原创 2022-07-20 15:10:06 · 2807 阅读 · 0 评论 -
IP 地址分类(A、B、C、D、E类)
互联网上的接口的唯一地址。IP 32位的地址通常表示为四个10进制的数,每个证书对应一个字节,成为点分十进制法(Dotted decimal notation)原创 2021-11-13 10:57:42 · 396 阅读 · 0 评论 -
nftables脚本例子:过滤和NAT
#! /bin/bash#清空当前规则集:nft flush ruleset#查询当前规则集:nft list ruleset#添加一个表:nft add table inet filter#添加input、forward和output三个基本链。input和forward的默认策略是drop。output的默认策略是accept。nft add chain inet filter input { type filter hook input priority 0 \; policy .原创 2020-09-22 19:43:09 · 2714 阅读 · 2 评论 -
pktgen.conf
#! /bin/sh# FileName: pktgen-eth5-eth6.conf# modprobe pktgenfunction pgset() {local resultecho $1 > $PGDEVresult=`cat $PGDEV | fgrep "Result: OK:"`if [ "$result" = "" ]; thencat $PGDEV | fgrep Result:fi}function pg() {echo inject > $PGDE.原创 2020-07-02 17:59:09 · 254 阅读 · 0 评论 -
MTU设置
备注一个MTU的设定和路由功能开启原创 2017-07-25 17:07:15 · 685 阅读 · 0 评论 -
dpdk中uio技术
总结一下dpdk的uio技术一:什么是uio技术UIO(Userspace I/O)是运行在用户空间的I/O技术,Linux系统中一般的驱动设备都是运行在内核空间,而在用户空间用应用程序调用即可,而UIO则是将驱动的很少一部分运行在内核空间,而在用户空间实现驱动的绝大多数功能!使用UIO可以避免设备的驱动程序需要随着内核的更新而更新的问题。工作原理图:从图中转载 2017-08-07 10:06:48 · 1181 阅读 · 0 评论 -
常用协议查询[Protocol Numbers]
NoteIn the Internet Protocol version 4 (IPv4) [RFC791] there is a fieldcalled "Protocol" to identify the next level protocol. This is an 8bit field. In Internet Protocol version 6 (IPv6) [RFC188转载 2017-11-10 15:37:31 · 2384 阅读 · 0 评论 -
总结一下大页的操作
Linux 操作系统采用了基于hugetlbfs 的特殊文件系统来加入对2MB 或者1GB 的大页面支持(x86架构)。 (如果是IBM power架构,是16M和16G)为了使用大页,必须在编译内核的时候激活hugetlbfs。在激活hugetlbfs 之后,还必须在Linux 启动之后保留一定数量的内存作为大页来使用。现在有两种方式来预留内存。第一种是在Linux 命令行原创 2017-11-23 09:58:31 · 1903 阅读 · 0 评论 -
网络地址的计算
有些时候想当然是会害人的!但前几天部署测试环境时,管理员给了一个ip地址(真实的不方便给出,变化一点举例):192.168.44.68/28结果我的配的路由是 route add -net 192.168.44.240/28 gw 192.168.2.1想当然的以为网络地址是192.168.44.240 (因为第4个byte是 1111 0000),可是ping的时候显示网络不可达...原创 2018-08-02 17:04:44 · 1678 阅读 · 2 评论 -
iptables 的mangle表
mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由。内网的客户机通过Linux主机连入Internet,而Linux主机与Internet连接时有两条线路,它们的网关如图所示。现要求对内网进行策略路由,所有通过TCP协议访问80端口的数据包都从ChinaNet线路出去,而所有访问UDP协议53号端口的数据包都从Cernet线...转载 2019-06-10 10:02:56 · 2076 阅读 · 0 评论 -
iptables之四表五链
iptables可谓是SA的看家本领,需要着重掌握。随着云计算的发展和普及,很多云厂商都提供类似安全组产品来修改机器防火墙。iptables概念iptables只是Linux防火墙的管理工具而已。真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构。iptables具体是如何去过滤各种规则的呢?请看下面的四表五链四表五链概念fil...转载 2019-06-10 10:13:48 · 777 阅读 · 0 评论 -
ipv6配置记录
#apt install isc-dhcp-server#vi /etc/dhcpd/dhcpd6.confdefault-lease-time 600;max-lease-time 7200; log-facility local7; subnet6 2001:db8:0:1::/64 { # Range for clients range6 20...原创 2019-08-01 17:57:21 · 588 阅读 · 0 评论 -
IP 地址分类(A、B、C、D、E类)
备注一下IP地址分类转载 2017-07-21 16:02:29 · 2497 阅读 · 0 评论 -
linux tcp 之setsockopt
Socket的send函数在执行时报EAGAIN的错误当客户通过Socket提供的send函数发送大的数据包时,就可能返回一个EGGAIN的错误。该错误产生的原因是由于send 函数中的size变量大小超过了tcp_sendspace的值。tcp_sendspace定义了应用在调用send之前能够在kernel中缓存的数据量。当应用程序在socket中设置了O_NDELAY或者O_NONBLOCK转载 2017-06-13 13:55:41 · 1831 阅读 · 0 评论 -
Linux网络编程-tcp缓存设置
记录下TCP缓存的各配置项以及缓存大小的计算公式。1.有关发送、接收缓存的配置内核设置的套接字缓存/proc/sys/net/core/rmem_default,net.core.rmem_default,套接字接收缓存默认值 (bit)/proc/sys/net/core/wmem_default,net.core.wmem_default,套接字发送缓存默认值转载 2017-06-13 13:52:28 · 2835 阅读 · 0 评论 -
HTTP 压缩与解压缩
HTTP的Accept-Encoding 相关知识原创 2016-03-08 14:09:57 · 2155 阅读 · 0 评论 -
socket中read、write、send、recv函数的比较
What is the difference between read() and recv()? From Andrew Gierth (andrew@erlenstar.demon.co.uk): read() is equivalent to recv() with a flags parameter of 0. Other values for the flags parame转载 2016-05-05 13:51:52 · 321 阅读 · 0 评论 -
分享一个好用的添加网络代理的工具SocksCap
分享一款免费的应用程序外壳代理软件原创 2016-09-12 13:54:22 · 6886 阅读 · 0 评论 -
关于UDP 数据包长度的选择
在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好? 当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,我这里仅对像ICQ一类的发送聊天消息的情况作分析,对于其他情况,你或许也能得到一点帮助: 首先,我们知道,TCP/IP通常被认为是一个四层协议系统,包括链路层,网络层,运输层,应用层. UDP属于运输转载 2016-10-12 16:32:07 · 877 阅读 · 0 评论 -
阻塞机制下的recv小结
recv是socket编程中最常用的函数之一,在阻塞状态的recv有时候会返回不同的值,而对于错误值也有相应的错误码,分别对应不同的状态,下面是我针对常见的几种网络状态的简单总结。 首先阻塞接收的recv有时候会返回0,这仅在socket被正常关闭时才会发生。 而当拔掉设备网线的时候,recv并不会发生变化,仍然阻塞,如果在这个拔网线阶段,socket被关掉了,后果可能转载 2016-10-13 10:57:19 · 862 阅读 · 0 评论 -
Base64编码原理与应用
base64,记录一下;编码后size会扩大1/3 , 如果带编码的字符串长度可预测并且不太长的情况下,直接把最大长度乘以1.4就完全能够存下编码后的内容了转载 2017-03-01 10:10:06 · 482 阅读 · 0 评论 -
centos7上dpdk编译安装
dpdk版本:dpdk-17.05下载地址:http://www.dpdk.org/browse/dpdk/snapshot/dpdk-17.05.tar.gz内核版本:3.10.0-123.el7.x86_64 编译过程: yum install libpcaplibcap-develyum install pciutilsyum install –y kernel...原创 2017-05-11 13:13:00 · 8572 阅读 · 0 评论 -
使用netns虚拟网络进行网络测试
netns是在Linux中提供网络虚拟化的一个项目,使用netns网络空间虚拟化可以在本地虚拟化出多个网络环境,目前netns在lxc容器中被用来为容器提供网络。使用netns创建的网络空间独立于当前系统的网络空间,其中的网络设备以及iptables规则等都是独立的,就好像进入了另外一个网络一样。netns虚拟网络空间的网络通信依赖于物理接口,光讲听上去很虚,我们来操练点实际的看看转载 2017-05-11 16:49:37 · 733 阅读 · 0 评论 -
ip netns常用命令
1.增加虚拟网络命名空间 ip netns add net0 2.显示所有的虚拟网络命名空间EULER:~ # ip netns listnet0也可通过查看/var/run/netns目录下的文件来listEULER:~ # ls /var/run/netns/net0 3.进入虚拟机网络环境ip n转载 2017-05-18 17:38:07 · 2510 阅读 · 3 评论 -
Vxlan学习笔记——原理
1. 为什么需要Vxlan 普通的VLAN数量只有4096个,无法满足大规模云计算IDC的需求,而IDC为何需求那么多VLAN呢,因为目前大部分IDC内部结构主要分为两种L2,L3。L2结构里面,所有的服务器都在一个大的局域网里面,TOR透明L2,不同交换机上的服务器互通靠MAC地址,通信隔离和广播隔离靠的vlan,网关在内网核心上。而L3结构这是从TOR级别上就开始用协议进行互联,网关转载 2017-05-18 19:53:04 · 929 阅读 · 0 评论 -
链路层常见报文格式及长度
记录一下,慢慢熟悉转载 2017-04-27 20:11:00 · 1028 阅读 · 0 评论 -
IPSEC 中的AH,ESP,SPI用途
IPSEC的加密通信中包含了两个协议,分别为AH(Authentication header验证包头),ESP(Encapsulating security payload,封装安全包头)协议。AH负责执行封包的完整性验证ESP则是负责执行封包的加密动作。不管AH包头或是ESP包头,其内都包含有一个SPI字段,而该SPI值就是告知接收端主转载 2017-06-23 17:42:04 · 5892 阅读 · 0 评论 -
http状态码大全(HTTP Status Code) Curl http_code 状态码 意义
http状态码大全(HTTP Status Code) Curl http_code 状态码 意义转载 2016-03-04 10:14:20 · 3157 阅读 · 0 评论