Can we assume in number 3 that the computers know how far apart they are from each other? In other words, would the maximum efficiency approach 1 as the distance between A and B approached 0. Thus, the time to detect the collision and then the time to realize the network is clear would be 0 b/c each machine "knew" where it was in relation to the other. Alternatively, do we assume they don't know this so that even if collision detection is immediate, A still has to wait the amount of time for 1 bit of data to travel the network to realize it (the network) is idle?
You can not assume that the computers know how far apart they are. On the other hand, they don't need to have some fixed time they wait. A machine connected to the network can sense whether a message is going by on the network wire. So, it can tell as soon as the network becomes idle (or busy) and change its behavior.
So then if A and B are on opposite sides of the network, will A detect the collision with B immediately or will A have to wait for the collision to "travel down the network"--the yellow line in the collision applet you showed us in class. I assume A will have to wait, and, based on your message above, it will then immediately detect the network is idle because B has stopped transmitting by that point. I guess I'm unclear on what happens in a "collision." Does the network immediately become idle, do both A and B have to sense that a collision took place, or in this example does just A? The token ring situation makes much more intuitive sense.
A lot of what you said is accurate, but not the part about A "will immediately detect the network is idle because B has stopped transmitting by that point." Just as messages take a while to travel down the network, idleness takes time to travel. A won't realize that B has stopped transmitting until enough time has passed for the last bit B sent before it stopped sending to travel to A.
So the most inefficient outcome would NOT occur if they were at opposite ends of the network and B's message collided with A right before the end of the network. In that case, B would almost immediately stop sending data. But if the collision occurred farther up the network, it would take longer for B to stop sending data and efficiency would drop...
You are right that in the situation you described there would be more time between the moment at which the collision actually occurred and the moment at which B noticed it the farther away from B the collision occurred. This isn't what really matters, however. What you really will care about is the time between the moment at which B notices the collision and the time at which A first started sending. This is because what you really want to determine is the time between when A starts sending and when A both knows there has been a collision and knows it can make its second attempt.
Unfortunately, after reading all of the messages in the discussion area, I'm still not sure about how to even start #3. I understand the formula for efficiency, but don't understand where to get the two times from, the actual time and time trying. I assume that the time would be from the beginning of when A sends the message to when B receives the end of it.
Actually, to make things a bit simpler I've asked you ton consider the total time to be from the beginning of when A tries to send its message to when it sends the last bit of its final, successful attempt (rather than worrying about when the bits actually reach B). The "actual time" is quite simple. Its just the time required to sent 1000 bits. The "time trying" is the "actual time" plus the time wasted in the initial collision. So, what you really need to figure out is how long might pass between the time A first tries to send and when it realizes that its collisions with B is over and it can try again.
To hopefully get this straight: the actual time is simply the time it takes to send 1000 bits. The lost time is just the time it takes for a single bit to travel down the network, collide with B, and then get back to A. This seems OK. Then, however, do we have to add to the lost time any additional time, if any, it may take B to detect the collision and stop sending and, subsequently, time for the last bit that was sent to clear the network so that A can send again. Or do we assume that the network is idle as soon as news of the collision reaches A. Or do A and B both immediately realize that a collision occurs, stop sending, and then we just have to figure out how long before all the data is cleared from the network. I keep thinking I am on the right track but then something doesn't make sense and I am lost again. Jan
The only thing you said that doesn't quite make sense is the idea of "the time it takes for a single bit to travel down the network, collide with B, and then get back to A." The reason that this is bad is that a bit sent by a never gets "back to A". It keeps going past B and falls of the end of the network wire eventually. The thing that makes A aware of the collision is not the return of its bits, but the arrival of the bits of B's message.
By Tom Murtagh (Admin) on Sunday, October 25, 1998 - 08:45 pm:
Tom
By Postma, Jan H., III (99jhp) on Sunday, October 25, 1998 - 10:05 pm:
By Tom Murtagh (Admin) on Sunday, October 25, 1998 - 10:17 pm:
Basically, in all collisions, both stations sense the collision and stop sending, but they sense it at different times, stop their own transmissions at different times and notice that each other have stopped at yet more different times.
Tom
By Postma, Jan H., III (99jhp) on Sunday, October 25, 1998 - 10:36 pm:
By Tom Murtagh (Admin) on Monday, October 26, 1998 - 12:24 am:
By McCoy, John T. (01jtm) on Monday, October 26, 1998 - 11:01 am:
By Tom Murtagh (Admin) on Monday, October 26, 1998 - 11:56 am:
Tom
By Postma, Jan H., III (99jhp) on Monday, October 26, 1998 - 04:43 pm:
By Tom Murtagh (Admin) on Monday, October 26, 1998 - 04:55 pm:
If you understand this fact --- that stations only become aware of collisions indirectly, and then take your own description: "time, if any, it may take B to detect the collision and stop sending and, subsequently, time for the last bit that was sent [by B] to clear the network so that A can send again." you should be on the right track.