eth

以太坊本地多节点集群环境搭建

匿名 (未验证) 提交于 2019-12-03 00:30:01
确保本地以安装好go-ethernum环境 未安装参考: 以太坊私有链入门最新教程(6.6更新) https://blog.csdn.net/wxb880114/article/details/79202378 genesis配置文件 { "config" : { "chainId" : 15 , "homesteadBlock" : 0 , "eip155Block" : 0 , "eip158Block" : 0 }, "coinbase" : "0x0000000000000000000000000000000000000000" , "difficulty" : "0x40000" , "extraData" : "" , "gasLimit" : "0xffffffff" , "nonce" : "0x0000000000000042" , "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000" , "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000" , "timestamp" : "0x00" , "alloc" : { } } 初始化两个节点

SEC official: BTC and ETH are not securities

匿名 (未验证) 提交于 2019-12-03 00:27:02
William Hinman, an official with the US Securities and Exchange Commission (SEC) responsible for formulating the cryptocurrency policy, said that BTC and ETH are not securities, but many (but not all) ICOs are securities that will be subject to SEC and related securities laws. Hinman said that the main factors determining whether cryptocurrencies and ICOs are securities are: 1. Whether the third party expects a return, especially if a person or group of people sponsored the creation and sale of this asset and played an important role in the development and maintenance. 2. For those who

Nmap IP分片发送学习

匿名 (未验证) 提交于 2019-12-03 00:25:02
Netutil.cc IP分片并发送函数解析 1、mtu是通信协议某一层上面所能通过的最大数据大小 2、分片过程: 将IP数据部分划分为fragment片,每片大小mtu,最后一片大小datalen % mtu(因为可能不足mtu) 划分好的每片长度fdatalen 3、ip包头中需要填充的字节: 需要填充的ip_off是相对数据部分的偏移,因此偏移字节为fragment - 1) * mtu ,又由于ip_off是以8字节为单位 发送函数 上面分割好的ip分片fpacket被拷贝到eth_frame + 14的位置 memcpy(eth_frame + 14, packet, packetlen); 之后发送出去 /* Send an IP packet over an ethernet handle. */ int send_ip_packet_eth(const struct eth_nfo *eth, const u8 *packet, unsigned int packetlen) { eth_t *ethsd; u8 *eth_frame; int res; eth_frame = (u8 *) safe_malloc(14 + packetlen); memcpy(eth_frame + 14, packet, packetlen); eth_pack_hdr(eth

华为stp rstp mstp配置

匿名 (未验证) 提交于 2019-12-03 00:09:02
1、实验拓扑 2、stp配置 SW1 vlan10 定义vlan vlan20 interface Eth-Trunk1 配置链路聚合 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 10 20 mode lacp-static max active-linknumber 1 interface GigabitEthernet0/0/1 接口加入逻辑聚合口 eth-trunk 1 interface GigabitEthernet0/0/2 eth-trunk 1 stp mode stp 开启stp stp instance 0 root primary SW1为生成树的根节点(选择根节点一般选择性能较强的交换机) SW2 vlan10 定义vlan vlan20 interface Eth-Trunk1 配置链路聚合 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 10 20 mode lacp-static max active-linknumber 1 interface GigabitEthernet0/0/1 接口加入逻辑聚合口 eth

华为网络设备的基本配置

匿名 (未验证) 提交于 2019-12-02 23:52:01
华为综合的网络拓扑实验,结合华为路由器、交换机的一些基本配置和华为设备的链路聚合概述 #什么是链路聚合? 链路聚合是将多条物理链路捆绑为一条逻辑链路; 增强传输数据带宽和吞吐量; 链路聚合成员故障自动切换其他链路转发数据; 链路聚合将流量分散到不同成员链路进行转发数据,降低拥塞; #链路聚合的作用是什么? 加快传输速度,提供网络负载均衡; 华为设备的链路聚合相当于思科网络设备的以太网通道; #链路聚合的模式? 1)手工模式 简称手工负载分担模式; 手动模式所有的链路聚合所有端口都参与转发数据和分担流量; 参与链路状态聚合的端口管理员手动添加; 手动模式链路状态聚合不会发送LACP链路状态聚合协议,只能手工负载分担; 支持居于源目标MAC和IP地址的负载均衡; 2)静态LACP模式 运行链路状态聚合的设备都会发送LACP协议进行协商链路聚合参数; 运行LACP协商选举活动端口和非活动端口; 静态LACP模式也被称为M:N模式; M表示活动成员链路,N表示非活动链路冗余备份流量; 活动成员链路故障自动切换到优先级高的非活动链路转发数据; 3)手工模式和静态LACP模式的区别 手工负载模式中所有端口都属于转发状态; 静态LACP模式一部分端口为转发状态,一部分为备份状态; #负载均衡的模式? dst-ip(目的IP地址)模式:根据目标IP地址进行负载负担; dst-mac(目的MAC地址

DPDK PCIe 与 包处理

匿名 (未验证) 提交于 2019-12-02 23:45:01
参考文献:  《深入浅出DPDK》   linux 阅马场 公众号 .............................................................................................................. 一. PCIe 介绍(参考 linux 阅马场文章) 首 先我们来看一下在x86系统中,PCIe是什么样的一个体系架构。下图是一个PCIe的拓扑结构示例,PCIe协议支持256个Bus, 每条Bus最多支持32个Device,每个Device最多支持8个Function,所以由BDF(Bus,device,function)构成了 每个PCIe设备节点的身份证号。 PCIe 体系架构一般由root complex,switch,endpoint等类型的PCIe设备组成,在root complex和switch中通常会有一些embeded endpoint(这种设备对外不出PCIe接口)。这么多的设备,CPU启动后要怎么去找到并认出它们呢? Host对PCIe设备扫描是采用了深度优先算法,其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。我们一般称 这个过程为PCIe设备枚举。枚举过程中host通过配置读事物包来获取下游设备的信息

SDN实验---Ryu的应用开发(四)基于跳数的最短路径转发原理

ぃ、小莉子 提交于 2019-12-02 22:14:01
一:实现最短跳数转发 (一)原理 推文: 迪杰斯特拉算法 和 弗洛伊德算法 二:代码实现 (一)全部代码 from ryu.base import app_manager from ryu.controller.handler import set_ev_cls from ryu.controller import ofp_event from ryu.controller.handler import MAIN_DISPATCHER,CONFIG_DISPATCHER from ryu.lib.packet import packet,ethernet from ryu.topology import event from ryu.topology.api import get_switch,get_link from ryu.ofproto import ofproto_v1_3 import networkx as nx class MyShortestForwarding(app_manager.RyuApp): ''' class to achive shortest path to forward, based on minimum hop count ''' OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION] def __init__

SDN实验---Ryu的应用开发(三)流量监控

妖精的绣舞 提交于 2019-12-02 22:09:05
一:实现流量监控 (一)流量监控原理 其中控制器向交换机周期下发获取统计消息,请求交换机消息------是主动下发过程 流速公式:是(t1时刻的流量-t0时刻的流量)/(t1-t0) 剩余带宽公式:链路总带宽-流速--------是这一个这一个,例如s2-s3(不是一条,例如:h1->s1->s2->s3->h2)的剩余带宽 路径有效带宽是只:这一整条路径中,按照最小的剩余带宽处理 二:代码实现 (一)代码框架 from ryu.app import simple_switch_13 from ryu.controller.handler import set_ev_cls from ryu.controller import ofp_event from ryu.controller.handler import MAIN_DISPATCHER,DEAD_DISPATCHER class MyMonitor(simple_switch_13): #simple_switch_13 is same as the last experiment which named self_learn_switch ''' design a class to achvie managing the quantity of flow ''' def __init__(self,*args,*

Linux Netfilter挂载钩子发送简单的UDP报文

匿名 (未验证) 提交于 2019-12-02 21:53:52
1、思路 分配空间--->填充udp、ip、ethernet报文头以及发送数据--->发送构造完成的报文 2、需要明白的接口 alloc_skb 分配skb空间 skb_reserve 在skb头部预留(将数据指针与skb尾指针后移) skb_push 向前移动数据头指针(skb_reserve为这个操作预留空间) skb_reset_transport_header 重置传输层报文头指针(存在偏移与不偏移两种方式) skb_set_transport_header 重置并设置传输层报文头指针 skb_reset_network_header 重置ip层报文头指针 skb_reset_mac_header 重置链路层报文头指针 3、udp发送报文接口实现 #define ICMP 1 #define ETH "eth0" #define S_PORT 9988 #define D_PORT 8899 u_long S_IP = 0xC0A8034D ; // "192.168.3.77" u_long D_IP = 0xC0A80305 ; // "192.168.3.5" unsigned char S_MAC[ETH_ALEN]={ 0x00 , 0x0c , 0x29 , 0x41 , 0x3e , 0x66 }; /* 本地mac地址 */ unsigned char D

入门-windows下安装ETH挖矿

落花浮王杯 提交于 2019-12-01 19:32:22
对刚入门的区块链开发者来说,刚开始可以在windows本地搭建私有链,便于操作,毕竟,要想真正挖到币还是有难度的,下面以ETH为例,在windows环境下安装并实现挖矿。 步骤一、安装geth环境。下载地址: https://geth.ethereum.org/downloads/ 选择对应操作系统的版本下载安装。下载完安装到对应本地目录,如:E\BlockChain\ETH\Geth 步骤二、配置初始化用的创世纪文件,命名genesis.json,放到geth的执行目录,内容格式参考如下: { "config": { "chainId": 10, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "alloc" : {}, "coinbase" : "0x0000000000000000000000000000000000000000", "difficulty" : "0x02000000", "extraData" : "", "gasLimit" : "0x2fefd8", "nonce" : "0x0000000000000042", "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",