麻烦请教一下:在linux协议栈下怎样添加私有的代码来对VLAN进行处理;我的目的主要是想通过对VID的解析和识别,即时的捕捉到一些特有的帧,然后在解析这些帧,帧的数据段是一些管理信息,来完成对CPU的管理;那没有二层的VLAN标示,我该怎么办呢? 兄弟初学,希望大家不惜赐教!!
看到有人讨论,随便想了一下 首先,用PC肯定不能代替专业交换机,这是PC体系所限制的。当PCI总线还在MHz晃荡得时候,高端交换机的背板都是论G来算了。现在的顶级交换机都采取类似MCA的点对点通讯,其效率当然是PCI或者PCI-E无法比拟的。所以linux on X86只能在某些特定用途下提供一些二层应用。 模式一:Vlan+Bridge 你的老网络里面有很多D-link或者更差的,不可网管的交换机;或者你的预算有限,但又想实现Vlan。 这种情况下,你...
看到有人讨论,随便想了一下 首先,用PC肯定不能代替专业交换机,这是PC体系所限制的。当PCI总线还在MHz晃荡得时候,高端交换机的背板都是论G来算了。现在的顶级交换机都采取类似MCA的点对点通讯,其效率当然是PCI或者PCI-E无法比拟的。所以linux on X86只能在某些特定用途下提供一些二层应用。 模式一:Vlan+Bridge 你的老网络里面有很多D-link或者更差的,不可网管的交换机;或者你的预算有限,但又想实现Vlan。 这种情况下,你...
关于linux下原始套接字发送分片包的问题? 如题,在linux环境下,使用原始套接字发送数据包, 如果是普通的小于1500字节的TCP,UDP,ICMP数据包都没有问题, 但是如果是大于1500字节,程序就会分片IP包,可是问题来了 IP分片的代码都是同一个函数,但是TCP,UDP协议只能够发出第一个分片包,余下的分片包就发不出来了, 而ICMP则没有这个问题,都能够发出来,并且可以收到对方的响应 分片包都是使用sendto发送,返回值都是对...
sock_raw原始套接字编程可以接收到本机网卡上的数据帧或者数据包,对与监听网络的流量和分析是很有作用的.一共可以有3种方式创建这种socket 1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)发送接收ip数据包 2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))发送接收以太网数据帧 3.socket(AF_INET, SOCK_PACKET, htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))过时了,不要用啊 理解一下SOCK_...
在调试unix网路编程的例子,内容如下: #include "unp.h" int main(int argc, char **argv) { int listenfd, connfd; pid_t childpid; socklen_t clilen; struct sockaddr_in cliaddr, servaddr; listenfd = Socket(AF_INET, SOCK_STREAM, 0); bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY); servaddr.sin_port = htons(SE...
有时候我们要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要控制套接 字的 选项了. getsockopt 和setsockopt int getsockopt(int sockfd,int level,int optname,void *optval,socklen_t *optl en) int setsockopt(int sockfd,int level,int optname,const void *optval,socklen_t *optlen) level 指定控制套接字的层次.可以取三种值: 1)SOL_SOCKET:通用套接字选项. 2)IPPRO TO_IP:IP 选项. 3)IPPROTO_TCP:TCP 选项. o...
服务器端
#include