网络协议
文章平均质量分 77
森海001
时间是戒出来的
展开
-
网络协议之DHCP request续约实现机制
DHCP客户端在一、DHCP客户端状态1、客户端发送discover报文,进入INIT_SELECTING状态2、客户端收到offer报文, 进入REQUESTING状态, 发送request报文3、客户端收到ack报文, 进入BOUND状态4、等待租约时间的一半, 进入RENEWING状态,并发送request报文5、等待租约时间的7/8,原创 2016-03-27 22:37:51 · 12871 阅读 · 1 评论 -
linux内核 路由缓存表之创建
路由缓存 ip_mkroute_input原创 2016-08-19 00:05:17 · 1653 阅读 · 0 评论 -
linux内核 策略路由之基本结构
四、LINUX策略规则4.1 基本结构体4.1.1策略规则结构体fib_rulestruct fib_rule{ struct list_head list;//策 略 规 则 链 表 atomic_t refcnt;//引 用 计 数 int ifindex;//接 口 index char ifna原创 2016-08-19 00:18:11 · 1307 阅读 · 0 评论 -
linux内核 策略路由之初始化
4.2 路由策略初始化 路由策略的初始化,主要分为通用策略规则初始化和协议相关的策略规则初始化。4.2.1 通用策略规则初始化 功能:注册通知链,包括设备注册和注销时的通知。static int __init fib_rules_init(void){ int err; rtnl_register(PF_UNSPEC, RTM_NEWR原创 2016-08-19 00:25:20 · 1570 阅读 · 0 评论 -
linux内核 策略路由之添加
4.3策略规则的添加 对于策略规则的添加,也可以抽象出通用规则接口函数,然后根据传参进入协议相关的策略规则的接口函数;4.3.1 通用规则的添加 在规则初始化时,会注册添加函数fib_nl_newrule rtnl_register(PF_UNSPEC, RTM_NEWRULE, fib_nl_newrule, NULL);原创 2016-08-19 00:32:46 · 2607 阅读 · 0 评论 -
linux内核 策略路由之查找
4.4.1 策略路由查找 策略规则的查找函数fib_rules_lookup功能: (1)遍历rules_list链表; (2)调用fib_rule_match进行规则匹配 (3)调用函数指针action,进行路由表项的查找; (4)将arg->rule指向该规则的首地址。//通用规则的查找//ops 传入//原创 2016-08-19 00:36:09 · 1527 阅读 · 0 评论 -
linux内核 策略路由之删除
4.5 策略规则的删除 策略规则一般是通过应用层手动添加的,没有垃圾回收机制,只能通过手动删除操作。功能: (1)根据应用层传递的协议类型,获取相对应的fib_rule_ops (2)对应用层传参进行解析; (3)遍历rule_list链表,删除匹配的fib_rulestatic int fib_nl_delrul原创 2016-08-19 00:38:37 · 1696 阅读 · 0 评论 -
linux内核 路由fib表之删除
2.2.4 路由删除 应用层通过SIOCDELRT删除路由项,一般调用ip_rt_ioctl或者inet_rtm_delroute。 这里我们通过inet_rtm_delroute来学习。static int inet_rtm_delroute(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg){原创 2016-08-18 23:55:40 · 992 阅读 · 0 评论 -
linux内核 路由fib表之输出查找
2.2.3.2 输出路由查找ip_route_output_key功能:调用ip_route_output_flowip_route_output_flow功能:1)路由发包查找2)ipsec处理流程int ip_route_output_flow(struct net *net, struct rtable **rp, struct flowi *flp,st原创 2016-08-18 23:14:27 · 2529 阅读 · 0 评论 -
linux内核 路由fib表之数据结构
路由fib表之数据结构原创 2016-04-21 14:20:29 · 4144 阅读 · 2 评论 -
linux内核 路由fib表之创建
路由fib表之创建原创 2016-08-18 22:32:12 · 3968 阅读 · 0 评论 -
linux内核 路由fib表之输入查找
路由fib表之输入查找原创 2016-08-18 23:05:08 · 3895 阅读 · 0 评论 -
linux内核 路由fib表之初始化
路由fib表之初始化原创 2016-08-18 22:28:08 · 1202 阅读 · 0 评论 -
Socket通信之Write实现流程
1 分析write在进程间通信的实现过程 在内核中,socket是与文件指针挂钩的,因此就可以通过open、read、write像操作文件一样对socket进行操作;而write的过程相当于socket数据发送的过程。接下来,我们研究socket的数据发送流程。1、从socket (AF_UNIX, SOCK_STREAM, 0)入手,经过跟踪会调到unix_create函数原创 2016-03-27 23:42:59 · 7548 阅读 · 1 评论 -
路由Zebra 之socket通信机制
1 socket通信过程1.1 socket接收端流程图1 socket server端函数关系 图2 socket server端通信流程图Socketserver端的数据处理是由main函数的vty_server_sock()函数实现的,(1)先建立一个AF_UNIX类型的套接字socket1,然后绑定套接字,监听该套接字。(2)zebra通过threa原创 2016-03-27 23:39:59 · 1487 阅读 · 0 评论 -
DHCP中继各种组网环境配置
DHCP中继的不同组网情况两台网关设备,其中一台做server,一台做relay,PC作为client 一、正常情况1.1 配置框架图1.2详细配置Server端(1)LAN口VLAN1 ip 192.168.5.1地址池 192.168.1.200-250 (2)需要添加一条到192.168.1.0的路由原创 2016-03-27 22:54:16 · 1794 阅读 · 0 评论 -
linux内核 路由缓存表之数据结构
三、路由缓存表3.1 基本结构(1)路由缓存存放在全局散列表rt_hash_table中,类型为rt_hash_bucket,该成员变量指向缓存元素。 struct rt_hash_bucket { struct rtable *chain; };(2)rtable结构 用来储存缓存中的路由表项,可以通原创 2016-08-19 00:01:57 · 1736 阅读 · 0 评论