?
Solved

How to do ARP-like request

Posted on 2003-03-04
9
Medium Priority
?
296 Views
Last Modified: 2010-03-19
Hi,

We're creating a capability for distributed measuring of application performance that runs on workstations and that we can deploy on our network.

We'd like for these "watchdog" PCs to announce themselves to the nearest data consolidation server.

So, what we'd like to do is have them do some sort of a broadcast to find the servers that are out there available for receiving the data they're collecting.

How would one write a "broadcast" network request (like ARP or a DHCP client request) to announce themselves.  We would know the "port" to use, but not the IP address to direct the message to (it should be anything that responds).

Any example code (C, Java, VB, perl, etc.) that does this would be even better.
0
Comment
Question by:klamerus
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 3
9 Comments
 
LVL 10

Expert Comment

by:kiranghag
ID: 8071882
you need to work with raw packets.
you can create layer 2 frames using raw packets. which platform are u using...

afik, unix platform has many libraries which allow you to send raw packets on the wire.

exp. if u send an ethernet frame to address with all ones as destination address, its read by every machine.

here we need to assume that the underlying network which we'll be using suports broadcast frames.

and yes, when u send broadcast packets, u need not bother yourself with the ports. ports come into picture when u deal with network layer, this notion greatly comes from tcp/ip world.

you must deal with the frame type when u send mac layer packets. take a look at various data link layer frame formats (ethernet for exp.). u need to give - source mac address, dest mac address, data length, data, frame type and checksum at minumum.

start with the complete frame understanding for your network's pysical layer. if u are putting this thing onto professional use, register a frame type for yourself or code with any unused one. and then choose the programming language which has the required libraries and which u know to use.

HTH
0
 
LVL 1

Author Comment

by:klamerus
ID: 8073427
This is an ethernet, IP network.  There are multiple machine types on it (mainframes, VAXen, Wintel).

Is this do-able from windows with some flavour of sockets?  As I said, we have windows clients.  Is there any other commercial library out that that could be used?

I was hoping there might be some way to broadcast to a port, but not an address.  That way the server listeners could be written as a normal network service, and it would only the the clients that would be "weird".  It sounds like you're saying this might be possible by using an ethernet address of all ones.  Is that correct?  That would be very easy.

0
 
LVL 10

Accepted Solution

by:
kiranghag earned 400 total points
ID: 8073474
nope, as i said, ports do not apply to this level.
this can be well done on windows platforms....but not sure where u'll get libs and other stuff.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:klamerus
ID: 8073657
Such is life
0
 
LVL 1

Author Comment

by:klamerus
ID: 8073751
The problem with working at level 2 is the routing.  So far as I know, our routers only pass along a fixed set of request types that aren't working at the IP level (BOOTP, etc.).  The requirement here is for a solution across our corporate WAN, so working at level 2 isn't going to work.

We'll probably need to define a network service "broker" that keeps tracks of what servers are available and directs a client to an appropriate server.  We could set this up as a web server and put the servers into a Load Balanced Cluster to get redundancy on the broker.

This is sort of how Documentum (a doc mgmt product) works.  Individual servers "advertise" their availability to a broker.  Clients ask the broker for what servers are available, and the users of the clients choose which they want.  We'd just have an application as a "user".
0
 
LVL 1

Author Comment

by:klamerus
ID: 8073752
The problem with working at level 2 is the routing.  So far as I know, our routers only pass along a fixed set of request types that aren't working at the IP level (BOOTP, etc.).  The requirement here is for a solution across our corporate WAN, so working at level 2 isn't going to work.

We'll probably need to define a network service "broker" that keeps tracks of what servers are available and directs a client to an appropriate server.  We could set this up as a web server and put the servers into a Load Balanced Cluster to get redundancy on the broker.

This is sort of how Documentum (a doc mgmt product) works.  Individual servers "advertise" their availability to a broker.  Clients ask the broker for what servers are available, and the users of the clients choose which they want.  We'd just have an application as a "user".
0
 
LVL 1

Author Comment

by:klamerus
ID: 8073761
well that was weird.
0
 
LVL 10

Expert Comment

by:kiranghag
ID: 8076630
if you want to work across the network, u can use the common protocol which is already being used by all of them.
so if u are having a tcp/ip based network. u can advertise using udp.
broadcasts are often not desirable for many reasons, one - they create more network traffic. and two - they are not forwarded by many intermediate devices (routers, switches).
you can register a multicast address for advertiseing.
routing algorothms use multicast to advertise and find the routers on the network. this traffic is ignored by others.
you can study diff. routing algos. exp. ospfl. this algorithm automatically  finds out routers on a network and exchange info among them.

a good study of such algorithms would greatly simplify your design..
HTH
0
 
LVL 1

Author Comment

by:klamerus
ID: 8087616
Unfortunately, we have no control over the networking in the environment (that's run by EDS), and we do have numerous routers (hundreds) that route data across the WAN.  We aren't allowed to modify them.  We can only provide rules for the firewalls between our various environments.  As I understand it, the routers won't route level 2 protocols.

We can send out broadcasts (provided they're routed).  These broadcast messages will only happen when we bring up one of these data collector PCs (to find a nearby server).  Or if they reboot or something.  At most, this is a once / day thing and will have no significant network impact.

We can do UDP and we could do a broadcast type message, but I've been told that we don't have a multicast network (I don't know what that means).  Is that something that requires setup on the bridges/switches/hubs/etc.?
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is a collection of issues that people face from time to time and possible solutions to those issues. I hope you enjoy reading it.
Sometimes clients can lose connectivity with the Lotus Notes Domino Server, but there's not always an obvious answer as to why it happens.   Read this article to follow one of the first experiences I had with Lotus Notes on a client's machine, my…
Viewers will learn how to connect to a wireless network using the network security key. They will also learn how to access the IP address and DNS server for connections that must be done manually. After setting up a router, find the network security…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
Suggested Courses

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question