Hello,
I was developing a NDIS intermediate driver which encrypts all the relevant packets (skipping broadcast and multicast packets) on their way out and decrypts all the relevant packets on their way in. I have programmed a router which makes sense of all the encrypted packets which arrive from the NDIS driver (which is sitting on the client which runs on Windows XP) and sends encrypted packets to the NDIS driver.
NDIS IM Driver <--> ROUTER <--> Internet
In the NDIS driver and on the router, I split a packet if the length of the packet becomes more than the MTU of the NIC after encryption. And when the NDIS driver receives the fragments of a packet which was split by the router, it reassembles the packet and sends it upwards.
Now, the problem is that whenever I try to visit some heavy websites from the client, it takes a long time to download the page. While for lighter websites, it downloads in a flash.
All the packets which are transmitted by the router are being received by the NDIS module. The packet splitting and re-assembly is also working fine. And even the encryption/decryption is also working fine. And now I've got no clue where I could be goofing up.
Any help would be greatly appreciated.
|