glyphstrip FAQ button
Halo.bungie.org
glyphstrip
Frequently Asked Forum Questions
 Search the HBO News Archives

Any All Exact 
Search the Halo Updates DBs

Halo Halo2 
Search Older Posts on This Forum:
Posts on Current Forum | Archived Posts


Not such a 'sober' post, methinks...
Posted By: Miguel Chavez <bs@bungie.org>Date: 11/21/01 4:50 a.m.

In Response To: Re: It has begun...(Halo + broadband) (Ferrex (Microserf))

: The vast majority of the posters in that thread, though not lacking in
: enthusiasm, are very lacking in understanding of how LANs, WANs, and
: networking in general works.

: I guess it is possible, with the right software, to use a PC to route an
: XBox's LAN traffic over a broadband connection, but you cannot just use a
: LAN hub, or have a router magically send non-IP LAN traffic over an IP
: based WAN.

: If anyone wants to try this, you're probably going to need two PCs, both with
: two network interfaces (one connected to the XBox, the other connected to
: you modem), and some software that builds a virtual LAN over an IP
: connection (I have no idea what kind of software offers this service...
: VPN). It's worth trying, but not worth investing a great deal of money in
: hubs and routers and whatever else you think you might need.

: -rex

Louis Wu characterized your post as 'sobering' on networking XBoxes via the internet. I don't really think so, and the forums out there have been really good about communicating what the network gurus out there are thinking. Below is a snippet of posts from one particular forum and it looks like these folks are more than your average John Doe computer user. This of course doesn't answer the question of latency issues and the like, but hey, what's the harm in trying?:

(all pulled from here: http://boards.ign.com/message.asp?topic=14286172&page=11

------------------------------------------------------------------------
*******************
Ok, I just ran a packet sniffer. It looks like when Halo looks for games, it is using UDP port 524.

Here is the suspect packet (output from aps for linux)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>
HW-ADDR: 00:50:f2:50:92:48 -----> ff:ff:ff:ff:ff:ff
IP-ADDR: 0.0.0.1 -----> 255.255.255.255
IP-Ver4 || Head:0x14 (bytes) || Service(TOS):0 || Length over all:0088
Fragmentation: ID:0x2227 - Flags: 0 0 0 - Offset:00000
TTL:064 || Protokoll:017 (UDP) || HeaderCRC:0x586e
PORT:524 ->524 (unknown) LENGTH: 0x4400 CRC: 0x3dc5
Bytes until here: 0x002a Bytes over all: 0x0066
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>

I dont have two xboxes to watch network traffic though. I also cant find the ip address!

*******************

Here is how you can make Halo work over the Internet.

To play Halo over the Internet you simply need a ethernet-long-distance-bridge. You need this bridge to use TCP/IP as it's mechanism to connect. Basically a socket between the two networks.

If you down load Vtun at http://vtun.sourceforge.net/features.html and run it on a Linux box on the network where the A Xbox is located. And also run the software on a Linux box on a network that the B Xbox is located you then configure the Vtun software on the two linux boxes with each others address, Viola!.

The two Xboxes will see one flat network. Vtun works at a raw ethernet level so you resolve all issues of what protocols are utilized by Halo.

This should work almost no matter what. You will need fast connectivity between the networks. And hopefully no timing issues in Halo will break because of the added latency.

There is huge security issues in doing this so make sure you really trust each other.

-Jym-

*******************

Also,

I did connect my Xbox to a sniffer and the following is what I found out.

Ok, I created a cross-over cable and attached my laptop to the Xbox.

1) You would think that the Xbox would do a DHCP on boot up. Mine did not. Extremely disapointing. This will be necessary before real network play is going to work properly. I guess software titles will be able to turn this on somehow. Maybe an API for the developers to use.

2) Halo does utilize UDP and not raw ethernet.

3) My Xbox grabed the address 0.0.0.1. What is surprising is that it did not send anything out to be sure that 0.0.0.1 was available.

4) Halo sent out broadcast attempts over UDP

Source Dest Protocol Source Port Dest Port

0.0.0.1 255.255.255.255 UDP 3074 3074

Keeps sending out the same thing every 1.5 seconds. Unfortunetely I don't have another Xbox to see what it replies with. Maybe I can borrow one this week-end. I am really currious to see what IP it uses.

What might be interesting is what will happen if both Xboxes use 0.0.0.1. If you bridge these two networks it might be a problem. If the Xbox has someway to make sure that it does not use the same address then you need to connect the two networks so this happens. I did not see any Xbox traffic on the sniffer for the Xbox to perform this. It is a mystery. I am going to try it again because my Xbox was turned off but not unplugged when I did it. It did not ask me the time.

If everything is done through broadcast addressing then address duplication is not a problem. If the 2nd xbox replies to 255.255.255.255 instead of 0.0.0.1 then addressing is really not a problem. Which I had a 2nd Xbox that was not sealed so I could test.

I think with the weird addressing, 0.0.0.1, it would be best to work at a ethernet level. Creating a long distance ethternet bridge over the Internet is the way to go.

-Jym-

*******************

One more thing.

My guess is that since Halo is just going to use broadcast addresses using a goofy address like 0.0.0.1 just does not matter. And infact multiple boxes could even use the same address and would not be a problem.

I have not open my 2nd Xbox so I am guessing what the traffic is going to look like. But my guess is the following:

SA = Source address
DA = Destination address
SP = Source Port
DP = Destination Port

Xbox SA:SP DA:DP Protocol

A 0.0.0.1:3074 255.255.255.255:3074 UDP
B 255.255.255.255:3074 0.0.0.1:3074 UDP

Basically every machine will always send to 255.255.255.255 and every machine source will be 0.0.0.1.

This is the only way I can see Halo working on LAN with a normal TCP/IP stack. Unless Microsoft has implemented a non-standard TCP/IP stack on Halo but I highly doubt that.

This means that the easiest way to make Halo work over the Internet is bridge the two ethernet networks. I think working at an IP level is going to be difficult. Not impossible but very difficult.

I think the biggest head-ache is the following 2:

1) Handling a address 0.0.0.1. This is actually a broadcast address. I know everyone thinks only 255 is broadcast. But because of an error many, many years ago in a stack where 0 was implemented as all 1's the 0 was also considered a broadcast. I think this carries on even with new stacks.

0 is also sometimes used when a machine does not know there network. This is why MS probably used it for Xbox.

2) Handling two machines with the same address. I think routers are going to become confused.

-Jym-

*******************

I doubt the broadcast address will be used extensively. If that were the case, it would congest the network very quickly.

*******************

I think this is why they talk in terms of a system link instead of a network. You are 100% correct broadcasting is a bad thing. But I am thinking Halo was thinking about 2 Xbox connected over a cross-over cable, dedicated.

Or maybe 4 Xbox connected on a HUB or Switch but only the Xbox connected.

I don't think they were thinking connected on a real network. I also think the goffy addresses that I sniffed would not be healthy on a normal network.

Someone will eventually sniff with 2 xboxes connected and we will know how this works. Until that happens I am guessing that the DA address will always be 255.255.255.255.

I bet it.

-Jym-

*******************

In earlier post I gave the exact instructions on how to do this.

But...

When I get sometime over the holiday I will create a freaking Linux boot floppy with everything on it. You simple can put the boot disk into your Windows XP/2000/ME/95/98/Dos/Minix/CPM system and boot. It will simple ask one question. What is the IP address of the network you are trying to connect to. It will then magically work for you. Can't make it any simpler.

OK, if you don't have DHCP configured you will need to give it an IP address and a route. DNS server if you try to give a name to connect to.

Obviously the Xbox will need to be connected to your LAN and the system you boot with the Linux disk will also need to be on the same LAN. And you will need an Internet connection. Oh, and you will need electricity to power the computers .

Now how simple is that?

-Jym-
------------------------------------------------------------------------


Message Index




Replies:

It has begun...(Halo + broadband)MoBill 11/19/01 4:24 p.m.
     Re: It has begun...(Halo + broadband)Ferrex (Microserf) 11/19/01 5:46 p.m.
           Re: It has begun...(Halo + broadband)SoSD 11/19/01 6:56 p.m.
                 Re: It has begun...(Halo + broadband)Psychaos 11/19/01 7:01 p.m.
                       Re: It has begun...(Halo + broadband)Johnny Law 11/21/01 12:57 a.m.
           Re: It has begun...(Halo + broadband)Paul Roberts 11/19/01 11:09 p.m.
                 Re: It has begun...(Halo + broadband)Mage 11/19/01 11:39 p.m.
           So...Narcogen 11/20/01 1:26 a.m.
           Re: It has begun...(Halo + broadband)Marcus Beaman 11/20/01 3:21 p.m.
           Not such a 'sober' post, methinks...Miguel Chavez 11/21/01 4:50 a.m.
                 Re: Not such a 'sober' post, methinks...Louis Wu 11/21/01 11:29 a.m.



contact us

The HBO Forum Archive is maintained with WebBBS 4.33.