networking-forum.com
Community BlogCommunity Wiki * Register  * Search  * Login
View unanswered postsView active topics

All times are UTC - 6 hours [ DST ]



Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Tue Aug 26, 2008 8:05 am 
Offline
New Member
New Member

Joined: Tue Aug 26, 2008 6:00 am
Posts: 4
May peace be upon you all...

We are devoloping a system on DSP. This system will have an ethernet port to communicate with computers. A small ethernet network will be formed with two or more computers and our device, connected over ethernet via a switch. A requirement of our device is that it should always know which computers (IP's) are connected to it. I need help on two following issues;

1) When the modem boots up, it needs to know which computers (IP's) are connected to it over the ethernet. Is there any special type of ARP used for that? or is there any other method used for doing so? or can it be done using ping or tracert with broadcast IP address?

2) I need to implement (TCP,UDP)/IP/802.3 stack on my DSP. If I find some code written in C for the implemetation of these TCP/IP layers, it'll help me a lot. Can anybody tell me some links where I can find some freeware etc.


Top
 Profile  
 
PostPosted: Tue Aug 26, 2008 8:43 am 
Offline
Post Whore
Post Whore
User avatar

Joined: Sat Sep 22, 2007 5:58 am
Posts: 1254
Location: Raleigh-Durham, NC
@if wrote:
We are devoloping a system on DSP.

What do you mean by DSP?


Top
 Profile  
 
 Post subject:
PostPosted: Tue Aug 26, 2008 9:02 am 
Offline
Post Whore
Post Whore
User avatar

Joined: Thu Jan 10, 2008 7:43 am
Posts: 1185
Location: London
I think he means Digital Signal Processor. I studied these things once at university though the assignment you described looks a lot more complicated then what I had to do (create low pass and high pass filters).

Unfortunatly most of what I remembered is gone. At the time, I went to the library and looked for DSP & C books and worked through examples. IMO quiet a difficult subject (expecially the mathmatics involved!).

Sorry I cant be more help.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Aug 26, 2008 11:27 am 
Offline
Post Whore
Post Whore
User avatar

Joined: Thu Jan 10, 2008 7:43 am
Posts: 1185
Location: London
Just thought about this again. What exactly is it you are trying to do?

I'm assuming you are creating a modem as the only reason you need the DSP is usually to convert Analogue signals to Digital. You are taking analogue signals from an un-explained interface, the DSP processes this into a digital signal and then outputs it via the ethernet port.

The question is, what is between the DSP and the Ethernet port? A microcontroller?

There are plenty of algorithms out there. The key points are to know what modulation and frequency of encoding is used and replace any variables accordingly. As far as implementing TCP/IP stack, good luck :shock:

On a final note, I found very little information on the subject of DSP & C on the net. I found much better results in my library (books...they still have their uses)


Top
 Profile  
 
 Post subject:
PostPosted: Tue Aug 26, 2008 11:27 am 
Offline
Post Whore
Post Whore
User avatar

Joined: Thu Jan 10, 2008 7:43 am
Posts: 1185
Location: London
kannies wrote:
Just thought about this again. What exactly is it you are trying to do?

I'm assuming you are creating a modem as the only reason you need the DSP is usually to convert Analogue signals to Digital or vice versia. You are taking analogue signals from an un-explained interface, the DSP processes this into a digital signal and then outputs it via the ethernet port.

The question is, what is between the DSP and the Ethernet port? A microcontroller?

There are plenty of algorithms out there. The key points are to know what modulation and frequency of encoding is used and replace any variables accordingly. As far as implementing TCP/IP stack, good luck :shock:

On a final note, I found very little information on the subject of DSP & C on the net. I found much better results in my library (books...they still have their uses)


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 27, 2008 12:48 am 
Offline
New Member
New Member

Joined: Tue Aug 26, 2008 6:00 am
Posts: 4
Well... thanks for the replies...

Let me elaborate a bit more. You can say we are developing a small mother board. We'll place a fast DSP (Digital Signal Proessor) on it for processing puposes. This board has to communicate with a number of computers over ethernet. That is why we'll be implementing TCP/IP protocol stack on the DSP. On the board, between DSP and Ethernet port, is a dedicated IC used for physical layer operations. This device will read the data from Ethernet port (RJ45), convert it to appropriate digital format and pass it to the DSP. DSP will receive data and process it. All the above layers; Data-Link, IP, Transport and Application will be running in DSP. When the PHY chip will receive data and pass it to DSP, it will be processed by MAC layer running inside DSP. The MAC layer will pass it to IP (or LLC) and so on.

Now comming back to my query;
When the board needs to resolve a particular IP address to MAC address, it will send ARP request. Similarly, if the board wants to know which IP's are connected to it at any given time, what will it do? is there any special ARP? or is there any other protocol for doing so? what will it do to know who is connected to it?

Another similar question is; suppose you've created a small network of three computers (say A, B, and C) using either a switch or a hub. you are sitting on Computer A and try to open "Neigbouring Computers" or "Workgroup", what kind of packet is transmitted by the computer A? if it is ARP then what kind of? How does computer A get the whole list of computers connected to it?

The other question is related to implentation of layers. If you know about any source code in C for the implementation of layers, plz tell me the link.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 27, 2008 1:34 am 
Offline
Cisco Inferno
Cisco Inferno
User avatar

Joined: Mon Jul 10, 2006 12:58 am
Posts: 10201
Location: Seattle
There are a number of ways computers can determine their own IP addresses, most of the the time the kernel or higher-level logic will handle that (as that's where it is configured for the most part). Is this motherboard going to be running an OS? The kernel will have a networking API with which the hardware will interface.

As for the code that will get implemented at the hardware level, that's pretty in-depth stuff... not just the sort of thing you can throw together. You're going to need a knowledge of device drivers and how they integrate with the OS in question. I don't know of anywhere online you can just "find" source for that sort of thing (aside from the Linux kernel or something).

As for your last question, that largely depends on the OS as well... I assume you're talking about Windows since you're referring to browsing and workgroups and such. If that's the case, Windows typically uses SMB in addition to some Windows-specific protocols to actually browse remote file systems, but at the very beginning of the transaction, ARP would need to be used to determine where the remote computer was. The way Windows "discovers" other Windows devices on a network is by sending a special broadcast packet in which other Windows devices respond to by default.

_________________
Reasonably un-nerdy blog:
americanwerewolfinbelgrade.wordpress.com/


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 27, 2008 1:57 am 
Offline
Post Whore
Post Whore
User avatar

Joined: Sat Sep 22, 2007 5:58 am
Posts: 1254
Location: Raleigh-Durham, NC
It sounds like you want to implement the entire TCP/IP stack in hardware, which is just silly. You still haven't mentioned the application of this device you want to build, but it's reasonable to assume a simple embedded operating system (like Linux) will easily accomplish what you want.

Also note that IP is a connectionless protocol. As such, there are no hosts "connected" via IP; state is maintained through a higher-layer protocol, e.g. TCP. Now if you want to test for the *presence* of additional hosts on the link, that requires proactive probing, or at least intelligent caching of received communications.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: ZiPPy and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group