計算機網路複習 ch1-4 TCP/IP 網路技術
正文之前
最近沉迷火影,無法自拔。主要責任在抖音,每天給我推送那些剪輯好的催淚視訊。。真是日了。。寒假回家只怕要全部重刷一遍了,Naruto!Hinata!!好吧,雛田的圖留著自己看,給你們看看鳴人的就好。。哎,以前忙於學業沒看到他倆結婚,這次回家一定要看完。

正文
(網路實體)命名與定位
-
直接定位與解析定位
-
因特網是全球單一可定址的抽象網路
- 必須連線全球所有計算機或其它裝置
- 必須給每個計算機或裝置(路由器等)一個全球唯一ID
- IP協議希望這樣,故有IPv4 = 232個地址,A/D/C/E類
- IP 地址結構 = Net號 + Host號
- 位置與身份合一
-
IP地址引發問題(簡單,但過載)
- 不便記憶:域名產生解析需要
- 區域網早先出現:導致 MacIP變換ARP協議
- IP地址分配不均不夠:NAT,三個段公用私網地址:17621775個IP
10/8:1個A
172.16.—172.31/16:15個B 192.168.—192.168/16:1個B
因特網的三地址
- 使用者/網路及實體地址
- 域名:公司/機關/團體/個人註冊的因特網可訪問的世界唯一ID
- 網路(介面)地址:同一體系結構中的可訪問的計算機ID:IP地址
- 實體地址:同一體系結構中物理媒體可訪問的計算機某埠的唯一 ID:MAC地址

實體地址的配置和作用
- 作用:
- 過濾:指明網絡卡NIC,過濾不屬於本主機接收的資料
- 廣播:識別廣播地址標誌,接收廣播報文並送主機
- 地址配置:
- 固定方式:實體地址由廠商決定。不可改變
- 可配置方式:通過EPROM內程式進行互動命令配置
- 動態配置方式:可自動修改和管理實體地址,啟動網 絡時,通過程式配置一個不衝突的實體地址
域名解析
域名:標識計算機的名字

IP互連與分組交換
- 多個網路互連的2個主要問題:
- 異構:
- 乙太網、令牌環、點-點鏈路及各種交換網路,每個都有自己 的地址模式、媒體訪問協議及服務模式等
- 傳輸介質不同/網路拓撲結構不同
- 介質訪問方式不同/網路編址方式不同
- 分組長度/有連線/無連線服務的區別
- 傳輸控制方式不同
- 各層協議的功能定義、格式、介面與呼叫方式不同
- 可擴充套件:
- 網路不斷擴大,路由規模指數增(100萬—22.7億個節點)
- 異構:
Internet網路層協議
- 在網路層,Internet可以看成是自治系統的集合,是由網路組成的網路。
- 網路之間互連的紐帶是IP(Internet Protocol)協議。
網路互連層的功能
- 功能目標
- 把多個異構或同構的網路連線成更大網路
- 直接支援傳輸層的端到端服務。
- 關鍵問題
- 掌握通訊子網的拓撲結構,選擇路由;
- Hop by Hop 定址到目的主機
- 為傳輸層提供何種服務?
- 面向連線服務:
- 將複雜的功能放在網路層
- 傳統電信觀點:通訊子網應該提供可靠的、面向連線的服務
- 無連線服務:將複雜的功能放在傳輸層
- Internet的觀點:通訊子網無論怎麼設計都是不可靠的,因此網路 層只需提供無連線服務。
- 面向連線服務:
錯誤報告協議(ICMP)

- ICMP 報文分類
- 差錯和控制報文協議:
- 報告IP傳輸中發生的(差錯報文+控制報文+測試報文)
- ICMP報文=頭部+資料部分
- ICMP報文封裝在IP資料包中進行傳輸
- IP頭中的包型別=1;
- ICMP並不是IP的上一層協議,僅用IP的轉發功能
- 差錯和控制報文協議:

- ICMP最典型的應用
- PING:通過傳送回送請求報文(echo request)和回送回答報文( echo reply)來檢測源主機到目的主機的鏈路是否有問題,目的地是否 可達,以及通訊的延遲情況。
- traceroute:通過傳送探測報文來獲取路由資訊。第一個探測報 文TTL為1,到達第一個路由器時,TTL減1為0所以丟掉這個探測包,同 時向源主機發回ICMP時間超過報文,這時源主機就獲得了第一個路由器 的IP地址;接著源主機發送第二個探測報文,TTL增1為2,到達第一個 路由器TTL減1為1並轉發探測包到第二個路由器,這時TTL減1為0,丟掉 這個探測包並向源主機發回ICMP時間超過報文,源主機就獲得了第二個 路由器的IP地址;以此類推,直到探測報文到達traceroute的目的地, 這時源主機就獲得了到目的地的每一跳路由的IP地址。
路由與定址
- IP定址
- 每包經每路由器都要決定從哪個埠到下一節點?
- 路由器需要匹配包之目址與路由表, 選擇最佳出埠
- 路由器:網路層互連裝置,豐富靈活,可擴充套件
- 靜態路由:手工配置/簡單拓撲/直觀;不適合大規模/多變網路
- 動態路由:實時自動動態更新,並算出當前最佳路由
- 問題:
- 路由器怎樣實時知道變化著的網路拓撲?
- 路由器怎樣從全域性選擇每個包的最優出埠?
- 方法:
- 通過<u> 路由協議 </u>獲得節點和鏈路的資訊
- 通過<u> 路由演算法 </u>選擇走向目的地的最優下一出口
路由協議
- 自治域AS
- 在一個權威管理機構下執行的網路,分配唯一編號。全球所有AS組成 因特網。
- 內部閘道器協議IGP:在一個AS內執行
- RIP(Routing Information Protocol)適應小規模網路:定時只向鄰 居說(如30s),說知道的所有(自路由表);
- OSPF(Open Shortest Path First Protocol)適應較大規模網路: (鏈路)變時向所有人說(區內路由器組播),只說鄰居的事(鏈路 狀態)
- 外部閘道器協議EGP:在AS間執行
- 原因:因特網規模大AS間直接OSPF收斂時間很長;AS間最佳路由不現 實(cost意義不統一);各AS管理策略不同。
- BGP4:只尋求一條能到達目網的較好路由(不迴圈),並不最佳;
- BGP採用路徑向量(Path Vector)路由選擇協議;
- 變動觸發BGP發言人(對接路由器)間交換彼此的路由資訊
兩大重點
- RIP 距離向量演算法 Routing Information Protocol
https://blog.csdn.net/lycb_gz/article/details/9611881
- OSPF 鏈路狀態演算法 Open Shortest Path First
鏈路狀態路由協議(也可以說OSPF)工作原理:
- 每臺路由器通過使用Hello報文與它的鄰居之間建立鄰接關係
- 每臺路由器向每個鄰居傳送鏈路狀態通告(LSA),有時叫鏈路狀態報文(LSP). 每個鄰居在收到LSP之後要依次向它的鄰居轉發這些LSP(泛洪)
- 每臺路由器要在資料庫中儲存一份它所收到的LSA的備份,所有路由器的資料庫應該相同
- 依照拓撲資料庫每臺路由器使用Dijkstra演算法(SPF演算法)計算出到每個網路的最短路徑,並將結果輸出到路由選擇表中
OSPF的簡化原理:發Hello報文——建立鄰接關係——形成鏈路狀態資料庫——SPF演算法——形成路由表。
LSP產生的原因主要有兩個:
- 1)路由器定期產生,由於flooding會影響效能,所以這個週期很長
- 2)路由器定期向鄰居發hello報文,探測鄰居可達性,一旦發現拓撲變化 ,就發出LSP
路由區
-
因為OSPF路由器之間會將所有的鏈路狀態(LSA)相互交換, 毫不保留,當網路規模達到一定程度時,LSA將形成一個龐大 的資料庫,勢必會給OSPF計算帶來巨大的壓力;
-
為了能夠降低複雜程度,OSPF將Domain分為區,採用分割槽域 計算
-
每個區域負責各自區域精確的LSA傳遞與路由計算,然後再將 一個區域的LSA簡化和彙總之後轉發到另外一個區域
-
在區域內部,擁有網路精確的LSA,而在不同區域,則傳遞簡 化的LSA
-
OSPF為了防止環路產生,以採用了Hub-Spoke的拓樸架構來組織各個區, 主幹是一個特別區--Area 0
-
其它區域稱為Normal區域(常規區域),在理論上,所有的常規區域應該直接和骨幹區域相連,常規區域只能和骨幹區域交換LSA,常規區域與 常規區域之間即使直連也無法互換LSA
-
OSPF 區域是基於路由器的介面劃分的,而不是基於整臺路由器劃分的 ,一臺路由器可以屬於單個區域,也可以屬於多個區域
傳輸層
- 問題:怎樣實現遠端程序間的資料傳輸
- 主機-主機的包傳輸轉化成程序-程序通訊通道
- 網路層結構,支援端應用程式--端到端協議
- 什麼是連線?
- 一條連線就是不同系統內的兩個實體之間的一個臨時性的邏輯關聯 通路(目IP,源IP,目埠,源埠,TCP/UDP,五元組)
- 在連線持續期間,每個實體都跟蹤從對方到達和傳送到對方的PDU ,以便調節PDU的流量以及對丟失和損壞的PDU進行恢復。
- 網際網路的全部功能,最基本、最小粒度的服務 –
- 端到端資料傳

簡單多路器-Multiplexer UDP 協議
- 最簡單的傳輸層協議 .
- 主機-主機的傳輸服務在IP協議上擴充套件成程序-程序的直接通訊服務 .
- 一臺主機上可執行多程序, 需加一多路開關層,區別它們並共享網路
- 傳輸層協議 .
- best-effort未加任何功能.如User Datagram Protocol-UDP
- UDP: .
- 最小/簡單分路協議 .
- just port numbers, and an optional checksum .
- no flow control, no congestion control, no reliability or ordering
- 提供無連線服務,不保證資料完整到達目的地,減輕了網路的通訊負擔
- 適應C/S模式的簡單請求/響應通訊需要
- 應用程式要實施超時重傳機制,並對資料包編號,但增加 了應用程式的複雜性
- UDP可保留各報文間的邊界,不把應用多次傳送的資料合併 成一個包發出去,且發包後不對該包快取,這對簡單請求/ 響應很方便
- 組播應用、多數音視訊都建立在UDP之上。
可靠位元組流協議(TCP)
- TCP:更成熟的傳輸協議
- 提供可靠,面向連線,按序位元組流
- 全雙工,每個連線支援一對位元組流,每個流一個方向
- 流控機制:允許每個位元組流的接收端在給定時間內限制其傳送 端的資料速率
- 支援多路輸出機制,允許一個主機上同時有多個會話對
- 還提供擁塞控制機制
- <u> 流控與擁控之差別 </u>:
- 流控:防止傳送超過接收者能力(速/量), 是端到端的傳送
- 擁控:防止過多資料注入到網路中,從而引起交換機或鏈路超 載,擁控是關於主機到網路的傳送
https://blog.csdn.net/xy010902100449/article/details/48274635
TCP:連線需要建立和拆除

TCP:是有狀態的協議,狀態機保證合理狀態轉換

TCP:滑動視窗(圖中位元組順序從左到右)

TCP報文格式

TCP結束(event/action)交換四個報文,四次握手


TCP:序列號迴繞問題、傳送視窗太小問題解決方法
- Window Scale
- 選項Timestamps表示 傳送這個報文的時間 是4位元組:1545573來 自虛擬的時鐘
-
選項最後一位元組表示 Window Scale=07,表 示Window Size要乘以 2的7次方
正文之後
然後其實我還在沉迷美劇。。我是不是已經廢了。。。然後我今晚竟然還妄想去健身。。明天就要交了啊。。。LaTex格式的排版我還沒整。。膽子真肥啊我啊啊啊啊啊
