网络
文章平均质量分 62
dong_beijing
向大牛们学习
展开
-
哈希环如何用在直播调度系统
直播CDN系统通常用L1或者L2的缓存集群,缓解中心服务器压力。缓存集群需要满足2个条件。原创 2023-05-21 12:00:10 · 892 阅读 · 0 评论 -
云上网络规划CIDR地址划分的参考示例
例如:sip-vswitch-pre-cn-beijing-b表示北京的预发环境b机房-可用区,sip-vswitch-pub-ack-pod-cn-shanghai-a表示上海线上阿里云k8s集群的a号POD-可用区。例如:sip-vpc-pre-cn-beijing表示北京的预发环境,sip-vpc-pub-cn-shanghai表示上海的线上环境。原创 2023-05-03 18:06:19 · 864 阅读 · 0 评论 -
回环发网络包不通(ping 127也不通)的解决方法
在linux上做“服务器+客户端”的网络收发验证,发现自己连不上自己。后来试试,回环ping自己也不通。查查原因,是自己裁的系统少了一句配置:ifconfig lo 127.0.0.1没有配lo,才会导致我的诡异问题。...原创 2019-10-22 20:11:34 · 2592 阅读 · 0 评论 -
nginx无锁机制的学习
在nginx中,广泛应用了CAS(compare-and-swap)操作来完成进程同步。包括ngx_spinlock,ngx_trylock,ngx_rwlock_wlock,ngx_shmtx_trylock,ngx_shmtx_lock等各种锁,均由ngx_atomic_cmp_set的CAS操作来实现。CAS操作作为原子操作,在linux上最低的支持版本是GCC4.1,API是原创 2017-11-10 17:44:59 · 913 阅读 · 0 评论 -
TCP连接的几个问题的处理
问题一:accept4: too many open files; retrying in 640ms或者dial tcp 127.0.0.1:8080: socket: too many open files都是socket的数量,即文件描述符的数量不够用了,解决方法,增加文件描述符的数量ulimit -n 204800其中204800可以适当增加,不超过系统上限就行。问题二:dial tcp...原创 2018-03-12 15:29:21 · 3027 阅读 · 0 评论 -
网络传输小包数据的潜在问题
同样数据量的buffer,比如1500字节的数据,分10包 x 150发送和1包 x·1500发送,对比如下:(1)10包数据,需要10个20字节ip头信息,7字节帧前导,1字节帧首界定符及帧与帧之间的12字节的默认帧间距,而这些都是通常意义的网络带宽的一部分,所以小包会造成带宽的浪费。(2)在存储转发的模型下,报文的收发及查表都需要访存,那么小包的处理,需要访存的次数x10,降低了cac...原创 2018-06-16 00:08:23 · 2566 阅读 · 0 评论 -
webrtc的sdp分析
webrtc的sdp分offer和answer两个,以offer为例,简单分析 ,其实就2个m(media)就可以了:"sdp" : " v=0 //version 版本 o=- 6547339724864950015 2 IN IP4 127.0.0.1 //origin 源 IN为internet s=- //session 会话 t=0 0 //time 活动时间 ...原创 2018-07-03 00:11:45 · 1463 阅读 · 0 评论 -
webrtc的丢包重传rtcp包的解析
webrtc的丢包重传的核心实现在nack_module.cc中,其实现的原理为rfc 4585协议。rfc 4585协议定义了 Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF),即实时的rtcp的反馈,来反映丢包信息,而其中的PID和BLP信息,可以充分的利用rtp的sequence号是short的...原创 2018-07-06 00:26:31 · 2088 阅读 · 0 评论 -
ubuntu设置有线和wifi同时上网
单击 桌面右上角的网络图标选择 编辑连接双击 以太网 Wired Connection选择 ipv4设置点击 路由勾选 仅将此连接用于相对应的网络上的资源重启机器。 ...原创 2018-07-31 14:12:49 · 4197 阅读 · 1 评论 -
ubuntu的路由配置
两种方式:1 通过图像化界面添加:编辑连接 -> Wired connection 1 (有线连接) -> IPv4设置 -> 路由 -> 添加(目的ip 255.255.255.255 跳板ip)2 通过命令行添加:ip route add 10.25.0.1/32 via 0.0.0.0 dev eth0删除路由的方式:ip route de...原创 2018-08-28 16:58:53 · 9780 阅读 · 0 评论 -
RTP/RTCP的RFC协议汇总
总结包括RTP/RTCP的机制,类型,负载和安全srtp部分,并不包括相关的nat/ice穿透机制,dtls安全机制, sdp offer-answer sip相关的协商机制和rtsp流控协议。 RFC版本号 名称 备注 1889 RTP: A Transport Protocol for Rea...原创 2018-08-25 23:20:39 · 4306 阅读 · 0 评论 -
sip的register流程基本实践
这消息的流程很简单,即sip的设备向sip的注册服务器认证的消息.关键是环境的搭建.sip的设备,采用osip+exosipsip的认证服务器,采用kamailio详细说明:osip和exosip,安装官网安装就可以了,用最新的2016年的版本,正常的三步configure, make, make install.这里注意exosip默认依赖openssl 1.0.2的库,...原创 2018-10-13 23:55:51 · 4010 阅读 · 0 评论 -
windows的ping发icmp的系统api
用windows的原生api做ping的测试程序,收藏一下#include <winsock2.h>#include <iphlpapi.h>#include <icmpapi.h>#include <stdio.h>#pragma comment(lib, "iphlpapi.lib")#pragma comment(lib, "...转载 2018-12-29 09:05:37 · 1243 阅读 · 2 评论 -
ubuntu安装squid做代理服务器
1.安装squid3apt-get updateapt-get install squid2.验证安装squid3 -v出现Squid Cache: Version 3.3.8,证明安装正确。3.更改配置文件gedit /etc/squid3/squid.conf更改方法:3.1 搜索acl CONNECT method CONNECT,在后面加入:ac...原创 2019-03-25 18:49:15 · 6090 阅读 · 0 评论 -
libquic的编译方法
从github上,clone最新版的libquic,放到指定的文件夹目录下面,比如/root/webstream/quic/libquic-master下。# cd /root/webstream/quic/libquic-master# mkdir build/# cd build/# cmake ..# make -j 4可以在/root/webstream/quic原创 2017-10-15 09:08:50 · 6105 阅读 · 4 评论 -
Quic协议在Voip的应用。
quic,voip.rtp,udp原创 2017-10-14 00:32:56 · 1338 阅读 · 3 评论 -
增加udp缓冲区解决高清视频码流丢包的方法
通过RTP传输高清h264码流时,当码流的分辨率为1080P,帧率为 60帧每秒的码流在网络上传输过程中,瞬时的码率峰值可能会超过系统默认的udp的缓冲区大小,导致解码数据不完整,看到花屏的视频。解决这个问题的方法,需要增加udp缓冲区的大小,设置的方法分为设置系统的整体缓冲区,在程序中设置socket的缓冲区。 (1)设置linux系统的缓冲区的方法,是在命令行下输入:sysctl原创 2017-03-01 16:33:56 · 9000 阅读 · 1 评论 -
select模型各个操作的总结
在《unix网络编程》中,介绍了select模型可用于将多个阻塞的fd统一进行阻塞,其具体操作,以recv的操作为例总结如下:FD_SET readSet; //fd的集合FD_ZERO(&readSet); //初始化while(1){ for(i=0; i<CONCOUNTS;i++) { if (pM->confd[i] >0)原创 2017-02-22 16:24:55 · 492 阅读 · 0 评论 -
采用epoll模型设计多路udp接收程序
设计h264的rtp网络服务器,首先需要考虑的就是多路udp如何接收,如果采用多线程的模式,会导致线程上下文切换过于频繁,导致udp丢包。采用多进程的模式,占用的内存和进程资源又不好控制。所以在linux下采用epoll模型比较合适。 epoll头文件 :#include <sys/epoll.h>接收到数据后,epoll不仅可以指明哪路fd收到了数据,还可以通过自定义结构体来指明相应的结原创 2017-03-08 17:20:51 · 1550 阅读 · 1 评论 -
RTP中SSRC导致的媒体流中断
在RTP协议中, 定义同步源(SSRC,Synchronization source)为RTP包流的源,用RTP报头中32位数值的SSRC标识符进行标识,使其不依赖于网络地址。通常麦克风,音频接口,摄像头,视频接口的变化,都会导致SSRC的变化。在OPAL和OpenH323中,默认同一Session中RTP流的SSRC发生变化后,RTP包即丢弃,这样会导致音频或者视频的媒体流中断,且不能恢复,需要原创 2017-02-22 16:50:26 · 8180 阅读 · 0 评论 -
通过信号量和共享内存实现h264码流在不同进程间传输
读写这两个进程需要共享的内存,在头文件中定义,#define DZY_FRAME_SIZE 300000#define DZY_FRAME_COUNT 10typedef struct single_frame{ int length; char frame[DZY_FRAME_SIZE];}single_frame;typedef struct mul_frame{原创 2017-03-07 19:02:21 · 1405 阅读 · 0 评论 -
boost的asio接收单路大数据量udp包的方法
开发windows客户端接收RTP视频流,当h264视频达到1080P 60fps的时候,按包来调用recvfrom的函数压力比较大,存在丢包的问题,windows的完成端口的性能效果当然可以解决这个问题,而boost的asio在windows上是基于完成端口来开发的,所以采用boost的asio和环形缓冲区的方法,可以解决接收单路大数据量udp包中丢包的问题。 需要引入的头文件为:原创 2017-03-17 11:26:27 · 5626 阅读 · 1 评论 -
通过C/C++结构体解析RTP/RTCP的包头的方法
RTP包的头构成为: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-原创 2017-04-18 11:32:17 · 5647 阅读 · 6 评论 -
通过RTCP进行媒体流实时丢包重传的方法
在RTP/RTCP传输媒体流的过程中,RTCP报文的主要作用在于RR(ReceiverReport),即接收者报告,来反馈统计收到包的数量,丢包数量等信息,来使发送者来及时的调整编码策略,但是由于RTCP的发送间隔为固定间隔,通常为分配给RTCP的连接带宽固定为5%,大致为2-5秒左右一包,并不能用于实时的丢包反馈。 但是,在RTCP的SDES(SourceDescription)报文中,原创 2017-04-15 17:14:43 · 6191 阅读 · 0 评论 -
nginx在eclipse的快速开发
在 《nginx在ubuntu下的快速配置》中,介绍了nginx在Ubuntu的搭建方法,这时已经在/root/extest/webMP4/nginx-beeac3302e45(源代码的目录)生成了Makefile。打开eclipse,选择file ,选择new,选择Makefile Project with Existing Code,选择上面的源代码目录,完成导入。由于ngin原创 2017-10-20 15:31:37 · 3009 阅读 · 0 评论 -
nginx在ubuntu下的快速配置
nginx依赖的三大lib的配置:sudo apt-get install openssl libssl-dev sudo apt-get install libpcre3 libpcre3-dev sudo apt-get install zlib1g-devnginx的最新源码下载,gz或者zip都可以http://hg.nginx.org/nginxcd到ng原创 2017-10-05 11:02:43 · 1537 阅读 · 0 评论 -
通过ffmpeg的接受发送rtp的指令
在ffmpeg的处理rtp码流默认是不在白名单中的,所以处理rtp码流需要添加rtp,udp的白名单才能完成。接受rtp码流,解码,尺寸变化为720x480后,编码保存文件的指令如下:ffmpeg -protocol_whitelist file,udp,rtp -i test.sdp -s 720:480 -vcodec libx264 out.h264将h264文件发送为rtp的指令为原创 2017-02-28 13:53:53 · 3855 阅读 · 0 评论