Solved

Error correction in Ethernet, as well as in 802.11b

Posted on 2006-11-10
15
527 Views
Last Modified: 2013-11-09
I'm trying to determine two things:

1) If someone in 1987 said they were using Ethernet, what would that imply about the communications having error correction? For example, was any built into the standard at the time? Did it depend on whether TCP/IP was used, IPX, SPX, something else available? Would it depend on the type of message being sent, or the function call used to send the message?

2) If someone today uses 802.11b, is error correction always used, or is the answer subject to the same types of questions posed in (1)?
0
Comment
Question by:rich_tanenbaum
  • 6
  • 5
  • 2
  • +1
15 Comments
 
LVL 9

Expert Comment

by:JamesTX10
ID: 17918194
Hi rich_tanenbaum,
Sounds Like a home work problem

0
 

Author Comment

by:rich_tanenbaum
ID: 17918339
It's not a homework problem. I'm not a student.

It's related to intellectual property.

 
0
 
LVL 30

Expert Comment

by:pgm554
ID: 17919268
The Ethernet spec was written to compensate for errors using CRC from day 1.



0
 

Author Comment

by:rich_tanenbaum
ID: 17919574
Error correction, or just detection?

For all messages, or just some types?

I remember when working with netware a long time ago and reading ipx didn't guarantee delivery, but spx guaranteed delivery in the right order.  ethernet doesn't imply tcp/ip, or does it?
0
 
LVL 30

Expert Comment

by:pgm554
ID: 17919744
Ethernet is a layer 1 and layer 2 spec.
It uses CRC (which means if the packet is bad,it gets discarded by the receiver)

TCP and IPX are layer 3.

Check out:

http://en.wikipedia.org/wiki/Error_correction
0
 

Author Comment

by:rich_tanenbaum
ID: 17919810
"It uses CRC (which means if the packet is bad,it gets discarded by the receiver)"

So that means there's no requirement for a request for a new packet in Ethernet?

I'm familar with the wikipedia reference, which is where I got the notion of detection vs. correction. But I don't see a technical enough discussion there to answer the questions I have here.

And it the 802.11b error correcting in all modes? Does a programmer need to call the versions that request resends when an error is detected, or does this *always* happen automatically with 802.11b?

This is the heart of the question: does circa 1987 Ethernet (in case the date matters) imply error correction? And does 802.11b imply error correction? Or is it optional with either of them?
0
 
LVL 30

Expert Comment

by:pgm554
ID: 17920191
TCP and SPX  are guaranteed delivery mechanisms for layer 4.

It tells the sender that the packets were received.

This is useful for things like print servers.

802.x is just a spec and there is a error control mechanism that is inherrent in Ethernet.

If it detects a bad frame ,it tells the sender to retransmit.

It doesn't correct the error,it mearly says I didn't get that,could you resend?

It's like a parity bit on async communication

A programmer does not need to reinvent the wheel when using ethernet.

It only tells the sender to retransmit if the frame is bad.

With SPX and TCP ,it ALLWAYS tells the sender that it got the data .



0
New My Cloud Pro Series - organize everything!

With space to keep virtually everything, the My Cloud Pro Series offers your team the network storage to edit, save and share production files from anywhere with an internet connection. Compatible with both Mac and PC, you're able to protect your content regardless of OS.

 
LVL 16

Expert Comment

by:The--Captain
ID: 17920251
>It's not a homework problem. I'm not a student.

I'm willing to accept that.

>It's related to intellectual property.

That's still awfully vague - the more info you can provide, the more we can help (not to mention it gets PE folks like myself off your back when it seems like homework).

So, care to explain your actual application?  call me a bad guesser, but I can't come up with much regarding intellectual property that immediately applies - the protocols in question have been open standards for some time, AFAIK, and the ethernet and wireless RFCs are no secret either, so I'm not sure where you're going with that.  If you're asking about a possibility of data corruption when switching between legacy protocols like IPX and IP, or the possibility or corruption when switching between old ethernet gear and current, then please just say so.

Thanks,
-Jon
EE Networking PE
0
 

Author Comment

by:rich_tanenbaum
ID: 17921009
"802.x is just a spec and there is a error control mechanism that is inherrent in Ethernet.

If it detects a bad frame ,it tells the sender to retransmit.

It doesn't correct the error,it mearly says I didn't get that,could you resend?

It's like a parity bit on async communication

A programmer does not need to reinvent the wheel when using ethernet.

It only tells the sender to retransmit if the frame is bad.

With SPX and TCP ,it ALLWAYS tells the sender that it got the data .
"

First off, I apologize if I'm using a non-standard way to reply with a quote.

I'm a little confused by this. As noted in the wikipedia reference above:

"Error correction in some applications, such as a sender-receiver system, can be achieved with only a detection system in tandem with an automatic repeat request scheme to notify the sender that a portion of the data sent was received incorrectly and will need to be retransmitted"

This is as opposed to extra, redundant data that allows the receiver to correct the error from the packet contents without needing a resend. In other words, a send plus a check plus a request for resend could be defined as error correction (according to the wikipedia author). If we accept this definition, then your statement:

"802.x is just a spec and there is a error control mechanism that is inherrent in Ethernet.

If it detects a bad frame ,it tells the sender to retransmit.

It doesn't correct the error,it mearly says I didn't get that,could you resend?"

might require a modification to remove the first part of the last sentence, as this would be considered error correction. But then, is there anything in the Ethernet spec that tells the sender to retransmit, always?

And are you talking about 802.x as both 802.3 and 802.11b?

And to be sure, when you say

"A programmer does not need to reinvent the wheel when using ethernet.

It only tells the sender to retransmit if the frame is bad."

that the use of Ethernet, regardless of what one does in their app, tells the sender to retransmit when the frame is bad.

I'm harping on this because what I've read in an old book that talks about Ethernet checking for packet collissions, and there being a CRC, but all it says about the CRC is that if it is bad it discards the packet. I see no mention of an automatic request for a resend, implying it is either up to the app to do it, or that the app must use a particular call like TCP or SPX to ensure the resend request will take place if necessary.
0
 

Author Comment

by:rich_tanenbaum
ID: 17921060
"So, care to explain your actual application?  call me a bad guesser, but I can't come up with much regarding intellectual property that immediately applies - the protocols in question have been open standards for some time, AFAIK, and the ethernet and wireless RFCs are no secret either, so I'm not sure where you're going with that.  If you're asking about a possibility of data corruption when switching between legacy protocols like IPX and IP, or the possibility or corruption when switching between old ethernet gear and current, then please just say so."

Is there any sort of requirement in that regard to use this forum? I'm not doing anything illegal or unethical here. I'd prefer to say as little as necessary if I can. There's also a question of privacy.

I'm really not trying to be rude or offensive here, and there's nothing hot or sexy about the source of the question, either. There are just some boring legalese reasons why I have to be silent about it, if that's OK.
0
 
LVL 30

Accepted Solution

by:
pgm554 earned 500 total points
ID: 17921787
Ethernet works at layers 1 and 2 of the OSI model(physical and data).

IPX and IP are at layer 3 (network layer)(some ECC)

SPX and TCP are layer 4.(transport)(lots of ECC)

The higher levels of error correction are done at layers 3 and 4 and things like out of sequence packets are handled there.

Things like Ethernet switches (store and forward)can detect errors and discard bad packets according to CRC.

But when you get into higher level error correction mechanisms ,you are talking protocols,not Ethernet.

802.11x is a spec for things like how fast can it tranmit,distance limitations and fallback speeds,

So is there a error correction mechanism in ethernet ?
Yes and no.

Yes, in that it can discard bad packets at the layer 2 level.
But it is levels 3 and 4 that look a the packets and do the ECC.



0
 

Author Comment

by:rich_tanenbaum
ID: 17925333
And does that mean 802.11x is layers 1/2 or 3/4?
0
 
LVL 30

Expert Comment

by:pgm554
ID: 17925348
1 and 2 ,it's ethernet,not a protocol.
0
 
LVL 16

Expert Comment

by:The--Captain
ID: 17936664
Rich - glad you found your answer.

If I might append something to this thread, it would be my understanding of how basic ethernet works (forgive me, my last networking class was well over a decade ago)...

A device decides to transmit an ethernet frame to an ethernet (MAC) address (this address might be the broadcast address ff:ff:ff:ff:ff:ff) - the frame is either received by the machine(s) in question, or it is dropped. The two main reasons for dropping a frame are:

Malformed frame - a device in the ethernet network detects a frame that does not conform to its ethernet specification and drops it

Collision - two (or more) devices try to talk on the same wire at the same time, and all frames are dropped.  The devices in question back off to a random interval, and then try to tranmit again.

The main cause of bad/malformed frames is likely bad cables or ethernet gear (or maybe mismatched ethernet speeds) - the main cause of collisions is a saturated and/or unswitched network.

AFAIK, ethernet does *not* compute data checksums or support retransmits (except being able to detect bad frames or collisions) nor any other sort of robust behaviour - I believe that it's more of a "garbage in, garbage out" sort of delivery mechanism.  Higher level protocols like TCP exist to ensure entegrity of data delivered across the network.

Cheers,
-Jon

0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Let’s list some of the technologies that enable smooth teleworking. 
If your business is like most, chances are you still need to maintain a fax infrastructure for your staff. It’s hard to believe that a communication technology that was thriving in the mid-80s could still be an essential part of your team’s modern I…
After creating this article (http://www.experts-exchange.com/articles/23699/Setup-Mikrotik-routers-with-OSPF.html), I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…
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…

760 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now