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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 读完了csapp(中文名:深入理解计算机系统)

    读完了csapp(中文名:深入理解计算机系统)

    2021年12月7日
    47
  • docker(2)CentOS 7安装docker环境「建议收藏」

    docker(2)CentOS 7安装docker环境「建议收藏」前言前面一篇学了mac安装docker,这篇来学习在linux上安装docker环境准备Docker支持以下的CentOS版本,目前,CentOS仅发行版本中的内核支持Docker。Doc

    2022年7月29日
    18
  • html段落首行缩进两字符_css设置首行缩进

    html段落首行缩进两字符_css设置首行缩进段落前面空两个字的距离,不要再使用空格了,用CSS实现段落首缩进两个字符。应该使用首行缩进text-indent。text-indent可以使得容器内首行缩进一定单位。比如中文段落一般每段前空两个汉字

    2022年8月4日
    10
  • 微信个人号机器人接口「建议收藏」

    微信个人号机器人接口「建议收藏」前段时间公司需求开发一套自定义的微信机器人,需求是可以自批量添加好友,自动聊天,自动回复,发朋友圈,转发语音,以及定时群发等,还可以提取聊天内容,进行数据汇总,what????微信还可以这样做!!调研开发了3个月,3个月啊!!!(主要被各种技术走偏路),终于成功了,都是走过的心酸泪,分享给大家,大家学习完,记得给我点个赞!!!大家一般需求点无非是以下几个需求:1.开发个人微信营销系统2.开发自定义的微信机器人,3.开发微信智能聊天客服系统4.定制行业内的群数据分析功能需求很

    2022年5月20日
    93
  • sql中declare声明变量_sql怎么定义变量

    sql中declare声明变量_sql怎么定义变量一、变量的分类及特点1、变量的分类总体可以分为两大类:系统变量和用户自定义变量系统变量:包括全局变量和会话变量自定义变量:包括局部变量和用户用户变量2、变量的特点:1、系统变量的特点:(1)、每个客户机成功连接服务器后,都会产生与之对应的会话。会话期间,服务实例会在服务器内存中生成与该会话对应的会话系统变量。这些会话系统变量的初始值都是全局系统变量值的复制,有了标记不同的会话,会话系统又新增了一些变量,这些变量是全局扁郎没有…

    2022年8月20日
    16
  • JDK8新特性_JDK8面试题

    JDK8新特性_JDK8面试题JDK8新特性lambda表达式要求:接口必须是函数式接口,一个接口如果只有一个抽象方法,那他就是函数式接口,我们可以在一个接口上使用_Functionallnterface_注解package com.atguigu.java;import java.util.Comparator;public class LambaTest { public static void main(String[] args) { Runnable r1 = new Runnable()

    2022年8月8日
    10

发表回复

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

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