BIG-IP简单介绍

 BIG-IP是f5公司的一系列硬件产品,它的主要职能就是对进出此设备的网络流量进行管理。
最适宜用在需要对ip流量和web访问进行管理的环境下,比如,web访问的负载均衡;ssl认证得统一管理(把ssl做到big-ip上来,解放服务器得一部分性能);

总体说,big-ip能对所有进出它的ip流量,进行管理和监控;
具体怎样实现呢?

                 |----------------------------------|
                 |                          ________ |     ________
                 |                         |-->node1|  |    |-->server1|
客户机--> |real server-->|-->node2|-|->|-->server2|
                 |                         |-->node3|  |    |-->server3|
                 |                          -------------- |     --------------
                 |                               pool       |
                 |-----------------------------------|
                             BIG-IP

在BIG-IP应用中,有几个对象:
1.Virtual Server:这是Big-ip对外的窗口,客户端能见到的服务器。
2.node:这是Big-ip对内的窗口,一个node对应一个真正的服务器。一个node可以提供多种服务,每一种服务器对应pool里的一个member。
3.pool:这是node的集合,一个virtual server对应一个或多个pool。virtual server把客户端的请求发到对应的pool里,pool根据负载算法,把请求发给node的一个服务(node可以提供多种服务)。

为了增强big-ip的管理功能,在整个过程中,都可以对ip流做一些动作,又有了下面2个名词。
1.profile:这是作用在real server上的过滤动作,也就是对进入real server的流量进行分类,然后采取特定的动作。
这个分类可以有好多种标准,按提供的服务分类,按协议分类等等。
默认情况下,big-ip已经分了好多类,可以在这个基础上,扩展profile,但是不建议修改。比如,把http流量都换一个标头。
2.rules:为了增强real server处理流量的动作,可以使用rule,进行脚本编程。使得自己控制real server对流量的处理。最常见的就是控制流量流向非缺省的pool。

学习big-ip的主要操作:
登陆:
添加、修改、删除real server;local traffic-->virtual server-->create。
添加、修改、删除pool;local traffic-->pool-->new。
添加、修改、删除node;local traffic-->node-->new。
修改负载平衡算法;
开启和关闭地址转换功能;

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
IP 分片是指将一个 IP 数据包分割成多个更小的数据包,以便在网络上传输。以下是一个简单IP 分片程序实现的示例: ```python import socket def fragment_packet(packet, MTU): # 获取 IP 数据包头部信息 header = packet[:20] # 获取 IP 数据包负载信息 payload = packet[20:] # 计算每个分片的大小 num_fragments = (len(payload) + MTU - 1) // MTU # 计算每个分片的偏移量 offsets = [i * MTU for i in range(num_fragments)] # 创建分片列表 fragments = [] for i in range(num_fragments): # 设置分片标志 flags = 0x01 if i != num_fragments - 1 else 0x00 # 构造 IP 分片头部 fragment_header = header + ((flags << 13) | offsets[i] >> 3).to_bytes(2, 'big') + b'\x00\x00' # 计算该分片的负载 fragment_payload = payload[offsets[i]:offsets[i] + MTU] # 将 IP 分片头部和负载拼接成 IP 分片 fragment = fragment_header + fragment_payload # 添加到分片列表中 fragments.append(fragment) return fragments # 测试 packet = b'\x45\x00\x00\x3c\x1c\x46\x40\x00\x40\x06\x37\xeb\x0a\x00\x00\x01\x0a\x00\x00\x02\x08\x00\x7d\x8d\x00\x17\x00\x00\x01\x01\x08\x0a\x00\x00\x01\x01\x08\x0a\x00\x00\x02\x05\x00\x02\x00\x00\x00\x00' MTU = 24 fragments = fragment_packet(packet, MTU) for fragment in fragments: print(fragment.hex()) ``` 这是一个 Python 程序,其中 `packet` 是待分片的 IP 数据包,`MTU` 是每个分片的最大传输单元。`fragment_packet()` 函数将 IP 数据包分割成多个大小为 `MTU` 的 IP 分片。该函数首先获取 IP 数据包头部信息和负载信息,计算分片数量和偏移量,然后构造 IP 分片头部和负载,将它们拼接成 IP 分片,最后将所有分片添加到分片列表中并返回。在此示例中,我们将 MTU 设置为 24,以便将一个 IP 数据包分割成多个更小的数据包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值