Category: Challenge


GuessWhat

There where some guesses for my reader challenge, but Pape was correct: it’s a Cisco 18400 IRIS router. IRIS stands for Internet Routing In Space, and this router is a module for a satellite. A quick overview:

  • It runs IOS, and can be remotely upgraded. Considering the cost to get someone physically near the router, that’s a huge advantage.
  • It has extended VOIP Services like Cisco Unified Communications Manager Express, improving the latency for voice calls.
  • It can exchange routing updates with other satellites with this module, and even routers on the planet surface. This way, direct connectivity between satellites becomes much easier.
  • A full feature set: QoS, security, IPv6, OSPF, BGP, SNMP,…
  • High radiation tolerance, which is mandatory in space.
  • Gigabit-capable interfaces, although these interface go directly into satellite circuitry or antennae. Effective throughput is around 250 Mbps according to the data sheet.

This is most likely nothing I will ever have the chance to work with in this lifetime, nor something I will find on eBay. An impressive piece of technology!

Something completely different for a change.

GuessWhat

What is this? I’ll give some hints: it’s made by Cisco, runs IOS code, and it’s not End of Life (EOL).

If you know it, post it in the comments!

Time to describe the solution to my last blog post.

Let’s see the topology again:

The router does not have any routing protocol configured. It does have all interfaces configured: 10.0.0.1 towards the WAN cloud, 10.0.1.1 towards the PC 2 subnet, and an IP address towards the PC 1 subnet. PC 2 is a Windows computer, static IP 10.0.1.2. PC 1 is a Windows computer set to DHCP client, but there is no DHCP pool configured on the router or any other device. PC 1 hasn’t had any special changes to the software settings or TCP/IP stack.

Under what circumstances will PC 1 and PC 2 be able to ping each other?

Well, note that I speak of Windows computers. This OS does a very specific thing when there’s no DHCP server: it will use an APIPA address. This is an address in the range 169.254.0.0/16. The remaining 16 hostbits are generated from the MAC address. So despite that I not explicitly give the PC1 IP address, you know in which subnet the IP will be. So the router interface towards PC1 needs an IP in the same subnet. Congrats to Pape Diack for working that out!

That’s half of the challenge. But to ping PC1 from another subnet, it’ll need a default route, which it does not have. Unless it somehow assumes the echo request originated from the local subnet.

First solution: a (static) NAT rule on the router, which translates an IP on another subnet to an IP on the local subnet. For PC1, it seems as if the router sends the echo request. Once the router receives the echo reply, it is translated and sent to PC2.

Second solution: proxy-arp. Enabled by default on a Cisco router. If PC1 doesn’t have a gateway, it desperately tries to ARP for PC2’s MAC address. If the router knows how to reach PC2 (possible through the connected subnet), it will reply with his own MAC, and forward the packet once it arrives.

A third, more out-of-the-box thinking solution was using IPv6, as suggested by some. Granted it would work, but not exactly what I was looking for. I better add more detail to my questions the next time.

Thanks for all the answers!

Something else for a change: a challenge for the reader.

Given the following topology:

The router does not have any routing protocol configured. It does have all interfaces configured: 10.0.0.1 towards the WAN cloud, 10.0.1.1 towards the PC 2 subnet, and an IP address towards the PC 1 subnet. PC 2 is a Windows computer, static IP 10.0.1.2.
PC 1 is a Windows computer set to DHCP client, but there is no DHCP pool configured on the router or any other device. PC 1 hasn’t had any special changes to the software settings or TCP/IP stack.

Now the question: under what circumstances will PC 1 and PC 2 be able to ping each other?

To my knowledge, this question has two possible solutions. You have an idea? Please share it in the comments!

Update: the solution.