學習目標:《圖解TCP/IP》筆記
學習內容:
一、計算機網路背景
1、廣域網與局域網;
2、OSI開放式通信系統互聯參考模型:
<1>應用層:為應用程式提供服務并規定應用程式中通信相關的細節,針對特定應用的協議,電子郵件協議,遠程登錄協議,檔案傳輸協議;
<2>表示層:主要負責格式轉換,接受不同表現形式的資訊,文字流,影像,聲音等,將應用處理的資訊轉換為適合網路傳輸的格式,或者將來自下一層的資料轉換為上層能夠處理的格式;
<3>會話層:負責建立和斷開通信連接,以及資料的分割和傳輸,何時建立連接,何時斷開,以及保持多久連接
<4>傳輸層:可靠傳輸的作用,是否有資料丟失;
<5>網路層:經過哪個路由傳遞到目標地址;
<6>資料鏈路層:資料幀與位元流之間的轉換;
(位元流:內容分發協議,它采用高效的軟體分發系統和點對點技術共享大體積檔案(如一部電影或電視節目),并使每個用戶像網路重新分配結點那樣提供上傳服務,一般的下載服務器為每一個發出下載請求的用戶提供下載服務,而BitTorrent的作業方式與之不同,分配器或檔案的持有者將檔案發送給其中一名用戶,再由這名用戶轉發給其它用戶,用戶之間相互轉發自己所擁有的檔案部分,直到每個用戶的下載都全部完成,這種方法可以使下載服務器同時處理多個大體積檔案的下載請求,而無須占用大量帶寬,)
<7>物理層:位元流與電子信號之間的切換;


3、傳輸方式分類
1)是否需要預先建立連接分類:
面向有連接型:發送資料之前需要在收發主機之間連接一條通信線路,例如電話;
面向無連接型:發送端于任何時候自由發送資料,接收端也永遠不知道自己會在何時從哪接受資料,此時接收端需要時常確認是否接受了資料,例如發郵包;
2)交換方式分類
電路交換:交換機主要負責資料的中轉處理,計算機首先被連接到交換機上,而交換機與交換機之間則由眾多的通信線路再繼續連接,計算機之間發生資料時需要先通過交換機與目標主機建立通信電路,
3)分組交換:
<1>為了防止電路交換中,兩臺計算機獨占線路,實作并發交換,連接到通信電路上的計算機所要發送的資料分成多個資料包,按照一定的順序排列之后分別發送,由于每個資料包都寫入了發送端與接收端的地址,所以即使在同一條線路也可以同時為多個用戶提供服務,
<2>分組交換中,分組交換機連接通信線路,發送端計算機將資料分組發送給路由器,路由器收到這些分組資料以后快取到自己的緩沖區的佇列中,然后再轉發給目標計算機,也叫“蓄積交換”,
<3>由于網路擁堵,路由器可能發生快取飽和或者溢位,甚至出現分組資料丟失,
4)根據接收端數量分類
<1>單播(Unicast):1對1通信;
<2>廣播(Broadcast):對應的能接受到廣播的計算機范圍成為廣播域,如果頻段資訊;
<3>多播(Multicast):指定特定的一組主機作為接收端,如電視會議;
<4>任播(Anycast):在特定的多臺主機中選出一臺作為接收端,類似多播在特定的一組主機中任選,在DNS根域名決議服務器中有應用,
4、地址
1)唯一性:一個地址必須明確地表示一個物件;
2)層次性:通過分層樹狀結構實作快速檢索,如電話號碼,實際住址,也有無層次的地址,如MAC地址,
3)MAC與IP在標識一個主體時都具有唯一性,但只有IP有層次性;MAC雖然是最終通信的地址,但尋址程序中IP地址必不可少;
4)P地址的分層:
<1>IP地址由網路號和主機號兩部分組成;
<2>網路號相同的主機在組織結構,提供商型別和地域分布上都比較集中,
5)網路傳輸中,每個節點會根據分組資料的地址資訊,來判斷該報文應該由哪個網卡發送出去,為此,各個地址會參考一個發出介面串列,MAC尋址是地址轉發表,IP尋址是路由控制表
5、現代網路
1)核心網:計算機網路中的“高速公路”;使用高速路由器快速傳輸大量資料,
2)邊緣網路:“高速公路”的出入口;常用多功能路由器和3層交換機,
3)接入層(匯聚層):計算機網路中連接邊緣網路的部分,常用2層交換機和3層交換機,
4)互聯網通信:用戶A - 接入層 - 【邊緣網路】 - 【主干網】 - 【邊緣網路】 - 接入層 - 用戶B,有時候在接入層就可以完成通信,
5)移動通信:手機終端A - 基站 - 通信控制中心 - 聲音主干網/資料主干網 - 通信控制中心 - 基站 - 手機終端B,
6)資訊發布者:資訊發布者將資訊發布到資料中心,資料中心內部的網路分布著3層交換機和高速路由器,資料中心通常接入主干網或邊緣網路可以實作大帶寬高速資料傳輸,以此處理對該資訊的大量訪問,
6、虛擬化技術與云
1)虛擬化技術:當一個網站需要調整運營所使用的資源時,并不增減服務器,存盤設備,網路等實際的物理設備,而是通過軟體將這些物理設備虛擬化,在有必要的時候進行增減,以此達到按需分配,按比例分配,對外提供可靠的服務,
2)云:利用虛擬化技術根據使用者的情況動態調整必要資源的機制為“云”,
二、TCP/IP基礎知識
1、TCP/IP協議簇:
1)應用層:HTTP,SMTP,FTP,TELNET,SNMP;
2)傳輸層:TCP,UDP
3)網路層:IP,ICMP,ARP
4)路由控制協議:RIP,OSPF,BGP
2、IETF/RFC:TCP/IP協議由IETF討論制定,需要標準化的協議被列入RFC(Request For Comment);
3、互聯網中的每個網路都是由骨干網(BackBone)和末端網(Stub)組成的,每個網路之間通過NOC(Network Operation Center)相連,如果網路運營商不同,網路連接方式和使用方法也會不同,連接這種異構網路需要IX(Internet Exchange)支持,互聯網是一個由眾多異構網路通過IX連接起來的一個巨型網路;
4、OSI七層
由誰實作:
應用程式:應用層,表示層,會話層;
作業系統:傳輸層,網路層;
設備驅動與網路介面:資料鏈路層,物理層,
硬體(物理層):以太網或者電話線;
網路介面層(資料鏈路層):相當于NIC(網卡)的驅動程式,驅動程式是作業系統與硬體之間的橋梁,直接插入硬體是無法正常作業的,
互聯網層(網路層):IP協議的作用是將分組資料包發送到目的主機,通過互聯網層可以忽略網路結構的細節,從相互通信的主機角度看,對端主機就如同在一個云層對面,
連接互聯網的所有主機跟路由器都實作IP的功能,但網橋,中繼器和集線器可以不用實作IP或TCP功能,因為它們處于第3層以下,
IP:是分組交換的協議,但不具備重發機制,可能出現丟包,屬于非可靠傳輸協議,
ICMP:IP資料包發送途中一旦發生例外導致無法到達對面地址時,無藥給發送端回傳一個例外通知,這便是ICMP的作用,例如:ping命令,
ARP:從分組資料包的IP地址中決議出物理地址(MAC)的一種協議,
傳輸層:讓應用程式之間實作通信,通過埠號識別,對于正在通信的2個程式而已,中間細節全被忽略如同一朵云,
TCP:面向有連接的傳輸協議,可以正確處理丟包,傳輸亂序等例外,還可以有效利用帶寬,但建立與斷開至少需要7次發包收包(3次握手,4次揮手),浪費網路流,不適合視頻會議,
UDP:面向無連接傳輸層協議,用于多播或者廣播等視頻通信領域
應用層(會話層以上)
會話層,表示層,應用層都由應用程式實作,
TCP/IP應用架構多數屬于客戶端/服務端模型,
WWW,萬維網:是一種互聯網上資料讀寫規范
瀏覽器與服務端之間用HTTP通信(應用層);
傳輸資料主要格式是HTML(表示層),
E-mail
發送電子郵件協議為SMTP(Simple Mail Transfer Protocol);
電子郵件格式由MIME協議(表現層)拓展,
FTP(檔案傳輸協議)
傳輸可以選擇二進制還是文本格式,在Windows和macOS或Unix等系統間進行檔案傳輸時會自動修改換行符,這時由于表示層;
FTP進行檔案傳輸時會建立2個TCP協議,一個用于發出請求時需要的控制連接,一個是實際傳輸連接,這個是會話層功能,
遠程登錄(TELNET和SSH,UNIX的rlogin,Windows的X協議)
網路管理(SNMP,Simple Network Management Protocol)
使用SNMP管理的主機,網橋,路由器稱作SNMP代理(agent);
可以通過表示層協議MIB(Management Information Base)訪問網路介面的資訊,通信資料量以及設備溫度等資訊,
5、TCP/IP分層與通信
1)每個分層都會對所發資料附加一個首部,上一層的資料加首部就是的資料,
2)資料單位:
<1>包:全能性術語;
<2>幀:資料鏈路層中包的單位;
<3>資料報:IP和UDP等網路層以上分層中包的單位;
<4>段:TCP資料流中的資訊;
訊息:應用協議的資料的單位;
3)發送資料包的例子(發郵件)
<1>填寫收件人郵箱(應用層,SMTP);
<2>郵件內容編碼(表示層);
<3>群發還是單發(會話層),
3)TCP模塊的處理
<1>根據會話層的指示,建立連接;
<2>在應用層資料的前端加上TCP首部,包括:1)源埠號和目標埠號(用于識別發送主機和接受主機的應用),2)序號(用于確定發送包的哪部分資料),3)校驗和(用于判斷資料是否損壞),
4)IP模塊的處理
<1>IP將“TCP首部 + 應用層資料”合起來當作自己的資料,并在TCP首部前面加上IP首部;IP首部中包含發送和接受端的IP地址,后面還有用來判斷其后資料是TCP還是UDP的資訊,
<2>IP包生成后,參考路由控制表決定IP包的路由或主機,發送給連接這些路由器或主機的驅動程式,
<3>如不知道接收端MAC地址,可以用ARP(Address Resolution Protocol)查找,只要知道了IP和MAC就可以給以太網驅動程式實作傳輸,
<4>網路介面(以太網驅動)處理5)附加上以太網首部:接收端與發送端的MAC地址,標志以太網型別的以太網資料協議,
并由硬體計算FCS(Frame Check Sequence),添加到包的最后用以判斷資料包是否由于噪聲而被破壞,
5)經過資料鏈路的包
<1>以太網包首部,IP包首部,TCP(UDP)包首部,以及以太網包尾;
<2>包的首部包含:
發送端接收端的地址(以太網/MAC,IP/IP,TCP(UDP)/埠);
上一個協議型別;
協議自身資訊
6)應用程式的處理
<1>網路介面:先判斷接受端MAC地址是不是自己的MAC地址,如不是則丟棄,如果是則先查看資料型別,如果是IP包則傳給IP子程式,如果是ARP則給ARP,如果無法識別資料型別則丟棄;
<2>IP模塊:同樣先查看IP,后查看資料型別;在有路由器的情況下,會根據路由控制表調查該送達的主機和路由進行轉發,
<3>TCP模塊:先計算校驗和,判斷資料是否損壞,然后檢查是否在按照順序接受資料,完成后回傳確認回執給發送端;最后查看埠號把資料給相應的程式;
<4>應用程式:接受TCP傳來的資料處理并作出回應(正常/例外),
三、資料鏈路層
資料鏈路層的作用:資料鏈路層協議規定了通過資訊通信媒介互聯的設備之間傳輸的規范, 0,1等計算機二進制 -> 電壓高低,光的閃滅以及電波強弱,
涉及名詞:VLAN(Virtual Local Area Network),WLAN(Wireless Local Area Network),PPP(Point to Point Protocol),FDDI(Fiber Distributed Data Interface),ATM(Asynchronous Transfer Mode),
資料鏈路的段:被分割的網路,例如,使用中繼器相連的兩個網線在網路層上講是一個網路,但在資料鏈路層上是2個段,一根網線一個段,
1、資料鏈路相關技術
1)MAC地址:用于識別資料鏈路中互連的節點,
以太網或FDDI中的MAC和無限LAN與藍牙等MAC是不同規范;
燒入ROM中,全世界唯一;
長度為48位元
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/252127.html
標籤:其他
上一篇:二維字串 hash
