SlideShare a Scribd company logo
1 of 10
Download to read offline
US006845397B1 
(12) United States Patent (10) Patent N0.2 US 6,845,397 B1 
Lavian et al. (45) Date 0f Patent: Jan. 18, 2005 
(54) INTERFACE METHOD AND SYSTEM FOR (56) References Cited 
ACCESSING INNER LAYERS OF A 
NETWORK PROTOCOL U.S. PATENT DOCUMENTS 
_ 5,537,417 A * 7/1996 Sharma et al. ............ .. 709/228 
(75) Inventorsi Ta] Isaac LaVlan,SunnYVa1@,CA(US); 6,678,246 B1 * 1/2004 Smyth ...................... .. 370/230 
Robert James Duncan, San Francisco, 
CA (US); Robert F. J aeger, Silver * cited by examiner 
Spring, MD (US) 
Primary Examiner—Robert B. Harrell 
(73) Assignee: Nortel Networks Limited, Billerica, (74) Attorney, Agent, or Firm—Nortel Networks Limited 
MA (Us) (57) ABSTRACT 
* N ot1' ce: S u b'J ect to any 01'1 sc l a1' mer,t h e term 0 f t h'i s 
patent is extended or adjusted under 35 
USC. 154(b) by 833 days. 
A method of performing netWork communications includes 
receiving a datagram for transmitting information over a 
network, selecting a layer in a netWork protocol stack to 
establish communication over the netWork using an inner 
(21) Appl- NO? 09/ 753,019 layer application programming interface (ILAPI), establish 
- _ ing an inner layer socket at the selected netWork layer using 
(22) Flled' Dec‘ 29’ 2000 the IL API Without accessing other layers in the layered 
(51) Int. Cl.7 .............................................. .. G06F 13/00 network protocol stack, and transmitting the datagram 
(52) ___________________ __ 709/230 packet over the selected layer using the inner layer socket. 
(58) Field of Search ............................... .. 709/200, 227, 
709/228, 230, 231; 719/328; 370/229, 230 26 Claims, 5 Drawing Sheets 
’ 300 y/ 312 
314  302  316  / 
""""" “  ‘ ' ' ' ‘ ' _ ’ ' “  05] Inner Layer 
: Application Application Layers 5 Application 
7 1 Programming Interface 
________________ u‘ (IL API) 
OSI { TOP /334 
TCP UDP Layer ' Socket 
,,,,, _,  _____ __ / ,,,,,, 1i __________ 338 
324/ 318 / 304 IP Link 
320 Socket  336 Socket 
306 
/ _, i . 
‘ IICGMMP‘ P/ a ,  ip ARP RARP Loas3yl er 
....... / / I J 
324 322/ 326/ 328 
308 
--------- --  ‘ 08' L v 
330 __VL4 Ph _ l 1-2a ver 
 Data Link a = k 332 
310 
 r 
Ethernet IP TCP Ethernet 
Header Header Header Trailer
U.S. Patent Jan. 18,2005 Sheet 1 0f 5 US 6,845,397 B1 
102 118 
8 
Transmit ____________ ____________ ___ Receive 
Application I . /- _ Application 
l ‘t l‘ _I 
1041 ‘- 130 132 ,- 1120 
k 1 ‘/ f ‘I 
 ' / l 
TCP/UDP '1 x‘ 110 114 4/136 ,' TCP/UDP 
_ 1P i.‘ . ‘IP/ <— —> yIP .' IP _ 
‘l ‘. .' 1 
it, A i A it _' i j 
_ 106 i 134 112 116 _| 122 — 
i i v i v 
Data Link 1' Data Link Data Link ‘1 Data Link 
A i i 1  108 124 / 
v i 1 i 
 126 
100/ 
FIG. 1
U.S. Patent Jan. 18,2005 Sheet 2 0f 5 US 6,845,397 B1 
202 
 Application 
204  " 
Inner Layer API 
206 210 
Transport Layer Data Link Layer 
TCP UDP UDP FDDI Ethernet 
212 / 214 / 216 / 2O8. 226228 
Network Layer 
Appletalk IPv4 IPv6 lPX 
218 / 220 /222 /224 / 
FIG. 2
U.S. Patent Jan. 18,2005 Sheet 3 
314  302  316  
__________________________________________________________________________ ''' Inner Layer 
3 Application Application Layers 5 Application 
 _________________________________ “A ________________________ ___________ Programming Interface 
................ (lL API) 
05' TCP / 334 
TCP UDP Layer ' Socket 
US 6,845,397 B1 
/312 
Ethernet 
Header Header 
Ethernet 
Trailer 
FIG. 3
U.S. Patent Jan. 18,2005 Sheet 4 0f 5 US 6,845,397 B1 
400  
402  
MEMORY 414 
Application 
inner Layer APi 
Virtual Machine Runtime 
‘418 
inner Layer Extensions / 
/ 420 404  
422 
EnvTiCrPo/nimpe nt 423 Processor 
Network Resources ' 424 
Operating System 
412 
C New?“ _ Secondary Input-Output 
ommunication stora e Ports 
Port g 
406 / 408 / 410 / 
FIG. 4
U.S. Patent Jan. 18,2005 Sheet 5 0f 5 US 6,845,397 B1 
Start D 
502 
 Create Datagram For Transmission 
Over Network 
i 504 
 Select Network Layer To Establish 
Communication 
i 506 
 Open Socket At Selected Layer Of 
Network Protocol Using IL API 
i 508 
 Communicate At Selected Layer 
Using IL API Socket 
End 3 
FIG. 5
US 6,845,397 B1 
1 
INTERFACE METHOD AND SYSTEM FOR 
ACCESSING INNER LAYERS OFA 
NETWORK PROTOCOL 
FIELD OF THE INVENTION 
The present invention relates to the ?eld of computer data 
networking and an interface method and system for access 
ing inner layers of a network protocol. 
BACKGROUND OF THE INVENTION 
The use of layered data communications protocols pro 
motes system interoperability, vendor portability and sim 
plicity in system integration. Each protocol layer operates at 
a different layer of abstraction and performs different types 
of data manipulation and formatting. Because each layer is 
concerned With events at its oWn level of abstraction, 
different softWare designers can Work together to design the 
protocols. Layers of the netWork protocol can also be 
replaced individually Without signi?cant communication 
incompatibilities problems arising. 
The Internet Protocol (IP) stack is a Widely used layered 
communication protocol. Applications use the IP stack to 
transmit and receive data over a variety of different local and 
Wide area netWorks. Typically, a transmitting application 
passes application data to a transport layer in the IP stack, 
Which in turn adds routing information to the data and passes 
the results to a data link layer. The data link layer also adds 
additional header information and passes the resulting infor 
mation to a physical layer, Where it is ?nally transmitted 
over the netWork. 
A receiving application associated With a receiving IP 
stack receives and processes the information. Each layer of 
the receiving IP stack performs various communication 
functions and format conversions in reverse going from the 
physical layer, the data link layer, the netWork layer, the 
transport layer, and then to the receiving application. In a 
conventional netWork, applications send and receive mes 
sages from each other and use the IP stack as a conduit for 
data. NotWithstanding these messages, other information 
being transmitted betWeen the sending and receiving IP 
stacks is not typically made available to either the sending 
or receiving applications. 
While layered protocols such as used in a conventional IP 
stack have some advantages, they are have been obtained by 
loWering programmatic ?exibility. For example, application 
data is encapsulated With protocol-generated headers Whose 
content cannot be accessed and controlled by the application 
itself. Applications are masked from the inner operation of 
a netWork protocol and netWork operation. This in?exibility 
makes it dif?cult for an application to send data encapsulated 
With a non-standard header When required or monitor opera 
tion of the netWork. 
SUMMARY OF THE INVENTION 
A method of performing netWork communications 
includes receiving a datagram for transmitting information 
over a netWork, selecting a layer in a netWork protocol stack 
to establish communication over the netWork using an inner 
layer application programming interface (ILAPI), establish 
ing an inner layer socket at the selected netWork layer using 
the IL API Without accessing other layers in the layered 
netWork protocol stack, and transmitting the datagram 
packet over the selected layer using the inner layer socket. 
BRIEF DESCRIPTION OF THE DRAWINGS 
The features and aspects of the present invention Will 
become more fully apparent from the folloWing detailed 
description, appended claims, and accompanying draWings 
in which: 
10 
15 
25 
35 
40 
45 
55 
65 
2 
FIG. 1 is a block diagram illustrating a netWork using an 
inner layer application programming interface (IL API) to 
communicate betWeen nodes on the netWork. 
FIG. 2 is a block diagram demonstrating the various 
protocols an application can interface With using the IL API. 
FIG. 3 is a block diagram illustrating hoW the IL API 
Works to provide access to the Internet Protocol (IP) stack. 
FIG. 4. is a block diagram depicting a computer system 
that provides the IL API and IP stack to applications. 
FIG. 5 is a ?oW-chart diagram illustrating the operations 
associated With communicating over the IP stack using the 
IL API. 
DETAILED DESCRIPTION OF THE 
INVENTION 
FIG. 1 is a block diagram illustrating a netWork 100 using 
an inner layer application programming interface (ILAPI) to 
communicate betWeen nodes on netWork 100. NetWork 100 
includes a transmit application 102 With a corresponding 
TCP/IP stack 104, a data link layer 106 and a inner layer 
application programming interface (IL API) 108 facilitating 
communication betWeen transmit application 102 and layers 
Within TCP/IP stack 104. Further, netWork 100 also includes 
a ?rst intermediate gateWay or router node represented by IP 
stack 1110 and data link layer 112 and a second intermediate 
gateWay or router node represented by IP stack 114 and data 
link layer 116. Receive application 118 in netWork 100 has 
a TCP/IP stack 120, data link layer 122 and a IL API 124. 
Physical connection 126 provides a connection to each of 
these nodes through their respective data link layers using a 
physical access protocol such as CSMA/CD. 
Conventional layered communications provides applica 
tions With application to application or peer-to-peer or 
communication capabilities. Information at the loWer layers 
of the protocol stack are masked from the application 
through abstract interfaces. This simpli?es netWork pro 
gramming over the IP stack but does not provide much 
?exibility if access to these other layers is desired. IL API 
108 and IL API 124 provides this communication capability 
to both transmit application 102 and receive application 118. 
For example, transmit application 102 and receive applica 
tion 118 have access to IP stack 110 and IP stack 114 directly 
using their respective IL API. Additionally, transmit appli 
cation 102 and receive application 118 also have access to 
other protocol layers using the ILAPI such as data link layer 
112 and data link layer 116. 
FIG. 2 illustrates many different types of netWork infor 
mation available at these different layers in the protocol 
stack. This block diagram illustrates an application 202 
passing through an IL API 204 to gain access to a transport 
layer 206, a netWork layer 208, and a data link layer 210. At 
transport layer 206, application 202 has access to the trans 
port protocols TCP 212, UDP 214, and other transport 216. 
TCP 212 or Transmission Control Protocol is a connection 
oriented protocol that provides a reliable, full-duplex, byte 
stream for a user process. Most conventional Internet appli 
cations use TCP 212 and alloW TCP 212 to interface With the 
IP layers beloW. UDP 212 or User Datagram Protocol is a 
connectionless protocol also for user processes, hoWever, it 
does not guarantee that UDP datagrams Will ever reach their 
intended destination. Because TCP and UDP both access the 
IP layer the protocol is often referred to as simply TCP/IP. 
NetWork layer 208 provides application 202 With access 
through IL API 204 to information carried over Appletalk 
218, IPv4 220, IPv6 222, and IPX 224. These protocols 
provide packet delivery services and routing capabilities for
US 6,845,397 B1 
3 
transport protocols such as TCP 212 and UDP 214. Net 
Works based on Appletalk 218 and IPX 224 can be integrated 
to Work With the TCP and UDP transport protocols. In 
addition, routers, sWitches, hubs and other netWork devices 
exchange status and netWork routing information describing 
netWork layer resources using ICMP (Internet Control Mes 
sage Protocool) and IGMP (Internet GateWay Message 
Protocol). Appletalk 218 provides packet delivery services 
primarily to computers designed by Apple Computer of 
Cupertino, Calif. IPv4 220 (version 4) provides 32-bit 
addresses and IPv6 222 (version 6) provides 64-bit 
addresses in the Internet Protocol (IP) de?ned in speci?ca 
tion DOD-STD-1777. Further references to the IP protocol 
include these additional protocols described above. 
Application 202 also has access to data link layer 210 
through IL API 204. Fiber distributed data interface (FDDI) 
protocol 226 is a standard for data transmission on ?ber 
optic lines in a local area netWork that can extend in range 
up to 200 km (124 miles). FDDI protocol 226 is based on the 
token ring protocol and in addition can support thousands of 
users. In addition, application 202 can also access informa 
tion from Ethernet 228 through IL API 204. Ethernet 228 is 
the most Widely-installed local area netWork technology and 
speci?es sharing physical access over coaxial cable or 
special grades of tWisted pair Wires (10BASE-T) providing 
transmission speeds from several Mbps to Gbps. Devices are 
connected to the cable and compete for access using a 
Carrier Sense Multiple Access With Collision Detection 
(CSMA/CD) protocol. 
FIG. 3 is a block diagram illustrating hoW the IL API 
Works to provide access to a Internet Protocol (IP) stack 300. 
IP stack 300 includes application 302, transport layer 304, 
netWork layer 306, data link layer 308 each connected to IL 
API 312. In one implementation, layers in IP stack 300 
produce an Ethernet packet 310 With a data payload and 
headers from each of the various layers. 
In conventional netWork communication, application 314 
and application 316 communicate through either TCP 318 or 
UDP 320 for connection or connectionless type communi 
cation over a netWork. As an alternative, both application 
314 and application 316 can communicate With transport 
layer 304 through TCP Socket 334 in IL API 312. Although, 
additional information is not available, a more uniform 
implementation is achieved by offering the transport inter 
face With IL API 312. 
Application 314 and application 316 can use IL API 312 
to access netWork layer 306 and data link layer 308 in Ways 
previously unavailable. For example, application 314 can 
access Internet Control Message Protocol (ICMP)/Internet 
Group Multicast Protocol (IGMP) 324 resources and interact 
With routers, sWitches, hubs, gateWays, and hosts commu 
nicating With each other about errors and system control. 
ICMP provides message control and error-reporting protocol 
betWeen a host server and a gateWay to the Internet. ICMP 
uses Internet Protocol (IP) datagrams that IL API 312 
provides to an application. On conventional systems, this 
information is processed by the TCP/IP protocol and is not 
available directly to the application. IGMP is used to support 
multicasting betWeen nodes on a netWork and provides 
resources to applications through IL API 312 in a similar 
manner. Application 314 also has access to ARP 326 and 
RARP 328 resources. Application 314 opens a socket using 
IP Socket 336 interface and establishes a direct connection 
With netWork layer 306. Because application 314 bypasses 
transport layer 318, ARP 326 and RARP 328 resources are 
exposed and available for application 314 to process. For 
example, ARP 326 resources include Media Access Control 
(MAC) addresses associated With each Ethernet device on a 
network. 
10 
15 
25 
35 
40 
45 
55 
65 
4 
Application 314 operates in a similar manner With respect 
to data link layer 308. To gain access to data link layer 308, 
application 314 establishes a session directly to data link 
layer 308 through link socket 338. Once the session through 
link socket 338 is created, application 314 has access to 
resources in data link 330 and physical layer 332. For 
example, application 314 can create customiZed headers for 
an Ethernet packet 310 creating TCP Header and IP Header 
as illustrated in Ethernet packet 310 in FIG. 3. Ethernet 
header and Ethernet trailer are added by an Ethernet type 
data link 330. This provides an application With additional 
?exibility When developing netWork management softWare 
or developing text routines that need access to loWer layers 
of the netWork protocol stack. 
FIG. 4. is a block diagram depicting a computer system 
400 that provides the IL API and IP stack to applications. 
Computer system includes a memory 402, a processor 404, 
a netWork communication port 406, a secondary storage 
408, and input-output ports 410. Processor can be a general 
purpose processor such as manufactured by Intel Corpora 
tion of Santa Clara Calif. or can be a specialiZed ASIC or 
other type of processor device. NetWork communication 
port 406 can be implemented as a Ethernet card or built-in 
communication port on a computer and secondary storage 
408 is a hard-disk, CDROM, or other mass storage device. 
Input-output ports includes ports for corresponding periph 
eral devices such as keyboard, mouse, printer, display, and 
scanner. 
Memory 402 includes an application 414, an inner layer 
API (IL API) 416, inner layer extensions 418, virtual 
machine runtime environment 420, TCP/IP protocol 422, 
netWork resources 423 and operating system 424. Applica 
tion 414 is an application that can access one or more 
different layers of a netWork protocol stack such as TCP/IP 
protocol 422. Generally, application 414 should be a user 
application but may need to be run With increased permis 
sions such as “root” or “superuser” due to the sensitive 
information accessible Within the inner layers of TCP/IP 
protocol 422. 
Inner layer API 416 is the interface routines linked into 
application 414 that provides direct access to the transport, 
the netWork, data link layers and physical layers in the 
protocol stack. Inner layer extensions 418 include any 
supporting routines necessary to make the IL API 416 
available on the given platform. In some cases, this could 
involve recompiling an operating system kernel to include 
these particular functionalities not previously available to 
applications. In an object-oriented implementation, such as 
using the Java programming language by Sun Microsystems 
of Mountain VieW, Calif., these extensions can be dynami 
cally loaded at run-time or immediately When they are 
loaded into the overall system. Because Java alloWs 
dynamic loading of routines, inner layer extensions 418 can 
be loaded as application 414 requires. 
Virtual machine runtime environment 420 is typically 
used With an object-oriented programming language such as 
Java. If a non-object oriented or interpreted programming 
language is not being used, then virtual machine runtime 
environment 420 may not be required. For Java, a Java 
Virtual Machine or JVM simulates a virtual machine and 
provides hardWare independent computing capabilities in 
addition to dynamic loading of libraries, applications, and 
applets in real-time over a netWork. 
TCP/IP 422 is the conventional layered protocol stack 
typically available on most computers and computer-like 
platforms. As previously mentioned, TCP/IP generally only 
provides applications With access to the transport layer but 
With IL API 416, application 414 accesses the netWork layer, 
the data link layer, and the physical layer in addition to the 
transport layer. NetWork resources 423 represent the various
US 6,845,397 B1 
5 
tables and other network resources on a network device. 
These resources include information stored in routing tables, 
ARP tables, ICMP/IGMP related tables, tables for storing 
physical port information and any other tables or resources 
used to manage and or describe an aspect of a netWork 
device. 
Operating system 424 manages resources on computer 
system 400 so they are used efficiently and uniformly. 
FIG. 5 is a ?oW-chart diagram illustrating the operations 
associated With communicating over the IP stack using the 
IL API. Initially, an application creates a datagram to be 
transmitted over a netWork (502). The datagram or packet is 
self-contained, independent entity of data carrying suf?cient 
information to be routed from the source to the destination 
computer Without reliance on earlier exchanges betWeen this 
source and destination computer and the transporting net 
Work. The packet needs to be self-contained Without reliance 
on earlier exchanges because there is no connection of ?xed 
duration betWeen the tWo communicating points as there is, 
for example, in most voice telephone conversations. This 
kind of protocol is therefore referred to as connectionless. 
Given several layers to communicate With, application 
selects a netWork layer to establish communication (504). In 
part, the layer selected depends on the type of datagram the 
application has created. If the application creates a transport 
session using a transport socket such as TCP 334 in FIG. 3, 
the application provides the data and necessary headers. 
HoWever, a netWork session uses a netWork socket such as 
IP Socket 446 in FIG. 3 and the application needs to create 
the appropriate netWork layer TCP header or UDP header 
around the data or payload section of each packet. Similarly, 
if the application creates a link layer session using link 
socket 338 then the application must also include IP header 
information in the packet. 
The application also selects a layer in the netWork pro 
tocol stack depending on the layer a resource associated With 
the netWork device uses for communication. For example, 
the ICMP and IGMP tables are resources that use the IP 
protocol because they communicate that the netWork layer in 
the protocol stack. Similarly, an ARP table is a resource that 
uses the link layer to communicate information about the 
netWork device, in particular an Ethernet or MAC address of 
the netWork device. 
The application then opens a socket at the selected layer 
of the netWork protocol using the IL API (506). Often, the 
communication occurs over a “raW” type of socket rather 
than a “cooked” socket. The information is considered raW 
because control characters and other information in the data 
stream are not stripped out or interpreted by other programs 
before being delivered to the application. For example, tWo 
common types of packets sent or received over raW sockets 
are ICMP packets and IGMP packets. Speci?c resources 
such as routing tables, ICMP and IGMP tables are identi?ed 
With predetermined or Well-knoWn socket identi?ers. Appli 
cations open an inner layer socket using these speci?c socket 
identi?ers to access the information in these particular 
resources. Alternatively, the application can open inner layer 
sockets With other socket identi?ers to intercept other types 
of information being transmitted across the particular net 
Work protocol layer. 
Communication continues betWeen the application and 
the selected layer or speci?c resource until the application 
ends or the connection is terminated (508). 
In one implementation using the Java object-oriented 
programming environment, an application may contain 
source code that generates and utiliZes Java link layer 
sockets as shoWn in the folloWing code example A. 
CODE EXAMPLE A 
Ethernet Packet ep=NeW Ethernet Packet (data, destina 
tion Ethernet Address); 
10 
15 
25 
35 
40 
45 
55 
65 
6 
Ethernet Socket s=NeW Ethernet Socket (source Ethernet 
Address); 
Byte siZe; 
Byte buffer=neW byte[siZe]; 
s.send(ep); 
s.rcv(buf); 
The Code Example A details the use of a combination 
send/receive Java link layer socket “s” Whose address is 
“source Ethernet Address”. A datagram packet “ep” is cre 
ated for use in an Ethernet netWorking environment, Where 
“ep” is intended to be sent to a destination “destination 
Ethernet Address”. A receive buffer “buf” is created for 
socket “s”, and given siZe “size”. After “ep” is sent by Java 
link layer socket “s”, Java link layer socket “s” receives any 
return packets in buffer “buf”. 
Another example of the use of Java link layer sockets is 
given beloW in code example B. 
CODE EXAMPLE B 
Ethernet Address destination=neW Ethernet Address; 
Ethernet Address source=neW Ethernet Address; 
Byte [ ] buf=neW byte [2000]; 
Ethernet Packet ep=neW Ethernet Packet (buf, 
destination); 
// put the data into the buffer buf 
Ethernet Socket es=neW Ethernet Socket (source); 
es.send(ep); 
es.receive(ep); 
// noW look at data in the buffer buf 
In the code example B, a buffer “buf” is utiliZed as a 
bi-directional send/receive buffer for supporting the socket 
“es”. 
While speci?c implementations have been described 
herein for purposes of illustration, various modi?cations 
may be made Without departing from the spirit and scope of 
the invention. For example, implementations and examples 
are provided With reference to TCP/IP hoWever, an alternate 
implementation could also be adapted to Work With the Open 
Systems Interconnection (OSI) netWork model. In the OSI 
communication model, IP is in layer 3, and other layers are 
as illustrated in FIG. 3. Inner sockets for the transport, 
netWork and data link layer are described but an inner socket 
for a physical layer could also be implemented. The physical 
layer Would provide information about the ports on a net 
Work device and information about the physical media being 
used. Additional implementations could be created using 
conventional procedural programming languages such as 
“C” as Well as object-oriented programming environments/ 
languages such as Java or C++. Furthermore, although 
aspects of the present invention are described as being stored 
in memory and other storage mediums, one skilled in the art 
Will appreciate that these aspects can also be stored on or 
read from other types of computer-readable media, such as 
secondary storage devices, like hard disks, ?oppy disks, or 
CD-ROM; a carrier Wave from the Internet; or other forms 
of RAM or ROM. Accordingly, the invention is not limited 
to the above-described embodiments, but instead is de?ned 
by the appended claims in light of their full scope of 
equivalents. 
What is claimed is: 
1. A method of performing netWork communications, 
comprising: 
receiving a datagram for transmitting information over a 
netWork; 
selecting a layer in a netWork protocol stack to establish 
communication over the netWork using an inner layer 
application programming interface (IL API);
US 6,845,397 B1 
7 
establishing an inner layer socket at the selected network 
layer using the ILAPI Without accessing other layers in 
the layered network protocol stack; and 
transmitting the datagram packet over the selected layer 
using the inner layer socket. 
2. The method of claim 1, Wherein selecting a layer in a 
netWork protocol stack further includes determining if the 
information produced at a layer in the netWork protocol 
stack corresponds to the information being transmitted 
through the datagram. 
3. The method of claim 1, Wherein the IL API provides a 
transport socket to access transport layer information in the 
netWork protocol, a netWork socket to access netWork layer 
information in the netWork protocol, and a link socket to 
access link layer information in the netWork protocol. 
4. The method of claim 1, Wherein the IL API provides a 
different socket communication interface for each layer of 
communication available in the netWork protocol. 
5. The method of claim 1, Wherein said datagram includes 
header information associated With a transport layer for 
communication over a transport socket. 
6. The method of claim 5, Wherein the netWork protocol 
stack is compatible With TCP/IP and the transport socket 
uses a TCP or UDP transport layer protocol. 
7. The method of claim 1, Wherein said datagram includes 
header information associated With a netWork layer for 
communication over a netWork socket. 
8. The method of claim 7, Wherein the netWork protocol 
is compatible With TCP/IP and the netWork socket uses the 
IP netWork layer protocol. 
9. The method of claim 1, Wherein said datagram includes 
header information associated With a link layer for commu 
nication over a link socket. 
10. The method of claim 9, Wherein the netWork protocol 
is compatible With TCP/IP and the link socket uses a link 
layer protocol. 
11. The method of claim 1, Wherein an application com 
municates With the IL API using object-oriented instructions 
and the IL API interfaces With the netWork protocol through 
instructions executable on a virtual-machine compatible 
With the netWork protocol stack. 
12. The method of claim 11, Wherein the object-oriented 
instructions are compatible With the Java programming 
language. 
13. An apparatus for performing netWork communication, 
comprising: 
a processor; 
a memory for storing instructions When executed on the 
processor that causes the processor to, 
receiving a datagram for transmitting information over a 
netWork; 
selecting a layer in a netWork protocol stack to establish 
communication over the netWork using an inner layer 
application programming interface (IL API); 
establishing an inner layer socket at the selected netWork 
layer using the ILAPI Without accessing other layers in 
the layered netWork protocol stack; and 
transmitting the datagram packet over the selected layer 
using the inner layer socket. 
14. The apparatus of claim 13, Wherein instructions that 
select a layer in a netWork protocol stack further include 
instructions that determine if the information produced at a 
particular layer in the netWork protocol stack corresponds to 
the desired information available through the netWork pro 
tocol. 
15 
25 
35 
40 
45 
55 
8 
15. The apparatus of claim 13, Wherein instructions in the 
IL API provides a transport socket to access transport layer 
information in the netWork protocol, a netWork socket to 
access netWork layer information in the netWork protocol, 
and a link socket to access link layer information in the 
netWork protocol. 
16. The apparatus of claim 13, Wherein instructions in the 
IL API provides a different socket communication interface 
for each layer of communication available in the netWork 
protocol. 
17. The apparatus of claim 13, Wherein said datagram 
includes header information associated With a transport layer 
for communication over a transport socket. 
18. The apparatus of claim 17, Wherein the netWork 
protocol stack is compatible With TCP/IP and the transport 
socket uses either TCP or UDP transport layer protocol. 
19. The apparatus of claim 13, Wherein said datagram 
includes header information associated With a netWork layer 
for communication over a netWork socket. 
20. The apparatus of claim 19, Wherein the netWork 
protocol is compatible With TCP/IP and the netWork socket 
uses an IP netWork layer protocol. 
21. The apparatus of claim 13, Wherein said datagram 
includes header information associated With a link layer for 
communication over a link socket. 
22. The apparatus of claim 21, Wherein the netWork 
protocol is compatible With TCP/IP and the link socket uses 
a link layer protocol. 
23. The apparatus of claim 13, further including instruc 
tions in an application that communicate With the IL API 
using object-oriented instructions and Wherein the IL API 
interfaces With the netWork protocol through instructions 
executable on a virtual-machine compatible With the net 
Work protocol stack. 
24. The apparatus of claim 23, Wherein the object 
oriented instructions are compatible With the Java program 
ming language. 
25. An apparatus for performing netWork communication, 
comprising: 
means for receiving a datagram for transmitting informa 
tion over a netWork; 
means for selecting a layer in a netWork protocol stack to 
establish communication over the netWork using an 
inner layer application programming interface (IL 
API); 
means for establishing an inner layer socket at the 
selected netWork layer using the IL API Without access 
ing other layers in the layered netWork protocol stack; 
and 
means for transmitting the datagram packet over the 
selected layer using the inner layer socket. 
26. A computer program, tangibly stored on a computer 
readable medium, comprising instructions for performing 
netWork communication When executed on a processor, by: 
receiving a datagram for transmitting information over a 
netWork; 
selecting a layer in a netWork protocol stack to establish 
communication over the netWork using an inner layer 
application programming interface (IL API); 
establishing an inner layer socket at the selected netWork 
layer using the IL API Without accessing other layers in 
the layered netWork protocol stack; and 
transmitting the datagram packet over the selected layer 
using the inner layer socket. 
* * * * *

More Related Content

What's hot

CCNA RS_NB - Chapter 6
CCNA RS_NB - Chapter 6CCNA RS_NB - Chapter 6
CCNA RS_NB - Chapter 6Irsandi Hasan
 
CCNA RS_ITN - Chapter 3
CCNA RS_ITN - Chapter 3CCNA RS_ITN - Chapter 3
CCNA RS_ITN - Chapter 3Irsandi Hasan
 
Addressing the Network – IPv4
Addressing the Network – IPv4Addressing the Network – IPv4
Addressing the Network – IPv4Sachii Dosti
 
CCNAv5 - S1: Chapter 5 - Ethernet
CCNAv5 - S1: Chapter 5 - EthernetCCNAv5 - S1: Chapter 5 - Ethernet
CCNAv5 - S1: Chapter 5 - EthernetVuz Dở Hơi
 
Ccna v5-S1-Chapter 5
Ccna v5-S1-Chapter 5Ccna v5-S1-Chapter 5
Ccna v5-S1-Chapter 5Hamza Malik
 
Ccna v5-S1-Chapter 4
Ccna v5-S1-Chapter 4Ccna v5-S1-Chapter 4
Ccna v5-S1-Chapter 4Hamza Malik
 
CCNA 1 Routing and Switching v5.0 Chapter 2
CCNA 1 Routing and Switching v5.0 Chapter 2CCNA 1 Routing and Switching v5.0 Chapter 2
CCNA 1 Routing and Switching v5.0 Chapter 2Nil Menon
 
ccna 1 v5.0 itn practice final exam answers
ccna 1 v5.0 itn practice final exam answersccna 1 v5.0 itn practice final exam answers
ccna 1 v5.0 itn practice final exam answersĐồng Quốc Vương
 
CCNA 1 Routing and Switching v5.0 Chapter 3
CCNA 1 Routing and Switching v5.0 Chapter 3CCNA 1 Routing and Switching v5.0 Chapter 3
CCNA 1 Routing and Switching v5.0 Chapter 3Nil Menon
 
Ccna 1 practice final exam answer v5
Ccna 1 practice final exam answer v5Ccna 1 practice final exam answer v5
Ccna 1 practice final exam answer v5friv4schoolgames
 
Ccna v5-S1-Chapter 7
Ccna v5-S1-Chapter 7Ccna v5-S1-Chapter 7
Ccna v5-S1-Chapter 7Hamza Malik
 
CCNA RS_NB - Chapter 11
CCNA RS_NB - Chapter 11CCNA RS_NB - Chapter 11
CCNA RS_NB - Chapter 11Irsandi Hasan
 
CCNA 1 Routing and Switching v5.0 Chapter 7
CCNA 1 Routing and Switching v5.0 Chapter 7CCNA 1 Routing and Switching v5.0 Chapter 7
CCNA 1 Routing and Switching v5.0 Chapter 7Nil Menon
 
Five Port Router Architecture
Five Port Router ArchitectureFive Port Router Architecture
Five Port Router Architectureijsrd.com
 
CCNA RS_NB - Chapter 5
CCNA RS_NB - Chapter 5CCNA RS_NB - Chapter 5
CCNA RS_NB - Chapter 5Irsandi Hasan
 
CCNA 1 Routing and Switching v5.0 Chapter 8
CCNA 1 Routing and Switching v5.0 Chapter 8CCNA 1 Routing and Switching v5.0 Chapter 8
CCNA 1 Routing and Switching v5.0 Chapter 8Nil Menon
 

What's hot (20)

CCNA RS_NB - Chapter 6
CCNA RS_NB - Chapter 6CCNA RS_NB - Chapter 6
CCNA RS_NB - Chapter 6
 
CCNA RS_ITN - Chapter 3
CCNA RS_ITN - Chapter 3CCNA RS_ITN - Chapter 3
CCNA RS_ITN - Chapter 3
 
Addressing the Network – IPv4
Addressing the Network – IPv4Addressing the Network – IPv4
Addressing the Network – IPv4
 
CCNAv5 - S1: Chapter 5 - Ethernet
CCNAv5 - S1: Chapter 5 - EthernetCCNAv5 - S1: Chapter 5 - Ethernet
CCNAv5 - S1: Chapter 5 - Ethernet
 
GREAT MINDS
GREAT MINDSGREAT MINDS
GREAT MINDS
 
Ccna v5-S1-Chapter 5
Ccna v5-S1-Chapter 5Ccna v5-S1-Chapter 5
Ccna v5-S1-Chapter 5
 
Ccna v5-S1-Chapter 4
Ccna v5-S1-Chapter 4Ccna v5-S1-Chapter 4
Ccna v5-S1-Chapter 4
 
Cisco CCNA module 1
Cisco CCNA module 1Cisco CCNA module 1
Cisco CCNA module 1
 
CCNA 1 Routing and Switching v5.0 Chapter 2
CCNA 1 Routing and Switching v5.0 Chapter 2CCNA 1 Routing and Switching v5.0 Chapter 2
CCNA 1 Routing and Switching v5.0 Chapter 2
 
ccna 1 v5.0 itn practice final exam answers
ccna 1 v5.0 itn practice final exam answersccna 1 v5.0 itn practice final exam answers
ccna 1 v5.0 itn practice final exam answers
 
CCNA Chapter1
CCNA Chapter1CCNA Chapter1
CCNA Chapter1
 
CCNA 1 Routing and Switching v5.0 Chapter 3
CCNA 1 Routing and Switching v5.0 Chapter 3CCNA 1 Routing and Switching v5.0 Chapter 3
CCNA 1 Routing and Switching v5.0 Chapter 3
 
Ccna 1 practice final exam answer v5
Ccna 1 practice final exam answer v5Ccna 1 practice final exam answer v5
Ccna 1 practice final exam answer v5
 
Ccna v5-S1-Chapter 7
Ccna v5-S1-Chapter 7Ccna v5-S1-Chapter 7
Ccna v5-S1-Chapter 7
 
CCNA RS_NB - Chapter 11
CCNA RS_NB - Chapter 11CCNA RS_NB - Chapter 11
CCNA RS_NB - Chapter 11
 
CCNA 1 Routing and Switching v5.0 Chapter 7
CCNA 1 Routing and Switching v5.0 Chapter 7CCNA 1 Routing and Switching v5.0 Chapter 7
CCNA 1 Routing and Switching v5.0 Chapter 7
 
CCNA Quick Notes
CCNA Quick NotesCCNA Quick Notes
CCNA Quick Notes
 
Five Port Router Architecture
Five Port Router ArchitectureFive Port Router Architecture
Five Port Router Architecture
 
CCNA RS_NB - Chapter 5
CCNA RS_NB - Chapter 5CCNA RS_NB - Chapter 5
CCNA RS_NB - Chapter 5
 
CCNA 1 Routing and Switching v5.0 Chapter 8
CCNA 1 Routing and Switching v5.0 Chapter 8CCNA 1 Routing and Switching v5.0 Chapter 8
CCNA 1 Routing and Switching v5.0 Chapter 8
 

Viewers also liked

Treasury reform in_nepal_a_case_for_government_credibility-baburam_subedi_en
Treasury reform in_nepal_a_case_for_government_credibility-baburam_subedi_enTreasury reform in_nepal_a_case_for_government_credibility-baburam_subedi_en
Treasury reform in_nepal_a_case_for_government_credibility-baburam_subedi_enicgfmconference
 
Running PHP on Windows Technical Overview
Running PHP on Windows Technical OverviewRunning PHP on Windows Technical Overview
Running PHP on Windows Technical OverviewWes Yanaga
 
Terra thane saves pepsi spills
Terra thane saves pepsi spillsTerra thane saves pepsi spills
Terra thane saves pepsi spillspburchett
 
My dream holidays
My dream holidaysMy dream holidays
My dream holidaysJH4
 
The Cambridge 23 Things programme - presentation to EBSLG
The Cambridge 23 Things programme - presentation to EBSLGThe Cambridge 23 Things programme - presentation to EBSLG
The Cambridge 23 Things programme - presentation to EBSLGpriestcam
 
4.3 solving quadratic equations by completing the square
4.3   solving quadratic equations by completing the square4.3   solving quadratic equations by completing the square
4.3 solving quadratic equations by completing the squareGary Ball
 
Why care about mobile? And what is Windows Phone 7?
Why care about mobile? And what is Windows Phone 7?Why care about mobile? And what is Windows Phone 7?
Why care about mobile? And what is Windows Phone 7?Matt Lacey
 
Ancient Civilizations
Ancient CivilizationsAncient Civilizations
Ancient CivilizationsRey Belen
 
3.3 methods of finding limits
3.3   methods of finding limits3.3   methods of finding limits
3.3 methods of finding limitsGary Ball
 
Dynamic Assignment of Traffic Classes to a Priority Queue in a Packet Forward...
Dynamic Assignment of Traffic Classes to a Priority Queue in a Packet Forward...Dynamic Assignment of Traffic Classes to a Priority Queue in a Packet Forward...
Dynamic Assignment of Traffic Classes to a Priority Queue in a Packet Forward...Tal Lavian Ph.D.
 
SEND | Proteggere la loyalty monitorando la qualità della relazione post-acqu...
SEND | Proteggere la loyalty monitorando la qualità della relazione post-acqu...SEND | Proteggere la loyalty monitorando la qualità della relazione post-acqu...
SEND | Proteggere la loyalty monitorando la qualità della relazione post-acqu...Contactlab
 
Radio Festival Master
Radio Festival MasterRadio Festival Master
Radio Festival Mastercarriewallder
 
Systems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menuSystems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menuTal Lavian Ph.D.
 
Developing Apps for Chinese Android users
Developing Apps for Chinese Android usersDeveloping Apps for Chinese Android users
Developing Apps for Chinese Android usersjunyu
 
BTO 2014 - Comunicare con gli utenti via email
BTO 2014 - Comunicare con gli utenti via emailBTO 2014 - Comunicare con gli utenti via email
BTO 2014 - Comunicare con gli utenti via emailContactlab
 
SEND | Customer Lifecycle: strategia globale, declinazione locale e il punto ...
SEND | Customer Lifecycle: strategia globale, declinazione locale e il punto ...SEND | Customer Lifecycle: strategia globale, declinazione locale e il punto ...
SEND | Customer Lifecycle: strategia globale, declinazione locale e il punto ...Contactlab
 
Go green november 2011
Go green november 2011Go green november 2011
Go green november 2011gmasky
 

Viewers also liked (20)

Treasury reform in_nepal_a_case_for_government_credibility-baburam_subedi_en
Treasury reform in_nepal_a_case_for_government_credibility-baburam_subedi_enTreasury reform in_nepal_a_case_for_government_credibility-baburam_subedi_en
Treasury reform in_nepal_a_case_for_government_credibility-baburam_subedi_en
 
Rspac Presentation Eng
Rspac Presentation EngRspac Presentation Eng
Rspac Presentation Eng
 
Running PHP on Windows Technical Overview
Running PHP on Windows Technical OverviewRunning PHP on Windows Technical Overview
Running PHP on Windows Technical Overview
 
Terra thane saves pepsi spills
Terra thane saves pepsi spillsTerra thane saves pepsi spills
Terra thane saves pepsi spills
 
My dream holidays
My dream holidaysMy dream holidays
My dream holidays
 
The Cambridge 23 Things programme - presentation to EBSLG
The Cambridge 23 Things programme - presentation to EBSLGThe Cambridge 23 Things programme - presentation to EBSLG
The Cambridge 23 Things programme - presentation to EBSLG
 
4.3 solving quadratic equations by completing the square
4.3   solving quadratic equations by completing the square4.3   solving quadratic equations by completing the square
4.3 solving quadratic equations by completing the square
 
Health Insurance Information
Health Insurance InformationHealth Insurance Information
Health Insurance Information
 
Why care about mobile? And what is Windows Phone 7?
Why care about mobile? And what is Windows Phone 7?Why care about mobile? And what is Windows Phone 7?
Why care about mobile? And what is Windows Phone 7?
 
Ancient Civilizations
Ancient CivilizationsAncient Civilizations
Ancient Civilizations
 
3.3 methods of finding limits
3.3   methods of finding limits3.3   methods of finding limits
3.3 methods of finding limits
 
Dynamic Assignment of Traffic Classes to a Priority Queue in a Packet Forward...
Dynamic Assignment of Traffic Classes to a Priority Queue in a Packet Forward...Dynamic Assignment of Traffic Classes to a Priority Queue in a Packet Forward...
Dynamic Assignment of Traffic Classes to a Priority Queue in a Packet Forward...
 
SEND | Proteggere la loyalty monitorando la qualità della relazione post-acqu...
SEND | Proteggere la loyalty monitorando la qualità della relazione post-acqu...SEND | Proteggere la loyalty monitorando la qualità della relazione post-acqu...
SEND | Proteggere la loyalty monitorando la qualità della relazione post-acqu...
 
Radio Festival Master
Radio Festival MasterRadio Festival Master
Radio Festival Master
 
Systems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menuSystems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menu
 
Developing Apps for Chinese Android users
Developing Apps for Chinese Android usersDeveloping Apps for Chinese Android users
Developing Apps for Chinese Android users
 
BTO 2014 - Comunicare con gli utenti via email
BTO 2014 - Comunicare con gli utenti via emailBTO 2014 - Comunicare con gli utenti via email
BTO 2014 - Comunicare con gli utenti via email
 
SEND | Customer Lifecycle: strategia globale, declinazione locale e il punto ...
SEND | Customer Lifecycle: strategia globale, declinazione locale e il punto ...SEND | Customer Lifecycle: strategia globale, declinazione locale e il punto ...
SEND | Customer Lifecycle: strategia globale, declinazione locale e il punto ...
 
Go green november 2011
Go green november 2011Go green november 2011
Go green november 2011
 
ระเบียบ
ระเบียบระเบียบ
ระเบียบ
 

Similar to Interface method and system for accessing inner layers of a network protocol

02 PO_BT1005_C01_0 TCPIP Basis (2).pdf
02 PO_BT1005_C01_0 TCPIP Basis (2).pdf02 PO_BT1005_C01_0 TCPIP Basis (2).pdf
02 PO_BT1005_C01_0 TCPIP Basis (2).pdfNguynTy5
 
Programmable command-line interface API for managing operation of a network d...
Programmable command-line interface API for managing operation of a network d...Programmable command-line interface API for managing operation of a network d...
Programmable command-line interface API for managing operation of a network d...Tal Lavian Ph.D.
 
Cisco Certified Network Associate
Cisco Certified Network AssociateCisco Certified Network Associate
Cisco Certified Network AssociateSumit K Das
 
Content-aware dynamic network resource allocation
Content-aware dynamic network resource allocationContent-aware dynamic network resource allocation
Content-aware dynamic network resource allocationTal Lavian Ph.D.
 
Serial interface module for ethernet based applications
Serial interface module for ethernet based applicationsSerial interface module for ethernet based applications
Serial interface module for ethernet based applicationseSAT Journals
 
Method and apparatus for intelligent management of a network element
Method and apparatus for intelligent management of a network elementMethod and apparatus for intelligent management of a network element
Method and apparatus for intelligent management of a network elementTal Lavian Ph.D.
 
Unit 3 Assignment 1 Osi Model
Unit 3 Assignment 1 Osi ModelUnit 3 Assignment 1 Osi Model
Unit 3 Assignment 1 Osi ModelJacqueline Thomas
 
pppppppppppppppppjjjjjjjjjjjpppppppp.pptx
pppppppppppppppppjjjjjjjjjjjpppppppp.pptxpppppppppppppppppjjjjjjjjjjjpppppppp.pptx
pppppppppppppppppjjjjjjjjjjjpppppppp.pptxzeyadosama505
 
BSA 385 Week 3 Individual Assignment Essay
BSA 385 Week 3 Individual Assignment EssayBSA 385 Week 3 Individual Assignment Essay
BSA 385 Week 3 Individual Assignment EssayTara Smith
 
Method and apparatus for intelligent management of a network element
Method and apparatus for intelligent management of a network elementMethod and apparatus for intelligent management of a network element
Method and apparatus for intelligent management of a network elementTal Lavian Ph.D.
 
Implementation of Steganographic Method Based on IPv4 Identification Field ov...
Implementation of Steganographic Method Based on IPv4 Identification Field ov...Implementation of Steganographic Method Based on IPv4 Identification Field ov...
Implementation of Steganographic Method Based on IPv4 Identification Field ov...IJERA Editor
 
WAN & LAN Cluster with Diagrams and OSI explanation
WAN & LAN Cluster with Diagrams and OSI explanationWAN & LAN Cluster with Diagrams and OSI explanation
WAN & LAN Cluster with Diagrams and OSI explanationJonathan Reid
 
Introduction to VIP with PCI Express Technology
Introduction to VIP with PCI Express TechnologyIntroduction to VIP with PCI Express Technology
Introduction to VIP with PCI Express Technologyijsrd.com
 
Content-aware dynamic network resource allocation
Content-aware dynamic network resource allocationContent-aware dynamic network resource allocation
Content-aware dynamic network resource allocationTal Lavian Ph.D.
 

Similar to Interface method and system for accessing inner layers of a network protocol (20)

02 PO_BT1005_C01_0 TCPIP Basis (2).pdf
02 PO_BT1005_C01_0 TCPIP Basis (2).pdf02 PO_BT1005_C01_0 TCPIP Basis (2).pdf
02 PO_BT1005_C01_0 TCPIP Basis (2).pdf
 
Ccna1 presentation
Ccna1 presentationCcna1 presentation
Ccna1 presentation
 
Programmable command-line interface API for managing operation of a network d...
Programmable command-line interface API for managing operation of a network d...Programmable command-line interface API for managing operation of a network d...
Programmable command-line interface API for managing operation of a network d...
 
CCNA project-report
CCNA project-reportCCNA project-report
CCNA project-report
 
Cisco Certified Network Associate
Cisco Certified Network AssociateCisco Certified Network Associate
Cisco Certified Network Associate
 
Content-aware dynamic network resource allocation
Content-aware dynamic network resource allocationContent-aware dynamic network resource allocation
Content-aware dynamic network resource allocation
 
Serial interface module for ethernet based applications
Serial interface module for ethernet based applicationsSerial interface module for ethernet based applications
Serial interface module for ethernet based applications
 
Digital network lecturer2
Digital network  lecturer2Digital network  lecturer2
Digital network lecturer2
 
Method and apparatus for intelligent management of a network element
Method and apparatus for intelligent management of a network elementMethod and apparatus for intelligent management of a network element
Method and apparatus for intelligent management of a network element
 
Unit 3 Assignment 1 Osi Model
Unit 3 Assignment 1 Osi ModelUnit 3 Assignment 1 Osi Model
Unit 3 Assignment 1 Osi Model
 
Ccna introduction
Ccna introductionCcna introduction
Ccna introduction
 
pppppppppppppppppjjjjjjjjjjjpppppppp.pptx
pppppppppppppppppjjjjjjjjjjjpppppppp.pptxpppppppppppppppppjjjjjjjjjjjpppppppp.pptx
pppppppppppppppppjjjjjjjjjjjpppppppp.pptx
 
Final project report
Final project reportFinal project report
Final project report
 
BSA 385 Week 3 Individual Assignment Essay
BSA 385 Week 3 Individual Assignment EssayBSA 385 Week 3 Individual Assignment Essay
BSA 385 Week 3 Individual Assignment Essay
 
Method and apparatus for intelligent management of a network element
Method and apparatus for intelligent management of a network elementMethod and apparatus for intelligent management of a network element
Method and apparatus for intelligent management of a network element
 
Implementation of Steganographic Method Based on IPv4 Identification Field ov...
Implementation of Steganographic Method Based on IPv4 Identification Field ov...Implementation of Steganographic Method Based on IPv4 Identification Field ov...
Implementation of Steganographic Method Based on IPv4 Identification Field ov...
 
Network Layer by-adeel
Network Layer by-adeelNetwork Layer by-adeel
Network Layer by-adeel
 
WAN & LAN Cluster with Diagrams and OSI explanation
WAN & LAN Cluster with Diagrams and OSI explanationWAN & LAN Cluster with Diagrams and OSI explanation
WAN & LAN Cluster with Diagrams and OSI explanation
 
Introduction to VIP with PCI Express Technology
Introduction to VIP with PCI Express TechnologyIntroduction to VIP with PCI Express Technology
Introduction to VIP with PCI Express Technology
 
Content-aware dynamic network resource allocation
Content-aware dynamic network resource allocationContent-aware dynamic network resource allocation
Content-aware dynamic network resource allocation
 

More from Tal Lavian Ph.D.

Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerTal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerTal Lavian Ph.D.
 
Photonic line sharing for high-speed routers
Photonic line sharing for high-speed routersPhotonic line sharing for high-speed routers
Photonic line sharing for high-speed routersTal Lavian Ph.D.
 
Systems and methods to support sharing and exchanging in a network
Systems and methods to support sharing and exchanging in a networkSystems and methods to support sharing and exchanging in a network
Systems and methods to support sharing and exchanging in a networkTal Lavian Ph.D.
 
Systems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menuSystems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menuTal Lavian Ph.D.
 
Grid proxy architecture for network resources
Grid proxy architecture for network resourcesGrid proxy architecture for network resources
Grid proxy architecture for network resourcesTal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerTal Lavian Ph.D.
 
Systems and methods for electronic communications
Systems and methods for electronic communicationsSystems and methods for electronic communications
Systems and methods for electronic communicationsTal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerTal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerTal Lavian Ph.D.
 
Radar target detection system for autonomous vehicles with ultra-low phase no...
Radar target detection system for autonomous vehicles with ultra-low phase no...Radar target detection system for autonomous vehicles with ultra-low phase no...
Radar target detection system for autonomous vehicles with ultra-low phase no...Tal Lavian Ph.D.
 
Grid proxy architecture for network resources
Grid proxy architecture for network resourcesGrid proxy architecture for network resources
Grid proxy architecture for network resourcesTal Lavian Ph.D.
 
Method and apparatus for scheduling resources on a switched underlay network
Method and apparatus for scheduling resources on a switched underlay networkMethod and apparatus for scheduling resources on a switched underlay network
Method and apparatus for scheduling resources on a switched underlay networkTal Lavian Ph.D.
 
Dynamic assignment of traffic classes to a priority queue in a packet forward...
Dynamic assignment of traffic classes to a priority queue in a packet forward...Dynamic assignment of traffic classes to a priority queue in a packet forward...
Dynamic assignment of traffic classes to a priority queue in a packet forward...Tal Lavian Ph.D.
 
Method and apparatus for using a command design pattern to access and configu...
Method and apparatus for using a command design pattern to access and configu...Method and apparatus for using a command design pattern to access and configu...
Method and apparatus for using a command design pattern to access and configu...Tal Lavian Ph.D.
 
Reliable rating system and method thereof
Reliable rating system and method thereofReliable rating system and method thereof
Reliable rating system and method thereofTal Lavian Ph.D.
 
Time variant rating system and method thereof
Time variant rating system and method thereofTime variant rating system and method thereof
Time variant rating system and method thereofTal Lavian Ph.D.
 
Systems and methods for visual presentation and selection of ivr menu
Systems and methods for visual presentation and selection of ivr menuSystems and methods for visual presentation and selection of ivr menu
Systems and methods for visual presentation and selection of ivr menuTal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerTal Lavian Ph.D.
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerTal Lavian Ph.D.
 

More from Tal Lavian Ph.D. (20)

Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Photonic line sharing for high-speed routers
Photonic line sharing for high-speed routersPhotonic line sharing for high-speed routers
Photonic line sharing for high-speed routers
 
Systems and methods to support sharing and exchanging in a network
Systems and methods to support sharing and exchanging in a networkSystems and methods to support sharing and exchanging in a network
Systems and methods to support sharing and exchanging in a network
 
Systems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menuSystems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menu
 
Grid proxy architecture for network resources
Grid proxy architecture for network resourcesGrid proxy architecture for network resources
Grid proxy architecture for network resources
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Systems and methods for electronic communications
Systems and methods for electronic communicationsSystems and methods for electronic communications
Systems and methods for electronic communications
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Radar target detection system for autonomous vehicles with ultra-low phase no...
Radar target detection system for autonomous vehicles with ultra-low phase no...Radar target detection system for autonomous vehicles with ultra-low phase no...
Radar target detection system for autonomous vehicles with ultra-low phase no...
 
Grid proxy architecture for network resources
Grid proxy architecture for network resourcesGrid proxy architecture for network resources
Grid proxy architecture for network resources
 
Method and apparatus for scheduling resources on a switched underlay network
Method and apparatus for scheduling resources on a switched underlay networkMethod and apparatus for scheduling resources on a switched underlay network
Method and apparatus for scheduling resources on a switched underlay network
 
Dynamic assignment of traffic classes to a priority queue in a packet forward...
Dynamic assignment of traffic classes to a priority queue in a packet forward...Dynamic assignment of traffic classes to a priority queue in a packet forward...
Dynamic assignment of traffic classes to a priority queue in a packet forward...
 
Method and apparatus for using a command design pattern to access and configu...
Method and apparatus for using a command design pattern to access and configu...Method and apparatus for using a command design pattern to access and configu...
Method and apparatus for using a command design pattern to access and configu...
 
Reliable rating system and method thereof
Reliable rating system and method thereofReliable rating system and method thereof
Reliable rating system and method thereof
 
Time variant rating system and method thereof
Time variant rating system and method thereofTime variant rating system and method thereof
Time variant rating system and method thereof
 
Systems and methods for visual presentation and selection of ivr menu
Systems and methods for visual presentation and selection of ivr menuSystems and methods for visual presentation and selection of ivr menu
Systems and methods for visual presentation and selection of ivr menu
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizerUltra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
 

Recently uploaded

Gaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service GayaGaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service Gayasrsj9000
 
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,Pooja Nehwal
 
Call Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile serviceCall Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile servicerehmti665
 
Low Rate Call Girls Nashik Vedika 7001305949 Independent Escort Service Nashik
Low Rate Call Girls Nashik Vedika 7001305949 Independent Escort Service NashikLow Rate Call Girls Nashik Vedika 7001305949 Independent Escort Service Nashik
Low Rate Call Girls Nashik Vedika 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Thane Escorts, (Pooja 09892124323), Thane Call Girls
Thane Escorts, (Pooja 09892124323), Thane Call GirlsThane Escorts, (Pooja 09892124323), Thane Call Girls
Thane Escorts, (Pooja 09892124323), Thane Call GirlsPooja Nehwal
 
Pallawi 9167673311 Call Girls in Thane , Independent Escort Service Thane
Pallawi 9167673311  Call Girls in Thane , Independent Escort Service ThanePallawi 9167673311  Call Girls in Thane , Independent Escort Service Thane
Pallawi 9167673311 Call Girls in Thane , Independent Escort Service ThanePooja Nehwal
 
VIP Call Girl Saharanpur Aashi 8250192130 Independent Escort Service Saharanpur
VIP Call Girl Saharanpur Aashi 8250192130 Independent Escort Service SaharanpurVIP Call Girl Saharanpur Aashi 8250192130 Independent Escort Service Saharanpur
VIP Call Girl Saharanpur Aashi 8250192130 Independent Escort Service SaharanpurSuhani Kapoor
 
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...nagunakhan
 
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一ga6c6bdl
 
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
9892124323, Call Girl in Juhu Call Girls Services (Rate ₹8.5K) 24×7 with Hote...
9892124323, Call Girl in Juhu Call Girls Services (Rate ₹8.5K) 24×7 with Hote...9892124323, Call Girl in Juhu Call Girls Services (Rate ₹8.5K) 24×7 with Hote...
9892124323, Call Girl in Juhu Call Girls Services (Rate ₹8.5K) 24×7 with Hote...Pooja Nehwal
 
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...Pooja Nehwal
 
Beautiful Sapna Call Girls CP 9711199012 ☎ Call /Whatsapps
Beautiful Sapna Call Girls CP 9711199012 ☎ Call /WhatsappsBeautiful Sapna Call Girls CP 9711199012 ☎ Call /Whatsapps
Beautiful Sapna Call Girls CP 9711199012 ☎ Call /Whatsappssapnasaifi408
 
9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...Pooja Nehwal
 
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...ranjana rawat
 
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...Suhani Kapoor
 
Dubai Call Girls O528786472 Call Girls In Dubai Wisteria
Dubai Call Girls O528786472 Call Girls In Dubai WisteriaDubai Call Girls O528786472 Call Girls In Dubai Wisteria
Dubai Call Girls O528786472 Call Girls In Dubai WisteriaUnited Arab Emirates
 
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Call Girls in Nagpur High Profile
 
Top Rated Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Call Girls in Nagpur High Profile
 
Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...
Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...
Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...nagunakhan
 

Recently uploaded (20)

Gaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service GayaGaya Call Girls #9907093804 Contact Number Escorts Service Gaya
Gaya Call Girls #9907093804 Contact Number Escorts Service Gaya
 
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
Call Girls In Andheri East Call 9892124323 Book Hot And Sexy Girls,
 
Call Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile serviceCall Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile service
 
Low Rate Call Girls Nashik Vedika 7001305949 Independent Escort Service Nashik
Low Rate Call Girls Nashik Vedika 7001305949 Independent Escort Service NashikLow Rate Call Girls Nashik Vedika 7001305949 Independent Escort Service Nashik
Low Rate Call Girls Nashik Vedika 7001305949 Independent Escort Service Nashik
 
Thane Escorts, (Pooja 09892124323), Thane Call Girls
Thane Escorts, (Pooja 09892124323), Thane Call GirlsThane Escorts, (Pooja 09892124323), Thane Call Girls
Thane Escorts, (Pooja 09892124323), Thane Call Girls
 
Pallawi 9167673311 Call Girls in Thane , Independent Escort Service Thane
Pallawi 9167673311  Call Girls in Thane , Independent Escort Service ThanePallawi 9167673311  Call Girls in Thane , Independent Escort Service Thane
Pallawi 9167673311 Call Girls in Thane , Independent Escort Service Thane
 
VIP Call Girl Saharanpur Aashi 8250192130 Independent Escort Service Saharanpur
VIP Call Girl Saharanpur Aashi 8250192130 Independent Escort Service SaharanpurVIP Call Girl Saharanpur Aashi 8250192130 Independent Escort Service Saharanpur
VIP Call Girl Saharanpur Aashi 8250192130 Independent Escort Service Saharanpur
 
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
 
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
 
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(PARI) Alandi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
9892124323, Call Girl in Juhu Call Girls Services (Rate ₹8.5K) 24×7 with Hote...
9892124323, Call Girl in Juhu Call Girls Services (Rate ₹8.5K) 24×7 with Hote...9892124323, Call Girl in Juhu Call Girls Services (Rate ₹8.5K) 24×7 with Hote...
9892124323, Call Girl in Juhu Call Girls Services (Rate ₹8.5K) 24×7 with Hote...
 
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
9892124323 Pooja Nehwal Call Girls Services Call Girls service in Santacruz A...
 
Beautiful Sapna Call Girls CP 9711199012 ☎ Call /Whatsapps
Beautiful Sapna Call Girls CP 9711199012 ☎ Call /WhatsappsBeautiful Sapna Call Girls CP 9711199012 ☎ Call /Whatsapps
Beautiful Sapna Call Girls CP 9711199012 ☎ Call /Whatsapps
 
9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...9004554577, Get Adorable Call Girls service. Book call girls & escort service...
9004554577, Get Adorable Call Girls service. Book call girls & escort service...
 
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
(MEGHA) Hinjewadi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune E...
 
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
VIP Call Girls Kavuri Hills ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With ...
 
Dubai Call Girls O528786472 Call Girls In Dubai Wisteria
Dubai Call Girls O528786472 Call Girls In Dubai WisteriaDubai Call Girls O528786472 Call Girls In Dubai Wisteria
Dubai Call Girls O528786472 Call Girls In Dubai Wisteria
 
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Katraj ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 
Top Rated Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Chakan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 
Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...
Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...
Russian Call Girls In South Delhi Delhi 9711199012 💋✔💕😘 Independent Escorts D...
 

Interface method and system for accessing inner layers of a network protocol

  • 1. US006845397B1 (12) United States Patent (10) Patent N0.2 US 6,845,397 B1 Lavian et al. (45) Date 0f Patent: Jan. 18, 2005 (54) INTERFACE METHOD AND SYSTEM FOR (56) References Cited ACCESSING INNER LAYERS OF A NETWORK PROTOCOL U.S. PATENT DOCUMENTS _ 5,537,417 A * 7/1996 Sharma et al. ............ .. 709/228 (75) Inventorsi Ta] Isaac LaVlan,SunnYVa1@,CA(US); 6,678,246 B1 * 1/2004 Smyth ...................... .. 370/230 Robert James Duncan, San Francisco, CA (US); Robert F. J aeger, Silver * cited by examiner Spring, MD (US) Primary Examiner—Robert B. Harrell (73) Assignee: Nortel Networks Limited, Billerica, (74) Attorney, Agent, or Firm—Nortel Networks Limited MA (Us) (57) ABSTRACT * N ot1' ce: S u b'J ect to any 01'1 sc l a1' mer,t h e term 0 f t h'i s patent is extended or adjusted under 35 USC. 154(b) by 833 days. A method of performing netWork communications includes receiving a datagram for transmitting information over a network, selecting a layer in a netWork protocol stack to establish communication over the netWork using an inner (21) Appl- NO? 09/ 753,019 layer application programming interface (ILAPI), establish - _ ing an inner layer socket at the selected netWork layer using (22) Flled' Dec‘ 29’ 2000 the IL API Without accessing other layers in the layered (51) Int. Cl.7 .............................................. .. G06F 13/00 network protocol stack, and transmitting the datagram (52) ___________________ __ 709/230 packet over the selected layer using the inner layer socket. (58) Field of Search ............................... .. 709/200, 227, 709/228, 230, 231; 719/328; 370/229, 230 26 Claims, 5 Drawing Sheets ’ 300 y/ 312 314 302 316 / """"" “ ‘ ' ' ' ‘ ' _ ’ ' “ 05] Inner Layer : Application Application Layers 5 Application 7 1 Programming Interface ________________ u‘ (IL API) OSI { TOP /334 TCP UDP Layer ' Socket ,,,,, _, _____ __ / ,,,,,, 1i __________ 338 324/ 318 / 304 IP Link 320 Socket 336 Socket 306 / _, i . ‘ IICGMMP‘ P/ a , ip ARP RARP Loas3yl er ....... / / I J 324 322/ 326/ 328 308 --------- -- ‘ 08' L v 330 __VL4 Ph _ l 1-2a ver Data Link a = k 332 310 r Ethernet IP TCP Ethernet Header Header Header Trailer
  • 2. U.S. Patent Jan. 18,2005 Sheet 1 0f 5 US 6,845,397 B1 102 118 8 Transmit ____________ ____________ ___ Receive Application I . /- _ Application l ‘t l‘ _I 1041 ‘- 130 132 ,- 1120 k 1 ‘/ f ‘I ' / l TCP/UDP '1 x‘ 110 114 4/136 ,' TCP/UDP _ 1P i.‘ . ‘IP/ <— —> yIP .' IP _ ‘l ‘. .' 1 it, A i A it _' i j _ 106 i 134 112 116 _| 122 — i i v i v Data Link 1' Data Link Data Link ‘1 Data Link A i i 1 108 124 / v i 1 i 126 100/ FIG. 1
  • 3. U.S. Patent Jan. 18,2005 Sheet 2 0f 5 US 6,845,397 B1 202 Application 204 " Inner Layer API 206 210 Transport Layer Data Link Layer TCP UDP UDP FDDI Ethernet 212 / 214 / 216 / 2O8. 226228 Network Layer Appletalk IPv4 IPv6 lPX 218 / 220 /222 /224 / FIG. 2
  • 4. U.S. Patent Jan. 18,2005 Sheet 3 314 302 316 __________________________________________________________________________ ''' Inner Layer 3 Application Application Layers 5 Application _________________________________ “A ________________________ ___________ Programming Interface ................ (lL API) 05' TCP / 334 TCP UDP Layer ' Socket US 6,845,397 B1 /312 Ethernet Header Header Ethernet Trailer FIG. 3
  • 5. U.S. Patent Jan. 18,2005 Sheet 4 0f 5 US 6,845,397 B1 400 402 MEMORY 414 Application inner Layer APi Virtual Machine Runtime ‘418 inner Layer Extensions / / 420 404 422 EnvTiCrPo/nimpe nt 423 Processor Network Resources ' 424 Operating System 412 C New?“ _ Secondary Input-Output ommunication stora e Ports Port g 406 / 408 / 410 / FIG. 4
  • 6. U.S. Patent Jan. 18,2005 Sheet 5 0f 5 US 6,845,397 B1 Start D 502 Create Datagram For Transmission Over Network i 504 Select Network Layer To Establish Communication i 506 Open Socket At Selected Layer Of Network Protocol Using IL API i 508 Communicate At Selected Layer Using IL API Socket End 3 FIG. 5
  • 7. US 6,845,397 B1 1 INTERFACE METHOD AND SYSTEM FOR ACCESSING INNER LAYERS OFA NETWORK PROTOCOL FIELD OF THE INVENTION The present invention relates to the ?eld of computer data networking and an interface method and system for access ing inner layers of a network protocol. BACKGROUND OF THE INVENTION The use of layered data communications protocols pro motes system interoperability, vendor portability and sim plicity in system integration. Each protocol layer operates at a different layer of abstraction and performs different types of data manipulation and formatting. Because each layer is concerned With events at its oWn level of abstraction, different softWare designers can Work together to design the protocols. Layers of the netWork protocol can also be replaced individually Without signi?cant communication incompatibilities problems arising. The Internet Protocol (IP) stack is a Widely used layered communication protocol. Applications use the IP stack to transmit and receive data over a variety of different local and Wide area netWorks. Typically, a transmitting application passes application data to a transport layer in the IP stack, Which in turn adds routing information to the data and passes the results to a data link layer. The data link layer also adds additional header information and passes the resulting infor mation to a physical layer, Where it is ?nally transmitted over the netWork. A receiving application associated With a receiving IP stack receives and processes the information. Each layer of the receiving IP stack performs various communication functions and format conversions in reverse going from the physical layer, the data link layer, the netWork layer, the transport layer, and then to the receiving application. In a conventional netWork, applications send and receive mes sages from each other and use the IP stack as a conduit for data. NotWithstanding these messages, other information being transmitted betWeen the sending and receiving IP stacks is not typically made available to either the sending or receiving applications. While layered protocols such as used in a conventional IP stack have some advantages, they are have been obtained by loWering programmatic ?exibility. For example, application data is encapsulated With protocol-generated headers Whose content cannot be accessed and controlled by the application itself. Applications are masked from the inner operation of a netWork protocol and netWork operation. This in?exibility makes it dif?cult for an application to send data encapsulated With a non-standard header When required or monitor opera tion of the netWork. SUMMARY OF THE INVENTION A method of performing netWork communications includes receiving a datagram for transmitting information over a netWork, selecting a layer in a netWork protocol stack to establish communication over the netWork using an inner layer application programming interface (ILAPI), establish ing an inner layer socket at the selected netWork layer using the IL API Without accessing other layers in the layered netWork protocol stack, and transmitting the datagram packet over the selected layer using the inner layer socket. BRIEF DESCRIPTION OF THE DRAWINGS The features and aspects of the present invention Will become more fully apparent from the folloWing detailed description, appended claims, and accompanying draWings in which: 10 15 25 35 40 45 55 65 2 FIG. 1 is a block diagram illustrating a netWork using an inner layer application programming interface (IL API) to communicate betWeen nodes on the netWork. FIG. 2 is a block diagram demonstrating the various protocols an application can interface With using the IL API. FIG. 3 is a block diagram illustrating hoW the IL API Works to provide access to the Internet Protocol (IP) stack. FIG. 4. is a block diagram depicting a computer system that provides the IL API and IP stack to applications. FIG. 5 is a ?oW-chart diagram illustrating the operations associated With communicating over the IP stack using the IL API. DETAILED DESCRIPTION OF THE INVENTION FIG. 1 is a block diagram illustrating a netWork 100 using an inner layer application programming interface (ILAPI) to communicate betWeen nodes on netWork 100. NetWork 100 includes a transmit application 102 With a corresponding TCP/IP stack 104, a data link layer 106 and a inner layer application programming interface (IL API) 108 facilitating communication betWeen transmit application 102 and layers Within TCP/IP stack 104. Further, netWork 100 also includes a ?rst intermediate gateWay or router node represented by IP stack 1110 and data link layer 112 and a second intermediate gateWay or router node represented by IP stack 114 and data link layer 116. Receive application 118 in netWork 100 has a TCP/IP stack 120, data link layer 122 and a IL API 124. Physical connection 126 provides a connection to each of these nodes through their respective data link layers using a physical access protocol such as CSMA/CD. Conventional layered communications provides applica tions With application to application or peer-to-peer or communication capabilities. Information at the loWer layers of the protocol stack are masked from the application through abstract interfaces. This simpli?es netWork pro gramming over the IP stack but does not provide much ?exibility if access to these other layers is desired. IL API 108 and IL API 124 provides this communication capability to both transmit application 102 and receive application 118. For example, transmit application 102 and receive applica tion 118 have access to IP stack 110 and IP stack 114 directly using their respective IL API. Additionally, transmit appli cation 102 and receive application 118 also have access to other protocol layers using the ILAPI such as data link layer 112 and data link layer 116. FIG. 2 illustrates many different types of netWork infor mation available at these different layers in the protocol stack. This block diagram illustrates an application 202 passing through an IL API 204 to gain access to a transport layer 206, a netWork layer 208, and a data link layer 210. At transport layer 206, application 202 has access to the trans port protocols TCP 212, UDP 214, and other transport 216. TCP 212 or Transmission Control Protocol is a connection oriented protocol that provides a reliable, full-duplex, byte stream for a user process. Most conventional Internet appli cations use TCP 212 and alloW TCP 212 to interface With the IP layers beloW. UDP 212 or User Datagram Protocol is a connectionless protocol also for user processes, hoWever, it does not guarantee that UDP datagrams Will ever reach their intended destination. Because TCP and UDP both access the IP layer the protocol is often referred to as simply TCP/IP. NetWork layer 208 provides application 202 With access through IL API 204 to information carried over Appletalk 218, IPv4 220, IPv6 222, and IPX 224. These protocols provide packet delivery services and routing capabilities for
  • 8. US 6,845,397 B1 3 transport protocols such as TCP 212 and UDP 214. Net Works based on Appletalk 218 and IPX 224 can be integrated to Work With the TCP and UDP transport protocols. In addition, routers, sWitches, hubs and other netWork devices exchange status and netWork routing information describing netWork layer resources using ICMP (Internet Control Mes sage Protocool) and IGMP (Internet GateWay Message Protocol). Appletalk 218 provides packet delivery services primarily to computers designed by Apple Computer of Cupertino, Calif. IPv4 220 (version 4) provides 32-bit addresses and IPv6 222 (version 6) provides 64-bit addresses in the Internet Protocol (IP) de?ned in speci?ca tion DOD-STD-1777. Further references to the IP protocol include these additional protocols described above. Application 202 also has access to data link layer 210 through IL API 204. Fiber distributed data interface (FDDI) protocol 226 is a standard for data transmission on ?ber optic lines in a local area netWork that can extend in range up to 200 km (124 miles). FDDI protocol 226 is based on the token ring protocol and in addition can support thousands of users. In addition, application 202 can also access informa tion from Ethernet 228 through IL API 204. Ethernet 228 is the most Widely-installed local area netWork technology and speci?es sharing physical access over coaxial cable or special grades of tWisted pair Wires (10BASE-T) providing transmission speeds from several Mbps to Gbps. Devices are connected to the cable and compete for access using a Carrier Sense Multiple Access With Collision Detection (CSMA/CD) protocol. FIG. 3 is a block diagram illustrating hoW the IL API Works to provide access to a Internet Protocol (IP) stack 300. IP stack 300 includes application 302, transport layer 304, netWork layer 306, data link layer 308 each connected to IL API 312. In one implementation, layers in IP stack 300 produce an Ethernet packet 310 With a data payload and headers from each of the various layers. In conventional netWork communication, application 314 and application 316 communicate through either TCP 318 or UDP 320 for connection or connectionless type communi cation over a netWork. As an alternative, both application 314 and application 316 can communicate With transport layer 304 through TCP Socket 334 in IL API 312. Although, additional information is not available, a more uniform implementation is achieved by offering the transport inter face With IL API 312. Application 314 and application 316 can use IL API 312 to access netWork layer 306 and data link layer 308 in Ways previously unavailable. For example, application 314 can access Internet Control Message Protocol (ICMP)/Internet Group Multicast Protocol (IGMP) 324 resources and interact With routers, sWitches, hubs, gateWays, and hosts commu nicating With each other about errors and system control. ICMP provides message control and error-reporting protocol betWeen a host server and a gateWay to the Internet. ICMP uses Internet Protocol (IP) datagrams that IL API 312 provides to an application. On conventional systems, this information is processed by the TCP/IP protocol and is not available directly to the application. IGMP is used to support multicasting betWeen nodes on a netWork and provides resources to applications through IL API 312 in a similar manner. Application 314 also has access to ARP 326 and RARP 328 resources. Application 314 opens a socket using IP Socket 336 interface and establishes a direct connection With netWork layer 306. Because application 314 bypasses transport layer 318, ARP 326 and RARP 328 resources are exposed and available for application 314 to process. For example, ARP 326 resources include Media Access Control (MAC) addresses associated With each Ethernet device on a network. 10 15 25 35 40 45 55 65 4 Application 314 operates in a similar manner With respect to data link layer 308. To gain access to data link layer 308, application 314 establishes a session directly to data link layer 308 through link socket 338. Once the session through link socket 338 is created, application 314 has access to resources in data link 330 and physical layer 332. For example, application 314 can create customiZed headers for an Ethernet packet 310 creating TCP Header and IP Header as illustrated in Ethernet packet 310 in FIG. 3. Ethernet header and Ethernet trailer are added by an Ethernet type data link 330. This provides an application With additional ?exibility When developing netWork management softWare or developing text routines that need access to loWer layers of the netWork protocol stack. FIG. 4. is a block diagram depicting a computer system 400 that provides the IL API and IP stack to applications. Computer system includes a memory 402, a processor 404, a netWork communication port 406, a secondary storage 408, and input-output ports 410. Processor can be a general purpose processor such as manufactured by Intel Corpora tion of Santa Clara Calif. or can be a specialiZed ASIC or other type of processor device. NetWork communication port 406 can be implemented as a Ethernet card or built-in communication port on a computer and secondary storage 408 is a hard-disk, CDROM, or other mass storage device. Input-output ports includes ports for corresponding periph eral devices such as keyboard, mouse, printer, display, and scanner. Memory 402 includes an application 414, an inner layer API (IL API) 416, inner layer extensions 418, virtual machine runtime environment 420, TCP/IP protocol 422, netWork resources 423 and operating system 424. Applica tion 414 is an application that can access one or more different layers of a netWork protocol stack such as TCP/IP protocol 422. Generally, application 414 should be a user application but may need to be run With increased permis sions such as “root” or “superuser” due to the sensitive information accessible Within the inner layers of TCP/IP protocol 422. Inner layer API 416 is the interface routines linked into application 414 that provides direct access to the transport, the netWork, data link layers and physical layers in the protocol stack. Inner layer extensions 418 include any supporting routines necessary to make the IL API 416 available on the given platform. In some cases, this could involve recompiling an operating system kernel to include these particular functionalities not previously available to applications. In an object-oriented implementation, such as using the Java programming language by Sun Microsystems of Mountain VieW, Calif., these extensions can be dynami cally loaded at run-time or immediately When they are loaded into the overall system. Because Java alloWs dynamic loading of routines, inner layer extensions 418 can be loaded as application 414 requires. Virtual machine runtime environment 420 is typically used With an object-oriented programming language such as Java. If a non-object oriented or interpreted programming language is not being used, then virtual machine runtime environment 420 may not be required. For Java, a Java Virtual Machine or JVM simulates a virtual machine and provides hardWare independent computing capabilities in addition to dynamic loading of libraries, applications, and applets in real-time over a netWork. TCP/IP 422 is the conventional layered protocol stack typically available on most computers and computer-like platforms. As previously mentioned, TCP/IP generally only provides applications With access to the transport layer but With IL API 416, application 414 accesses the netWork layer, the data link layer, and the physical layer in addition to the transport layer. NetWork resources 423 represent the various
  • 9. US 6,845,397 B1 5 tables and other network resources on a network device. These resources include information stored in routing tables, ARP tables, ICMP/IGMP related tables, tables for storing physical port information and any other tables or resources used to manage and or describe an aspect of a netWork device. Operating system 424 manages resources on computer system 400 so they are used efficiently and uniformly. FIG. 5 is a ?oW-chart diagram illustrating the operations associated With communicating over the IP stack using the IL API. Initially, an application creates a datagram to be transmitted over a netWork (502). The datagram or packet is self-contained, independent entity of data carrying suf?cient information to be routed from the source to the destination computer Without reliance on earlier exchanges betWeen this source and destination computer and the transporting net Work. The packet needs to be self-contained Without reliance on earlier exchanges because there is no connection of ?xed duration betWeen the tWo communicating points as there is, for example, in most voice telephone conversations. This kind of protocol is therefore referred to as connectionless. Given several layers to communicate With, application selects a netWork layer to establish communication (504). In part, the layer selected depends on the type of datagram the application has created. If the application creates a transport session using a transport socket such as TCP 334 in FIG. 3, the application provides the data and necessary headers. HoWever, a netWork session uses a netWork socket such as IP Socket 446 in FIG. 3 and the application needs to create the appropriate netWork layer TCP header or UDP header around the data or payload section of each packet. Similarly, if the application creates a link layer session using link socket 338 then the application must also include IP header information in the packet. The application also selects a layer in the netWork pro tocol stack depending on the layer a resource associated With the netWork device uses for communication. For example, the ICMP and IGMP tables are resources that use the IP protocol because they communicate that the netWork layer in the protocol stack. Similarly, an ARP table is a resource that uses the link layer to communicate information about the netWork device, in particular an Ethernet or MAC address of the netWork device. The application then opens a socket at the selected layer of the netWork protocol using the IL API (506). Often, the communication occurs over a “raW” type of socket rather than a “cooked” socket. The information is considered raW because control characters and other information in the data stream are not stripped out or interpreted by other programs before being delivered to the application. For example, tWo common types of packets sent or received over raW sockets are ICMP packets and IGMP packets. Speci?c resources such as routing tables, ICMP and IGMP tables are identi?ed With predetermined or Well-knoWn socket identi?ers. Appli cations open an inner layer socket using these speci?c socket identi?ers to access the information in these particular resources. Alternatively, the application can open inner layer sockets With other socket identi?ers to intercept other types of information being transmitted across the particular net Work protocol layer. Communication continues betWeen the application and the selected layer or speci?c resource until the application ends or the connection is terminated (508). In one implementation using the Java object-oriented programming environment, an application may contain source code that generates and utiliZes Java link layer sockets as shoWn in the folloWing code example A. CODE EXAMPLE A Ethernet Packet ep=NeW Ethernet Packet (data, destina tion Ethernet Address); 10 15 25 35 40 45 55 65 6 Ethernet Socket s=NeW Ethernet Socket (source Ethernet Address); Byte siZe; Byte buffer=neW byte[siZe]; s.send(ep); s.rcv(buf); The Code Example A details the use of a combination send/receive Java link layer socket “s” Whose address is “source Ethernet Address”. A datagram packet “ep” is cre ated for use in an Ethernet netWorking environment, Where “ep” is intended to be sent to a destination “destination Ethernet Address”. A receive buffer “buf” is created for socket “s”, and given siZe “size”. After “ep” is sent by Java link layer socket “s”, Java link layer socket “s” receives any return packets in buffer “buf”. Another example of the use of Java link layer sockets is given beloW in code example B. CODE EXAMPLE B Ethernet Address destination=neW Ethernet Address; Ethernet Address source=neW Ethernet Address; Byte [ ] buf=neW byte [2000]; Ethernet Packet ep=neW Ethernet Packet (buf, destination); // put the data into the buffer buf Ethernet Socket es=neW Ethernet Socket (source); es.send(ep); es.receive(ep); // noW look at data in the buffer buf In the code example B, a buffer “buf” is utiliZed as a bi-directional send/receive buffer for supporting the socket “es”. While speci?c implementations have been described herein for purposes of illustration, various modi?cations may be made Without departing from the spirit and scope of the invention. For example, implementations and examples are provided With reference to TCP/IP hoWever, an alternate implementation could also be adapted to Work With the Open Systems Interconnection (OSI) netWork model. In the OSI communication model, IP is in layer 3, and other layers are as illustrated in FIG. 3. Inner sockets for the transport, netWork and data link layer are described but an inner socket for a physical layer could also be implemented. The physical layer Would provide information about the ports on a net Work device and information about the physical media being used. Additional implementations could be created using conventional procedural programming languages such as “C” as Well as object-oriented programming environments/ languages such as Java or C++. Furthermore, although aspects of the present invention are described as being stored in memory and other storage mediums, one skilled in the art Will appreciate that these aspects can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, ?oppy disks, or CD-ROM; a carrier Wave from the Internet; or other forms of RAM or ROM. Accordingly, the invention is not limited to the above-described embodiments, but instead is de?ned by the appended claims in light of their full scope of equivalents. What is claimed is: 1. A method of performing netWork communications, comprising: receiving a datagram for transmitting information over a netWork; selecting a layer in a netWork protocol stack to establish communication over the netWork using an inner layer application programming interface (IL API);
  • 10. US 6,845,397 B1 7 establishing an inner layer socket at the selected network layer using the ILAPI Without accessing other layers in the layered network protocol stack; and transmitting the datagram packet over the selected layer using the inner layer socket. 2. The method of claim 1, Wherein selecting a layer in a netWork protocol stack further includes determining if the information produced at a layer in the netWork protocol stack corresponds to the information being transmitted through the datagram. 3. The method of claim 1, Wherein the IL API provides a transport socket to access transport layer information in the netWork protocol, a netWork socket to access netWork layer information in the netWork protocol, and a link socket to access link layer information in the netWork protocol. 4. The method of claim 1, Wherein the IL API provides a different socket communication interface for each layer of communication available in the netWork protocol. 5. The method of claim 1, Wherein said datagram includes header information associated With a transport layer for communication over a transport socket. 6. The method of claim 5, Wherein the netWork protocol stack is compatible With TCP/IP and the transport socket uses a TCP or UDP transport layer protocol. 7. The method of claim 1, Wherein said datagram includes header information associated With a netWork layer for communication over a netWork socket. 8. The method of claim 7, Wherein the netWork protocol is compatible With TCP/IP and the netWork socket uses the IP netWork layer protocol. 9. The method of claim 1, Wherein said datagram includes header information associated With a link layer for commu nication over a link socket. 10. The method of claim 9, Wherein the netWork protocol is compatible With TCP/IP and the link socket uses a link layer protocol. 11. The method of claim 1, Wherein an application com municates With the IL API using object-oriented instructions and the IL API interfaces With the netWork protocol through instructions executable on a virtual-machine compatible With the netWork protocol stack. 12. The method of claim 11, Wherein the object-oriented instructions are compatible With the Java programming language. 13. An apparatus for performing netWork communication, comprising: a processor; a memory for storing instructions When executed on the processor that causes the processor to, receiving a datagram for transmitting information over a netWork; selecting a layer in a netWork protocol stack to establish communication over the netWork using an inner layer application programming interface (IL API); establishing an inner layer socket at the selected netWork layer using the ILAPI Without accessing other layers in the layered netWork protocol stack; and transmitting the datagram packet over the selected layer using the inner layer socket. 14. The apparatus of claim 13, Wherein instructions that select a layer in a netWork protocol stack further include instructions that determine if the information produced at a particular layer in the netWork protocol stack corresponds to the desired information available through the netWork pro tocol. 15 25 35 40 45 55 8 15. The apparatus of claim 13, Wherein instructions in the IL API provides a transport socket to access transport layer information in the netWork protocol, a netWork socket to access netWork layer information in the netWork protocol, and a link socket to access link layer information in the netWork protocol. 16. The apparatus of claim 13, Wherein instructions in the IL API provides a different socket communication interface for each layer of communication available in the netWork protocol. 17. The apparatus of claim 13, Wherein said datagram includes header information associated With a transport layer for communication over a transport socket. 18. The apparatus of claim 17, Wherein the netWork protocol stack is compatible With TCP/IP and the transport socket uses either TCP or UDP transport layer protocol. 19. The apparatus of claim 13, Wherein said datagram includes header information associated With a netWork layer for communication over a netWork socket. 20. The apparatus of claim 19, Wherein the netWork protocol is compatible With TCP/IP and the netWork socket uses an IP netWork layer protocol. 21. The apparatus of claim 13, Wherein said datagram includes header information associated With a link layer for communication over a link socket. 22. The apparatus of claim 21, Wherein the netWork protocol is compatible With TCP/IP and the link socket uses a link layer protocol. 23. The apparatus of claim 13, further including instruc tions in an application that communicate With the IL API using object-oriented instructions and Wherein the IL API interfaces With the netWork protocol through instructions executable on a virtual-machine compatible With the net Work protocol stack. 24. The apparatus of claim 23, Wherein the object oriented instructions are compatible With the Java program ming language. 25. An apparatus for performing netWork communication, comprising: means for receiving a datagram for transmitting informa tion over a netWork; means for selecting a layer in a netWork protocol stack to establish communication over the netWork using an inner layer application programming interface (IL API); means for establishing an inner layer socket at the selected netWork layer using the IL API Without access ing other layers in the layered netWork protocol stack; and means for transmitting the datagram packet over the selected layer using the inner layer socket. 26. A computer program, tangibly stored on a computer readable medium, comprising instructions for performing netWork communication When executed on a processor, by: receiving a datagram for transmitting information over a netWork; selecting a layer in a netWork protocol stack to establish communication over the netWork using an inner layer application programming interface (IL API); establishing an inner layer socket at the selected netWork layer using the IL API Without accessing other layers in the layered netWork protocol stack; and transmitting the datagram packet over the selected layer using the inner layer socket. * * * * *