18 Mar

20 mins of “I am about to die” moment

Last week I was on way from Kolkata to Delhi after spending time at ISOC IXP workshop. It was Jet Airways 9W 946 on 10th March 2017. The flight took off slightly late and 90% time went just fine. Original arrival time was 16:30 though it was expected to be little late.

 

Landing time…

At around 16:15 pilots announced “to prepare for landing” and cabin crew started collecting waste and getting people ready. I was sitting on the window seat and looking at clouds on my right. It was a usual view from the window and I usually like when the plane crosses over the clouds. It was little bumpy by 16:20 and that is usual behaviour. As it proceeded it went from “slightly bumpy” to “very bumpy” ride. Somewhere around 16:25 or so plane gave the first feeling of “free fall”. It’s was the same feeling as we get going down the roller coaster but 10x of that. Few people screamed. It reminded me of one of my previous travels from Malaysia to India in 2013 after APRICOT 2013 when the flight was very bumpy and also faced free fall at that time. Next after 2-3 mins plane had another free fall and it went for 10-15 seconds. A Japanese gentleman sitting next to me wasn’t wearing his shoes. One of his shoes literally touched my chest and fell on me. That was the first time I also got quite scared. I looked outside and the plane was all surrounded by clouds and nothing much was visible. Again just like the Malaysian flight in 2013 I felt for few mins that I was about to die. There were screams of people all around, few of cell phones, pens, shoes etc got all around. One person a bit away from me was shouting for help for someone around him. Next, there was another free fall like feeling. Lesser than last one but everyone was scared by this time. I stop looking outside the window as it was very scary. I thought planes cross clouds and this kind of thing never happens. Probably it’s some kind of technical failure and that’s about it. I could hear at least 5-6 distinctive voices of people chanting Hanuman Chalisa (हनुमान चालीसा ) and a girl right behind was chanting Om Namah Shivaya (ओम् नमः शिवाए) and she was repeating it really fast. All of that was further giving a scary feeling to mind that time has come. It was a very bad feeling. I saw on maps on the screen in the middle part of the plane – we were flying around Ghaziabad and plane was at 5000m.

 

Surely it was scary but at the same time, it was a feeling of regret about losing family members, people who we love, just about everything. I did not actually think that family members will loose me but it was a feeling other way around.  I realised I was way more scared this time as compared to the Malaysian flight and one of the reasons for that was the fact that I was on the Malaysian flight with my manager from the previous job. I wasn’t alone and we were speaking to each other at that time. I took my phone out while there were still bumps and wrote a message to my family members telling them that I was really scared. Next, I looked at Japanese gentleman on left. He was disturbed but very calm. He was silent and wasn’t showing any major expressions. I started speaking to him about bumps and “free fall like the feeling” of the plane. He mentioned that he was on way from Delhi to Kolkata a day back and flight was bumpy on that day too (of course less bumpy than the one we were in). That gave me a lot of confidence that it was just bad weather and nothing else. He asked me about what people are chanting all around and I told him the name of respective gods which people were chanting. Suddenly whole flight turned so spiritual. I felt much better by speaking to him and keeping my “I am about to die today” feelings aside. I asked him about his profession, he asked me mine and 2-3 mins passed with bumps.

Next, I saw outside plane was out of cloud cover and within 10 seconds captain declared that plane was out of high turbulence and we can expect a smoother ride. There were zero bumps and no further case of scary free feel beyond this point. Some people were worried as the plane was about to touch runway in fear that something is wrong in the plane but soon after flight just landed fine.

As the plane was out of runway and quite slow everyone was related. The person sitting on next seat looked behind and asked me for help to locate his pen. On the back side of the plane, there was a visible impact left with stuff lying all around. As we got out of the plane and were on way to terminal in bus people started talking about the experience. By this time there were a lot of “experts” saying pilot was in hurry to cross over. While hearing expert comments with a headache I felt I was back home. 🙂 I slept for rest of my way which is from Delhi to Rohtak by road and that helped to get rid of a headache.

And that is how “I am about to die” feeling ended and I thought I will hanging out on Earth for a while. Long time, long long time! 🙂

 

07 Mar

Confusing traceroutes and more

And here goes my first post for 2017. The start of this year did not go well as I broke my hand in Jan and that resulted in a lot of time loss. Now I am almost recovered and in much better condition. I just attended HKNOG 4.0 at Hong Kong followed by APRICOT 2017 at Ho Chi Minh, Vietnam. an event and I enjoyed the both. Here’s my presentation from APRICOT 2017.

I recently I came across some of crazy confusing traceroutes as passed by one of my friends. I cannot share that exact traceroute on this blog post but can produce the same effect about which I am posting by doing a trace from one of large network like Telia London PoP to one of the Indian destinations via their looking glass

Example traceroute:

 

 

Here’s trace is as London (AS1299) > London (AS15412) > Mumbai (AS15412) >>>> Somewhere in India (AS9498) > destination (AS132933)

 

So traffic enters India via Reliance and next handed off to Airtel and reaches the destination. Let’s check BGP table view of same PoP for this prefix:

 

So out of both available routes both are 15412 > 18101 > 132933 direct and there are no AS9498 while Airtel (AS9498) does appear in the traceroute. 2nd last hop in the trace is 182.72.29.222 and that indeed belongs to Airtel.

If we trust routing table as well as the fact that usually Airtel and Reliance exchange domestic traffic only and typically we do not see AS15412 pushing traffic via Airtel. This means trace is wrong and it indeed is. Before we get to on why it’s wrong to let’s try to understand how exactly traceroute works.

 

Working of traceroute

The way traceroute works is by using TTL i.e Time to live on packets the tool is sending out. IP headers carry TTL to prevent them for looping forever. So for instance, if router R1 sends some traffic to router R2 and R2 is not learning that route from anywhere while has a default back to R1 then traffic will start looping between R1 and R2. IP routing prevents this by using TTL and IP packets are sent with certain TTL value and as soon as they cross a router, TTL is decreased. When TTL is zero a router is supposed to drop the traffic and not carry them any further. When a router drops traffic it is supposed to reply back with error “TTL exceeded”.

Now the way “traceroute tool” works is by sending packets with increasing TTL one after other. It sends first one with TTL 1. Router directly connected to it gets the packet. It reduces TTL (and 1 – 1 so it becomes zero) and since next TTL is now zero it just drops prefix instead of sending it further. And as a part of dropping it replies back to a system running a trace with “TTL time exceeded error” revealing it’s IP to the tool. Next, another packet will be sent with TTL 2 and it will cross 1st router & would drop on a 2nd router with “TTL time exceeded” revealing it’s IP.

 

 

Back to our problem…

Now, so that was about the working of traceroute. Now going back to the case I was discussing. Think of routing between two networks when routing is not symmetric. With asymmetric routing, I mean that source & destinations may be carried via different paths.

 

Say e.g here A is sending traffic to B via R1-R2 and B is replying back to A via R3. Now if A does a trace to B, R1 & R2 may appear fine but what source IP B uses to convey the message of TTL exceeded can confuse things. When packets reach B with TTL 1, B decrements TTL and drops them. Next to send that “TTL timeout exceeded message” B has two options:

  1. B can reply back from IP address on the interface connected to R2. Remember I am talking about B just using source IP for TTL exceeded error.  Actual reply path, of course, is via R3
  2. B can reply back from IP of address of the interface connected to R3 using the usual logic of how packets go out – use the source IP of the interface of the best path installed in the router

 

What logic B uses has it’s own advantages and disadvantages. If B follows #1 i.e sends TTL exceeded from the same interface which is connected to R2 then it will give very logical traceroute output. But if network R3 is filtering packets based on BCP38, it will just drop the traffic coming from B from R2’s IP. While if B follows #2 it won’t cause any issues with BCP38 but will confuse the traceroute replies as suddenly one hop in trace will appear from entirely another network. That is what exactly has been happening in the trace I shared above. Let’s read trace again.

 

Here router right before destination i.e on hop7 is connected to Reliance & Airtel. It’s announcing the prefix covering the destination to Reliance and Reliance is bringing traffic but it’s using Airtel to send traffic out back to London router of Telia. While replying for “TTL exceeded” router 7 is using source IP of Airtel and thus we see the PTR record pointing to Airtel. This can be referred as “Random factoid” behaviour in traceroute. This comes from RFC1812 which suggests “ICMP source must be from the egress iface” and  Richard Steenbergen puts its very nicely in his presentation at NANOG here.

Checko

So that’s all about it for now!