# 技術筆記 #001:為什麼用 SIM 卡去中國就不用翻牆? 故事背景是這樣的,最近要跟朋友去上海跨年,在這之前每年都會至少去一次大陸,而在去之前購買網卡是必需,一旦插上網卡就可以無視大陸的防火牆使用那些需要「翻牆」才能使用的應用程式,如:Instagram、YouTube 等等,但我一直受惠於其便利性,卻從來沒想過底層的原理是什麼?究竟為何可以繞過監管訪問受限制的應用,剛好趁機了解一下背後的原因,以提升軟體工程師的素養。 ## 建立連接 先搞清楚在出國前買的 sim 卡,它所擁有的流量是由誰提供給我們的,提供給我們網路流量的正是這間 sim 卡原屬的網路服務供應商 (ISP, Internet Service Provider),可能是某家電信公司之類的,那重點是我們都已經出國了,怎麼能夠提供流量給我們呢?這就要去了解整個流量獲取的流程了: ``` 插上 sim 卡 (並開啟漫遊模式) -> 掃描大陸可用的基站 -> 基站讀取到 sim 卡資訊 (IMSI) 並轉發 -> 判斷是境外用戶 (啟動漫遊協議) -> 用漫遊協議路由到該 sim 卡原屬網路的境外 ISP -> 建立連接 ``` ## 服務訪問 以上是藉由漫遊協議,通過基站的路由與轉發,與原屬 ISP 建立連結的過程,下面緊接著說明,當我們要訪問一個 APP 所提供的服務時,中間會經過什麼過程: ``` 請求:手機 -> 基站 -> (漫遊通道) -> 境外 ISP -> Target Server (ex: Instagram) 回應:Instagram -> 境外 ISP -> (漫遊通道) -> 基站 -> 手機 ``` 這就是為什麼當我們使用在台灣買的網卡時,即便不用翻牆也能順利訪問那些在大陸受管制的應用程式,因為實際上管理服務訪問權的是 ISP,基站只負責路由與轉發請求,當我們使用的是大陸內地的 ISP 時,該 ISP 已經將特定應用程式加入黑名單,所以在 ISP -> Target Server 這段就會被擋下: ``` 請求:手機 (使用大陸網卡) -> 基站 (識別 ISP) -> 路由到境內 ISP -> Target Server (是黑名單,被防火牆擋下) ``` 而當我們使用境外的 ISP 就不會發生這個問題。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up