1. 動機
2. 初步計劃
1.動機
本來是打算在學完電腦網路之後來完成這些文章的,但是一直由於時間的原因沒有完成,一直拖到現在。前兩天接到了幾個電話面試,問到了幾個電腦網路的問題,都沒怎麼答上來(當時的問題是讓我解釋“三向交握”,但是我忘了,好囧,估計電腦網路的老師要氣得活過來了),好吧,那就複習一下電腦網路吧。
我們在學習電腦網路時,使用的是《電腦網路,自頂向下方法》 這本教材,書中是分開的各個章節來解釋電腦網路的,好像書中沒有一個貫穿的情景分析。上面的各種因素導致了我編寫《電腦網路情景分析》系列部落格。其中我會盡量通過情景的方式來分析電腦網路的各個部分。例如如果alice通過ie向bob發送一封email,那麼我會試圖分析這整個的一個流程,資訊是如何從alice流程bob的,當然這裡不會討論比較高深的電腦網路演算法知識(例如選路演算法等)。
當然作為程式員,我們最關心的是如何用程式(這裡主要是通過c#來實現)的方式去實現一些東西。我想在其中我會盡量結合程式來說明如何將理論和具體的coding結合起來。
最後需要說明的是,由於個人能力所限,可能在其中存在不足之處,所以歡迎您留言指正。
2. 初步計劃
我們試圖解釋下面的幾個情景:
情景1. 我的大學whhit(有人知道這是什麼嗎?這個應該瞭解吧hit,如果還是不知道,嗚嗚..)對外的ip可能也僅僅兩三個,但是學校裡面的一萬多學生每個人都有自己的ip,並且能夠串連到google或者其他網站,那麼這是如何?的?同時如果我在ie上鍵入http://www.google.com/那麼瀏覽器在背後做了哪些工作?c#中可以很簡單通過HttpCookie 對象將cookie對象返回到用戶端,那麼在協議中如何支援的?
我們會首先忽略學校內部的定址的過程,假設是通過學校的對外ip來瀏覽網頁的,將這一過程(應用程式層,運輸層,網路層,鏈路層,物理層,其中物理層可能涉及的比較少)解釋之後 ,我們在解釋學校內部的定址過程。
情景2. alice開啟ie瀏覽器,登入hotmail,然後向好友bob發送一封電子郵件。我們將試圖分析這其中的細節其設計到的協議。
我們試圖完成下面的幾個小的工程 (主要是在應用程式層的程式):
1. 代碼發送郵件
2. c#中通訊端編程
3. 如何?一個簡單的web server