net
文章平均质量分 53
前进的蜗牛啊
一个程序员,现在依然在路上~
欢迎讨论技术问题,及对博客文章提意见
展开
-
ip地址转换成字符串
from://http://hi.baidu.com/hst_jiangbo/item/2a66d8eadeacb3215b2d643a从网络上接收的ip地址,有时候为了节省空间,用一个32位无符号整形数据表示ipv4地址。我们接收到之后,又需要转换成呢个数字和点格式的字符串来进行后续的操作。比较勤奋点的人会自己写个函数做转换。我属于比较懒的。不愿意做别人已经做转载 2013-07-16 16:51:14 · 22265 阅读 · 1 评论 -
老版本quic如何做fec
fec在quic新版本中废弃了,据官方说法,在大部分情况下,作用不大。fec从本质上讲是基于冗余的,会浪费带宽。只能恢复随机丢包。大块丢包也无能为力。不过,quic实现还是代表了一种十分优美的方案,算法简单实用。quic fec 只能恢复fecgroup里一个包比如: 10个包+加上一个fec包接收端:fec包。fecqroup记录这个,初始化为第一个接受到的g原创 2017-10-24 10:16:33 · 2138 阅读 · 1 评论 -
quic如何做路径mtu探测的
路径mtu探测在基于udp的程序中很有用,如果大了,会引起ip层分片,导致容易丢包。小了,网络利用率不高。quic做mtu探测是根据,可以设置ip层包不分片来做的。如果超过了mtu大小会丢失。所有工作是在定时器里做的,封装为ping包while(condition){ send current_mtu_pkg_size //定时器做的 if(error)原创 2017-10-23 12:07:42 · 2514 阅读 · 0 评论 -
ping 探测路径mtu大小
方法来自网上,自己测试通过例如ping -f -l 1452 www.baidu.com如果出现请求超时,说明包长度太大在1400-1472之间多试几次,看看哪个能ping通再加上28字节的包头就是路径mtu的长度我这里ping www.baidu.com的长度就是1452+28=1480转载 2015-09-15 22:45:47 · 3970 阅读 · 0 评论 -
tcp窗口机制(写的最简单精炼的文章)
转自:http://blog.sina.com.cn/s/blog_5ec353710101g5a7.html收录下,感谢原作者。我们可以大概看一下上图的模型:首先是AB之间三次握手建立TCP连接。在报文的交互过程中,A将自己的缓冲区大小(窗口大小)3发送给B,B同理,这样双方就知道了对端的窗口大小。A开始发送数据,A连续发送3个单位的数据,因为他知道B的缓转载 2015-09-15 15:36:34 · 471 阅读 · 0 评论 -
tcp 在调用connect失败后要不要重新socket
原文 http://blog.csdn.net/junjun150013652/article/details/37966901主题 Socket TCP/IP对TCP套接字调用connect会激发三次握手,如下:客户端是主动打开连接的一端,会发送第一个SYN分节,然后等待确认,此时连接状态为 SYN_SENT ,当收到服务端的确认后连接建立,状态变为 E转载 2015-09-06 23:12:47 · 15564 阅读 · 0 评论 -
rtmp协议中streamid和chunk关系
Rtmp中,一个Message通常是分割成多个Chunk进行传输的.每个Chunk通常包含有1~12个字节的头部(该部分与完整的协议不是十分符合).因为Rtmp是基于TCP协议的,所以在Rtmp传输过程中, Chunk头部会根据实际情况使用简化的头部(12字节的头部是完整的头部,8/4/1字节的头部是根据实际情况简化的).一. Chunk头部的简化规则 说明:以上转载 2015-03-02 14:11:44 · 5129 阅读 · 0 评论 -
TCP Nagel算法
转自 http://blog.163.com/li_xiang1102/blog/static/607140762011111103213616/1. Nagel算法 TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据。(一个转载 2015-09-02 09:53:36 · 2939 阅读 · 0 评论 -
TCP,UDP发送数据包大小浅析
MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。由于以太网EthernetII最大的数据帧是15转载 2013-12-02 20:47:15 · 759 阅读 · 0 评论 -
epoll 服务器例子,证明可用
#include #include #include #include #include #include #include #include #include #include /*struct addrinfo { int ai_flags; int ai_family; int ai_转载 2015-02-04 11:16:11 · 507 阅读 · 0 评论 -
snmp的应用
前两天项目要求一个附加功能,远程监视服务器的运行状况,要定期监视指定端口,指定业务,还包括服务器的磁盘空间,内存,CPU使用率等等。这头俩事还好说,ping和telnet也就搞定了,实在不行就开个socket连一下,关键后边的事有点抓瞎,要是在本地,可以通过API得到系统信息,分析磁盘空间,内存啥的,可是远程得到别的机子的信息,那不成木马了么。到网上一查,原来有SNMP可以帮着做这件事情。于是就了转载 2014-01-12 00:12:02 · 900 阅读 · 0 评论 -
SSM+SIM 解析
这部分转自wikiSSM:即Source-specific multicast. is a method of delivering multicast packets in which the only packets that are delivered to a receiver are those originating from a specific source address转载 2013-12-07 10:20:06 · 1039 阅读 · 0 评论 -
介绍Basic和Digest
from:http://www.cnblogs.com/jcli/archive/2012/12/11/2812459.html介绍Basic和Digesthttp协议并没有定义相关的安全认证方面的标准,所以就有了Basic and Digest Access Authentication的定义来补充,它的目的就是补充一套基于http服务端的认证机制,保护相关的资源避免被非法用转载 2013-11-21 14:24:34 · 1177 阅读 · 0 评论 -
四种格式的以太网帧结构
标签:以太网帧 休闲 职场原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://cvgcv6666.blog.51cto.com/713624/267028四种格式的以太网帧结构用过NetXray之类的抓包软件的人,可能经常会被一些不同的Frame Header搞糊涂,为何用的Frame的Header是这样的,而另外的转载 2013-09-27 16:25:26 · 1688 阅读 · 0 评论 -
非阻塞connect流程
1. create a socket2.set noblock3.connect if (connect(pItor->socket, (struct sockaddr *) &server, sizeof(server)) == -1) { if(errno == EINPROGRESS) {原创 2013-09-30 17:37:33 · 756 阅读 · 0 评论 -
tcpdump 使用
默认tcpdump抓包大小限制在96个BYTE(包括以太网帧)修改参数为-s 00 则忽略包的大小限制,按包的长度实际长度抓取。---------------------------------------------linux tcpdump 命令详解功能说明:倾倒网络传输数据。语 法:tcpdump[-adeflnNOpqStvx][-c][-dd][-ddd转载 2013-08-14 13:35:52 · 748 阅读 · 0 评论 -
网络编程模型
转载 2013-08-01 09:59:54 · 546 阅读 · 0 评论 -
webrtc 接收packt包后处理
逻辑上讲,webrtc收到rtp包以后,是组帧操作。也就是packet到frame。注意rtp包的封包形式,stapA FU-A,单一单元组合包。可以参考http://blog.csdn.net/jwybobo2007/article/details/7054140原创 2017-10-24 18:42:29 · 1018 阅读 · 1 评论