TCP/IP 協議卷1個人總結(1)
目錄
1章 概述
1.TCP/IP協議族中的不同層次的協議
2.計算最多有多少個A類、B類和C類網絡號
答案:27-2 = 126 214-2 = 16382 221-2 = 2097150
126+16382+2097150 = 2113658
3.TCP/IP協議族:網絡接口層、網際層、傳輸層、應用層
網際層提供點到點服務
傳輸層提供端到端服務
4.各類IP地址範圍
2章 鏈路層
1..以太網幀格式
1個標準以太網幀是64字節,最大是1518個字節
疑問:IP包有可能小於46?這時應該。。。
2.PPP三部分:
1)在串行鏈路上封裝IP數據報的方法
2)建立、配置及測試數據鏈路的鏈路控制協議(LCP)
3)針對不同網絡層協議的網絡控制協議(NCP)
3.一個傳給環回接口的IP數據包不能在任何網絡上出現。
圖中關鍵點: 1)傳給環回地址的任何數據均作爲IP輸入
2)傳給廣播地址或多播地址的數據報復制一份傳給環回接口,然後送到以
太網上。這是因爲廣播傳送和多播傳送的定義包含主機本身。
3)任何傳給該主機IP地址的數據均送到環回接口。
4.最大傳輸單元MTU
5.路徑MTU 主機通信經過多個網絡,選取通信路徑中最小的MTU作爲路徑MTU
路徑MTU取決於所選的路由,由於來與去的路由可以不一樣,所以路徑MTU
在兩個方向上也可以不一樣
6.串行鏈路吞吐量的計算
如果線路速率是9600b/s,而一個字節有8bit,加上一個起始比特和一個停止比特,那麼線路的速率就是960B/s(字節/秒)
3章 網際協議
1.IP是TCP/IP協議族中最爲核心的協議。
特性:1)不可靠是指不能保證IP數據報能成功地到達目的地。IP僅提供最好的服務。任
何要求的可靠性必須由上層來提供如TCP。
2)無連接是指IP並不維護任何關於後續數據報的狀態信息。每個數據報的處理是
相互獨立的。這也說明,IP數據報可以不按發送順序接收。
2.IP首部
Big endian 字節續(又稱網絡字節續)
Little endian 字節續
1)首部長度 首部佔32bit字的數目(即4個字節),包括任何選項,所以IP頭範圍是20(5x4)
到60(15x4)個字節
注:普通IP數據報(沒有任何選項)的字段值是5.
2)服務類型(TOS) 3bit優先權 4bitTOS子字段和1bit未用但必須置0
4bit的TOS分別代表最小時延、最大吞吐量、最高可靠性、最小費用
3)總長度字段是指整個IP數據報的長度,以字節爲單位。
利用首部長度字段和總長度字段,就可以知道IP數據報中的數據報內容的起始位置和長度。
總長度字段是IP首部中的必要的內容,因爲一些數據鏈路(如以太網)需要填充一些數據以達到最小長度(在數據部分填充以達到最小46字節)。儘管以太網幀數據部分最小是46字節,但是IP數據可能會更短。如果沒有總長度字段,那麼IP層就不知道46字節中有多少是IP數據報的內容。
4)標識字段 唯一地標識主機發送的每一份數據報。通常每發送一份報文它的值就會增加1.
5)TTL 生存時間字段設置了數據報可以經過的最多路由器數。它指定了數據報的生存時間。TTL的初始值由源主機設置(通常是32和64)
6)首部校驗和字段 是根據IP首部計算的校驗和碼,它不對首部後面的數據進行計算。
7)每一個IP數據報都包含源IP和目標IP
8)任選項 數據報中一個可變長的可選信息
包括:安全與處理限制
記錄路徑
時間戳
寬鬆的源站選路
嚴格的源站選路
選項字段一直是以32bit作爲界限,在必要的時候插入值爲0 的填充字節,這樣就保證了IP首部始終是32bit的整數倍。(這是首部長度字段要求的)
3.路由表包含的信息:
目的IP地址、下一跳、標誌(主機地址or網絡地址;直連or非直連)、爲數據報的傳輸指定一個網絡接口
4.IP路由選擇是逐跳進行的。
5.IP路由選路遵循最長掩碼匹配(主機路由,網絡路由,默認路由)
都不成功,則不被傳送
6.
7. 環回地址必須是127.0.0.1嗎?
答案:不是的,任何網絡號爲127的A類地址都是可行的,儘管太多的的系統使用的是127.0.0.1
8. 子網號爲16bit的A類地址與子網號爲8bit的B類地址的子網掩碼有什麼不同?
答案:沒有區別,作爲一個沒有再區分子網的C類地址,它們都有一個255.255.255.0子網掩碼。
9. 子網掩碼255.255.0.255是否對A類地址有效?
答案:它是合法的,被稱爲非連續的子網掩碼,因爲其用於子網掩碼的16位是不連續的,但是RFC建議反對使用非連續的子網掩碼。
10. TCP/IP協議族是基於一種數據報的網絡技術,其他的的協議族則是基於面向連接的網絡技術。談談數據報網絡層提供的優點。
答案:1)降低了路由器對於連接狀態的需求。
2)數據報提供了基本的構件,在它的上面可以構造不可靠的(UDP)和可靠的(TCP)的傳輸層
3)數據報代表了最小的網絡層假定,使得可以使用大範圍的數據鏈路層服務。?
4 章 ARP
1.ARP封裝成以太網幀進行傳輸
1)以太網目的地址是廣播
2)以太網幀類型0x0806標示上層是ARP
以太網幀類型0x0800標示上層是IP
3)硬件類型1表示以太網
協議類型0x0800表示IP地址,即要映射的協議地址類型
4)硬件地址長度和協議地址長度以字節爲單位,對於以太網上IP地址的ARP請求或應答來說,他們的值分別是6和4.
5)操作字段指出4種類型
ARP請求是1,應答是2;RARP請求是3,應答是4
這個字段是必須的,因爲ARP請求和ARP應答幀類型字段值是相同的
2.對於一個ARP請求來說,除目的端硬件地址外的所有其他的字段都有填充值。當系統收到一份目的端爲本機的ARP請求報文後,它就把硬件地址填進去,然後用兩個目的端地址分別替換兩個發送端地址,並把操作字段置爲2,最後把它發送出去。
3.代理ARP(通信雙方不在同一網段)
當PC機沒有設置網關時,如果連接的路由器開啓了代理ARP功能,就可以通信?
分析:設置了網關,就像網關發送ARP請求
沒有,就直接向需要通信的目的地址發送ARP請求,本地路由器收到就回復自己的二層地址回去,所以才說是欺騙
4.免費ARP:它是指主機發送ARP查找自己的IP地址。
作用:1)一個主機可以通過它來確定另一個主機是否設置了相同的IP地址
2)如果發送免費ARP的主機正好改變了硬件地址,那麼這個分組就可以使其他的主機高速緩存中舊的硬件地址進行相應的更新。
5章 RARP
1.RARP,以自己的MAC地址請求自己的IP,用在無盤機,如X終端或無盤工作站。
因爲不能像具有本地磁盤的系統一樣從磁盤上的配置文件讀取IP地址。
2.RARP請求或應答的幀類型代碼是0x0835
6章 ICMP
1.ICMP報文:在IP數據報內部被傳輸
2.ICMP報文格式
3.不會導致產生ICMP差錯報文的情況
1)ICMP差錯報文
2)目的地址是廣播的數據報
3)作爲鏈路層廣播的數據報
4)不是IP分片的第一片
5)源地址不是單個主機的數據報。就是說,源地址不能爲零地址、環回地址、廣播地址或多播地址。
4.ICMP地址掩碼請求用於無盤系統在引導中獲取自己的子網掩碼
5.廣播特性:發送主機也能通過某種內部環回機制收到一份廣播報文拷貝。
6.ICMP時間戳請求允許系統向另一系統查詢當前的時間。
7.ICMP報文必須包括生成該差錯的數據報的IP首部(包含任何選項),還必須至少包括跟在該IP首部後面的前8個字節。
8.IP的服務類型字段是如何被ICMP設置的?
答案:發送一個ICMP差錯總是將TOS置爲0。發送一個ICMP查詢請求可以將TOS置爲任何值,但是發送相應的應答必須將TOS置爲相同的值。
7 章 ping 程序
1.ping 程序的目的是爲了測試另一臺主機是否可達。該程序發送一份ICMP回顯請求報文給主機,並等待返回ICMP回顯應答。
2.如果Ping不通某臺主機,那麼就不能telnet或FTP到那臺主機,這種說法是錯誤的,因爲有可能存在有設置了ACL的路由器和防火牆。
3.Ping程序能測到主機的往返時間,以表明這臺主機離我們有多遠。
Ping程序通過在ICMP報文數據中存放發送請求的時間值來計算往返時間。當應答返回時,用當前時間減去存放在ICMP報文中的時間值,即是往返時間(RTT)。
4. LAN中:收到的回顯應答中,通常,第一個往返時間值要比其它的要大,這是由於目的端的硬件地址不再ARP表中,所以需要發送ARP請求。從發送ARP請求到收到ARP應答,這需要幾ms的時間。
WAN:往返時間較大,丟包率較高,也出現重複的分組,時序的分組。
5.IP記錄路由選項與IP時間戳選項將用traceroute程序代替,這裏不詳講
8 章 Traceroute 程序
1.Traceroute 程序只需要目的端運行一個UDP模塊-----其他不需要任何特殊的服務器應用程序。
2.例子:
指出Traceroute 程序最大的TTL字段值爲30.40字節的數據報包含20字節IP首部、8字節的UDP首部和12字節的用戶數據。
輸出的後面兩行以TTL開始。對於每個TTL值,發送3份數據報。每收到一份ICMP報文,就計算並打印往返時間。如果在5秒內還沒收到3份數據報的任何一份的相應,則打印出一個星號,併發送下一份數據報。
在上述結果中,TTL字段爲1的前3份數據報的ICMP報文分別在20ms,10ms,10ms收到。
3.比較ping和traceroute程序在計算往返時間上的不同
解答:ping 客戶將ICMP回顯請求報文的可選數據部分設置爲分組發送的時間。這個可選數據必須在ICMP回顯應答中返回。這樣使得即使分組返回時失序,客戶也能計算出精確的迴環時間。
Traceroute客戶不能這樣操作,因爲在ICMP差錯報文中返回的只是UDP首部,沒有UDP數據,因此,Traceroute必須記住它發送一個請求的時間,等待應答,然後計算兩者的時間差。
這裏顯示了ping 和Traceroute的另一個不同點:ping每秒發送一個分組,而不管是否收到任何應答:Traceroute發送一個請求,然後發送下一個請求前等待一個應答或一個超時。
ping是用來判斷目的端是否可達
traceroute/tracert是用來記錄路由過程
9 章 IP選路
1.IP選路:最長掩碼匹配
2.ICMP重定向差錯
當IP數據報應該被髮送到另一個路由器時,收到數據報的路由器就要發送ICMP重定向差錯報文給IP數據報的發送端。
3.
ICMP重定向報文的接受者必須查看的三個IP地址:
1)導致重定向的IP地址
2)發送重定向報文的路由器的IP地址
3)應該採用的路由器IP地址
4.ICMP重定向報文的規則:
1)只能由路由器生成而不能由主機生成
2)重定向報文是爲主機而不是爲路由器使用的。
3)路由器發送的只是對主機的重定向而不是對網絡的重定向
10 章 動態選路協議
1.RIP被UDP封裝
2.RIPv1的報文格式
1)端口號520
2)命令字段爲1表示請求報文,2表示響應報文
3.RIPv2的報文格式
選路標記是爲了支持外部網關協議而存在的。它攜帶着一個EGP個BGP的自治系統號。
4.Internet是以一組自治系統的方式組織的,每個自治系統通常是由單個實體管理。常常將一個公司或大學校園定義爲一個自治系統。
5.收斂的意思:是在路由發生變化後,例如在路由器關閉或鏈路出故障後,可以穩定下來。
6.OSPF直接被IP封裝,協議號是89
7.1)BGP被TCP封裝
2)通過定期keepalive報文給其鄰站來檢測TCP連接對端的鏈路或主機失敗。兩個報文之間的時間間隔建議值爲30秒。
注意區分:應用層的keepalive與TCP的keepalive
8.CIDR 無類域間路由
超網,基本觀點是採用一種分配多個IP地址的方式,使其能夠將路由表中的許多個表選項總和成更少的數目。
9.OSPF報文格式中有一個檢驗和字段,而RIP報文則沒有此項,爲什麼?
解答:RIP運行在UDP上,而UDP提供了UDP數據報中的數據部分的一個可選的檢驗和。然而,OSPF運行在IP上,IP的檢驗和只覆蓋了IP首部,所以OSPF必須增加它自己的檢驗和字段。
11 章 UDP 用戶數據報協議
1.UDP的封裝
2.UDP首部
3.UDP長度可以是8(發送一份數據0字節的UDP數據報是允許的)
4.UDP校驗和覆蓋UDP首部和UDP數據,而IP校驗和只覆蓋IP首部。
UDP和TCPP在首部都有覆蓋他們首部和數據的校驗和。UDP的校驗和是可選的,而TCP 的校驗和是必須的。
12 章 多播和廣播
1.多播和廣播僅應用與UDP
2.多播提供的兩類服務:
1)向多個目的地址傳送數據
2)客戶對服務的請求 例如:無盤工作站需要確定啓動引導服務器。
3.廣播是否增加了網絡的通信量
解答:廣播本身不會增加網絡通信量,但它增加的了額外的主機處理時間。如果接收主機不正確地響應了諸如ICMP端口不可達直連的差錯,那麼廣播也可能導致額外的網絡通信量
。路由器一般不轉發廣播分組,而網橋一般轉發,所以在一個網橋網絡上的廣播分組可能比在一個路由網絡上走得更遠。
13 章 IGMP:Internet組管理協議
1.Internet組管理協議:它讓一個物理網絡上的所有系統知道主機當前所在的多播組。
2.IGMP被IP封裝,協議號爲2
17 章 TCP 傳輸控制協議
1.TCP首部長度20-60字節
2.首部長度表示32bit(4字節)的數目(所以最長是60字節,計算與IP首部是一樣的)
3.TCP的斷開是4次,由於TCP的傳輸是全雙工的,兩個方向傳輸數據是獨立的