
协议栈
hz5034
这个作者很懒,什么都没留下…
展开
-
协议栈(TCP被动连接三次握手)
协议栈和标准TCP协议的TCP状态转换略有不同:第三次握手时,在tcp_v4_syn_recv_sock() -> tcp_create_openreq_child() -> inet_csk_clone()中设置state为TCP_SYN_RECV,在tcp_child_process() -&amp原创 2018-05-30 18:27:32 · 2562 阅读 · 0 评论 -
协议栈(LVS)
ip_vs_in()static unsigned intip_vs_in(unsigned int hooknum, struct sk_buff *skb, const struct net_device *in, const struct net_device *out, int (*okfn) (struct sk_buff *)){ struct ip_...原创 2018-06-19 11:45:05 · 759 阅读 · 0 评论 -
协议栈(出入口函数)
dev_queue_xmit()协议栈出口函数是dev_queue_xmit(),协议栈通过dev_queue_xmit()将skb下送网卡驱动dev_queue_xmit() -> dev_h原创 2018-04-15 19:35:41 · 1673 阅读 · 0 评论 -
协议栈(Netfilter)
ip_rcv()int ip_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt, struct net_device *orig_dev){ struct iphdr *iph; u32 len; /* When the interface is in promisc. mo...原创 2018-05-21 11:02:33 · 1070 阅读 · 0 评论 -
协议栈(Internet协议族)
net_proto_family// net_families数组,NPROTO为37,表示最多支持37种协议族static const struct net_proto_family *net_families[NPROTO] __read_mostly;// Internet协议族#define AF_INET 2 /* Internet IP Protocol ...原创 2018-06-10 21:43:46 · 1675 阅读 · 0 评论 -
协议栈(套接口层)
SYSCALL_DEFINEx()#define SYSCALL_DEFINE0(name) asmlinkage long sys_##name(void)// __VA_ARGS__是一个可变参数宏,替换...#define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)#defi...原创 2018-06-10 21:38:07 · 555 阅读 · 0 评论 -
协议栈(TCP主动连接三次握手)
第一次握手(发送SYN包)tcp_v4_connect() -> tcp_connect() -> tcp_transmit_skb() -> ip_queue_xmit()tcp_v4_connect()state从TCP_CLOSE变成TCP_SYN_SENTint tcp_v4_connect(struct sock *sk, struct so原创 2018-06-10 21:30:32 · 1465 阅读 · 0 评论 -
协议栈(路由子系统)
结构体定义struct net { ... struct netns_ipv4 ipv4; ...};struct netns_ipv4 { ... struct hlist_head *fib_table_hash; // 长度为FIB_TABLE_HASHSZ ...};struct fib_table { struct h...原创 2018-05-21 11:13:57 · 931 阅读 · 0 评论 -
协议栈(TCP入口函数)
TCP状态enum { TCP_ESTABLISHED = 1, TCP_SYN_SENT, TCP_SYN_RECV, TCP_FIN_WAIT1, TCP_FIN_WAIT2, TCP_TIME_WAIT, TCP_CLOSE, TCP_CLOSE_WAIT, TCP_LAST_ACK, TCP_LISTEN, TCP_...原创 2018-05-28 21:17:01 · 2732 阅读 · 0 评论 -
协议栈(Bridge)
bridge是一个二层虚拟网络设备,通过brctl命令创建,提供了二层的ebtables,类似于三层的iptableshttp://blog.chinaunix.net/uid-28315531-id-3572529.htmlhttps://www.cnblogs.com/morphling/p/3458546.html注册module_init(br_init)static int ...原创 2018-10-28 18:10:36 · 1572 阅读 · 0 评论