第二章 TCP-IP基礎知識
2.1 TCP/IP的标準化
- 2.2.1 TCP/IP的具體含義
- 利用IP進行通信時所必須用到的協定群的統稱
-
TCP/IP協定群:
(1)應用協定:HTTP,SMTP,FTP,TELNET,SNMP
(2)傳輸協定:TCP,UDP
(3)網際協定:IP,ICMP,ARP
(4)路由控制協定:RIP,OSFP,BGP
- 2.2.2 TCP/IP标準化精髓
- 一是具有開放性,二是要注重實用性,即被标準化的協定能否被實際運用
- 2.2.3 TCP/IP規範—RFC
- RFC文檔通過編号組織每個協定的标準化請求
2.2 網際網路基礎知識
- 2.2.1 網際網路定義
-
The Internet為網際網路,表示不同區域網的連接配接
Internet指網際網,專門指代網絡之間的連接配接
-
- 2.2.2 網際網路與TCP/IP的關系
- 網際網路進行通信時,所使用的協定即為TCP/IP
- 2.2.3 網際網路的結構
-
網際網路中每個網絡都是由骨幹網和末端網組成的。每個網絡之間通過NOC(網絡操作中心)相連,不同網絡營運商其連接配接方式也有所不同,連接配接這些異構網絡需要IX(網絡交換中心)的支援。
總之,網際網路就是衆多異構的網絡通過IX互連的巨型網絡(圖2.5)
-
- 2.2.4 ISP和區域網
-
ISP為網絡供應商網絡,即我們用的電信移動聯通;
區域網為在特定區域由團體或志願者所營運的網絡
-
2.3 TCP/IP 協定分層模型
- 2.4.1 TCP/IP與OSI參考模型
- (1)OSI參考模型:應用層、表示層、會話層、傳輸層、網絡層、資料鍊路層、實體層
- (2)TCP/IP參考模型:應用層(應用程式)、傳輸層與網際網路層(作業系統)、網卡層與硬體(裝置驅動程式與網絡接口)
- 2.4.2 硬體(實體層)
- 最底層,是負責資料傳輸的硬體,這種硬體就相當于以太網或電話線路等實體層裝置
- 2.4.3 網絡接口層(網卡層/資料鍊路層)
-
利用以太網中的資料鍊路層進行通信,是以屬于接口層;
其同時也可以被認為是NIC起作用的“驅動程式”,使網際網路層的資料變成可以由資料鍊路層傳輸的資訊
-
- 2.4.4 網際網路層(網絡層)
- (1)定義:使用IP協定基于IP位址轉發分包資料,其與傳輸層的功能通常由作業系統提供
-
(2)主要的相關協定:
① IP:跨越網絡傳輸資料包,使整個網際網路都能收到資料的協定。在發送期間使用IP位址作為主機的辨別;
② ICMP:當IP資料包在發送途中一旦發生異常導緻無法到達對端位址時,通過此協定給發送端發送一個異常通知。同時其也可以用來診斷網絡的健康狀況;
③ ARP:用于在開始連接配接前進行探索包發送,并從所得探索包的IP位址中解析中實體位址(MAC位址)的協定;
- 2.4.5 傳輸層
- (1)定義:能夠讓應用程式之間實作通信。而使用端口号來區分計算機内部運作的所有程式
-
(2)相關協定:
① TCP:面向有連接配接的傳輸層協定,可以正确處理在傳輸過程中丢包、傳輸順序亂掉等異常情況,此外還能有效地利用帶寬,緩解網絡擁堵;
其連接配接需要三握四揮導緻網絡使用率低,适用于對資料穩定性完整性要求較高,對于實時性要求較低的情況。
② UDP:面向無連接配接的傳輸層協定,其不會執行對發送資料的檢查,如需要則需要在應用程式中實作;
其發送成功率可能稍低但實時性很強,适用于對資料穩定性完整性要求不高,對于實時性要求很高的情況。
- 2.4.6 應用層(會話層以上的分層)
- (1)與OSI模型的關系:将OSI中的會話層、表示層和應用層的功能都集中到了應用程式中實作。這些功能有時由單一的程式實作,有時可能會由多個程式實作
- (2)用戶端/服務端模型:TCP/IP的主要應用架構
-
(3)相關應用:
① WWW:許多互相連結的超文本(Web)組成的系統,其中浏覽器與服務端之間通信所用的協定是HTTP,所傳輸資料的主要格式HTML,通路資訊的手段為URL;
② 電子郵件(MIME):現傳輸格式為MIME協定定義的;
③ 文本傳輸(FTP):通信過程建立兩個TCP連接配接,分别是發出傳輸請求時所要用的控制連接配接與實際傳輸資料時所要用到的資料連接配接。使用協定為FTP協定;
④ 遠端登入(TELNET與SSH):遠端登入常用TELNET(TELetypewriter NETwork)和SSH(Secure SHell)兩種協定;
⑤ 網絡管理(SNMP):SNMP協定,使用SNMP管理的主機、網橋、路由器稱為SNMP代理(Agent),而進行管理的那一段叫做管理器(Manager),其中的互動資訊為MIB。其中SNMP屬于應用協定,MIB屬于表示層協定。
2.4 TCP/IP 分層模型與通信示例
- 2.5.1 資料包首部
- 每個分層都會在所發送的資料前加一個首部,在這個首部中包含了該層必要的資訊。從上一層接收到的包全部都被認為是本層的資料
- 資料的機關:包是全能性術語。幀表示資料鍊路層中包的機關。而資料報是IP和UDP等網絡層以上的分層中的包的機關。段則表示TCP資料流中額資訊。最後,消息是指應用協定中資料的機關
- 2.5.2 發送資料包
- (1)應用程式處理:先确定使用的應用協定,然後再對資料進行編碼處理,最後确定連接配接建立時機與發送時機等。最後加上應用層首部生成應用消息。
- (2)TCP子產品的處理:根據應用資料加上TCP首部生成TCP段,根據應用的訓示,負責建立連接配接、發送資料以及斷開連接配接。TCP提供将應用層發來的資料順利發送至對端的可靠傳輸。
- (3)IP子產品的處理:根據TCP資料加上IP首部生成IP包,然後參考路由控制表決定接受此IP包的路由或主機。随後,IP包将被發送給連接配接這些路由器或主機網絡接口的驅動程式
- (4)網絡接口(以太網驅動)的處理:首先根據IP包加上以太網首部生成資料幀,然後根據首部中的源與目标MAC位址等資訊将資料幀通過實體層傳輸給接收端
- 2.5.3 經過資料鍊路的包
- 經過資料鍊路的包,除了加上以太網的包首部外,還會加上以太網的包尾
- 2.5.4 資料包接收處理
- (1)網絡接口(以太網驅動)的處理:首先從以太網的包首部找到MAC位址判斷是否為發給自己的包,然後找到下一個的協定類型,若能識别則轉接,不能識别則丢棄
- (2)IP子產品的處理:正常是比對IP位址與下一步的協定。對于有路由器的情況需要對照路由控制表調查是否需要轉發資料
- (3)TCP子產品的處理:首先計算校驗和判斷資料是否被破壞,然後檢查是否在按照序号接收資料,最後檢查端口号,确定具體的應用程式。在資料接收完畢後,進行确認回執的未收到則重發的操作。在資料完全接收後,會把資料轉給由端口号識别的程式
- (4)應用程式的處理:應用程式會得到發送端發送時的最原始資料,對這段資料進行相應的處理後,若接收成功則回報處理正常,否則則傳回相應的異常資訊