作者戶根勤。“計算機網(wǎng)絡概論”圖解趣味版抖所,蹲著馬桶就能看懂的網(wǎng)絡基礎知識梨州。本書以探索之旅的形式,從瀏覽器中輸入網(wǎng)址開始田轧,一路追蹤了到顯示出網(wǎng)頁的內(nèi)容為止的整個過程暴匠,以圖配文,講解了網(wǎng)絡的全貌傻粘,并重點介紹了實際的網(wǎng)絡設備和軟件是如何工作的每窖。
一、瀏覽器生成消息—探索瀏覽器的內(nèi)部
1弦悉、生成HTTP請求消息
用戶在瀏覽器中輸入網(wǎng)址(URL)窒典,瀏覽器的工作會從對用戶輸入的網(wǎng)址進行解析。然后瀏覽器會根據(jù)網(wǎng)址的含義來生成HTTP請求消息稽莉,瀏覽器通過請求消息將用戶需要哪些數(shù)據(jù)告知服務器瀑志,發(fā)送請求后會收到響應。
2污秆、向DNS服務器查詢Web服務器的IP地址
請求消息生成之后劈猪,瀏覽器會委托操作系統(tǒng)向Web服務器發(fā)送請求,但瀏覽器必須告訴操作系統(tǒng)接收方的IP地址才行混狠,因此瀏覽器必須先查出Web服務器的IP地址岸霹。網(wǎng)址中只有Web服務器的域名,因此瀏覽器需要向DNS服務器查詢域名對應的IP地址将饺。
3、全世界DNS服務器的大接力
這是我們的路程進入到哦DNS服務器幫助瀏覽器查詢IP地址這一環(huán)節(jié)了痛黎。全世界有上萬臺DNS服務器予弧,它們相互接力才能完成IP地址的查詢。
4湖饱、委托協(xié)議棧發(fā)送消息
查詢到IP地址之后掖蛤,瀏覽器就可以將消息委托給操作系統(tǒng)發(fā)送給Web服務器了【幔“委托給操作系統(tǒng)”這句話看似簡單蚓庭,但關于委托給操作系統(tǒng),其實有非常詳細的規(guī)則仅仆,必須要遵守這些規(guī)則才能完成操作器赞。理解了向操作系統(tǒng)進行委托時的規(guī)則,我們就能明白做出某個委托時操作系統(tǒng)會給我們怎樣的反饋墓拜,這可以說是相當于具體地理解了網(wǎng)絡的潛在能力港柜。
二、用電信號傳輸TCP/IP數(shù)據(jù)—探索協(xié)議棧和網(wǎng)卡
1、創(chuàng)建套接字
從應用程序收到委托后夏醉,協(xié)議棧通過TCP協(xié)議收發(fā)數(shù)據(jù)的操作可分為4個階段爽锥,首先是創(chuàng)建套接字。瀏覽器畔柔、郵件等一般應用程序收發(fā)數(shù)據(jù)時用TCP氯夷;DNS查詢等收發(fā)較短的控制數(shù)據(jù)時用UDP。套接字的實體就是通信控制信息靶擦,協(xié)議棧是根據(jù)套接字中記錄的控制信息來工作的腮考。創(chuàng)建套接字時,首先分配一個套接字所需的內(nèi)存空間奢啥,然后向其中寫入初始狀態(tài)秸仙。
2、連接服務器
接下來是客戶端套接字向服務器套接字進行連接的階段桩盲。通信操作中使用的控制信息分為兩類:頭部中記錄的信息寂纪、套接字(協(xié)議棧中的內(nèi)存空間)中記錄的信息。連接操作的第一步就是TCP模塊處創(chuàng)建表示連接控制信息的頭部赌结。通過TCP頭部中的發(fā)送方和接收方端口號可以找到要連接的套接字捞蛋。
3、收發(fā)數(shù)據(jù)
兩端的套接字完成連接之后柬姚,就進入了收發(fā)消息的階段了拟杉。在這個階段,協(xié)議棧會將從應用程序收到的數(shù)據(jù)切成小塊并發(fā)送給服務器量承,考慮到通信過程中可能會出錯導致網(wǎng)絡包丟失搬设,協(xié)議棧還需要確認切分出的每個包是否已經(jīng)送達服務器,對于沒有送達的包要重新發(fā)送一次撕捍。
4拿穴、從服務器斷開并刪除套接字
收發(fā)消息的操作全部結(jié)束后,接下來要斷開服務器的連接并刪除套接字忧风。斷開操作的本質(zhì)是當消息收發(fā)完成后客戶端和服務器相互進行確認的過程默色。
5、IP與以太網(wǎng)的包收發(fā)操作
在介紹TCP協(xié)議收發(fā)消息的操作之后狮腿,我們再來看看實際的網(wǎng)絡包是如何進行收發(fā)的腿宰。協(xié)議棧會與網(wǎng)卡進行配合,將數(shù)據(jù)切分成小塊并封裝成網(wǎng)絡包缘厢,再將網(wǎng)絡包轉(zhuǎn)換成電信號或者光信號發(fā)出去吃度。
6、UDP協(xié)議的收發(fā)操作
TCP協(xié)議有很多方便的功能昧绣,比如網(wǎng)絡包出錯丟失時可以重發(fā)规肴,因此很多應用程序都是使用TCP協(xié)議來收發(fā)數(shù)據(jù)的,但這些方便的功能也有幫倒忙的時候,在這種情況下我們還有另外一種叫UDP的協(xié)議拖刃。不需要重發(fā)的數(shù)據(jù)使用UDP發(fā)送更高效删壮。
三、從網(wǎng)線到網(wǎng)絡設備--探索集線器兑牡、交換機和路由器
1央碟、信號在網(wǎng)線和集線器中傳輸
信號從計算機流出之后,會在網(wǎng)線中經(jīng)過集線器等設備前進均函。每個包都是獨立傳輸?shù)囊谒洌乐咕W(wǎng)線中的信號衰減很重要,“雙絞”是為了抑制噪聲苞也,集線器將信號發(fā)往所有線路洛勉。
2、交換機的包轉(zhuǎn)發(fā)功能
交換機并不只是簡單地讓信號流過如迟,而是先接收信號并將其還原為數(shù)字信息收毫,然后再重新轉(zhuǎn)換成信號發(fā)送出去的過程。交換機根據(jù)地質(zhì)表進行轉(zhuǎn)發(fā)殷勘,全雙工模式可以同時進行發(fā)送和接收此再,自動協(xié)商:確定最優(yōu)的傳輸速率,交換機可同時執(zhí)行多個轉(zhuǎn)發(fā)操作玲销。
3输拇、路由器的包轉(zhuǎn)發(fā)功能
路由器和交換機一樣也是負責對包進行轉(zhuǎn)發(fā)的,但他們的工作方式有一些差異贤斜。交換機是基于以太網(wǎng)規(guī)格工作的設備策吠,而路由器是基于IP工作的。路由器的各個端口都具有MAC地址和IP地址瘩绒,路由器根據(jù)“IP地址”判斷轉(zhuǎn)發(fā)目標奴曙,路由器會忽略主機號,只匹配網(wǎng)絡號草讶。路由表的子網(wǎng)掩碼列只表示在匹配網(wǎng)絡包目標地址時需要對邊的比特數(shù)量。路由器的端口都具有MAC地址炉菲,只接收與自身地址匹配的包堕战,遇到不匹配的包則直接丟掉。通過路由器轉(zhuǎn)發(fā)的網(wǎng)絡包拍霜,其接收方MAC地址為路由器端口的MAC地址嘱丢。
4、路由器的附加功能
位于互聯(lián)網(wǎng)接入端的路由器通常還會提供一些附加功能祠饺,例如將私有地址轉(zhuǎn)換為公有地址的轉(zhuǎn)換功能越驻,以及阻止危險網(wǎng)絡包的包過濾功能等。
個人總結(jié):后面還有四五六章,讀的時候沒怎么看懂缀旁,也沒讀完记劈,所以這里就不做總結(jié)了。