PPPoE收发包过程分析

编程入门 行业动态 更新时间:2024-10-17 00:18:40

PPPoE<a href=https://www.elefans.com/category/jswz/34/1769068.html style=收发包过程分析"/>

PPPoE收发包过程分析

1. ppp0设备

路由器中的LAN/WAN口都是通过以太网(ether)设备来收发包的,而在WAN口进行了PPPoE拨号后,ifconfig会发现多出一个ppp0,这个设备是干什么用的呢?
实际上,这个设备是内核的ppp模块为方便pppoe等协议收发包用的,有了这个设备,你就可以将路由表改一改,将发往WAN口的数据包从ppp0(而不是eth1)发出去,内核协议栈会按照PPP协议相关的设置将这个包发出去。

1.1 创建ppp0

创建ppp设备是在内核的drivers/net/ppp_generic.c中:

ppp_create_interface(struct net *net, int unit, int *retp);

函数里根据第二个参数unit来决定ppp%d如何赋值。

而相应的,在用户程序pppd的sys-linux.c中,make_ppp_unit()函数通过ioctl进入内核来调用ppp_create_interface():

... ...
ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);

更多推荐

PPPoE收发包过程分析

本文发布于:2024-03-23 01:37:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1738932.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:收发   过程   PPPoE

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!