网络子系统24_桥接概念

//网桥:l2层设备,每个接口都指定一个链路层地址,然后把所有不是自己的数据帧转发出去

//网桥的作用:合并LAN,linux网桥只用于桥接ethernet端口。

//网桥消费入口帧的情况:
//	1.将帧传往上层l3协议,并且入口帧的目的地址就是该接口的l2地址
//	2.将帧传给某个协议处理程序,如生成树协议

//网桥具备的能力:
//	1.地址学习,被动学习,不需要用户配置或协议帮助
//	2.数据转发,当目的地址(l2地址)为为单播地址时,如果网桥知道通往该地址的接口,则会从该接口将数据转发出去,否则,
//	会在所有接口(除接收接口外),扩散该数据帧;如果目的地址为链路层广播地址,或多播地址,则也会将数据帧从所有接口(除接收接口外)扩山出去。

//老化机制:网桥需要动态更新通过其接口可到达地址的列表,为了适应拓扑的变化,网桥学习到的地址会在一个可配置的时间后过期,这种老化机制通过
//	一个简单的定时器来实现。

//网桥环路:多台网桥可能会造成拓扑结构形成环路,通过STP协议可以解决此问题。
时间: 2024-10-02 19:47:05

网络子系统24_桥接概念的相关文章

网络子系统27_桥接子系统初始化

//桥接子系统以模块的形式提供 //函数主要任务: // 1.转发数据库slab缓存 // 2.向socket的ioctl添加回调函数 // 3.在netif_receive_skb中路径上添加回调函数 // 4.向netdev_chain注册监听块 1.1 static int __init br_init(void) { //转发数据库初始化 br_fdb_init(); //桥接子系统中有关netfilter的初始化 ... //向socket的ioctl注册回调函数,处理对网桥的io命令

网络子系统28_桥接ioctl

// 1.网桥子系统向用户空间提供的接口: // 1.1 通过socket ioctl创建网桥 // 1.2 通过网桥的特殊设备文件ioctl添加网桥端口 // 桥接在socket ioctl中的衔接处理 // 处理的命令类型: // 1.获取网桥信息 // 2.设置网桥信息 // 3.添加网桥 // 4.删除网桥 1.1 static long sock_ioctl(struct file *file, unsigned cmd, unsigned long arg) { ... case S

网络子系统30_桥接子系统通用接口

// 添加网桥设备 // 参数: // name,需要全局唯一 // 调用路径:socket ioctl->br_add_bridge // 函数主要任务: // 1.创建一个新的网络设备 // 2.初始化网络设备的通用字段以及网桥设备的字段 // 3.向系统注册网络设备 1.1 int br_add_bridge(const char *name) { struct net_device *dev;//net_bridge->dev int ret; dev = new_bridge_dev

网络子系统29_桥接转发数据库

// 转发数据库 // 1.容量 // net_bridge->hash[BR_HASH_SIZE],其中BR_HASH_SIZE为(1<<8),有256个bucket // 2.老化机制, // 2.1 gc函数,到期时会顺序遍历age_list上的转发项,修改gc函数下一次到期时间为age_list中第一个没有过期的转发项的剩余时间. // 2.2 age_list链表,保存除本机l2地址以外的所有转发项,按照到期时间进行排序,新添加或更新的转发项保存在age_list尾部. //

Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介

原文:Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介 Linux内核分析(四) 两天没有更新了,上次博文我们分析了linux的内存管理子系统,本来我不想对接下来的进程管理子系统.网络子系统.虚拟文件系统在这个阶段进行分析的,但是为了让大家对内核有个整体的把握,今天还是简单的介绍一下剩余的几个子系统,我们对这几个子系统的分析,只要了解其作用和部分内容即可,不必深究,等我们写上几个驱动,到时候按照驱动再来分析这几个子系统我们就清晰多了. 在http://www.cnbl

网络协议X档案概念篇

网络协议从专业角度定义,是计算机在网络中实现通信时必须遵守的约定,也即 通信协议.主要是对信息传输的速率.传输代码.代码结构.传输控制步骤.出错控制等作出规定,制定标准.我们把这些文章进行整理形成一个全集希望对初学者有所帮助.一.网络协议是什么?通俗地说,网络协议就是网络之间沟通.交流的桥梁,只有相同网络协议的计算机才能进行信息的沟通与交流.这就好比人与人之间交流所使用的各种语言,只有使用相同语言才能正常地.顺利进行交流.从专业角度定义,网络协议是计算机在网络中实现通信时必须遵守的约定,也即通信

网络战争早已摆脱概念阶段 更值得警惕

摘要: 网络战争被英国<经济学人>杂志称为土地.海洋.天空.太空之后的第五领域的战争.网络技术的发展使得网络战争的手段也日趋多样化. 如果8月25日凌晨那会儿你在刷微博,会发现 网络战争被英国<经济学人>杂志称为土地.海洋.天空.太空之后的"第五领域的战争".网络技术的发展使得网络战争的手段也日趋多样化. 如果8月25日凌晨那会儿你在刷微博,会发现怎么也没法登录客户端.事实上,在那个时刻,".CN"域名的多家网站都无法登录.中国互联网络信息中

网络子系统25_生成树协议

//参考 深入理解linux网络技术内幕 //生成树协议(Spanning Tree Protocol, STP)是用于消除环路拓扑的分布式算法. //生成树协议的基本元素: // 1.链路开销,当链路没有指定开销,或者都设置成相同开销时,一个节点到达根的距离用网络跃点数来测量. // 2.BPDU,STP通过让各个网桥之间交换称为网络协议数据单元(BPDU)的特殊帧来传递配置信息. // 3.根网桥,唯一能产生BPDU的网桥,其他网桥只有在接收到BPDU时才会传输BPDU(当网桥第一次加入时,

网络子系统14_邻居子系统通用接口

//创建一个新的邻居项 //参考 深入理解linux网络技术内幕 // 1.邻居子系统为具体的邻居协议,提供通用的功能接口 // 2.系统中所有的邻居协议被链接在neigh_tables链表中 // 3.neigh_table代表一个具体的邻居协议 // 4.具体邻居协议在运行时的行为,可以通过struct neigh_parms调节, // neigh_params与设备关联,每个邻居协议neigh_table提供一个默认的neigh_params. //注册一个邻居协议到系统中 // 1.与