|2004-06-26, 22:17||Link #1|
Yellow Light/Face Explained
Rough Table of Contents:
Beginning: Explanation of what the yellow light means for the curious.
Middle: A couple of prevalent questions/misconceptions that often appear
End: Pictures of a router configuration and more practical, detailed instructions.
While I have browsed this forum (or perhaps moreso the Download Help forum) I’ve seen not an insignificant amount of “fix your yellow light/face” snake oil being tossed around by well-intentioned users. In order to dispel some of the voodoo that seems to have come with this mysterious abstract light, I’ve decided to write this post instead of answering with bits and pieces of relevant information in multiple posts.
In general among all BT clients (somewhat a misnomer, but I digress) the yellow light means that you have yet to have been contacted by another user.
Here’s an analogy:
You are at a party. At this party are two types of people:
1) People who respond when their names are called and also call names to get the attention of someone else.
2) People who only call other people’s names, but never respond to people calling their name.
Once a person has gotten another person’s attention, they may start a two-way conversation.
If you have a yellow flag, that means that you MAY be in the second category. Why is this a problem? Suppose everyone in the party is of the second category: no one could then ever talk to one another. I could call your name, but you’d never respond, and vice versa. In effect, you cut the number of people you can download from or upload to.
Common misconception number one:
“I have some yellow lights and green lights, what can I do to fix this?” and similar (generally non) problems.
The yellow light could also mean that no one has bothered to call your name just yet, which is why torrents generally start yellow and become green unless someone calls your name right away. Don’t get too obsessive if you have a couple of torrents and one of them refuses to turn green, especially if it’s well seeded or stagnant (not many new connecting peers, etc).
The vanilla torrent specification has a cap on the number of torrents that can be active simultaneously, in port range 6881 to 6889. What this means is that the half-yellow half-green problem may be an issue if you are running more torrents than you have available ports, but probably isn’t: the most popular clients, Azureus and BitTornado have taken two approaches. In the case of Azureus (and no others that I’m aware of) all traffic is consolidated to 6881 (by default, or whatever port you set otherwise), making configuration easier and number of supported torrents theoretically infinite. On BitTornado and others the solution was to simply start looking at ports above 6889….up to about a hundred or so, as I recall. Of course, this comes with the annoying effect of sucking up a chunk of port space and making configuration for poor firewalls (read: ones that can only forward a port at a time) a pain. The Azureus solution is clearly nicer in this regard.
Common misconception number two:
“If it’s yellow but things are going fast, then everything is okay.”
This is a half-truth. If you are getting things fast, why care? However, this does not mean the problem has been resolved, only that because the there are enough people of the first type (or people who can establish an “active” connection, if you want the standard lingo) to amortize the effects of not being able to connect to people of the second type. If you go into a torrent where no one knows how to configure their firewall/NAT/whatnot, everyone’s downloads will remain at a standstill. Worse yet, if there are only a few seeds (or peers with some data) with correctly configured connections then those seeds/peers will be swamped by all those people who cannot connect to one another, and much of the BT resiliency to provide files despite large loads will be lost. On the other hand, if you are not one of the unwashed masses who cannot set up their router or firewall, then you will reap the benefits of a bunch of peers that cannot exchange data: they will all be eager to exchange with you. Torrents with a bunch of passive (type 2) seeds are prone to this especially.
Or firewalls that run on your computer, ZoneAlarm or MS firewall, etc. All you must do here is allow traffic from whatever ports you decide to run BT on to reach you. For most users this involves poking around or READING THE DOCUMENTATION (RTFM) to find where to enter 6881.
It seems routers are a sticking point for many people, so I’ll mince a few more words for this topic.
Routers essentially sit between you and the internet and connect for you by proxy. Computers connected a router will generally have IP addresses that look like this: 192.168.*.*. This IP cannot be connected to by the real world. If you tell a friend “here, connect to my game at 192.168.0.5” there is no way it’ll work unless you both are on the same network (eg sharing the router). You can get the internal address with ipconfig if you use Windows. The router itself will have your external IP address, or the one that the outside world sees. The router configuration utility can get this IP for you, or visiting a utility website such as http://www.whatismyip.com.
The router’s job is to remember what computers have opened connections to where. However, if a random computer who you have not initiated a connection with walks up to your router on port 6881 and asks “Hi, you don’t know me, I’m interested in talking to you” the router will think “I have no idea who to send this guy to inside this network since no one told me you’d be coming unannounced, so I’ll have to send you away.” Thus the router is a firewall to all unsolicited traffic by default.
By “forwarding” ports you are telling the router “6881? All that traffic belongs to 192.168.0.5. If you get anything on that port, send it there, he/she/it (in this case, my computer) will decide what to do the traffic/message.
A picture is worth a thousand words, so here is a screenshot of my router’s forwarding settings. You may have to RTFM to discover where your settings for this can be set, but generally the information you have to enter yourself is the same. The second example is slightly more advanced, but says the same thing (and could be used to do more, if I had not set the ranges as one computer or port locally).
FYI: these are from a D-Link 614+
What "override IP sent to tracker does":
A mostly unused option, this just makes sure that the tracker will get your IP correct. This should be your EXTERNAL IP. If it is set incorrectly, even with correct port forwarding settings you won't be able to get connections from other people (they'll all try to connect to the IP you told the tracker to give). Many trackers also ignore this data entirely (possibly because of user error from above) and just broadcast the IP you connected from to the other peers. Just in case of a strange implementation of a tracker you may want to set this to your external IP if it's not too much bother (eg, it's not terribly dynamic or you have a plugin that'll check it every time you start whatever client you use). This can be used if (for some reason) you listen on a different IP than you connect with or want to make sure if the tracker (foolishly) asks your computer "what ip are you?" that it doesn't get the internal IP address as an answer, which is completely useless.
Bind to local IP:
Almost everyone should leave this blank. While it isn't terribly well documented (or so says google, I haven't checked very carefully), I believe the gist is to prevent problems if you have a computer with multiple IPs (and thus multiple network adaptors) so you can be sure what interface it'll operate on.
Last edited by Doppelganger; 2004-06-27 at 15:40.
|2004-07-30, 05:29||Link #3|
Join Date: Jul 2004
for some extreme case, i will have to key in the local IP or the connection will remain yellow. this one is tracker being too fussy and i happen to be behind router.