sdn小结(一)_SDN的基本概念

sdn小结(一)_SDN的基本概念看了一周的sdn,写下一点总结和心得体会。1.sdn中不一定非得用openflow来作为南向协议,其他的南向接口协议还有很多,比如pcep,netconf,snmp,bgp-ls2.segmentrouting也需要一个集中的控制器,只要硬件条件支持,sr可以和sdn进行结合3.ECMP通过对流的数据包头部进行哈希取模运算,将数据流映射到不同的转发路径4.谷歌的B4采取的是i…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

看了一周的sdn,写下一点总结和心得体会。

1.sdn中不一定非得用openflow来作为南向协议,其他的南向接口协议还有很多,比如pcep,netconf,snmp,bgp-ls
这里写图片描述
2.segment routing也需要一个集中的控制器,只要硬件条件支持,sr可以和sdn进行结合
3.ECMP通过对流的数据包头部进行哈希取模运算,将数据流映射到不同的转发路径
4.谷歌的B4采取的是ip-in-ip的形式进行的
5.一些论文:
1)http://www.jos.org.cn/jos/ch/reader/create_pdf.aspx?file_no=16039&year_id=2016&quarter_id=S2&falg=1
2)http://www.jsjkx.com/jsjkx/ch/reader/create_pdf.aspx?file_no=20176A061&year_id=2017&quarter_id=6A&falg=1
3)http://www.jos.org.cn/josen/ch/reader/create_pdf.aspx?file_no=4935&year_id=2016&quarter_id=2&falg=1
4)https://patentimages.storage.proxy.ustclug.org/57/59/4a/b7a6cd6ab20796/CN107070792A.pdf
5)https://patentimages.storage.proxy.ustclug.org/9b/7f/50/d733c3bb64f443/CN104468352A.pdf
6.这里写图片描述
7.**Linux网络配置
Linux网络配置方法简介。**

配置IP地址

使用ipconfig

ifconfig eth0 192.168.1.3 netmask 255.255.255.0

使用用ip命令增加一个IP

ip addr add 192.168.1.4/24 dev eth0

使用ifconfig增加网卡别名

ifconfig eth0:0 192.168.1.10
这样配置的IP地址重启机器后会丢失,所以一般应该把网络配置写入文件中。如Ubuntu可以将网卡配置写入/etc/network/interfaces(Redhat和CentOS则需要写入/etc/sysconfig/network-scripts/ifcfg-eth0中):

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1

auto eth1
iface eth1 inet dhcp
配置默认路由

使用route命令

route add default gw 192.168.1.1

也可以使用ip命令

ip route add default via 192.168.1.1
配置VLAN

安装并加载内核模块

apt-get install vlan
modprobe 8021q

添加vlan

vconfig add eth0 100
ifconfig eth0.100 192.168.100.2 netmask 255.255.255.0

删除vlan

vconfig rem eth0.100
配置硬件选项

改变speed

ethtool -s eth0 speed 1000 duplex full

关闭GRO

ethtool -K eth0 gro off

开启网卡多队列

ethtool -L eth0 combined 4

开启vxlan offload

ethtool -K ens2f0 rx-checksum on
ethtool -K ens2f0 tx-udp_tnl-segmentation on

查询网卡统计

ethtool -S eth0

8.网桥(bridge)
网桥是一个二层设备,工作在链路层,主要是根据MAC学习来转发数据到不同的port。

创建网桥

brctl addbr br0

添加设备到网桥

brctl addif br0 eth1

查询网桥mac表

brctl showmacs br0
veth
veth pair是一对虚拟网络设备,一端发送的数据会由另外一端接受,常用于不同的网络命名空间。

创建veth pair

ip link add veth0 type veth peer name veth1

将veth1放入另一个netns

ip link set veth1 netns newns
TAP/TUN
TAP/TUN设备是一种让用户态程序向内核协议栈注入数据的设备,TAP等同于一个以太网设备,工作在二层;而TUN则是一个虚拟点对点设备,工作在三层。

ip tuntap add tap0 mode tap
ip tuntap add tun0 mode tun这里写代码片
10**.lvs**
Linux Virtual Server (lvs) 是Linux内核自带的负载均衡器,也是目前性能最好的软件负载均衡器之一。lvs包括ipvs内核模块和ipvsadm用户空间命令行工具两部分。

在lvs中,节点分为Director Server和Real Server两个角色,其中Director Server是负载均衡器所在节点,而Real Server则是后端服务节点。当用户的请求到达Director Server时,内核netfilter机制的PREROUTING链会将发往本地IP的包转发给INPUT链(也就是ipvs的工作链),在INPUT链上,ipvs根据用户定义的规则对数据包进行处理(如修改目的IP和端口等),并把新的包发送到POSTROUTING链,进而再转发给Real Server。
11.https://nginx.org/en/
https://mp.weixin.qq.com/s?__biz=MzA3OTgyMDcwNg%3D%3D&idx=1&mid=2650625837&sn=2b86df07eabba8ff2035583913a0ef41
12.scapy
scapy是一个强大的python网络数据包处理库,它可以生成或解码网络协议数据包,可以用来端口扫描、探测、网络测试等。

scapy安装
pip install scapy
简单使用
scapy提供了一个简单的交互式界面,直接运行scapy命令即可进入。当然,也可以在python交互式命令行中导入scapy包进入

from scapy.all import *
查看所有支持的协议和预制工具:
ls()
lsc()
构造IP数据包
pkt=IP(dst=”8.8.8.8”)
pkt.show()
print pkt.dst # 8.8.8.8
str(pkt) # hex string
hexdump(pkt) # hex dump
输出HEX格式的数据包
import binascii
from scapy.all import *
a=Ether(dst=”02:ac:10:ff:00:22”,src=”02:ac:10:ff:00:11”)/IP(dst=”172.16.255.22”,src=”172.16.255.11”, ttl=10)/ICMP()
print binascii.hexlify(str(a))
TCP/IP协议的四层模型都可以分别构造,并通过/连接
Ether()/IP()/TCP()
IP()/TCP()
IP()/TCP()/”GET / HTTP/1.0\r\n\r\n”
Ether()/IP()/IP()/UDP()
Ether()/IP(dst=”www.slashdot.org”)/TCP()/”GET /index.html HTTP/1.0 \n\n”
从PCAP文件读入数据
a = rdpcap(“test.cap”)
发送数据包

三层发送,不接收

send(IP(dst=”8.8.8.8”)/ICMP())

二层发送,不接收

sendp(Ether()/IP(dst=”8.8.8.8”,ttl=10)/ICMP())

三层发送并接收

二层可以用srp, srp1和srploop

result, unanswered = sr(IP(dst=”8.8.8.8”)/ICMP())

发送并只接收第一个包

sr1(IP(dst=”8.8.8.8”)/ICMP())

发送多个数据包

result=srloop(IP(dst=”8.8.8.8”)/ICMP(), inter=1, count=2)
嗅探数据包
sniff(filter=”icmp”, count=3, timeout=5, prn=lambda x:x.summary())
a=sniff(filter=”tcp and ( port 25 or port 110 )”,
prn=lambda x: x.sprintf(“%IP.src%:%TCP.sport% -> %IP.dst%:%TCP.dport% %2s,TCP.flags% : %TCP.payload%”))
SYN扫描
sr1(IP(dst=”172.217.24.14”)/TCP(dport=80,flags=”S”))
ans,unans = sr(IP(dst=[“192.168.1.1”,”yahoo.com”,”slashdot.org”])/TCP(dport=[22,80,443],flags=”S”))
TCP traceroute
ans,unans=sr(IP(dst=”www.baidu.com”,ttl=(2,25),id=RandShort())/TCP(flags=0x2),timeout=50)
for snd,rcv in ans:
print snd.ttl,rcv.src,isinstance(rcv.payload,TCP)
ARP Ping
ans,unans=srp(Ether(dst=”ff:ff:ff:ff:ff:ff”)/ARP(pdst=”192.168.1.0/24”),timeout=2)
ans.summary(lambda (s,r): r.sprintf(“%Ether.src% %ARP.psrc%”) )
ICMP Ping
ans,unans=sr(IP(dst=”192.168.1.1-254”)/ICMP())
ans.summary(lambda (s,r): r.sprintf(“%IP.src% is alive”) )
TCP Ping
ans,unans=sr( IP(dst=”192.168.1.*”)/TCP(dport=80,flags=”S”) )
ans.summary( lambda(s,r) : r.sprintf(“%IP.src% is alive”) )

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196582.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月24日 上午8:43
下一篇 2025年9月24日 上午9:15


相关推荐

  • php中的func_num_args、func_get_arg与func_get_args函数

    php中的func_num_args、func_get_arg与func_get_args函数

    2021年10月30日
    51
  • pycharm如何更换国内镜像源

    pycharm如何更换国内镜像源阿里云 http mirrors aliyun com pypi simple 中国科技大学 https pypi mirrors ustc edu cn simple 豆瓣 douban http pypi douban com simple 清华大学 https pypi tuna tsinghua edu cn simple 中国科学技术大学 http pypi mirrors ustc edu cn simple

    2026年3月27日
    1
  • MySQL Community Server_应用安装失败怎么解决

    MySQL Community Server_应用安装失败怎么解决官网下载先去官网下载MySQL链接跳转的是mysql的下载地址:https://dev.mysql.com/downloads/mysql/目前最新版的就是8.0.21解压好,是下图的样式初始化配置由于下载好且解压的文件夹没有my.ini文件,所以我这边新建一个,配置我已经给出,大家直接复制根据自己的实际修改即可。好了,准备工作已经完成,现在开始我们正式的初始化吧。直接在地址栏输入cmd,进入命令行界面进行安装操作。可能有些小伙伴会遇上没有权限的情况,就只好以管理员运行了我

    2026年4月19日
    4
  • ThinkPHP Where 条件中使用表达式

    ThinkPHP Where 条件中使用表达式

    2021年10月17日
    54
  • 归一化的方法及作用

    归一化的方法及作用声明 原文地址 https blog csdn net zenghaitao01 article details 一 归一化的作用在机器学习领域中 不同评价指标 即特征向量中的不同特征就是所述的不同评价指标 往往具有不同的量纲和量纲单位 这样的情况会影响到数据分析的结果 为了消除指标之间的量纲影响 需要进行数据标准化处理 以解决数据指标之间的可比性

    2026年3月17日
    2
  • 各种开源SLAM算法「建议收藏」

    各种开源SLAM算法「建议收藏」OpenSLAMhttp://openslam.org/FALKOLib(2DLIDAR)GMapping,GridSLAM(Tolearngridmapsfromlaserrangedata)tinySLAM(Laser-SLAMalgorithmin200linesofCcode)UnscentedFastSLAM(Laserdata,M…

    2022年6月16日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号