Discussion:
[asio-users] ATM Sockets and ASIO
Casimiro, Daniel C CIV NUWC NWPT
2012-06-05 16:27:24 UTC
Permalink
Hi,

Has anyone used ATM/AAL5 [1] sockets with ASIO?

[1] ATM: Asynchronous Transfer Mode

Thanks,
~Dan
Gruenke, Matt
2012-06-05 16:59:52 UTC
Permalink
Where is the segmentation & reassembly happening? Does the OS network
stack handle that? Implementing it at the ASIO-level (or using it to do
anything else at the cell level) might be pretty high overhead.

Keep in mind that you're not forced to use ASIO for address resolution
or connection. You can just construct a basic_socket from a
native_handle_type (fd on Linux, or I assume a HANDLE on Windows), if
you already have a non-ASIO way to setup your circuit.

Assuming you're operating at the packet level, I think you'd use it
pretty much like a UDP socket. In that case, some of the UDP examples
might helpful:


http://www.boost.org/doc/libs/1_49_0/doc/html/boost_asio/examples.html



Matt


-----Original Message-----
From: Casimiro, Daniel C CIV NUWC NWPT
Sent: Tuesday, June 05, 2012 12:27
To: asio-***@lists.sourceforge.net
Subject: [asio-users] ATM Sockets and ASIO

Hi,

Has anyone used ATM/AAL5 [1] sockets with ASIO?

[1] ATM: Asynchronous Transfer Mode

Thanks,
~Dan


------------------------------------------------------------------------
------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and threat
landscape has changed and how IT managers can respond. Discussions will
include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
asio-users mailing list
asio-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/asio-users
_______________________________________________
Using Asio? List your project at
http://think-async.com/Asio/WhoIsUsingAsio
Casimiro, Daniel C CIV NUWC NWPT
2012-06-05 18:08:41 UTC
Permalink
Hi Matt,

ATM is all new to me, but here goes...
Post by Gruenke, Matt
Where is the segmentation & reassembly happening? Does the OS network
stack handle that? Implementing it at the ASIO-level (or using it to do
anything else at the cell level) might be pretty high overhead.
The ATM server is sending datagrams with UDP and IP headers over AAL5.
Ideally, I would like the OS to reassemble the ATM cells and process the
IP/UDP headers. I want to process the datagram bytes in my ASIO
handlers, just like you get with a boost::asio::ip::udp::socket. The OS
is currently Windows XP, but I want to support Linux and Mac OSX too.
Does this sound reasonable?
Post by Gruenke, Matt
Keep in mind that you're not forced to use ASIO for address resolution
or connection. You can just construct a basic_socket from a
native_handle_type (fd on Linux, or I assume a HANDLE on Windows), if
you already have a non-ASIO way to setup your circuit.
True, but I would like to open and connect the socket just like a
standard ASIO socket. I think that the code would age better. I started
putting together an ATM/UDP protocol, but WSASocket is failing when I
pass in AF_ATM, SOCK_DGRAM, and IPPROTO_UDP. A combination of AF_ATM,
SOCK_RAW, and ATMPROTO_AAL5 is successful, but I don't think that it
will parse the UDP/IP headers.

Finally, is there a way to test ATM code on windows without using a
second ATM card? I haven't found anything like the loopback address yet.

Thanks,
~Dan
Post by Gruenke, Matt
-----Original Message-----
Sent: Tuesday, June 05, 2012 13:00
Subject: Re: [asio-users] ATM Sockets and ASIO
Where is the segmentation & reassembly happening? Does the OS network
stack handle that? Implementing it at the ASIO-level (or using it to do
anything else at the cell level) might be pretty high overhead.
Keep in mind that you're not forced to use ASIO for address resolution
or connection. You can just construct a basic_socket from a
native_handle_type (fd on Linux, or I assume a HANDLE on Windows), if
you already have a non-ASIO way to setup your circuit.
Assuming you're operating at the packet level, I think you'd use it
pretty much like a UDP socket. In that case, some of the UDP examples
http://www.boost.org/doc/libs/1_49_0/doc/html/boost_asio/examples.html
Matt
-----Original Message-----
From: Casimiro, Daniel C CIV NUWC NWPT
Sent: Tuesday, June 05, 2012 12:27
Subject: [asio-users] ATM Sockets and ASIO
Hi,
Has anyone used ATM/AAL5 [1] sockets with ASIO?
[1] ATM: Asynchronous Transfer Mode
Thanks,
~Dan
Gruenke, Matt
2012-06-05 18:50:15 UTC
Permalink
I'm a bit rusty on ATM, myself. I've never worked with it on a Posix or
Windows system, either.

Here's how I'd tackle it:

Since ASIO doesn't currently have any built-in support for ATM, it's
only going to complicate the picture, for now. The first thing to do is
find out what level of ATM support you'll be able to get from your OS.
This will probably involve installing additional services, drivers, etc.

Next, read the docs and figure out how to do the basics at the sockets
API level (or the Windows equivalent). Work out a basic test
setup/methodology, etc.

Once you've got that working, if you feel ASIO will provide enough
benefit, then start reading the tutorials, looking at the examples, and
getting your head around how it works. Once you understand both pieces
in isolation, it will be a lot easier to see how to wrap your ATM code
for use via ASIO.

Good luck.


Matt


-----Original Message-----
From: Casimiro, Daniel C CIV NUWC NWPT
Sent: Tuesday, June 05, 2012 14:09
To: asio-***@lists.sourceforge.net
Subject: Re: [asio-users] ATM Sockets and ASIO

Hi Matt,

ATM is all new to me, but here goes...
Post by Gruenke, Matt
Where is the segmentation & reassembly happening? Does the OS network
stack handle that? Implementing it at the ASIO-level (or using it to
do anything else at the cell level) might be pretty high overhead.
The ATM server is sending datagrams with UDP and IP headers over AAL5.
Ideally, I would like the OS to reassemble the ATM cells and process the
IP/UDP headers. I want to process the datagram bytes in my ASIO
handlers, just like you get with a boost::asio::ip::udp::socket. The OS
is currently Windows XP, but I want to support Linux and Mac OSX too.
Does this sound reasonable?
Post by Gruenke, Matt
Keep in mind that you're not forced to use ASIO for address resolution
or connection. You can just construct a basic_socket from a
native_handle_type (fd on Linux, or I assume a HANDLE on Windows), if
you already have a non-ASIO way to setup your circuit.
True, but I would like to open and connect the socket just like a
standard ASIO socket. I think that the code would age better. I started
putting together an ATM/UDP protocol, but WSASocket is failing when I
pass in AF_ATM, SOCK_DGRAM, and IPPROTO_UDP. A combination of AF_ATM,
SOCK_RAW, and ATMPROTO_AAL5 is successful, but I don't think that it
will parse the UDP/IP headers.

Finally, is there a way to test ATM code on windows without using a
second ATM card? I haven't found anything like the loopback address yet.

Thanks,
~Dan
Post by Gruenke, Matt
-----Original Message-----
Sent: Tuesday, June 05, 2012 13:00
Subject: Re: [asio-users] ATM Sockets and ASIO
Where is the segmentation & reassembly happening? Does the OS network
stack handle that? Implementing it at the ASIO-level (or using it to
do anything else at the cell level) might be pretty high overhead.
Keep in mind that you're not forced to use ASIO for address resolution
or connection. You can just construct a basic_socket from a
native_handle_type (fd on Linux, or I assume a HANDLE on Windows), if
you already have a non-ASIO way to setup your circuit.
Assuming you're operating at the packet level, I think you'd use it
pretty much like a UDP socket. In that case, some of the UDP examples
http://www.boost.org/doc/libs/1_49_0/doc/html/boost_asio/examples.html
Matt
-----Original Message-----
From: Casimiro, Daniel C CIV NUWC NWPT
Sent: Tuesday, June 05, 2012 12:27
Subject: [asio-users] ATM Sockets and ASIO
Hi,
Has anyone used ATM/AAL5 [1] sockets with ASIO?
[1] ATM: Asynchronous Transfer Mode
Thanks,
~Dan
------------------------------------------------------------------------
------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and threat
landscape has changed and how IT managers can respond. Discussions will
include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
asio-users mailing list
asio-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/asio-users
_______________________________________________
Using Asio? List your project at
http://think-async.com/Asio/WhoIsUsingAsio
Casimiro, Daniel C CIV NUWC NWPT
2012-06-05 18:56:14 UTC
Permalink
Thanks,

I will post anything useful that comes out of this.
Post by Gruenke, Matt
-----Original Message-----
Sent: Tuesday, June 05, 2012 14:50
Subject: Re: [asio-users] ATM Sockets and ASIO
I'm a bit rusty on ATM, myself. I've never worked with it on a Posix or
Windows system, either.
Since ASIO doesn't currently have any built-in support for ATM, it's
only going to complicate the picture, for now. The first thing to do is
find out what level of ATM support you'll be able to get from your OS.
This will probably involve installing additional services, drivers, etc.
Next, read the docs and figure out how to do the basics at the sockets
API level (or the Windows equivalent). Work out a basic test
setup/methodology, etc.
Once you've got that working, if you feel ASIO will provide enough
benefit, then start reading the tutorials, looking at the examples, and
getting your head around how it works. Once you understand both pieces
in isolation, it will be a lot easier to see how to wrap your ATM code
for use via ASIO.
Good luck.
Matt
-----Original Message-----
From: Casimiro, Daniel C CIV NUWC NWPT
Sent: Tuesday, June 05, 2012 14:09
Subject: Re: [asio-users] ATM Sockets and ASIO
Hi Matt,
ATM is all new to me, but here goes...
Post by Gruenke, Matt
Where is the segmentation & reassembly happening? Does the OS
network
Post by Gruenke, Matt
stack handle that? Implementing it at the ASIO-level (or using it to
do anything else at the cell level) might be pretty high overhead.
The ATM server is sending datagrams with UDP and IP headers over AAL5.
Ideally, I would like the OS to reassemble the ATM cells and process the
IP/UDP headers. I want to process the datagram bytes in my ASIO
handlers, just like you get with a boost::asio::ip::udp::socket. The OS
is currently Windows XP, but I want to support Linux and Mac OSX too.
Does this sound reasonable?
Post by Gruenke, Matt
Keep in mind that you're not forced to use ASIO for address
resolution
Post by Gruenke, Matt
or connection. You can just construct a basic_socket from a
native_handle_type (fd on Linux, or I assume a HANDLE on Windows), if
you already have a non-ASIO way to setup your circuit.
True, but I would like to open and connect the socket just like a
standard ASIO socket. I think that the code would age better. I started
putting together an ATM/UDP protocol, but WSASocket is failing when I
pass in AF_ATM, SOCK_DGRAM, and IPPROTO_UDP. A combination of AF_ATM,
SOCK_RAW, and ATMPROTO_AAL5 is successful, but I don't think that it
will parse the UDP/IP headers.
Finally, is there a way to test ATM code on windows without using a
second ATM card? I haven't found anything like the loopback address yet.
Thanks,
~Dan
Post by Gruenke, Matt
-----Original Message-----
Sent: Tuesday, June 05, 2012 13:00
Subject: Re: [asio-users] ATM Sockets and ASIO
Where is the segmentation & reassembly happening? Does the OS
network
Post by Gruenke, Matt
stack handle that? Implementing it at the ASIO-level (or using it to
do anything else at the cell level) might be pretty high overhead.
Keep in mind that you're not forced to use ASIO for address
resolution
Post by Gruenke, Matt
or connection. You can just construct a basic_socket from a
native_handle_type (fd on Linux, or I assume a HANDLE on Windows), if
you already have a non-ASIO way to setup your circuit.
Assuming you're operating at the packet level, I think you'd use it
pretty much like a UDP socket. In that case, some of the UDP
examples
http://www.boost.org/doc/libs/1_49_0/doc/html/boost_asio/examples.html
Post by Gruenke, Matt
Matt
-----Original Message-----
From: Casimiro, Daniel C CIV NUWC NWPT
Sent: Tuesday, June 05, 2012 12:27
Subject: [asio-users] ATM Sockets and ASIO
Hi,
Has anyone used ATM/AAL5 [1] sockets with ASIO?
[1] ATM: Asynchronous Transfer Mode
Thanks,
~Dan
-----------------------------------------------------------------------
Post by Gruenke, Matt
-
------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and threat
landscape has changed and how IT managers can respond. Discussions will
include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
asio-users mailing list
https://lists.sourceforge.net/lists/listinfo/asio-users
_______________________________________________
Using Asio? List your project at
http://think-async.com/Asio/WhoIsUsingAsio
-----------------------------------------------------------------------
Post by Gruenke, Matt
-------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond.
Discussions
will include endpoint security, mobile security and the latest in
malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
asio-users mailing list
https://lists.sourceforge.net/lists/listinfo/asio-users
_______________________________________________
Using Asio? List your project at
http://think-async.com/Asio/WhoIsUsingAsio
Loading...