Hello,
I have recently been assigned a task to port/code an implementation of the DCCP (datagram congestion control protocol) on windows platform. Can anyone give me an insight about what kind of system programming would i require for implementing this as a core stack in XP (maybe as a driver). Im not very experienced with windows nt driver development but am a novice. Though i have absolutely no idea about the best way to accomplish this. I come from a linux background and am currently a CS undergrad.
Zaki
I suggest you start with RAW sockets in usermode (is that still possible?). It will sure be easier to debug.
If you are sure you never want to graduate and/or have aims at a department lifer position, perhaps you can create a TDI transport that talks to \Device\RawIP<ddcp-protocol> as a TDI client. You would need to dig up sample code from some very old NT DDKs to get at the WinSock Helper information and a sample TDI transport. The bottom line, however, is that you still would be implementing a RAW IP ‘socket’ client.
Does your assignment also include a specification of what ‘applications’ are to use this protocol implementation and how they are to do so?
Good Luck,
Dave Cattley
Consulting Engineer
Systems Software Development
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Wednesday, April 09, 2008 2:42 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] DCCP protocol on NT based OSes
Hello,
I have recently been assigned a task to port/code an implementation of the DCCP (datagram congestion control protocol) on windows platform. Can anyone give me an insight about what kind of system programming would i require for implementing this as a core stack in XP (maybe as a driver). Im not very experienced with windows nt driver development but am a novice. Though i have absolutely no idea about the best way to accomplish this. I come from a linux background and am currently a CS undergrad.
Zaki
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
Hey Dave,
Thanks for a prompt reply. The applications that are supposed to use the protocol are basically internet telephony/ gaming applications that need intime delivery of packets rather than reliability hence the datagram congestion control protocol. Its actually for a research, one of the researchers I’m working with is working on the CCID4 draft.
But basically what I needed to ask was, what would be an overview of developing a transport level network protocol for windows platform. I am looking at a few TDI things, thank you for suggesting them. I’d come back to this thread if I have any issue :). Also if someone can add any suggestion, feel free. (doh!)
Zaki
Well Zaki, good luck. I hope you get an A+.
Locate a copy of the NT4 DDK. Look at the samples
\src\network\wshsmple
\src\network\tdi
The first demonstrates how to put code in place to extend the Windows Sockets infrastructure. Your task would be to define a new protocol suite.
The second demonstrates the bulk guts of a TDI transport. A Windows Sockets exposed transport plugs in (NT5 and earlier) as a TDI transport. Since you also require the services of a TDI transport (TCPIP.SYS in this case) you also need to be a TDI client, presumably on the “RAW IP” device and open the ‘protocol’ for DCCP.
But you may well be able to get pretty far entirely in usermode. Supporting multiple applications (managing he resource allocation of n-tupples and endpoints) is likely to be the tricky part.
TDI Client code, especially for RawIP access, is pretty scarce. Start with Thomas’s contributions at www.pcausa.com.
Make sure your grade is solely based on the feasibility paper and design proposal and not on actually delivering any software 
-dave
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Wednesday, April 09, 2008 3:44 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] DCCP protocol on NT based OSes
Hey Dave,
Thanks for a prompt reply. The applications that are supposed to use the protocol are basically internet telephony/ gaming applications that need intime delivery of packets rather than reliability hence the datagram congestion control protocol. Its actually for a research, one of the researchers I’m working with is working on the CCID4 draft.
But basically what I needed to ask was, what would be an overview of developing a transport level network protocol for windows platform. I am looking at a few TDI things, thank you for suggesting them. I’d come back to this thread if I have any issue :). Also if someone can add any suggestion, feel free. (doh!)
Zaki
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
> TDI Client code, especially for RawIP access, is pretty scarce.
Probably, just because it is not really needed - if you want to write your own protocol on top of IP, I believe you will be much better off with modifying NDIS IM filter, rather than with TDI client…
Anton Bassov