博客园 - 山上有风景
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=8137
2023-11-22T12:09:43Z
山上有风景
https://www.cnblogs.com/ssyfj/
feed.cnblogs.com
https://www.cnblogs.com/ssyfj/p/16710161.html
WebRTC源码学习02---webrtc源码编译安装(Mac) - 山上有风景
参考文献 https://webrtc.org.cn/mirror/ (主要参考文章) https://www.an.rustfisher.com/webrtc/intro/sync-build/(参考一下代理设置) https://blog.csdn.net/dangwei_90/article/
2022-10-24T12:16:00Z
2022-10-24T12:16:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】参考文献 https://webrtc.org.cn/mirror/ (主要参考文章) https://www.an.rustfisher.com/webrtc/intro/sync-build/(参考一下代理设置) https://blog.csdn.net/dangwei_90/article/ <a href="https://www.cnblogs.com/ssyfj/p/16710161.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/16587828.html
复合文档 - 山上有风景
https://blog.csdn.net/VHeroin/article/details/90256858?spm=1001.2014.3001.5502 https://blog.csdn.net/lipinganq/article/details/76737002 https://wenku.
2022-09-06T11:50:00Z
2022-09-06T11:50:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】https://blog.csdn.net/VHeroin/article/details/90256858?spm=1001.2014.3001.5502 https://blog.csdn.net/lipinganq/article/details/76737002 https://wenku. <a href="https://www.cnblogs.com/ssyfj/p/16587828.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/16282570.html
Go系列---基础知识 - 山上有风景
以李文周的学习博客为基础,结合许式伟的Go语言数据,开启新的Go语言学习经历 一:Go简介和环境搭建 1.goroutine原理后期需要深入研究 2.低版本可以按照下文配置GOPATH https://blog.csdn.net/weixin_41044151/article/details/114
2022-07-15T11:15:00Z
2022-07-15T11:15:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】以李文周的学习博客为基础,结合许式伟的Go语言数据,开启新的Go语言学习经历 一:Go简介和环境搭建 1.goroutine原理后期需要深入研究 2.低版本可以按照下文配置GOPATH https://blog.csdn.net/weixin_41044151/article/details/114 <a href="https://www.cnblogs.com/ssyfj/p/16282570.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/16278883.html
linux内核学习---Linux内核程序调试工具Crash的安装 - 山上有风景
客户机操作系统已禁用 CPU,请关闭或重置虚拟机 本人在研究SDN中,需要经常修改OVS源码实现自己的功能,因此大部分工作需要修改openvswitch.ko内核模块,而内核程序的修改往往更加严格,比如:如果粗心导致使用没有被赋值的指针,就会出现如下图的问题(在VMware虚拟机中会提示,在物理主机
2022-05-17T11:39:00Z
2022-05-17T11:39:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】客户机操作系统已禁用 CPU,请关闭或重置虚拟机 本人在研究SDN中,需要经常修改OVS源码实现自己的功能,因此大部分工作需要修改openvswitch.ko内核模块,而内核程序的修改往往更加严格,比如:如果粗心导致使用没有被赋值的指针,就会出现如下图的问题(在VMware虚拟机中会提示,在物理主机 <a href="https://www.cnblogs.com/ssyfj/p/16278883.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/16272720.html
SDN功能实现(七)---修改OVS源码实现ACK机制(控制器-交换机用户态-交换机内核态通信) - 山上有风景
一:功能介绍 回顾毕业论文中的一个功能模块,个人觉得还是有一定的价值,进行博客分享,可供大家参考,也算是对研究了3年的SDN领域的最后一次知识分享吧,希望有更多的人在SDN领域作出贡献,分享自己的学习经历. 此外,需要说明本文源于自己的毕业论文,所以本人论文不存在抄袭....... (一)系统部分架
2022-05-16T12:49:00Z
2022-05-16T12:49:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】一:功能介绍 回顾毕业论文中的一个功能模块,个人觉得还是有一定的价值,进行博客分享,可供大家参考,也算是对研究了3年的SDN领域的最后一次知识分享吧,希望有更多的人在SDN领域作出贡献,分享自己的学习经历. 此外,需要说明本文源于自己的毕业论文,所以本人论文不存在抄袭....... (一)系统部分架 <a href="https://www.cnblogs.com/ssyfj/p/16272720.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/16271885.html
Generic Netlink内核实现分析(二):通信详解 - 山上有风景
转载自:https://blog.csdn.net/luckyapple1028/article/details/51232582#t6 代码路径:https://github.com/luckyapple1028/demo-genetlink 前一篇博文中分析了Generic Netlink的消息
2022-05-15T03:24:00Z
2022-05-15T03:24:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】转载自:https://blog.csdn.net/luckyapple1028/article/details/51232582#t6 代码路径:https://github.com/luckyapple1028/demo-genetlink 前一篇博文中分析了Generic Netlink的消息 <a href="https://www.cnblogs.com/ssyfj/p/16271885.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/16255485.html
Generic Netlink内核实现分析(一):原理解析 - 山上有风景
一:Generic Netlink介绍 Generic Netlink 是内核专门为了扩展netlink协议簇而设计的“通用netlink协议簇”。 由于netlink协议最多支持32个协议簇,目前Linux4.1的内核中已经使用其中21个,对于用户需要定制特殊的协议类型略显不够,而且用户还需自行在
2022-05-10T14:11:00Z
2022-05-10T14:11:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】一:Generic Netlink介绍 Generic Netlink 是内核专门为了扩展netlink协议簇而设计的“通用netlink协议簇”。 由于netlink协议最多支持32个协议簇,目前Linux4.1的内核中已经使用其中21个,对于用户需要定制特殊的协议类型略显不够,而且用户还需自行在 <a href="https://www.cnblogs.com/ssyfj/p/16255485.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/16251248.html
Netlink 内核实现分析(二):通信详解 - 山上有风景
一:netlink通信数据结构 (一)netlink消息报头:struct nlmsghdr struct nlmsghdr { __u32 nlmsg_len; /* Length of message including header */ __u16 nlmsg_type; /* Messag
2022-05-09T14:14:00Z
2022-05-09T14:14:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】一:netlink通信数据结构 (一)netlink消息报头:struct nlmsghdr struct nlmsghdr { __u32 nlmsg_len; /* Length of message including header */ __u16 nlmsg_type; /* Messag <a href="https://www.cnblogs.com/ssyfj/p/16251248.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/16230540.html
Netlink 内核实现分析(一):原理解析 - 山上有风景
转载自:Netlink 内核实现分析(一):创建 一:Netlink基础概念 Netlink 是一种IPC(Inter Process Commumicate)机制,它是一种用于内核与用户空间通信的机制,同时它也以用于进程间通信(Netlink 更多用于内核通信,进程之间通信更多使用Unix域套接字
2022-05-08T08:38:00Z
2022-05-08T08:38:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】转载自:Netlink 内核实现分析(一):创建 一:Netlink基础概念 Netlink 是一种IPC(Inter Process Commumicate)机制,它是一种用于内核与用户空间通信的机制,同时它也以用于进程间通信(Netlink 更多用于内核通信,进程之间通信更多使用Unix域套接字 <a href="https://www.cnblogs.com/ssyfj/p/16230540.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/14964148.html
SDN功能实现(五)---修改Ryu源码实现自定义openflow基本字段(延迟更新) - 山上有风景
回顾:struct 类型表 FormatC TypePython typeStandard sizeNotes x pad byte no value c char string of length 1 1 b signed char integer 1 (3) B unsigned char in
2022-05-04T14:43:00Z
2022-05-04T14:43:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】回顾:struct 类型表 FormatC TypePython typeStandard sizeNotes x pad byte no value c char string of length 1 1 b signed char integer 1 (3) B unsigned char in <a href="https://www.cnblogs.com/ssyfj/p/14964148.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/14766178.html
SDN功能实现(五)---修改OVS源码实现自定义openflow基本字段(延迟更新) - 山上有风景
文章推荐:(提前了解背景) Open vSwitch源码阅读笔记 SDNLAB技术分享(六):Open vSwitch匹配处理流程和拓展性 ovs流表 OpenvSwitch 流表转换 上面文章不需要全部看懂,了解即可!! 一:功能目的和扩展字段含义 (一)功能目的:实现openflow字段的延迟更
2022-05-04T14:42:00Z
2022-05-04T14:42:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】文章推荐:(提前了解背景) Open vSwitch源码阅读笔记 SDNLAB技术分享(六):Open vSwitch匹配处理流程和拓展性 ovs流表 OpenvSwitch 流表转换 上面文章不需要全部看懂,了解即可!! 一:功能目的和扩展字段含义 (一)功能目的:实现openflow字段的延迟更 <a href="https://www.cnblogs.com/ssyfj/p/14766178.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/13620781.html
SDN功能实现(四)--- 实现自定义action(1)修改OVS源码<队列去重(内核态实现)> - 山上有风景
实现功能:设计一个新的action,实现在冗余链路中的数据包去重 一:在内核级定义OVS action (一)在datapath/linux/compat/include/linux/openvswitch.h中添加: enum ovs_action_attr { /* ... */ /* * af
2022-05-04T14:41:00Z
2022-05-04T14:41:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】实现功能:设计一个新的action,实现在冗余链路中的数据包去重 一:在内核级定义OVS action (一)在datapath/linux/compat/include/linux/openvswitch.h中添加: enum ovs_action_attr { /* ... */ /* * af <a href="https://www.cnblogs.com/ssyfj/p/13620781.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/13622342.html
SDN功能测试(四)--- 实现自定义action(2)修改OVS源码<队列去重(内核态实现)> - 山上有风景
一:拓扑搭建 (一)代码实现 from mininet.topo import Topo from mininet.net import Mininet from mininet.node import RemoteController from mininet.link import TCLink
2022-05-04T14:41:00Z
2022-05-04T14:41:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】一:拓扑搭建 (一)代码实现 from mininet.topo import Topo from mininet.net import Mininet from mininet.node import RemoteController from mininet.link import TCLink <a href="https://www.cnblogs.com/ssyfj/p/13622342.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/15756169.html
linux内核学习---Linux内核更新(2) - 山上有风景
一:场景 openvswitch不同版本编译,可能对linux内核的要求不同,不一致的版本可能导致各种错误,比如:宏定义错误,结构体成员、回调函数缺失... 比如在VM下使用的Ubuntu 16.04.1 LTS系统,默认为下面的4.4.0版本内核。 注意:本文所有图片均是在成功后截图,所以其中的部
2022-01-01T13:27:00Z
2022-01-01T13:27:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】一:场景 openvswitch不同版本编译,可能对linux内核的要求不同,不一致的版本可能导致各种错误,比如:宏定义错误,结构体成员、回调函数缺失... 比如在VM下使用的Ubuntu 16.04.1 LTS系统,默认为下面的4.4.0版本内核。 注意:本文所有图片均是在成功后截图,所以其中的部 <a href="https://www.cnblogs.com/ssyfj/p/15756169.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/15390323.html
Netlink 内核实现分析(三):通信实现 - 山上有风景
参考自: http://blog.chinaunix.net/uid-28541347-id-5578403.html https://blog.csdn.net/jasenwan88/article/details/7365060 https://www.cnblogs.com/oracleloy
2021-10-12T15:05:00Z
2021-10-12T15:05:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】参考自: http://blog.chinaunix.net/uid-28541347-id-5578403.html https://blog.csdn.net/jasenwan88/article/details/7365060 https://www.cnblogs.com/oracleloy <a href="https://www.cnblogs.com/ssyfj/p/15390323.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/15347423.html
视频编解码系列(一)压缩编码基础常识 - 山上有风景
一:视频为什么可以被压缩 视频信息之所以存在大量可以被压缩的空间,是因为其中本身就存在大量的数据冗余。 其主要类型有以下四种: 时间冗余:视频相邻的两帧之间内容相似,或者帧直接存在运动关系 空间冗余:视频的某一帧内部的相邻像素存在相似性,或者变化的相关性 编码冗余:视频中不同数据出现的概率不同(所以
2021-09-28T05:49:00Z
2021-09-28T05:49:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】一:视频为什么可以被压缩 视频信息之所以存在大量可以被压缩的空间,是因为其中本身就存在大量的数据冗余。 其主要类型有以下四种: 时间冗余:视频相邻的两帧之间内容相似,或者帧直接存在运动关系 空间冗余:视频的某一帧内部的相邻像素存在相似性,或者变化的相关性 编码冗余:视频中不同数据出现的概率不同(所以 <a href="https://www.cnblogs.com/ssyfj/p/15347423.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/14860147.html
P2P学习(四)P2P编程实现 - 山上有风景
一:协议解析 (一)协议格式设计 (二)字段说明 Version(1Byte):版本信息,这里默认0即可 Status(1Byte):协议的状态信息 #define PROTO_LOGIN_REQ 0x01 //登录服务器的请求与响应 #define PROTO_LOGIN_ACK 0x81 #de
2021-06-09T02:40:00Z
2021-06-09T02:40:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】一:协议解析 (一)协议格式设计 (二)字段说明 Version(1Byte):版本信息,这里默认0即可 Status(1Byte):协议的状态信息 #define PROTO_LOGIN_REQ 0x01 //登录服务器的请求与响应 #define PROTO_LOGIN_ACK 0x81 #de <a href="https://www.cnblogs.com/ssyfj/p/14860147.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/14855454.html
WebRTC进阶流媒体服务器开发(六)Mediasoup源码分析之Mediasoup主业务流程 - 山上有风景
一:主业务的创建 主要场景是对房间的管理,多方进行音视频互动。 Router代表房间,Transport代表一个传输,每个用户加入房间都会创建一个对应的连接。 Producer生产者,共享的音视频流中,每个音频、视频流都会产生一个生产者 Consumer消费者,对于每个加入房间的用户,都可以消费其他
2021-06-06T07:51:00Z
2021-06-06T07:51:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】一:主业务的创建 主要场景是对房间的管理,多方进行音视频互动。 Router代表房间,Transport代表一个传输,每个用户加入房间都会创建一个对应的连接。 Producer生产者,共享的音视频流中,每个音频、视频流都会产生一个生产者 Consumer消费者,对于每个加入房间的用户,都可以消费其他 <a href="https://www.cnblogs.com/ssyfj/p/14855454.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/14851442.html
WebRTC进阶流媒体服务器开发(五)Mediasoup源码分析之Mediasoup启动过程 - 山上有风景
补充:JS部分和C++代码见 WebRTC进阶流媒体服务器开发(三)Mediasoup源码分析之应用层(代码组成、Server.js、Room.js) mediasoup C++:C++部分,用于处理流媒体传输,包括lib与worker两部分 >lib:一些js文件组成,主要用于对mediasoup
2021-06-04T13:57:00Z
2021-06-04T13:57:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】补充:JS部分和C++代码见 WebRTC进阶流媒体服务器开发(三)Mediasoup源码分析之应用层(代码组成、Server.js、Room.js) mediasoup C++:C++部分,用于处理流媒体传输,包括lib与worker两部分 >lib:一些js文件组成,主要用于对mediasoup <a href="https://www.cnblogs.com/ssyfj/p/14851442.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/ssyfj/p/14850041.html
WebRTC进阶流媒体服务器开发(四)Mediasoup源码分析之底层库 - 山上有风景
一:Mediasoup库的JS部分(与C++交互) 整个Mediasoup库通过Nodejs管理,比如整体逻辑、worker、router、producer、consumer...都是通过JS进行管理的。 其底层的数据传输是通过C++部分进行控制的,通过NodeJs来控制C++部分,以实现整体的数据
2021-06-04T12:47:00Z
2021-06-04T12:47:00Z
山上有风景
https://www.cnblogs.com/ssyfj/
【摘要】一:Mediasoup库的JS部分(与C++交互) 整个Mediasoup库通过Nodejs管理,比如整体逻辑、worker、router、producer、consumer...都是通过JS进行管理的。 其底层的数据传输是通过C++部分进行控制的,通过NodeJs来控制C++部分,以实现整体的数据 <a href="https://www.cnblogs.com/ssyfj/p/14850041.html" target="_blank">阅读全文</a>