正文
網絡層:負責在不同的網絡之間(基於數據包的IP地址)盡力轉發數據包,不負責丟包重傳和接收順序。 像送快遞,一個人往另一個地方寄快遞,每個快遞走不同的路線,可能后發的先到了,也可能丟件了。但是網絡層不管這些,只管寄快遞。
一、網絡層提供的兩種服務
在計算機網絡領域,網絡層應該向運輸層提供怎樣的服務(“面向連接”還是“無連接”)曾引起了長期的爭論。
爭論焦點的實質就是:在計算機通信中,可靠交付應當由誰來負責?是網絡還是端系統? 端系統
1. 虛電路服務
- 虛電路表示這只是一條邏輯上的連接,分組都沿着這條邏輯連接按照存儲轉發方式傳送,而並不是真正建立了一條物理連接。
- 請注意,電路交換的電話通信是先建立了一條真正的連接。因此分組交換的虛連接和電路交換的連接只是類似,但並不完全一樣。
2. 數據報服務(現在用的)
- 網絡層向上只提供簡單靈活的、無連接的、盡最大努力交付的數據報服務。
- 網絡在發送分組時不需要先建立連接。每一個分組(即 IP 數據報)獨立發送,與其前后的分組無關(不進行編號)。
- 網絡層不提供服務質量的承諾。即所傳送的分組可能出錯、丟失、重復和失序(不按序到達終點),當然也不保證分組傳送的時限。
盡最大努力交付的好處
- 由於傳輸網絡層不提供端到端的可靠傳輸服務,這就使網絡中的路由器可以做得比較簡單,而且價格低廉(與電信網的交換機相比較)。
- 如果主機(即端系統)中的進程之間的通信需要是可靠的,那么就由網絡的主機中的傳輸層負責(包括差錯處理、流量控制等)。
- 采用這種設計思路的好處是:網絡的造價大大降低,運行方式靈活,能夠適應多種應用。
- 因特網能夠發展到今日的規模,充分證明了當初采用這種設計思路的正確性。
3. 虛電路服務與數據報服務的對比
二、網際協議IP
網際協議 IP 是 TCP/IP 體系中兩個最主要的協議之一。與 IP 協議配套使用的還有四個協議:
- 地址解析協議 ARP(Address Resolution Protocol)
- 逆地址解析協議 RARP(Reverse Address Resolution Protocol)
- 網際控制報文協議 ICMP(Internet Control Message Protocol)
- 網際組管理協議 IGMP(Internet Group Management Protocol)
1. 虛擬互連網絡
2. 網絡互相連接起來 , 要使用一些中間設備
中間設備又稱為中間系統或中繼(relay)系統(增強信號)。
- 物理層中繼系統:轉發器(repeater),就是集線器。
- 數據鏈路層中繼系統:網橋或橋接器(bridge),就是交換機。
- 網絡層中繼系統:路由器(router)。
- 網橋和路由器的混合物:橋路器(brouter)。
- 網絡層以上的中繼系統:網關(gateway)。
3. 網絡互連使用路由器
- 當中繼系統是轉發器或網橋時,一般並不稱之為網絡互連,因為這僅僅是把一個網絡擴大了,而這仍然是一個網絡。
- 網關由於比較復雜,目前使用得較少。
- 互聯網都是指用路由器進行互連的網絡。
- 由於歷史的原因,許多有關 TCP/IP 的文獻將網絡層使用的路由器稱為網關。
4. 從網絡層看 IP 數據報的傳送
5. 互連網絡與虛擬互連網絡
6. 虛擬互連網絡的意義
- 所謂虛擬互連網絡也就是邏輯互連網絡,它的意思就是互連起來的各種物理網絡的異構性本來是客觀存在的,但是我們利用 IP 協議就可以使這些性能各異的網絡從用戶看起來好像是一個統一的網絡。
- 使用 IP 協議的虛擬互連網絡可簡稱為 IP 網。
- 使用虛擬互連網絡的好處是:當互聯網上的主機進行通信時,就好像在一個網絡上通信一樣,而看不見互連的各具體的網絡異構細節。
三、IP地址與子網掩碼
1. 分類 IP 地址
每一類地址都由兩個固定長度的字段組成,其中一個字段是網絡號 net-id,它標志主機(或路由器)所連接到的網絡,而另一個字段則是主機號 host-id,它標志該主機(或路由器)。
主機部分不能全為0或者全為1
點分十進制記法
2. 常用的三種類別的 IP 地址
3. 特殊的幾個地址
- 127.0.0.1 本地環回地址
- 保留的私網地址:172.16.0.0 --- 172.31.0.0 192.168.0.0 --- 192.168.255.0
4. 子網掩碼
- 子網掩碼是一個網絡或一個子網的重要屬性。
- 路由器在和相鄰路由器交換路由信息時,必須把自己所在網絡(或子網)的子網掩碼告訴相鄰路由器。
- 路由器的路由表中的每一個項目,除了要給出目的網絡地址外,還必須同時給出該網絡的子網掩碼。(這樣才知道給哪段網絡)
- 若一個路由器連接在兩個子網上就擁有兩個網絡地址和兩個子網掩碼。
與運算:全1為1,否則為0
5. 求網絡地址
與運算:全1為1,否則為0
四、子網划分
1. 等分成兩個子網
注意:除了第8位,剩下的不能全為0或者全為1
第一個做網關,最后一個做廣播
划分好子網后網絡規划
2. 等分成四個子網
和前面的類似,
3. 等分成八個子網
A:1-30 B:33-62 C:65-94 D: 97-126
E:129-158 F:161-190 G:193-222 H:225-254
4. 對於子網掩碼:
- 划分成兩個子網就是最后10000000對應的是128(255.255.255.128)
- 划分成四個子網就是最后11000000對應的是192(255.255.255.192)
- 划分成八個子網就是最后11100000對應的是224(255.255.255.224)
- 點到點網絡的子網掩碼最好是252(11111100),因為此時網里只有兩個地址,不會浪費(255.255.255.252)
5. 變長子網划分
不等分時每個的子網掩碼不同
下面是進行練習
6. B類網絡子網划分
和前面的類似
五、超網
192.168.0.0 255.255.255.0和192.168.1.0 255.255.255.0合並之后歸到192.168.0.0 255.255.255.254這個網段了
合並后:
合並的規律:
但是也要注意:不能合並的情況
例:192.168.117.0 和192.168.118.0可以合並不?
1110101
1110110
看最后兩位,1和2不能合並
或看兩個中小的那個是偶數就可以合並
五、數據包轉發
1. 數據包轉發過程:IP地址與MAC硬件地址
mac地址決定數據包接受的下一跳地址,ip地址決定接受的終點站地址
數據+ip地址=數據包,數據包不變,而加上MAC地址后稱為數據幀,數據幀可變,過一個網絡變一次
2.數據包如何路由

六、ARP
IP協議:把數據包從一個網段轉到另一個網段,就是用來選擇路徑用的。
ARP為IP服務,IP為ICMP/IGMP服務。
1. ARP協議的作用
- 將IP地址通過廣播(本網段,不通過路由器),目標MAC地址是FF-FF-FF-FF-FF-FF,解析目標IP地址的MAC地址。
- ARP是解決同一個局域網上的主機或路由器的IP地址和MAC地址的映射關系。如果所找的主機和原主機不在同一個局域網上,那么就要通過ARP找一個位於本局域網上的某個路由器的MAC地址,然后把分組發送給這個路由器,讓這個路由器把分組轉發給下一個網絡。剩下的工作就由下一個網絡來做。
- 從IP地址到MAC地址的解析是自動進行的,主機的用戶對這種地址解析過程是不知情的。
- 只要主機或路由器要和本網絡上的另一個已知IP地址的主機或路由器進行通信,ARP協議就會自動地將該IP地址解析為鏈路層所需要的MAC地址。
2. 使用ARP的四種典型情況
- 發送方是主機,要把IP數據報發送到本網絡的另一個主機,此時用ARP找到目標主機的MAC地址;
- 發送方是主機,要把IP數據報發送到另一個網絡的另一個主機,此時用ARP找到本網絡上一個路由器的MAC地址,剩下的工作由路由器進行;
- 發送方是路由器,要把IP數據報發送到本網絡的另一個主機,此時用ARP找到目標主機的MAC地址;
- 發送方是路由器,要把IP數據報發送到另一個網絡的另一個主機,此時用ARP找到本網絡上一個路由器的MAC地址,剩下的工作由路由器進行;
3. 逆地址解析協議RARP
只知道自己MAC地址就能獲得其IP地址。
七、IP數據報
1. IP數據報的組成
每一行32bit相當於1個字節,一共5行,共20字節。
生存時間 TTL
過一個路由器就減1
2. IP數據報結構
-
版本:用來表示TCP/IP是哪個版本,ipv4還是ipv6.
-
區分服務:確定更高的傳輸優先級。
-
總長度:確定數據部分長度。一共是16位,最多有2^16-1=65535字節。
->注意,網絡層,數據包最大65535字節;而數據鏈路層數據最大是1500字節,是不一樣的。所以說,一旦超過數據鏈路層的最大要求時(網絡層數據部分超過1480字節),數據包會分片。最大傳輸單元MTU。
->數據包分片:把數據分割,分別添加IP地址,通過網絡發給目標MAC地址。目標在通過網絡層拼接。傳送過程中可能會丟包,或者后發的先到(淚滴攻擊就是利用目標機發送破壞的IP包(重疊的包貨過大的包負荷)可以通過TCP/IP協議來癱瘓各種不同的操作系統)。所以需要編號。
-
標識:如果出現數據包分片,那么標識用來確定哪些數據包是需要組合的。
-
標志:確定該數據包是完整的還是分片中的一部分。占3位,只有前兩位有用,標志字段最低位是MF(More Fragment),MF=1表示后面還有分片,MF=0表示最后一個分片。標志字段中間一位是DF(Don’t Fragment),只有DF=0才允許分片。
-
片偏移:偏移等於當前字節在數據部分的第幾個再除以8
-
生存時間:就是TTL,time to live,每過一個路由器就減1。8位二進制。防止數據包在網絡中循環。
-
協議:用協議號標識數據部分是什么數據。
- ICMP協議號:1;
- IGMP協議號:2;
- TCP協議號:6;
- UDP協議號:17;域名解析
- IPv6協議號:41;
- OSPF協議號:89;
-
首部檢驗和:16位,只檢驗數據報的首部,不檢驗數據部分。這里不是采用CRC檢驗碼而是采用簡單的計算方法。每經過一個路由器就會檢驗一次。
-
源地址和目的地址都是IP地址,32位,只符合IPv4。IPv6是128位。
-
可變部分:一般沒用。
八、靜態路由
需要管理員告訴路由器所有沒有直連的網絡下一跳給誰。
適合於小規模網絡,不能自動調整路由。
數據路由 路由器在不同網段轉發數據包
網絡暢通的條件 :能去能回
沿途的路由器必須知道到目標網絡下一跳給那個接口
沿途的路由器必須知道到源網絡下一跳給那個接口
計算機上網關就是默認路由
九、ICMP和IGMP
1. ICMP
2. ICMP的應用舉例:PING (Packet InterNet Groper)
- PING 用來測試兩個主機之間的連通性。
- PING 使用了 ICMP 回送請求與回送回答報文。
- PING 是應用層直接使用網絡層 ICMP 的例子,它沒有通過運輸層的 TCP 或UDP。
3. IGMP組播=多播
點到點通信: 廣播:目標MAC地址全是F,目標IP地址全是255,也就是全是1.
全網廣播不能跨越路由器。
組播=多播:分組廣播
使用多播一般用於直播,網絡會議,能夠節省帶寬。
IGMP協議的作用就是周期性掃描本網段內有沒有主機在訪問多播數據包。
十、動態路由協議
1. RIP協議
- RIP 是一種分布式的基於距離向量的路由選擇協議。
距離
- 從一路由器到直接連接的網絡的距離定義為 1。
- 從一個路由器到非直接連接的網絡的距離定義為所經過的路由器數加 1。
- RIP 協議中的“距離”也稱為“跳數”(hop count),因為每經過一個路由器,跳數就加 1。
- 這里的“距離”實際上指的是“最短距離”,
RIP 協議的三個要點
- 僅和相鄰路由器交換信息。
- 交換的信息是當前本路由器所知道的全部信息,即自己的路由表。
- 按固定的時間間隔交換路由信息,例如,每隔 30 秒。
最早 周期性廣播 30秒 跳數 :16
router rip
network
2. OSPF
度量值 帶寬 支持多區域 觸發式更新
三個表:鄰接表 hello 、鏈路狀態表、計算路由表、
3. BGP
連接各個自治系統的路由器
十一、VPN功能
網絡地址轉換
netstat -n:查看建立的會話