Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
  • Creating the right design for your requirements
  • Reviewing your existing driver code
  • Analyzing driver reliability/performance issues
  • Custom training mixed with consulting and focused directly on your specific areas of interest/concern.
Check us out. OSR, the Windows driver experts.

Upcoming OSR Seminars:

Writing WDF Drivers I: Core Concepts, Nashua, NH 15-19 May, 2017
Writing WDF Drivers II: Advanced Implementation Tech., Nashua, NH 23-26 May, 2017
Kernel Debugging and Crash Analysis, Dulles, VA 26-30 June, 2017
Windows Internals & Software Driver Development, Nashua, NH 24-28 July, 2017


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 5  
08 Jan 17 15:55
victor mehta
xxxxxx@hotmail.com
Join Date: 28 Jul 2015
Posts To This List: 17
Does each OSI Layer have its own set of API for network communication ?

As the title states does each OSI Layer have its own set of exclusive API's for network communication ?
  Message 2 of 5  
08 Jan 17 17:44
M M
xxxxxx@hotmail.com
Join Date: 21 Oct 2010
Posts To This List: 689
Does each OSI Layer have its own set of API for network communication ?

In a word, no. Some layers are inaccessible to software (layer 1) and many higher layers are not well separated by practical protocols (I.e. TCP combines several) Generally speaking you can use APIs at layer 2, 3 & 4+ if you understand the network topology. Other than network sniffers and similar software, well written applications don?t work with anything other than the 4+ APIs and require the user / admin the correct host names (DNS or WINS etc.) network addresses (IPv4, IPv6 etc.) and other related items like SPNs. They simply pass this data in as blobs to appropriate Winsock APIs and let the network stack figure out what to do with it. Drivers in the stack however are intimately concerned with these concepts and for performance reasons do not implement the OSI stack using an intuitive separation of responsibilities for each layer. Consider what a TCP offload engine must do and which layers it must work on remembering that not all traffic on a NIC will be TCP and not necessarily IP either. If you are interested in more detail about any specific layer, or how to achieve a specific goal, I suggest that you ask a more specific question. Although this is of topic for this list, depending on what you are trying to achieve it might just be tangentially related to windows KM programming enough to elicit a cogent response Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10 From: xxxxx@hotmail.com<mailto:xxxxx@hotmail.com> Sent: January 8, 2017 3:53 PM To: Windows System Software Devs Interest List<mailto:xxxxx@lists.osr.com> Subject: [ntdev] Does each OSI Layer have its own set of API for network communication ? As the title states does each OSI Layer have its own set of exclusive API's for network communication ? --- NTDEV is sponsored by OSR Visit the list online at: <http://www.osronline.com/showlists.cfm?list=ntdev> MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers! Details at <http://www.osr.com/seminars> To unsubscribe, visit the List Server section of OSR Online at <http://www.osronline.com/page.cfm?name=ListServer> --
  Message 3 of 5  
08 Jan 17 18:14
victor mehta
xxxxxx@hotmail.com
Join Date: 28 Jul 2015
Posts To This List: 17
Does each OSI Layer have its own set of API for network communication ?

Hello and thank you. But in a nutshell It is possible for a process to create a TCP packet at any of OSI layers and inject into to that particular layer of course the entire formatting will have to be done by the process entirely yes ?
  Message 4 of 5  
08 Jan 17 21:29
Alex Grig
xxxxxx@broadcom.com
Join Date: 14 Apr 2008
Posts To This List: 3170
Does each OSI Layer have its own set of API for network communication ?

>It is possible for a process to create a TCP packet at any of OSI layers This question doesn't quite make sense. You can open a raw socket and send an arbitrary packet, but it will not be "injected" to any layer because it will not be consistent with any open connection, etc.
  Message 5 of 5  
09 Jan 17 11:46
Tim Roberts
xxxxxx@probo.com
Join Date: 28 Jan 2005
Posts To This List: 11361
Does each OSI Layer have its own set of API for network communication ?

On Jan 8, 2017, at 3:12 PM, xxxxx@hotmail.com wrote: > > Hello and thank you. But in a nutshell It is possible for a process to create a TCP packet at any of OSI layers and inject into to that particular layer of course the entire formatting will have to be done by the process entirely yes ? The question doesn't make sense. TCP is layer 4. You need to remember that the OSI model is a conceptual model -- it is a helpful visualization tool, not an implementation guide. The mappings to actual implementations tend to be rather loose. Layers 1 and 2 tend to be hardware. Layers 6 and 7 are application-related, not kernel-related. — Tim Roberts, xxxxx@probo.com Providenza & Boekelheide, Inc.
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntdev list to be able to post.

All times are GMT -5. The time now is 14:41.


Copyright ©2015, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license