I realize that some people have very limited understanding of tcp/ip networking and internet communications so here I will provide a brief tutorial.

IP

All computers on an IP ("internet protocol") network must have a unique address assigned to them. This address (of the form 111.222.333.444) identifies your network, and the first two "quads" of the number identify your "subnet". I am simplifying a bit, but the gritty details are not important for the level of understanding we need to grock jondo/tor. IP addresses are assigned on a request-basis by a "dhcp" server. If you have a router at home you can connect multiple computers to, it has a dhcp server to assign those computers IP addresses.

Every url ("uniform resource locator", for example: ass.com takes you where you want to go) is really a front for an IP address. When you type www.assahola.com in a browser, this "request" is passed to your ISP's domain name server ("DNS") that tries to perform a match of www.assahola.com to an IP address. If it can't find it, it talks to other DNS's to find it. If it can't you get one of those 'The requested URL could not be retrieved' messages. If it does find the IP, you then can connect to the IP address.

Earlier I mentioned private IP addresses. These reserved subnets (10, 172, 192) can never be used as internet addresses -- they are only useful within a local network, which you can think of as a sort of cul-de-sac hanging off of the internet. My machine now has IP 10.1.1.6, but there are probably thousands if not millions of computers that have that address, but they are all behind a gateway that blocks me from connecting to them directly. There is no way to locate that private IP address on the internet. The only way I can talk to a computer that is inside a local/private/sub network is through its gateway, and only if that computer talks to me first -- it has no internet presence that I can contact, (unless you configure your router to forward requests to a certain local computer called port forwarding -- but that is getting deeper than we need to go here).

Each subnet or local network has a gateway that connects it to another network. A gateway is often a router, but can be a computer running some software (which is what a router is anyway). Unlike most computers, each gateway has two IP addresses. One IP address is for the local network, and the other IP identifies it as part of another network. My local gateway has the address 10.1.1.1, but from the internet "side" of the gateway the IP is assigned by my ISP and is outside my control. If I go to What's My IP Address? Networking Tools & More, it is reporting my IP as 80.237.191.141. That would normally be the internet "side" of my gateway's IP address as assigned by my ISP, and I would have just sacrificed my anonymity to this forum if it were. In this case however, I am running JonDo, so the IP it reports as mine (my gateway's) is really the IP of the last server in the JonDo cascade I am connected to. I am anonymous. Sweet.


TCP

The TCP portion of tcp/ip stands for "transmission control protocol". TCP runs "on top of" IP, in a layered fashion, which is the basic underlying design of current network protocol combinations, or stacks. For example, you may run a wireless network based on the 802.11 wireless protocol. That protocol runs "beneath" IP, so our laying looks like 802.11/IP/TCP/...., where "...." stands for any 3rd-party application that uses network communications, such as a bit-torrent client or web browser. A web browser uses HTTP ("hyper-text transfer protocol") on top of TCP, so its stack on an ethernet wired network would be ethernet/IP/TCP/HTTP. TCP is a very powerful protocol, whereas IP is much simpler. IP provides no way to make sure the data "packets" you send as part of a network communication actually arrive whole, nor does it specify the ordering of the data that is received on an IP connection. TCP handles all of that, plus some other goodies like retransmission of lost IP packets. IP packets are the data you send around the internet to do things, like buy something or visit a website. IP takes the data you are sending, such as a form you submit for your taxes or something, and breaks it up into packets. Each packet travels across the internet to its final destination -- but the important thing here is that each packet takes its own route to get where its going. If there are a million packets it is possible that they take a million different routes to the destination. This means that they won't necessarily all arrive in order, or arrive at all. TCP handles that, by requesting retransmission of data packets that are not receieved and by ordering them correctly when they do arrive. As the data is reassembled by TCP it can be passed off to the next higher layer in the protocol stack -- http for internet traffic. So that is tcp/ip in a very small nutshell. Here is a link to w3schools tcp/ip primer: TCP/IP Tutorial that may have some further info if you want to dig deeper, and wikipedia is quite good for this sort of stuff.

The key thing is to understand your gateway IP, as this is the identifying address you don't want a website you visit to know.