12 * * * 請求超時。
13 22 ms 22 ms 31 ms 123.125.114.144
跟蹤完成。
二、應用層
對于應用層,我想絕大多數(shù)人,應該是最熟悉的了。尤其是從事軟件開發(fā)的人。這類應用程序體系結(jié)構(gòu)是由應用程序研發(fā)者設(shè)計,不過多是利用的現(xiàn)代所流行的倆種主流體系結(jié)構(gòu)之一:C/S結(jié)構(gòu)(客戶 - 服務器),P2P結(jié)構(gòu)(對等體系)。
C/S結(jié)構(gòu):在這種體系中,總有一個需要一直打開的主機,我們稱為服務器(server),它服務于其他稱為客戶(client)主機的請求。服務器總是具有一個固定的地址,大家都知道的地址,稱為IP地址。比如 baidu.com 的IP地址之一為 180.149.132.47 。啥?你不知道 baidu.com 的地址,但是你知道 baidu.com 這個名字吧,又因為存在DNS服務(后面說),所以想當于了解。在這種結(jié)構(gòu)下,值得注意的是,其他客戶主機之間是不可以之間進行通信的。
P2P結(jié)構(gòu):在對等(Peer-to-peer)體系中,每臺計算機之間都處于對等的地位,各臺計算機有相同的功能,無主從之分,一臺計算機既可作為服務器,設(shè)定共享資源供網(wǎng)絡(luò)中其他計算機所使用,又可以作為工作站。網(wǎng)絡(luò)中的每一臺計算機既能充當網(wǎng)絡(luò)服務的請求者,又對其它計算機的請求做出響應,提供資源、服務和內(nèi)容。通常這些資源和服務包括:信息的共享和交換、計算資源(如CPU計算能力共享)、存儲共享(如緩存和磁盤空間的使用)、網(wǎng)絡(luò)共享、打印機共享等。
2x01.是什么在通信
對于學習過操作系統(tǒng),或閱讀過unix網(wǎng)絡(luò)編程的人,對Tcp echo服務器應該不會陌生。當前進程通過fork()生成另外一個進程,一個進程發(fā)送一句話,然后另外一個接收到,并且顯示在屏幕上。所以,我們可以想得到,在應用層而言,忽略下層數(shù)據(jù)傳輸細節(jié),那么通信的其實就是進程。然而我們不怎么關(guān)注同一臺主機上進程間的通信,而關(guān)注不同端系統(tǒng)上的進程間的通信。那么就不得不一個新東西: 套接字 ,主機上應用層與運輸層的接口,但是應用程序開發(fā)者對于運輸層的控制僅限于:
選擇運輸層的協(xié)議
也許能設(shè)定幾個運輸層的參數(shù),比如最大換成數(shù),和最大報文段長度等。
2x02.網(wǎng)絡(luò)應用
互聯(lián)網(wǎng)從誕生到現(xiàn)在不過短短百年,但是對于人類社會的影響確實翻天覆地。試想,一百年前的時候,你能身處中華,卻知道美國現(xiàn)在發(fā)生著選舉大會嗎?你能通過一個東西隨身攜帶萬卷書嗎?你能實時與你遠在他鄉(xiāng)的好友實時通訊嗎?不能,都不能。但是現(xiàn)在可以。那么接下來,就介紹幾個極為流行的應用以及它的應用層協(xié)議吧。
HTTP:Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫。常有倆個程序?qū)崿F(xiàn),客戶機-服務器,并且分別運行在不同的端系統(tǒng)上。其下的支撐運輸協(xié)議是使用的TCP,而且由于http服務器并不保存關(guān)于客戶的任何信息,所以 http 也被稱為是一個無狀態(tài)協(xié)議。但是為了跟蹤用戶的輸入(比如用戶的購物車商品),網(wǎng)站會提供一個用戶身份的識別碼,存放在cookie中,每次再訪問網(wǎng)站則自動將cookie加入到HTTP報文頭部,實現(xiàn)身份的識別。

交互過程
FTP:File Transfer Protocol(文件傳輸協(xié)議)的英文簡稱,而中文簡稱為“文傳協(xié)議”。同時,它也是一個應用程序。通過使用倆個并行的TCP鏈接來傳輸文件,一個是控制鏈接,一個是數(shù)據(jù)鏈接,控制鏈接用于在倆個主機之間傳輸控制信息,如用戶標識,口令,命令。數(shù)據(jù)鏈接用于實際發(fā)送一個。
DNS:Domain Name System(域名系統(tǒng))的縮寫,運行在UDP協(xié)議之上。就像我們上面提到的 baidu.com 怎么轉(zhuǎn)換成ip地址,這個就是DNS的服務。下面來介紹一下。首先,總的來說,DNS采用了分布式的設(shè)計方案。如下。

DNS服務器層次結(jié)構(gòu)
每個組織,如一個大學,一個院系,一個公司都會有一臺本地DNS服務器,當一臺主機想要訪問 baidu.com 的ip地址時,會先發(fā)送她的查詢請求到本地DNS服務器,里面查找是否有 baidu.com 的ip地址。沒有的話,本地DNS服務器就把這個請求轉(zhuǎn)發(fā)到根DNS服務器,然后根DNS服務器把 com DNS服務器地址發(fā)送給本地DNS服務器,然后本地DNS服務器發(fā)送查詢請求到 com DNS服務器,完成名字與ip地址的轉(zhuǎn)換。