The present document was prepared to help teams building their LAN.
Requirements
- each team gets a single rj45 cable providing 10/100/1000 Ethernet uplink
- the contest LAN is a separate network, no connection to the Internet
- each team gets an IP subnet from the 10.0.0.0/8 range; teams are responsible for configuring their computers with the proper static or dynamic IP address, netmask, gateway, etc.
- teams must be able to connect to TCP/IPv4 servers and continuously read/write on them
- teams must be able to receive UDP/IPv4 unicast and broadcast packets
- teams must be able to download files using the HTTP 1.0 protocol
- team subnets are isolated using VLAN and other techniques by the organizers - using firewalls on team computers is still recommended
- despite of all the network isolation, teams are responsible for not initiating direct communication with computers of any other team
- according to the experience of the previous years, it is strongly recommended that all three members of all teams participate in the network setup/testing session (Friday afternoon); setting up the network during the contest on Saturday will cause the team to lose valuable time.
- organizers can not lend Ethernet hubs, switches, routers or network cables for building the team LANs
- depending on the load, organizers normally can not provide support in setting up and configuring team LAN or routers; on Friday afternoon it is more probable that we can help with such issues; on Saturday, this kind of support has low priority.
- it is also recommended that the team reads the tips and tricks section and test their LAN before arriving on-site at the contest.
Tips and tricks
Building team-LAN
This section covers lists a few different methods for building team LAN. Easiest to set up, and thus most recommended variant is Method #1.
Method #1: Connecting LAN directly
See a diagram of Method #1: png svg
In any case the team has, the best approach is building a switched/hubbed LAN directly connected. The team is responsible for providing all necessary devices and cabling and for building the LAN. The most common way building such a LAN is using an Ethernet hub or switch for connecting team computers together then connecting the same hub or switch to the uplink. In this case team computers should use the IP addresses provided by the organizers (by setting static IP addresses or using DHCP)
Number of ports required is number of computers + 1 for the uplink; for 3 computers this is total of 4 ports.
Note: most broadband routers can be used as a hub (WAN slot should be left vacant).
This is the most recommended setup as all network features will work out of the box, including UDP broadcast.
Method #2: Connecting LAN through a broadband/adsl router
See a diagram of Method #2: png svg
It is possible to build a protected LAN for any amount of computers using a broadband or adsl router. In this case the router acts on the contest LAN as a single computer with a single IP address. The router should have an rj45 connector labelled as "Internet" or "WAN", which shall be connected to the contest LAN on the provided uplink cable. The rest of the ports would work as a hub or switch and all team computer should be connected there. The router should do NAT (network address translation); the team's LAN would have a different address space from the contest LAN - for example 192.168.0.0/16.
This setup is not recommended since the router will need to be configured to pass in UDP packets to a Team PC. Depending on the type of router, this might be tricky.
Method #3: Connecting LAN through a PC router
See a diagram of Method #3: png svg
Same as Method #2, but instead of using a broadband or adsl router, the team may choose to use a PC (or any other computer) with two network interfaces. One network interface shall be configured with one of the static IP addresses the team gets, the other should be a different private IP range. The team should set up NAT, DHCP server or any other services as desired. Furthermore the team needs to have a hub or switch to be able to connect multiple computers to the second interface of the router PC. All other considerations of Method #2 applies. Note: the router PC may be a desktop PC which is being used by one of the contestants for solving the tasks.
If the team wishes to receive UDP packets on some other PC than the router PC, the router PC will need to be configured to route UDP packets properly. This is not easy for UDP broadcast packets without application level proxying, therefore this setup is not recommended.
Method #4: Connecting clients through a PC router with many network interfaces
See a diagram of Method #4: png svg
Rare, but working solution is to install a multi-port Ethernet card in a PC. These extension cards usually have 4, 6 or 8 rj45 connectors and act as 4, 6 or 8 separate network interfaces. Having a computer equipped with such a card, the team may decide to follow Method #3, without having to have an extra hub/switch; client computers are directly connected to the PC router. On the router there shall be a dedicated interface for the uplink. The simplest way to set up the rest of the interfaces is to assume a different subnet for each and configure NAT between them and the uplink interface.
This setup us not recommended for the same reasons as Method #3 was not recommended.
Routers, hubs and switches
Hubs and switches are basically the same for building the team LAN (Hubs are a bit slower). You can find more info about this topic in wikipedia in the article on Network switches.A very important and useful consideration is that most broadband/adsl routers have multiple LAN connectors and an internal Ethernet hub connecting them. This means the router can be used as a plain Ethernet hub, usually without any configuration, as long they are powered and all computers and uplink are connected to the LAN connectors (the Internet/WAN/uplink connector should be left unplugged).
If your team decides to go with a broadband/adsl router based solution (not as a hub), please make sure, before arriving on-site, that:
- you know the admin login/password to the router
- you know how to configure a static IP for uplink on the given device
- you know how to configure static IP or DHCP server and subnet address for the LAN on the router
- you know how to configure the router to pass in UDP packets
- you have enough LAN ports