During the epidemic of 2019-nCoV, my supervisor shares a thought to me. He thinks the network communication should always be characterized as two problems: 1. characterizing the end-to-end network channel. 2. optimize channel coding for particular use.
I somehow believe in the idea, but I’d appreciate if we can give a theoretical proof.
Of course, the article won’t discuss this. Instead, I tried to use this to optimize the campus network for me.
Campus Network Problem
The campus network provides a good channel to the internet, in a sense:
- I can acquire multiple IP, with independent bandwidth limit.
- Good QoS, which can be reflect as fewer jitters and stable bandwidth.
- Multiple ISPs (though I don’t have control of routing)
- UDP is good as well
But also problems:
- Slow (or not that fast?) – limited to 50Mbps per IP, but has 1Gbps Ethernet
- CHINA intranet only
- BAD routing policy
All in all, we choose to:
- use third-party tunneling to pass the national firewall.
- use client to server end-to-end MP-TCP aggregation to improve the bandwidth.
[mobile phones, PCs and tablets]
[our local gateway]
multiple IPs, each as (L2TP) client over (UDP) over (encrypted socks5 proxy)
[third-party cloud]
(UDP) tunneling as bridge between our local gateway and cloud, provided by (encrypted socks5 proxy)
[our cloud gateway]
(L2TP) server, (encrypted socks5 proxy) server
[REAL AND BETTER INTERNET]
[TO BE CONTINUED]
I will note others in the future, and in fact, I’m considering a TCP over TCP and perhaps a real NC-TCP.