精华内容
下载资源
问答
  • 交换机源代码

    2014-06-24 14:13:49
    这个文件为交换机源代码,很有借鉴和参考意义,代码结构很优秀。
  • 挪威人写的实时操作系统内核以及交换机源代码
  • TCP/IP 协议栈用C++实现,仅实现最基本功能,很简单 交换机用verilog语言实现,含有最小值比较电路和调度算法。利用PLI实现C++和Verilog的联合仿真。<数字系统设计课程作业><原创>
  • 建筑 OpenWrt组件 cd openwrt cp config-arm-mrvl-4.4 .config make oldconfig make -j1 BOARD=arm-mrvl-4.4 OPENWRT_EXTRA_BOARD_SUFFIX=_mrvl_4.4 核心 下面的示例使用OpenWrt交叉编译环境。 如果您已经安装了手臂...
  • 建筑 OpenWrt组件 cd openwrt cp config-elemental-3.18 .config make oldconfig make -j1 BOARD=elemental-3.18 OPENWRT_EXTRA_BOARD_SUFFIX=_3.18 核心 如果要完全按照出厂的方式重建Meraki内核,请使用分支meraki...
  • 2247-N8使用的开放源代码软件包的源代码内容,这是具有wifi 802.11a / b / g / n和4端口以太网交换机的DSL网关CPE。
  • 建筑 OpenWrt组件 cd openwrt cp config-elemental-3.18 .config make oldconfig make -j1 BOARD=elemental-3.18 OPENWRT_EXTRA_BOARD_SUFFIX=_3.18 核心 如果要完全按照出厂的方式重建Meraki内核,请使用分支meraki...
  • haming_bot:Hummingbot是由CoinAlpha构建的免费开放源代码交易机器人。 您也可以使用Hummingbot做市,甚至进行交叉交易套利。 您可以将Hummingbot连接到多个交换机
  • ospf 路由协议源代码

    热门讨论 2010-07-05 20:15:49
    OSPF 路由协议的源代码,基于vxworks操作系统,用于三层交换机及路由器开发
  • 交换机引导 解释 这是NVIDIA从私人档案中泄露的Nintendo Switch控制台bootrom的源代码。 t210文件夹是所有v1 / Erista单元的bootrom源代码。 t214文件夹是所有v2 / Mariko装置的bootrom源代码
  • NVG595使用的开放源代码软件包的源代码内容,这是具有SPF,ONT,4端口以太网交换机,802.11 a / b / g / n无线和2个VoIP接口的住宅网关CPE。
  • ENS-3060使用的开放源代码软件包的源代码内容,这是一种远程管理的多端口以太网节点交换机,可通过基于光纤的以太网络提供高级的语音,视频和数据业务服务。
  • 源代码可用于优化SDN控制器在广域网中的放置。 所使用的算法是经典的“无监督”机器学习算法,即“剪影”和“间隙统计”来确定要部署的最佳控制器数量,而PAM则是要找到放置控制器的最佳位置。无监督算法是从没有...
  • Erlang程序设计 源代码

    2011-06-09 14:24:54
     Erlang开源语言系出名门,通信巨头爱立信公司用它开发出了可靠性惊人的交换机系统AXD301。它天生就是面向并发、分布和高容错的,兼有函数式语言和脚本语言的各种优点,而且已经用于商业开发多年,具有稳定性极高的...
  • 交换机工作原理

    2020-05-31 15:13:31
    2)学习mac 3)转发目标MAC 4)没有MAC的广播泛洪 一、MAC地址 首先,回顾数据链路层的功能如下: 数据链路的建立、维护与拆除; 帧包装、帧传输、帧同步; 帧的差错恢复; 流量控制。 MAC地址是基于数据链路层...

    交换机基本原理简述

    1)交换机工作原理

    2)学习源mac

    3)转发目标MAC

    4)没有MAC的广播泛洪

    一、MAC地址

    首先,回顾数据链路层的功能如下:
    数据链路的建立、维护与拆除;
    帧包装、帧传输、帧同步;
    帧的差错恢复;
    流量控制。
    MAC地址是基于数据链路层(一般我们说二层),是一个物理地址,由48位二进制数表示前24位是供应厂商地址块代码,后24位是对网卡的唯一标识符,一般以6组(12位)16进制数表示。MAC地址的存在是为了对目标标识,实现互联通信。

    MAC地址格式

    MAC地址有48位,也就是48个二进制,6个字节

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mvNdDMQI-1590909176539)(http://lipengfeiaimiao.oss-cn-hangzhou.aliyuncs.com/img/20200531/144752730.png)]

    以太网帧格式
    如下图所示,核心是目的地址,源地址以及类型。

    mark

    目的地址可以理解为目标的MAC地址;源地址可以理解为发送方的MAC地址;类型用于标识上层协议的类型,如0800H标识IP协议。

    二、交换机基本原理

    交换机的目的就是实现本地通信,我通过一个例子来说明这个过程:
    刚刚接触网络(什么也不会)——交换机初始状态;
    开始学习,听老师讲课(知道老师的名字,学到知识)——交换机MAC地址学习过程(记录信息和端口),从而生成MAC地址表;
    老师检验你是否学会了,让你讲给全部的人听(上台发言讲解知识点)——广播未知数据帧(泛洪);
    明白的人给出回馈,不懂的人自动过滤——接收方回应信息和丢弃信息;
    然后老师和明白的人下课后一起继续探讨交流——交换机单播通信;
    其实第三个过程应该是将老师的信息也给全部人讲,因为老师信息和知识(真正的数据(其实也不能这么说,还有其他头部信息))组合起来才是这个帧数据。

    mark

    简单的来讲,就是计算机A将自己的源MAC地址和打算要通讯的B计算机的目标MAC地址打包成数据帧发送给交换机,交换机首先记住A计算机的源地址与A端接口,其次它向其它设备(除去A计算机)发送广播。此时,B计算机会给出回应,它将自己的源MAC地址和打算要通讯的A计算机的目标MAC地址打包成数据帧发送给交换机。交换机首先会记住B计算机的源地址与B端接口,由于之前已经记住了A计算机的MAC地址,所以交换机通过单播方式将数据传送给A计算机。

    三、交换机接口的双工模式

    单工:单一方向上的数据传输;

    半双工:双向数据传输,但不能同时进行;

    机接口的双工模式

    单工:单一方向上的数据传输;

    半双工:双向数据传输,但不能同时进行;

    全双工:双向数据传输,允许同步。

    展开全文
  • acl-nat实验、IPSec实验、PPTP 实验、防火墙实验、交换机安全实验……等等,纯原创,希望对大家有用
  • 流数据的正则表达式库是一个在数据流中进行正则匹配和搜索的工具,支持多模式匹配,通常运用在自动人机交互、网络通讯、大文本搜索等需要对流数据进行处理的应用中,如交换机自动操作程序、终端的命令自动执行,适用...
  • openVswitch(OVS)源代码分析之简介

    万次阅读 多人点赞 2014-09-09 23:39:52
    云计算是个全世界的话题,所以也有全世界的能人异士来为实现这个云计算而奋斗... openVswitch,根据其名就可以知道这是一个开放的虚拟交换机(open virtual switch);它是实现网络虚拟化SDN的基础,它是在开源的Apache

            云计算是现在IT行业比较流行的,但真正什么是云计算业界也没有个什么统一的定义(很多公司都是根据自己的利益狭隘的定义云计算),更别说什么标准规范了。所以现在就有很多人说云计算只不过是个幌子,是个嘘头,没点实用的,嘴上说说而已,虽然我也不太清楚什么叫做云计算,云计算的定义究竟是什么,但我根据我公司现在做的云计算产品来说,对于云计算服务还是懂些的。我觉得那并不是什么幌子、嘘头,但如果说这云计算技术还不太成熟,我倒还勉强认可的。若把云计算比作一个人的话,我个人觉得现在它正是二十岁的样子,到三十多岁就算是比较成熟了,所以大概就能想象的到云计算现在的境况了。下面就来简介下实现云计算的一些技术,我对云计算并没有什么研究,也没能达到从全局的角度来分析云计算技术,更别说从一些更高的位置来分析问题,我所能介绍的仅仅是我一个小程序员在工作中所遇到的一些和云计算有关的技术,日积月累,希望终有一天能成为云计算“砖家”。

            云计算是个全世界的话题,所以也有全世界的能人异士来为实现这个云计算而奋斗。我现阶段遇到的有关云计算的技术就是openVswitch、openStack技术和docker技术。那就先从openVswitch开始介绍起,我会用一系列blog来分析openVswitch的相关数据结构和工作流程,以及各个重要模块的分析。所有的介绍都是基于源码的分析,希望对初学着有点用。

            openVswitch,根据其名就可以知道这是一个开放的虚拟交换机(open virtual switch);它是实现网络虚拟化SDN的基础,它是在开源的Apache2.0许可下的产品级质量的多层虚拟交换标准。设计这个openVswitch的目的是为了解决物理交换机存在的一些局限性:openVswitch较物理交换机而言有着更低的成本和更高的工作效率;一个虚拟交换机可以有几十个端口来连接虚拟机,而openVswitch本身占用的资源也非常小;可以根据自己的选择灵活的配置,可以对数据包进行接收分析处理;同时还支持标准的管理接口和协议,如NetFlow, sFlow, SPAN, RSPAN等。

            Open vSwtich模块介绍
            当前最新代码包主要包括以下模块和特性:
            ovs-vswitchd 主要模块,实现switch的daemon,包括一个支持流交换的Linux内核模块;
            ovsdb-server 轻量级数据库服务器,提供ovs-vswitchd获取配置信息;
            ovs-brcompatd 让ovs-vswitch替换Linux bridge,包括获取bridge ioctls的Linux内核模块;
            ovs-dpctl 用来配置switch内核模块;
            一些Scripts and specs 辅助OVS安装在Citrix XenServer上,作为默认switch;
            ovs-vsctl 查询和更新ovs-vswitchd的配置;
            ovs-appctl 发送命令消息,运行相关daemon;
            ovsdbmonitor GUI工具,可以远程获取OVS数据库和OpenFlow的流表。
            ovs-openflowd:一个简单的OpenFlow交换机;
            ovs-controller:一个简单的OpenFlow控制器;
            ovs-ofctl 查询和控制OpenFlow交换机和控制器;
            ovs-pki :OpenFlow交换机创建和管理公钥框架;
            ovs-tcpundump:tcpdump的补丁,解析OpenFlow的消息;

            上面是网上提到的一些openVswitch的主要模块。其实openVswitch中最主要的还是datapath目录下的一些文件。有端口模块vport等,还有关键的逻辑处理模块datapath等,以及flow等流表模块,最后的还有action动作响应模块,通道模块等等。

            下面来介绍下其工作流程:

               

            一般的数据包在linux网络协议栈中的流向为黑色箭头流向:从网卡上接受到数据包后层层往上分析,最后离开内核态,把数据传送到用户态。当然也有些数据包只是在内核网络协议栈中操作,然后再从某个网卡发出去。

            但当其中有openVswitch时,数据包的流向就不一样了。首先是创建一个网桥:ovs-vsctl add-br br0;然后是绑定某个网卡:绑定网卡:ovs-vsctl add-port br0 eth0;这里默认为绑定了eth0网卡。数据包的流向是从网卡eth0上然后到openVswitch的端口vport上进入openVswitch中,然后根据key值进行流表的匹配。如果匹配成功,则根据流表中对应的action找到其对应的操作方法,完成相应的动作(这个动作有可能是把一个请求变成应答,也有可能是直接丢弃,也可以自己设计自己的action);如果匹配不成功,则执行默认的动作,有可能是放回内核网络协议栈中去处理(在创建网桥时就会相应的创建一个端口连接内核协议栈的)。

            其大概工作流程就是这样了,在工作中一般在这几个地方来修改内核代码以达到自己的目的:第一个是在datapath.c中的ovs_dp_process_received_packet(struct vport *p, struct sk_buff *skb)函数内添加相应的代码来达到自己的目的,因为对于每个数据包来说这个函数都是必经之地;第二个就是自己去设计自己的流表了;第三个和第二个是相关联的,就是根据流表来设计自己的action,完成自己想要的功能。

           转载请注明原文出处,原文地址为:http://blog.csdn.net/yuzhihui_no1/article/details/39161515 

                                                                                                                                                                               若有不正确之处,望指正!谢谢!!      



    展开全文
  • netfpga switch

    2014-05-25 14:40:39
    基于开源平台netfpga实现的交换机源代码,可供学习实验使用
  • 程控交换机计费系统(源代码)程控交换机计费系统(源代码)1
  • 利用c++写了个通过telnet方式登录至cisco 3550保存交换机配置的程序。 源代码可点击telnet_expect下载。

    利用c++写了个通过telnet方式登录至cisco 3550保存交换机配置的程序。

    源代码可点击https://github.com/yangboduan/telnet_expect下载。

    展开全文
  • Asterisk[1] 是一个开放源代码的软件VoIP PBX系统,它是一个运行在Linux环境下的纯软件实施方案。Asterisk是一种功能非常齐全的应用程序,提供了许多电信功能,能够把你的x86机 器变成你自己的交换机,还能够当作...
    Asterisk[1]  是一个开放源代码的软件VoIP PBX系统,它是一个运行在Linux环境下的纯软件实施方案。Asterisk是一种功能非常齐全的应用程序,提供了许多电信功能,能够把你的x86机 器变成你自己的交换机,还能够当作一台企业级的商用交换机。
    Asterisk让人激动的事情是它在小企业预算可承受的范围内提供了商业交换机的功能和可伸 缩性。你可以使用一台老式的奔腾3计算机,让你的机构看起来就同世界上的大企业一样。
    Asterisk[1]  能够支持传统的线路,包括:TDM (Time Division Multiplexing)T1/ E1 PRI/ PRA & RBS (Robbed Bit Signal)modesAnalog phone lines/ phones (POTS)ISDN (Integrated Services Digital Network)Both BRI (Basic Rate)and PRI (Primary Rate)Asterisk 支持的协议包括:Session Initiation Protocol (SIP)H. 323 (ITU standard, contributed support)Inter- Asterisk eXchange (IAX)Media Gateway Control Protocol (MGCP)

    版本

    主要版本:
    • 1.0 - 2004/09/23 释出[2] 
    • 1.2 - 2005/11/15 释出[3] 

    核心应用

    Asterisk 作为程控交换机PBX
    Asterisk 可以被配置为一个 IP 或混合的 PBX 的核心:交换呼叫、管理路由、使能特性,以及通过 IP、模拟线路(POTS)、以及数字(T1/E1)的联系同外部呼叫链接在一起。
    Asterisk 运行于众多的操作系统之上,诸如 Linux、Mac OS X、OpenBSD、FreeBSD 和 Sun Solaris。提供了一个 PBX 所能提供的所有功能甚至包括那些高级 PBX (也是昂贵的)的功能。
    Asterisk 的构架是基于如下他点来设计:最大程度的灵活性、支持众多的 VoIP 协议、使用廉价的硬件便可融合到几乎所有的电话设备等。
    Asterisk 作为网关 Gateway
    也可以被构建为一个媒介网关的中心,充当将传统的 PSTN 桥接到蓬勃发展的 IP 电话世界。Asterisk 的模块式的构、架构件使得媒介解码和一个宽范的通信协议可以转换。Asterik 担负一个:功能/媒介服务器。
    还需一个 IVR?Asterisk 已经为你准备到位。会议桥接呢?是的,也有。自动话务台呢?Asterisk 也准备到位。那么可以更换年久失修的电话系统吗?当然可以。统一消息转发?也没问题。网页配置一个电话接口?没问题。
    Asterisk 用于呼叫中心
    Asterisk 在全球范围范围内被呼叫中心采纳是基于其灵活性。呼叫中心和联系中心的开发者基于 Asterisk 构建了整套 ACD 系统。它也同时给现有的呼叫中心注入新鲜血液诸如:远程 IP 代理人功能、基于能力的高级路由、预测和海量呼叫等等。
    Asterisk用于公共网络
    互联网电话服务提供商(ITPS),区域电信业者(CLECS)以及甚至包括一线在职业者意识到使用 Asterisk 的开源通信的力量。基于 Asterisk 构建了功能服务器(Feature servers)、托管服务簇(hosted services clusters)、语音信箱系统(voicemail systems)、预付费呼叫解决方案(pre-paid calling solutions)等,这一切大大的降低费用并展现强大的灵活性。
    Asterisk 随处可见
    Asterisk 已经成为成千上万的通信解决方案的基石。想要通信,Asterisk 便是答案。
    支持的平台 - Supported platforms
    Asterisk&reg; 源于 x/86 的 GNU/Linux 因而可被运行于 GNU/Linux for PPC 一类系统上诸如:OpenBSD、 FreeBSD、 和 Mac OS X。其它的平台和标准的 UNIX 类的操作系统理应不会太难地能够被时间和技能充足人们移植上去。
    Asterisk&reg; 也有 Debian 稳定版。由 Debian VoIP Team 来维护。
    支持的硬件 - Supported hardware
    Asterisk&reg; 用于 VoIP 不需额外的硬件。基于互联数字和模拟电话设备, Asterisk&reg; 支持系列的硬件设备,这些硬件中的大多数由 Digium&reg;,它也是 Asterisk 发明者,制造的。
    支持的协议 - Supported protocols
    Asterisk&reg; 支持一个宽泛的用来处理在传统电话设备传输语音的协议,它包括 H.323、Session Initiation Protocol (SIP)、Media Gateway Control Protocol (MGCP)、and Skinny Client Control Protocol (SCCP)。
    使用 Inter-Asterisk eXchange (IAX™) VoIP 协议,Asterisk&reg; 无缝地将语音和数据在异类网络融合在一起。语音打包的使用使得 Asterisk&reg; 可以在语音链路上发送诸如 URL 信息和行间图像,使得信息能够高级集成。
    Asterisk&reg; 通过四个 APIs 提供一个中心交换核心,这些 API 包括:电话应用模块载入、硬件接口、文件形式处理、和解码。这使得所有被支持的接口之间能够透明地切换;使得五花八门的电话系统得以被集成成一个统一的交换系统。

    特点

    基于 Asterisk 的电话解决方案提供丰富和灵活的特性。Asterisk&reg; 提供传统的 PBX 基本功用和先进的特性,它将传统的标准电话系统和 VoIP 有机地结合在一起。

    用途

    Asterisk 如同使用拼装玩具或乐高套件来搭建通信应用。正因为如此它被称为“套件”或“开发平台”。Asterisk 包含所有的用于构建 PBX 系统、IVR 系统、可以说现实中的任何通信方案的构件。诸如如下:
    1、各类 VoIP 协议的驱动。
    2、各类 PSTN 接口卡和设备的驱动。
    3、呼入路由和策略。
    4、呼出生成和路由。
    5、媒介管理功能(录音、播放、彩铃生成,等等)。
    6、账号和账单的通话详单。
    7、媒介转换(从一种媒介转换成另一种)。
    8、协议转换(从一种协议转换成另一种)。
    9、用于存取关系式数据库的信息的数据库集成。
    10、使用标准互联网协议存取数据的网络服务集成。
    11、存取公司目录系统的 LDAP 集成。
    12、单方和多方呼叫桥接。
    13、呼叫记录和侦测功能。
    14、集成用于呼叫处理的 "Dialplan" 脚本语言。
    15、基于 Asterisk 网关接口(AGI - Asterisk Gateway Interface) 的处理外部呼叫管理的程序或脚本的编程。
    16、基于 Asterisk 管理接口(AMI - Asterisk Manager Interface )的时间提醒和 CTI 集成。
    17、第三方的各种语音和方言的语音合成(或者称“文本语音转换”)第三方的各种语音识别
    综合这些因素使得系统集成商或开发者能够快速生成一个语音使能系统。
    Asterisk 系统集成者小可建造 IP PBX,大可构架大型媒体运营系统。

    比较

    Asterisk具有硬件VOIP 的常用功能。
    Asterisk能够支持多媒体,具有可编程功能。
    Asterisk有友好的管理界面。
    Asterisk需要的带宽,一般为:32KB/ 线路。也就是说每支持一条线路,只需要增32KB 的带宽,但是需要网络质量良好。
    Asterisk可支持成千的 客户端。(需要板卡与带宽支持)

    变化趋势

    Asterisk开源项目经过十多年的发展,已经不再单独局限于IP-PBX的应用。实际上,按照,Digium在其asterisk论坛上给出的说法,Asterisk软件已经是一个平台,不仅可以用于IP-PBX的开发,也可以用于中继网关(TG),模拟电话适配器(ATA - Analog Telephone Adapter),甚至 IP Phone 产品的开发。 同时,Asterisk开源项目已经逐步发展称为一个 “统一通信” (UC)的解决方案。
    Asterisk开源项目应用的另一个变化是在嵌入式领域的发展。虽然最初Asterisk是基于X86主机加PCI扩展板卡运行的,一些基于MIPS或ARM的CPU也已经都可以运行Asterisk。其中比较著名的有OpenWRT,在OpenWRT的最新版本中已经包含了对Asterisk 1.6/1.8 版本的支持,简单的编译后既可在MIPS或ARM的硬件平台上运行(参考Asterisk On MIPS论坛)。

    展开全文
  • 用户可以在GitHub中下载所有源代码,该源代码基于Apache 2.0 许可。SDN是一种新的网络趋势,而OpenFlow是关键技术之一。通过开放标准去实现SDN可以提高灵活性,降低研发成本。完整的开源版本包括芯片SDK和适配层,...
  • DFT的matlab源代码泽塔 Zeta是一个分布式平台,用于开发和部署复杂,弹性和高可用性的多租户网络服务。 通过将现有的硬件网关功能迁移到Zeta,云提供商可以将网络服务扩展,维护,配置和故障域与数据中心网络脱钩。 ...
  • 聚焦源代码安全,网罗国内外最新资讯!编译:奇安信代码卫士团队思科警告称,运行其NX-OS软件的Nexus交换机客户应安装更新解决一个严重缺陷。它可导致远程攻击者绕过网络访问控制...
  • LINC-OpenFlow软件开关 ...首先要从源代码构建Erlang,您必须安装一些必需的系统软件包。 在Ubuntu上: # apt-get install gcc wget make autoconf openssl libssl0.9.8 libssl-dev libncurses5 libncurses5-de
  • 大公司与开放(代码)

    千次阅读 2006-09-13 01:16:00
    大公司与开放 英国《金融时报》记者兰•利姆巴赫 (Lan Limbach) 报道 2005年11月16日 星期三 在今后几年里,基于开放软件基础上的IP电话需求量将使其交易量超越...霍尔先生认为,增长主要是开放专用交换机(电
  • 聚焦源代码安全,网罗国内外最新资讯!作者:Lindsey O'Donnell编译:奇安信代码卫士团队思科Systems警告称,超过六款精睿系列交换机受一个高危漏洞影响,可导...
  • 二、交换机的简要工作原理:1、成表(查看MAC)2、查表(查看目标MAC)更具体地表述为:1、首先查看数据包的“目标 MAC 地址”。2、将目标 MAC 地址与“MAC地址表”中的条目进行匹配; 若成功,则从对应的端口转发...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 146
精华内容 58
关键字:

交换机源代码