阅读:3601回复:43
是否可以在协议驱动里面构造以太帧
我想问一下链路层的成帧是在协议驱动里面完成的吗?如果我想自己控制成帧的过程是否可以在协议驱动里面完成呢?
不知道协议驱动对应的是网络协议的哪一层,请高手讲解一下,20奉送 |
|
|
沙发#
发布于:2003-02-26 22:21
到miniport driver 之前就被打成帧了,你完全可以在miniport里面再拆开,重新打成你自己的帧
|
|
板凳#
发布于:2003-02-26 22:45
到miniport driver 之前就被打成帧了,你完全可以在miniport里面再拆开,重新打成你自己的帧 协议驱动传到小端口的是不是以太帧呢,成帧的过程是在那个驱动里面完成的呢 |
|
|
地板#
发布于:2003-02-27 09:07
在协议驱动里面就已经封装好了
|
|
|
地下室#
发布于:2003-02-27 09:27
在协议驱动里面就已经封装好了 如此说来帧的封装过程是在协议驱动了,那么我是否可以在协议驱动里面按照自己的要求封装成帧呢 我要做的东西是这样的,我想实现一个新的协议栈,链路层任然是802.3以太网协议,以太帧的格式不变,但是内容稍稍有点差别,主要是成帧时目的mac地址的填写,以太网是根据IP查一张表或者通过ARP协议来获得目的MAC,而我的获取方法是要根据和IP等字节长度的VPI、VCI参数来查表就可以得到目的MAC,所以我必须控制这个成帧的过程,各位大虾给点建议,我该怎么做 |
|
|
5楼#
发布于:2003-02-27 09:31
从协议出来了你再改不行么?、
你要在协议驱动里做就要做一个驱动替换windows的协议驱动了吧,你去看一下passthru的例子好了。 |
|
|
6楼#
发布于:2003-02-27 10:23
从协议出来了你再改不行么?、 “从协议出来我再改”怎么理解,能说详细点吗,是不是再做一个IMD修改呀 |
|
|
7楼#
发布于:2003-02-27 10:33
做一个IMD可以,做一个虚拟网卡也可以。
|
|
|
8楼#
发布于:2003-02-27 10:47
做一个IMD可以,做一个虚拟网卡也可以。 mikeluo真是言简意赅呀,我的理解是做一个中间驱动截获我的协议驱动下来的数据包,并在中间驱动里面控制成帧是吧,如果做成一个虚拟网卡,不知道这个起什么作用,还有简单的方法吗,比如说就在我的新协议驱动里面完成成帧的过程 |
|
|
9楼#
发布于:2003-02-27 11:00
你如何让系统发包的时候从你的协议走?
一个IMD就解决问题了,不用协议驱动的。 |
|
|
10楼#
发布于:2003-02-27 11:13
你如何让系统发包的时候从你的协议走? 如果是中间驱动的话,截获的包向上转给哪个协议驱动呀,我的协议栈是一个新的协议栈,不是tcp/ip,所以必须要注册一个协议栈 |
|
|
11楼#
发布于:2003-02-27 11:21
你如何让系统发包的时候从你的协议走? tcp/ip的协议协议驱动为tcpip.sys,所以我想它应该在这个驱动里面就实现了网络层和传输层的功能,比如网络层包的封装和拆分,差错控制等以及传输层的流量控制等等,不知道我的想法是否正确 |
|
|
12楼#
发布于:2003-02-27 12:41
引用:
-------------------------------------------------------------------------------- 从协议出来了你再改不行么? 做一个IMD可以,做一个虚拟网卡也可以。 -------------------------------------------------------------------------------- to mikeluo:我认为在协议里面改和在IMD 虚拟网卡中改是一样的。首先从协议驱动出来后如果没有IMD或者虚拟网卡,这个封装好的数据包将直接进入NIC;如果有的话,他将进入到他们之中,然后再进入NIC。所以从这个层次关系看来,没有必要做IMD和虚拟网卡。 |
|
|
13楼#
发布于:2003-02-27 12:47
你的协议层都要干什么???单独的一个协议驱动只能做个sniffer用用,一个IMD即有协议层也有小端口,至于要交给那个协议可以根据协议的handle来区分
|
|
|
14楼#
发布于:2003-02-27 12:49
引用: 在协议里面怎么改呢? |
|
|
15楼#
发布于:2003-02-27 13:59
我们在协议驱动里面同样可以得到数据包,那么怎么不能改包呢?
|
|
|
16楼#
发布于:2003-02-27 14:47
你得到的是受到的报文还是发送的报文??
如何得到正在往外发送的报文的? |
|
|
17楼#
发布于:2003-02-27 15:14
你得到的是受到的报文还是发送的报文?? 我在协议驱动上层再做一个驱动,专门负责收发我自己的新协议包给协议驱动可不可以呀? |
|
|
18楼#
发布于:2003-02-27 16:11
那是做一个TDI client吧?
|
|
|
19楼#
发布于:2003-02-27 16:36
那是做一个TDI client吧? 我想在socket里面注册一个服务提供者,TDI这一块我希望不要动它,这一点我想理论上应该还是行得通,我现在就是想控制成帧的过程,因为如果我不自己控制而由以太网协议软件来完成的话,我的新协议栈肯定无法通讯,请各位高手告诉我成帧的过程tcp/ip是在什么驱动里面做的,我能在协议驱动完成吗? |
|
|
上一页
下一页