1. [計算機網路之一] 網路基礎知識
協議就是計算機與計算機之間通過網路實現通信時事先達成的一種 「約定」。這種 「約定」 使那些由不同的廠商、不同的 CPU 以及不同的操作系統組成的計算機之間,只要遵循相同的協議就能夠實現通信。
TCP/IP、AppleTalk(僅限蘋果計算機使用)、SNA(IBM)、DECnet(DEC)、IPX/SPX(Novell)
分組交換是指將大數據分割為一個個叫做包的較小單位進行傳輸的方法。
ISO (International Organization for Stardards,國際標准化組織)制定了國際標准 OSI (Open System Interconnection,開放系統互聯參考模型),但是沒有得到普及,反而是隨 Apanet 而生的 TCP/IP 協議在大學研究機構和計算機行業的推動下成為實際的業界標准。
每個分層都接收由它下一層所提供的特定服務,並且負責為自己的上一層提供特定服務。上下層之間進行交互所遵循的約定叫做 「介面」 ,同一層之間交互所遵循的約定叫做 「協議」 。
協議分層參考了計算機軟體中的模塊化開發。
單播、廣播、多播、任播。
一個地址必須明確地表示一個主體對象,在同一個通信網路中不允許有兩個相同地址的通信主體存在。
有層次性的地址方便高效地找到通訊目標(eg: 快遞地址國家、省市區)
MAC地址有唯一性但沒有層次性。
乙太網、無線、幀中繼、ATM、FDDI、ISDN。
NIC(Network Interface Card,網路介面卡),計算機必須有網卡才能接入網路。
物理層面上延長網路的設備。將電纜傳遞過來的光電信號經過波形調整和放大之後傳遞給另一個電纜。
集線器 :提供多個埠的中繼器。
數據鏈路層面連接兩個網路的設備。 不同網路可能採用了不同的數據鏈路,數據傳輸的速率可能完全不一樣 ,網橋會緩存一個網段傳輸到另一個網段的數據幀,再重新生成信號作為全新的幀轉發給另一個網段(這里我理解不同數據鏈路幀的格式不一樣,所以網橋需要緩存數據並轉換位另一個數據鏈路中的幀格式)。
網橋的其他作用:
① 根據數據幀中的 FCS 檢查數據幀是否已損壞,是則不轉發;
② 自學習MAC設備來自哪些網路,並記錄在地址轉發表中(地址轉發表記錄硬體地址與網路的映射關系);
③ 過濾功能控制網路流量。
交換集線器 :每個埠都相當於一個網橋。
網路層面上連接兩個網路、並對分組報文進行轉發的設備。
應用場景:廣域網加速器、特殊應用訪問加速、防火牆。
將傳輸層到應用層的數據進行轉發和翻譯的設備。
代理伺服器 :控制流量和出於安全考慮,客戶端和服務端無需在網路上直接通信,而是從傳輸層到應用層對數據和訪問進行各種控制和處理。
研發基於分組交換技術的 ARPANET,取代容災性差的中央集中式網路。
單個網路無法解決所有通信問題,開始研究網路互連技術,出現了 TCP/IP,並首先被 BSD UNIX 採用,隨之被廣泛使用變得流程,所有使用 TCP/IP 協議的計算機都能利用互連網相互通信。
圍繞大型計算機中心建設計算機網路,即 NSFNET(國家科學基金網),它是一個三級網路,分為主幹網、地區網和校園網。這種三級計算機網路覆蓋了全美主要的大學和研究所,並成為互聯網中的主要組成部分。
NSFNET 逐漸被商用的互聯網主幹網替代,政府機構不再負責互聯網的運營。用戶接入互聯網需要通過 ISP(Internet Service Provider:互聯網服務提供商)。
IXP(Internet eXchange Point)互聯網交換點 的作用是允許兩個網路直接相連並交換分組,而不需要再通過第三個網路(如上圖中的主幹 ISP)來轉發分組。
所有的互聯網標准都是以 RFC 的形式在互聯網上發表的,但並非所有的 RFC 文檔都是互聯網標准。
制定互聯網的正式標准要經過以下三個階段
(1)互聯網草案
(2)建議標准
(3)互聯網標准
由所有連接在互聯網上的主機組成。這部分是用戶直接使用的額,用來進行通信和資源共享。
由大量網路和連接這些網路的路由器組成。這部分視為邊緣部分提供服務的(提供連通性和交換)。
① 電路交換的起源
② 電路交換的特點
在使用信道時,信道兩端的兩個用戶始終佔用端到端的通信資源,線路上真正傳送數據的時間比例很小,傳輸效率很低。
③ 電路交換的步驟
建立連接 (佔用通信資源)→ 通話 (一直佔用通信資源)→ 釋放連接 (歸還通信資源)
電報通信採用基於存儲轉發原理的報文交換,整個報文被發送到相鄰結點,存儲下來,再轉發到下一個結點。
① 分組交換的特點
把一個完整的報文劃分為一個個分組,每個分組傳送到相鄰結點後,存在下來查找轉發表,在轉發到下一個結點。
② 分組交換的優缺點
優點:每個分組可以經過不同的路由,使得有更好的可靠性,也能充分利用網路性能。
缺點:分組控制信息有一定開銷,路由器存儲轉發時需要排隊導致產生時延,無法確保通信時端到端所需的寬頻。
① 廣域網 WAN(Wide Area Network) 廣域網的作用范圍通常為幾十到幾千公里,是互聯網的核心,其任務是通過長距離運送主機鎖發送的數據。連接廣域網各結點交換機的鏈路一般都是高速鏈路,具有較大的通信量。
② 城域網 MAN(Metropolotan Area Network) 城域網的作用范圍一般是一個城市,作用距離約為 5 ~ 50 km。可以為一個或幾個單位所用歐,也可以是一種公用設置,用來將多個區域網進行互聯。目前很多城域網採用的是乙太網技術。
③ 區域網 LAN(Local Area Network) 區域網一般用微型計算機或工作站通過高速通信鏈路相連(速率通常在 10 Mbit/s 以上),但地理上則局限在較小的范圍(如 1 km 左右)。在區域網發展的初期,一個學校或工廠往往只擁有有個區域網,但現在區域網已非常廣泛地使用,學校或企業大都擁有多個互連的區域網(這樣的網路常稱為 校園網 或 企業網 )。
④ 個人區域網 PAN(Personal Area Network) 個人區域網就是在個人工作的地方把屬於個人使用的電子設備用無線技術連接起來的網路,因此也常稱為 無線個人區域網 WPAN(Wireless PAN) ,其范圍很小,大約在 10 m 左右。
① 公用網(pulic network) 電信公司出資建造的大型網路。
② 專用網(private network) 某個部門為滿足本單位的特殊業務工作的需要而建造的網路。這種網路不向本單位以外的人提供服務,例如,軍隊、鐵路、銀行、電力等系統均有本系統的專用網。
接入網(Access Network) ,又稱為本地接入網或居民接入網。
數據的傳輸速率,也稱為數據率或比特率,單位為 bit/s(比特每秒)(或 b/s,有時也寫為 bps,即 bit per second)。
1 kbit/s = 1 × 10³ bit/s,1 Mbit/s = 1 × 10^6 bit/s,1 Gbit/s = 1 × 10^9 bit/s,1 Tbit/s = 1 × 10^12 bit/s
吞吐量表示在單位時間內通過某個網路的實際的數據量,單位同速率帶寬。
時延是指數據從網路的一端傳送到另一端所需的時間,網路時延由幾個部分組成:
網路總時延 = 發送時延 + 傳播時延 + 處理時延 + 排隊時延
[誤區] 光纖的傳播速率實際上比銅線要慢,但是光纖的帶寬卻比普通的雙絞線要快,這是因為光信號的抗干擾性強,並且可以通過波分復用的信道復用技術,達到一路光纖傳輸多路信號的效果。
時延帶寬積表示信道中可以容納多少比特。
在計算機網路中,往返時間 RTT(Round-Trip Time)是一個重要的性能指標,因為在許多情況下,互聯網上的信息不僅僅單方向傳輸而是雙向交互的。
使用衛星通信時,發送時延很短,主要消耗在來回傳播時延上,即往返時間相對較長。
利用率有信道利用率和網路利用率兩種。信道利用率指出某信道有百分之幾的時間是被利用的(有數據通過)。完全空閑的信道的利用率為零。網路利用率則是全網路的信道利用率的加權平均值。
D0 表示網路空閑時的時延,D 表示網路當前的時延,U 表示利用率,則
U = 1 - D0/D,變形一下,有
信道利用率不是越高越好,因為信道利用率增大時,網路時延也會增加,因為排隊時延增大。所以當 U 趨於 1 時,D 會趨於無限大,所以 信道或網路的利用率過高會產生非常大的時延 。
費用、質量、標准化、可靠性、可擴展性和可升級性、易於管理和維護。
① 語法,即數據與控制信息的結構或格式;
② 語義,即需要發出何種控制信息,完成何種動作以及做出何種響應;
③ 同步,即時間實現順序的詳細說明。
① 各層獨立;
② 靈活性好;
③ 結構上可分割開;
④ 易於實現和維護;
⑤ 能促進標准化工作。
計算機網路的各層及其協議的集合就是網路的體系結構。
實體 :表示任何可發送或接收信息的硬體或軟體進程。
協議 :協議是水平的,控制兩個對等實體進行通信的規則的集合。
服務 :服務是垂直的,下層通過介面向上層提供服務。
服務訪問點 :SAP(Service Access Point),同一系統中相鄰兩層的實體進行交互的地方。
2. 計算機網路傳播時延和傳輸時延在圖上是哪一段
……圖1就是圖2最右邊的分組交換。圖1是沒有任何問題的……
圖1的發送時延即為傳輸時延。
傳輸時延,transmission delay,指一個節點將一個完整報文的所有比特發送到網路鏈路中所需要花費的時間。顯然傳輸時延與報文大小和發送速率有關。
傳播時延,propagation delay,指一個比特從發送方跨越千山萬水到達接收方所需要花費的時間。顯然傳播時延與鏈路的類型/質量、轉發次數等等有關。
3. 計算機網路知識點
一、計算機網路概述
1.1 計算機網路的分類
按照網路的作用范圍:廣域網(WAN)、城域網(MAN)、區域網(LAN);
按照網路使用者:公用網路、專用網路。
1.2 計算機網路的層次結構
TCP/IP四層模型與OSI體系結構對比:
1.3 層次結構設計的基本原則
各層之間是相互獨立的;
每一層需要有足夠的靈活性;
各層之間完全解耦。
1.4 計算機網路的性能指標
速率:bps=bit/s 時延:發送時延、傳播時延、排隊時延、處理時延 往返時間RTT:數據報文在端到端通信中的來回一次的時間。
二、物理層
物理層的作用:連接不同的物理設備,傳輸比特流。該層為上層協議提供了一個傳輸數據的可靠的物理媒體。簡單的說,物理層確保原始的數據可在各種物理媒體上傳輸。
物理層設備:
中繼器【Repeater,也叫放大器】:同一區域網的再生信號;兩埠的網段必須同一協議;5-4-3規程:10BASE-5乙太網中,最多串聯4個中繼器,5段中只能有3個連接主機;
集線器:同一區域網的再生、放大信號(多埠的中繼器);半雙工,不能隔離沖突域也不能隔離廣播域。
信道的基本概念:信道是往一個方向傳輸信息的媒體,一條通信電路包含一個發送信道和一個接受信道。
單工通信信道:只能一個方向通信,沒有反方向反饋的信道;
半雙工通信信道:雙方都可以發送和接受信息,但不能同時發送也不能同時接收;
全雙工通信信道:雙方都可以同時發送和接收。
三、數據鏈路層
3.1 數據鏈路層概述
數據鏈路層在物理層提供的服務的基礎上向網路層提供服務,其最基本的服務是將源自網路層來的數據可靠地傳輸到相鄰節點的目標機網路層。數據鏈路層在不可靠的物理介質上提供可靠的傳輸。
該層的作用包括: 物理地址定址、數據的成幀、流量控制、數據的檢錯、重發 等。
有關數據鏈路層的重要知識點:
數據鏈路層為網路層提供可靠的數據傳輸;
基本數據單位為幀;
主要的協議:乙太網協議;
兩個重要設備名稱:網橋和交換機。
封裝成幀:「幀」是 數據鏈路層 數據的基本單位:
透明傳輸:「透明」是指即使控制字元在幀數據中,但是要當做不存在去處理。即在控制字元前加上轉義字元ESC。
3.2 數據鏈路層的差錯監測
差錯檢測:奇偶校驗碼、循環冗餘校驗碼CRC
奇偶校驗碼–局限性:當出錯兩位時,檢測不到錯誤。
循環冗餘檢驗碼:根據傳輸或保存的數據而產生固定位數校驗碼。
3.3 最大傳輸單元MTU
最大傳輸單元MTU(Maximum Transmission Unit),數據鏈路層的數據幀不是無限大的,數據幀長度受MTU限制.
路徑MTU:由鏈路中MTU的最小值決定。
3.4 乙太網協議詳解
MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進製表示。
乙太網協議:是一種使用廣泛的區域網技術,是一種應用於數據鏈路層的協議,使用乙太網可以完成相鄰設備的數據幀傳輸:
區域網分類:
Ethernet乙太網IEEE802.3:
乙太網第一個廣泛部署的高速區域網
乙太網數據速率快
乙太網硬體價格便宜,網路造價成本低
乙太網幀結構:
類型:標識上層協議(2位元組)
目的地址和源地址:MAC地址(每個6位元組)
數據:封裝的上層協議的分組(46~1500位元組)
CRC:循環冗餘碼(4位元組)
乙太網最短幀:乙太網幀最短64位元組;乙太網幀除了數據部分18位元組;數據最短46位元組;
MAC地址(物理地址、區域網地址)
MAC地址長度為6位元組,48位;
MAC地址具有唯一性,每個網路適配器對應一個MAC地址;
通常採用十六進製表示法,每個位元組表示一個十六進制數,用 - 或 : 連接起來;
MAC廣播地址:FF-FF-FF-FF-FF-FF。
四、網路層
網路層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括定址和路由選擇、連接的建立、保持和終止等。數據交換技術是報文交換(基本上被分組所替代):採用儲存轉發方式,數據交換單位是報文。
網路層中涉及眾多的協議,其中包括最重要的協議,也是TCP/IP的核心協議——IP協議。IP協議非常簡單,僅僅提供不可靠、無連接的傳送服務。IP協議的主要功能有:無連接數據報傳輸、數據報路由選擇和差錯控制。
與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、網際網路報文協議ICMP、網際網路組管理協議IGMP。具體的協議我們會在接下來的部分進行總結,有關網路層的重點為:
1、網路層負責對子網間的數據包進行路由選擇。此外,網路層還可以實現擁塞控制、網際互連等功能;
2、基本數據單位為IP數據報;
3、包含的主要協議:
IP協議(Internet Protocol,網際網路互聯協議);
ICMP協議(Internet Control Message Protocol,網際網路控制報文協議);
ARP協議(Address Resolution Protocol,地址解析協議);
RARP協議(Reverse Address Resolution Protocol,逆地址解析協議)。
4、重要的設備:路由器。
路由器相關協議
4.1 IP協議詳解
IP網際協議是 Internet 網路層最核心的協議。虛擬互聯網路的產生:實際的計算機網路錯綜復雜;物理設備通過使用IP協議,屏蔽了物理網路之間的差異;當網路中主機使用IP協議連接時,無需關注網路細節,於是形成了虛擬網路。
IP協議使得復雜的實際網路變為一個虛擬互聯的網路;並且解決了在虛擬網路中數據報傳輸路徑的問題。
其中,版本指IP協議的版本,佔4位,如IPv4和IPv6;首部位長度表示IP首部長度,佔4位,最大數值位15;總長度表示IP數據報總長度,佔16位,最大數值位65535;TTL表示IP數據報文在網路中的壽命,佔8位;協議表明IP數據所攜帶的具體數據是什麼協議的,如TCP、UDP。
4.2 IP協議的轉發流程
4.3 IP地址的子網劃分
A類(8網路號+24主機號)、B類(16網路號+16主機號)、C類(24網路號+8主機號)可以用於標識網路中的主機或路由器,D類地址作為組廣播地址,E類是地址保留。
4.4 網路地址轉換NAT技術
用於多個主機通過一個公有IP訪問訪問互聯網的私有網路中,減緩了IP地址的消耗,但是增加了網路通信的復雜度。
NAT 工作原理:
從內網出去的IP數據報,將其IP地址替換為NAT伺服器擁有的合法的公共IP地址,並將替換關系記錄到NAT轉換表中;
從公共互聯網返回的IP數據報,依據其目的的IP地址檢索NAT轉換表,並利用檢索到的內部私有IP地址替換目的IP地址,然後將IP數據報轉發到內部網路。
4.5 ARP協議與RARP協議
地址解析協議 ARP(Address Resolution Protocol):為網卡(網路適配器)的IP地址到對應的硬體地址提供動態映射。可以把網路層32位地址轉化為數據鏈路層MAC48位地址。
ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。
RARP(Reverse Address Resolution Protocol)協議指逆地址解析協議,可以把數據鏈路層MAC48位地址轉化為網路層32位地址。
4.6 ICMP協議詳解
網際控制報文協議(Internet Control Message Protocol),可以報告錯誤信息或者異常情況,ICMP報文封裝在IP數據報當中。
ICMP協議的應用:
Ping應用:網路故障的排查;
Traceroute應用:可以探測IP數據報在網路中走過的路徑。
4.7網路層的路由概述
關於路由演算法的要求:正確的完整的、在計算上應該盡可能是簡單的、可以適應網路中的變化、穩定的公平的。
自治系統AS: 指處於一個管理機構下的網路設備群,AS內部網路自治管理,對外提供一個或多個出入口,其中自治系統內部的路由協議為內部網關協議,如RIP、OSPF等;自治系統外部的路由協議為外部網關協議,如BGP。
靜態路由: 人工配置,難度和復雜度高;
動態路由:
鏈路狀態路由選擇演算法LS:向所有隔壁路由發送信息收斂快;全局式路由選擇演算法,每個路由器計算路由時,需構建整個網路拓撲圖;利用Dijkstra演算法求源端到目的端網路的最短路徑;Dijkstra(迪傑斯特拉)演算法
距離-向量路由選擇演算法DV:向所有隔壁路由發送信息收斂慢、會存在迴路;基礎是Bellman-Ford方程(簡稱B-F方程);
4.8 內部網關路由協議之RIP協議
路由信息協議 RIP(Routing Information Protocol)【應用層】,基於距離-向量的路由選擇演算法,較小的AS(自治系統),適合小型網路;RIP報文,封裝進UDP數據報。
RIP協議特性:
RIP在度量路徑時採用的是跳數(每個路由器維護自身到其他每個路由器的距離記錄);
RIP的費用定義在源路由器和目的子網之間;
RIP被限制的網路直徑不超過15跳;
和隔壁交換所有的信息,30主動一次(廣播)。
4.9 內部網關路由協議之OSPF協議
開放最短路徑優先協議 OSPF(Open Shortest Path First)【網路層】,基於鏈路狀態的路由選擇演算法(即Dijkstra演算法),較大規模的AS ,適合大型網路,直接封裝在IP數據報傳輸。
OSPF協議優點:
安全;
支持多條相同費用路徑;
支持區別化費用度量;
支持單播路由和多播路由;
分層路由。
RIP與OSPF的對比(路由演算法決定其性質):
4.10外部網關路由協議之BGP協議
BGP(Border Gateway Protocol)邊際網關協議【應用層】:是運行在AS之間的一種協議,尋找一條好路由:首次交換全部信息,以後只交換變化的部分,BGP封裝進TCP報文段.
五、傳輸層
第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。
傳輸層的任務是根據通信子網的特性,最佳的利用網路資源,為兩個端系統的會話層之間,提供建立、維護和取消傳輸連接的功能,負責端到端的可靠數據傳輸。在這一層,信息傳送的協議數據單元稱為段或報文。
網路層只是根據網路地址將源結點發出的數據包傳送到目的結點,而傳輸層則負責將數據可靠地傳送到相應的埠。
有關網路層的重點:
傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題;
包含的主要協議:TCP協議(Transmission Control Protocol,傳輸控制協議)、UDP協議(User Datagram Protocol,用戶數據報協議);
重要設備:網關。
5.1 UDP協議詳解
UDP(User Datagram Protocol: 用戶數據報協議),是一個非常簡單的協議。
UDP協議的特點:
UDP是無連接協議;
UDP不能保證可靠的交付數據;
UDP是面向報文傳輸的;
UDP沒有擁塞控制;
UDP首部開銷很小。
UDP數據報結構:
首部:8B,四欄位/2B【源埠 | 目的埠 | UDP長度 | 校驗和】 數據欄位:應用數據
5.2 TCP協議詳解
TCP(Transmission Control Protocol: 傳輸控制協議),是計算機網路中非常復雜的一個協議。
TCP協議的功能:
對應用層報文進行分段和重組;
面向應用層實現復用與分解;
實現端到端的流量控制;
擁塞控制;
傳輸層定址;
對收到的報文進行差錯檢測(首部和數據部分都檢錯);
實現進程間的端到端可靠數據傳輸控制。
TCP協議的特點:
TCP是面向連接的協議;
TCP是面向位元組流的協議;
TCP的一個連接有兩端,即點對點通信;
TCP提供可靠的傳輸服務;
TCP協議提供全雙工通信(每條TCP連接只能一對一);
5.2.1 TCP報文段結構:
最大報文段長度:報文段中封裝的應用層數據的最大長度。
TCP首部:
序號欄位:TCP的序號是對每個應用層數據的每個位元組進行編號
確認序號欄位:期望從對方接收數據的位元組序號,即該序號對應的位元組尚未收到。用ack_seq標識;
TCP段的首部長度最短是20B ,最長為60位元組。但是長度必須為4B的整數倍
TCP標記的作用:
5.3 可靠傳輸的基本原理
基本原理:
不可靠傳輸信道在數據傳輸中可能發生的情況:比特差錯、亂序、重傳、丟失
基於不可靠信道實現可靠數據傳輸採取的措施:
差錯檢測:利用編碼實現數據包傳輸過程中的比特差錯檢測 確認:接收方向發送方反饋接收狀態 重傳:發送方重新發送接收方沒有正確接收的數據 序號:確保數據按序提交 計時器:解決數據丟失問題;
停止等待協議:是最簡單的可靠傳輸協議,但是該協議對信道的利用率不高。
連續ARQ(Automatic Repeat reQuest:自動重傳請求)協議:滑動窗口+累計確認,大幅提高了信道的利用率。
5.3.1TCP協議的可靠傳輸
基於連續ARQ協議,在某些情況下,重傳的效率並不高,會重復傳輸部分已經成功接收的位元組。
5.3.2 TCP協議的流量控制
流量控制:讓發送方發送速率不要太快,TCP協議使用滑動窗口實現流量控制。
5.4 TCP協議的擁塞控制
擁塞控制與流量控制的區別:流量控制考慮點對點的通信量的控制,而擁塞控制考慮整個網路,是全局性的考慮。擁塞控制的方法:慢啟動演算法+擁塞避免演算法。
慢開始和擁塞避免:
【慢開始】擁塞窗口從1指數增長;
到達閾值時進入【擁塞避免】,變成+1增長;
【超時】,閾值變為當前cwnd的一半(不能<2);
再從【慢開始】,擁塞窗口從1指數增長。
快重傳和快恢復:
發送方連續收到3個冗餘ACK,執行【快重傳】,不必等計時器超時;
執行【快恢復】,閾值變為當前cwnd的一半(不能<2),並從此新的ssthresh點進入【擁塞避免】。
5.5 TCP連接的三次握手(重要)
TCP三次握手使用指令:
面試常客:為什麼需要三次握手?
第一次握手:客戶發送請求,此時伺服器知道客戶能發;
第二次握手:伺服器發送確認,此時客戶知道伺服器能發能收;
第三次握手:客戶發送確認,此時伺服器知道客戶能收。
建立連接(三次握手):
第一次: 客戶向伺服器發送連接請求段,建立連接請求控制段(SYN=1),表示傳輸的報文段的第一個數據位元組的序列號是x,此序列號代表整個報文段的序號(seq=x);客戶端進入 SYN_SEND (同步發送狀態);
第二次: 伺服器發回確認報文段,同意建立新連接的確認段(SYN=1),確認序號欄位有效(ACK=1),伺服器告訴客戶端報文段序號是y(seq=y),表示伺服器已經收到客戶端序號為x的報文段,准備接受客戶端序列號為x+1的報文段(ack_seq=x+1);伺服器由LISTEN進入SYN_RCVD (同步收到狀態);
第三次: 客戶對伺服器的同一連接進行確認.確認序號欄位有效(ACK=1),客戶此次的報文段的序列號是x+1(seq=x+1),客戶期望接受伺服器序列號為y+1的報文段(ack_seq=y+1);當客戶發送ack時,客戶端進入ESTABLISHED 狀態;當服務收到客戶發送的ack後,也進入ESTABLISHED狀態;第三次握手可攜帶數據;
5.6 TCP連接的四次揮手(重要)
釋放連接(四次揮手)
第一次: 客戶向伺服器發送釋放連接報文段,發送端數據發送完畢,請求釋放連接(FIN=1),傳輸的第一個數據位元組的序號是x(seq=x);客戶端狀態由ESTABLISHED進入FIN_WAIT_1(終止等待1狀態);
第二次: 伺服器向客戶發送確認段,確認字型大小段有效(ACK=1),伺服器傳輸的數據序號是y(seq=y),伺服器期望接收客戶數據序號為x+1(ack_seq=x+1);伺服器狀態由ESTABLISHED進入CLOSE_WAIT(關閉等待);客戶端收到ACK段後,由FIN_WAIT_1進入FIN_WAIT_2;
第三次: 伺服器向客戶發送釋放連接報文段,請求釋放連接(FIN=1),確認字型大小段有效(ACK=1),表示伺服器期望接收客戶數據序號為x+1(ack_seq=x+1);表示自己傳輸的第一個位元組序號是y+1(seq=y+1);伺服器狀態由CLOSE_WAIT 進入 LAST_ACK (最後確認狀態);
第四次: 客戶向伺服器發送確認段,確認字型大小段有效(ACK=1),表示客戶傳輸的數據序號是x+1(seq=x+1),表示客戶期望接收伺服器數據序號為y+1+1(ack_seq=y+1+1);客戶端狀態由FIN_WAIT_2進入TIME_WAIT,等待2MSL時間,進入CLOSED狀態;伺服器在收到最後一次ACK後,由LAST_ACK進入CLOSED;
為什麼需要等待2MSL?
最後一個報文沒有確認;
確保發送方的ACK可以到達接收方;
2MSL時間內沒有收到,則接收方會重發;
確保當前連接的所有報文都已經過期。
六、應用層
為操作系統或網路應用程序提供訪問網路服務的介面。應用層重點:
數據傳輸基本單位為報文;
包含的主要協議:FTP(文件傳送協議)、Telnet(遠程登錄協議)、DNS(域名解析協議)、SMTP(郵件傳送協議),POP3協議(郵局協議),HTTP協議(Hyper Text Transfer Protocol)。
6.1 DNS詳解
DNS(Domain Name System:域名系統)【C/S,UDP,埠53】:解決IP地址復雜難以記憶的問題,存儲並完成自己所管轄范圍內主機的 域名 到 IP 地址的映射。
域名解析的順序:
【1】瀏覽器緩存,
【2】找本機的hosts文件,
【3】路由緩存,
【4】找DNS伺服器(本地域名、頂級域名、根域名)->迭代解析、遞歸查詢。
IP—>DNS服務—>便於記憶的域名
域名由點、字母和數字組成,分為頂級域(com,cn,net,gov,org)、二級域(,taobao,qq,alibaba)、三級域(www)(12-2-0852)
6.2 DHCP協議詳解
DHCP(Dynamic Configuration Protocol:動態主機設置協議):是一個區域網協議,是應用UDP協議的應用層協議。作用:為臨時接入區域網的用戶自動分配IP地址。
6.3 HTTP協議詳解
文件傳輸協議(FTP):控制連接(埠21):傳輸控制信息(連接、傳輸請求),以7位ASCII碼的格式。整個會話期間一直打開。
HTTP(HyperText Transfer Protocol:超文本傳輸協議)【TCP,埠80】:是可靠的數據傳輸協議,瀏覽器向伺服器發收報文前,先建立TCP連接,HTTP使用TCP連接方式(HTTP自身無連接)。
HTTP請求報文方式:
GET:請求指定的頁面信息,並返回實體主體;
POST:向指定資源提交數據進行處理請求;
DELETE:請求伺服器刪除指定的頁面;
HEAD:請求讀取URL標識的信息的首部,只返回報文頭;
OPETION:請求一些選項的信息;
PUT:在指明的URL下存儲一個文檔。
6.3.1 HTTP工作的結構
6.3.2 HTTPS協議詳解
HTTPS(Secure)是安全的HTTP協議,埠號443。基於HTTP協議,通過SSL或TLS提供加密處理數據、驗證對方身份以及數據完整性保護
原文地址:https://blog.csdn.net/Royalic/article/details/119985591
4. 計算機訪問網路時延平均值是什麼意思
計算機訪問網路時延平均值其實就是看到的ping時間。
生存時間(time-to-live)指定數據包被路由器丟棄之前允許通過的網段數量。
它是IP(中文全稱:網路協議)協議包中的一個值,它告訴網路,數據包在網路中的時間是否太長而應被丟棄。
ping的概念:
Ping是Windows下的一個命令,在Unix和Linux下也有這個命令。ping也屬於一個通信協議,是TCP/IP協議的一部分。利用「ping」命令可以檢查網路是否連通,可以很好地幫助我們分析和判定網路故障。應用格式:Ping空格IP地址。該命令還可以加許多參數使用,具體是鍵入Ping按回車即可看到詳細說明。
PING (Packet Internet Groper),網際網路包探索器,用於測試網路連接量的程序。Ping發送一個ICMP(Internet Control Messages Protocol)即網際網路信報控制協議;回聲請求消息給目的地並報告是否收到所希望的ICMP echo (ICMP回聲應答)。它是用來檢查網路是否通暢或者網路連接速度的命令。作為一個生活在網路上的管理員或者黑客來說,ping命令是第一個必須掌握的DOS命令,它所利用的原理是這樣的:利用網路上機器IP地址的唯一性,給目標IP地址發送一個數據包,再要求對方返回一個同樣大小的數據包來確定兩台網路機器是否連接相通,時延是多少。
ping指的是端對端連通,通常用來作為可用性的檢查, 但是某些病毒木馬會強行大量遠程執行ping命令搶占你的網路資源,導致系統變慢,網速變慢。嚴禁ping入侵作為大多數防火牆的一個基本功能提供給用戶進行選擇。通常的情況下你如果不用作伺服器或者進行網路測試,可以放心的選中它,保護你的電腦。
5. 計算機網路 為什麼還要加上k-1段的發送時延
例題1:
試在下列條件下比較電路交換和分組交換。要傳送的報文共x(bit)。從源點到終點共經過k段鏈路,每段鏈路的傳播時延為d(s),數據率為b(b/s)。在電路交換時電路的建立時間為s(s)。在分組交換時分組長度為p(bit),且各結點的排隊等待時間可忽略不計。問在怎樣的條件下,分組交換的時延比電路交換的要小?(提示:畫一下草圖觀察k段鏈路共有幾個結點。)
答:在電路交換中,電路的建立時延是s,報文的發送時延是x/b,報文的傳播時延是:kd,故總時延為:x/b+kd+s;
在分組交換中,報文的發送時延是(x/p)*(p/b); K段傳輸中,有(k-1)次的儲存轉發延遲,(p/b)*(k-1);傳播時延是kd;故總時延是:(x/p)*(p/b)+ (p/b)*(k-1)+kd=x/b+kd+(p/b)*(k-1);
當s>(k-1)*(p/b)時,電路交換的時延比分組交換的時延大,當x>>p,相反。
6. 計算機網路有哪些常用的性能指標
計算機網路常用性能指標有:
1、速率:連接在計算機網路上的主機在數字信道上傳送數據的速率。
2、帶寬:網路通信線路傳送數據的能力。
3、吞吐量:單位時間內通過網路的數據量。
4、時延:數據從網路一端傳到另一端所需的時間。
5、時延帶寬積:傳播時延帶寬。
6、往返時間RTT:數據開始到結束所用時間。
7、利用率信道:數據通過信道時間。
(6)計算機網路時延符號擴展閱讀:
計算機網路中的時延是由一下幾個不同的部分組成的:
(1)發送時延
發送時延是主機或路由器發送數據幀所需要的時間,也就是從發送數據幀的第一個比特算起,到該幀的最後一個比特發送完畢所需的時間。因此發送時延也叫做傳輸時延。發送時延的計算公式是:
發送時延=數據幀長度(bit)/發送速率(bit/s)
(2)傳播時延
傳播時延是電磁波在信道中傳播一定的距離需要花費的時間。傳播時延的計算公式是:
傳播時延=信道長度(m)/電磁波在信道上大的傳播速率(m/s)
電磁波在自由空間的傳播速率是光速。即3.0*10^5km/s。
發送時延發生在機器內部的發送器中,與傳輸信道的長度沒有任何關系。傳播時延發生在機器外部的傳輸信道媒體上,而與信道的發送速率無關。信號傳送的距離越遠,傳播時延就越大
(3)處理時延
主機或路由器在收到分組時需要花費一定時間進行處理,例如分析分組的首部,從分組中提取數據部分、進行差錯檢驗或查找合適的路由等,這就產生了處理時延。
(4)排隊時延
分組在進行網路傳輸時,要經過許多路由器。但分組在進入路由器後要先在輸入隊列中排隊等待,在路由器確定了轉發介面後,還要在輸出隊列中排隊等待轉發。這就產生了排隊時延。排隊時延的長短取決於網路當時的通信量。當網路的通信量很大時會發生隊列溢出,使分組丟失,這相當於排隊時延無窮大。
這樣數據在網路中經歷的總時延就是以上四種時延之和:總時延=發送時延+傳播時延+處理時延+排隊時延。
一般來說,小時延的網路要優於大時延的網路。
7. 關於計算機網路中的發送時延
發送時延=數據幀長度(b)/發送速率(b/s)
傳播時延=信道長度(m)/電磁波在信道上的傳播速率(m/s)
時延是指一個報文或分組從一個網路的一端傳送到另一個端所需要的時間。它包括了發送時延,傳播時延,處理時延,排隊時延。(時延=發送時延+傳播時延+處理時延+排隊時延)一般,發送時延與傳播時延是我們主要考慮的。對於報文長度較大的情況,發送時延是主要矛盾;報文長度較小的情況,傳播時延是主要矛盾。(計算機網路方面的時延概念)
時延是指從說話人開始說話到受話人聽到所說的內容的時間。一般人們能忍受小於250ms的時延,若時延太長,會使通信雙方都不舒服。此外,時延還會造成回波,時延越長所需的用於消除回波的計算機指令的時間就越多。傳送時延由internet的路由情況決定,如果在低速信道或信道太擁擠時,可能會導致長時間時延或丟失數據包的情況。
8. 計算機網路中的四種延遲分別是什麼
計算機網路中的四種延遲分別是:節點處理延遲、排隊延遲、發送延遲、傳播延遲。
1、節點處理延遲
數據更改在一個伺服器上完成與該更改出現在另一個伺服器上之間所用的時間(例如在發布伺服器上進行更改和該更改出現在訂閱伺服器上之間的時間)。
延遲是指幀從網路上一個埠進入到從另一個埠出去,所花費的時間。
2、網路延遲
網路延遲是指各式各樣的數據在網路介質中通過網路協議(如TCP/IP)進行傳輸,如果信息量過大不加以限制,超額的網路流量就會導致設備反應緩慢,造成網路延遲。
3、排隊延遲
時延是指數據從網路的一端傳送到另一端所需的時間。排隊時延是指分組在經過網路傳輸時,要經過許多的路由器。但分組在進入路由器後要在輸入隊列中排隊等待處理。在路由器確定了轉發介面後,還要在輸出隊列中排隊等待轉發。
4、時延
時延是指一個報文或分組從一個網路的一端傳送到另一個端所需要的時間。它包括了發送時延,傳播時延,處理時延,排隊時延。(時延=發送時延+傳播時延+處理時延+排隊時延)一般,發送時延與傳播時延是我們主要考慮的。對於報文長度較大的情況,發送時延是主要矛盾;報文長度較小的情況,傳播時延是主要矛盾。
時延是指數據包第一個比特進入路由器到最後一比特從路由器輸出的時間間隔。在測試中通常使用測試儀表發出測試包到收到數據包的時間間隔。時延與數據包長相關,通常在路由器埠吞吐量范圍內測試,超過吞吐量測試該指標沒有意義。
(8)計算機網路時延符號擴展閱讀:
定義:在傳輸介質中傳輸所用的時間,即從報文開始進入網路到它開始離開網路之間的時間。
如何定義網路延遲程度:
(網路延遲PING值越低速度越快)
1~30ms:極快,幾乎察覺不出有延遲,玩任何游戲速度都特別順暢
31~50ms:良好,可以正常游戲,沒有明顯的延遲情況
51~100ms:普通,對抗類游戲能感覺出明顯延遲,稍有停頓
>100ms:差,無法正常游戲,有卡頓,丟包並掉線現象
計算方法:1秒=1000毫秒(例:30ms為0.03秒)
參考資料來源:
網路-時延
網路-排隊延遲
網路-網路延遲
網路-延遲
9. 計算機網路基礎知識(一)
參考:計算機網路 謝希仁 第7版
一、現在最主要的三種網路
電信網路(電話網)
有線電視網路
計算機網路 (發展最快,信息時代的核心技術)
二、internet 和 Internet
internet 是普通名詞
泛指一般的互連網(互聯網)
Internet 是專有名詞,標准翻譯是「網際網路」 世界范圍的互連網(互聯網)
使用 TCP/IP 協議族
前身是美國的阿帕網 ARPANET
三、計算機網路的帶寬
計算機網路的帶寬是指網路可通過的最高數據率,即每秒多少比特。 描述帶寬也常常把「比特/秒」省略。
例如,帶寬是 10 M,實際上是 10 Mb/s。注意:這里的 M 是 106。
四、對寬頻傳輸的錯誤概念
在網路中有兩種不同的速率:
信號(即電磁波)在傳輸媒體上的傳播速率(米/秒,或公里/秒)
計算機向網路發送比特的速率(比特/秒),也叫傳輸速率。 這兩種速率的意義和單位完全不同。
寬頻傳輸:計算機向網路發送比特的速率較高。 寬頻線路:每秒有更多比特從計算機注入到線路。 寬頻線路和窄帶線路上比特的傳播速率是一樣的。
早期的計算機網路採用電路交換,新型的計算機網路採用分組交換的、基於存儲轉發的方式。 分組交換:
在發送端把要發送的報文分隔為較短的數據塊
每個塊增加帶有控制信息的首部構成分組(包)
依次把各分組發送到接收端
接收端剝去首部,抽出數據部分,還原成報文
IP 網路的重要特點
每一個分組獨立選擇路由。
發往同一個目的地的分組,後發送的有可能先收到(即可能不按順序接收)。 當網路中的通信量過大時,路由器就來不及處理分組,於是要丟棄一些分組。 因此, IP 網路不保證分組的可靠地交付。
IP 網路提供的服務被稱為:
盡最大努力服務(best effort service) 五、最重要的兩個協議:IP 和 TCP
TCP 協議保證了應用程序之間的可靠通信,IP 協議控制分組在網際網路的傳輸,但網際網路不保證可靠交付.
在 TCP/IP 的應用層協議使用的是客戶伺服器方式。
客戶(client)和伺服器(server)都是指通信中所涉及的兩個應用進程。
客戶伺服器方式所描述的是進程之間服務和被服務的關系。
當 A 進程需要 B 進程的服務時就主動呼叫 B 進程,在這種情況下,A 是客戶而 B 是伺服器。
可能在下一次通信中,B 需要 A 的服務,此時,B 是客戶而 A 是伺服器。
注意:
使用計算機的人是「用戶」(user)而不是「客戶」(client)。
客戶和伺服器都指的是進程,即計算機軟體。
由於運行伺服器進程的機器往往有許多特殊的要求,因此人們經常將主要運行伺服器進程的
機器(硬體)不嚴格地稱為伺服器。
例如,「這台機器是伺服器。」 意思是:「這台機器(硬體)主要是用來運行伺服器進程(軟體)。」 因此,伺服器(server)一詞有時指的是軟體,但也有時指的是硬體。
六、總結
網際網路(Internet)是世界范圍的、互連起來的計算機網路,它使用 TCP/IP 協議族,並且它的前身是美 國阿帕網 ARPANET。
計算機網路的帶寬是網路可通過的最高數據率。
網際網路使用基於存儲轉發的分組交換,並使用 IP 協議傳送 IP 分組。
路由器把許多網路互連起來,構成了互連網。路由器收到分組後,根據路由表查找出下一跳路由器的
地址,然後轉發分組。
路由器根據與其他路由器交換的路由信息構造出自己的路由表。
IP 網路提供盡最大努力服務,不保證可靠交付。
TCP 協議保證計算機程序之間的、端到端的可靠交付。
在 TCP/IP 的應用層協議使用的是客戶伺服器方式。
客戶和伺服器都是進程(即軟體)。客戶是服務請求方,伺服器是服務提供方。
伺服器有時也指「運行伺服器軟體」的機器。
一、IP 網路是虛擬網路
IP 網路是虛擬的。在 IP 網路上傳送的是 IP 數據報(IP 分組)。
實際上在網路鏈路上傳送的是「幀」,使用的是幀的硬體地址(MAC 地址)。
地址解析協議 ARP 用來把 IP 地址(虛擬地址)轉換為硬體地址(物理地址)。
二、IP 地址的表示方法
IP 地址的表示方法有兩種:二進制和點分十進制。
IP 地址是 32 位二進制數字,為方便閱讀和從鍵盤上輸入,可把每 8 位二進制數字轉換成一個十進制數字,並 用小數點隔開,這就是點分十進制。
三、網際網路的域名
網際網路的域名分為: 頂級域名 二級域名 三級域名
四級域名
四、域名伺服器 DNS (Domain Name Server)
網際網路中設有很多的域名伺服器 DNS,用來把域名轉換為 IP 地址。
五、電子郵件
發送郵件使用的協議——簡單郵件傳送協議 SMTP (Simple Mail Transfer Protocol) 接收郵件使用的協議——郵局協議版本 3 POP3 (Post Office Protocol version 3) 注:郵件的傳送仍然要使用 IP 和 TCP 協議
六、統一資源定位符 URL (Uniform Resource Locator)
URL 用來標識萬維網上的各種文檔。
網際網路上的每一個文檔,在整個網際網路的范圍內具有惟一的標識符 URL。 URL 實際上就是文檔在網際網路中的地址。
七、超文本傳送協議 HTTP (HyperText Transfer Protocol) 萬維網客戶程序與伺服器程序之間的交互遵守超文本傳送協議 HTTP。
八、結束語
IP 地址是 32 位二進制數字。為便於閱讀和鍵入,也常使用點分十進制記法。 個人用戶上網可向本地 ISP 租用臨時的 IP 地址。
域名伺服器 DNS 把計算機域名轉換為計算機使用的 32 位二進制 IP 地址。 發送電子郵件使用 SMTP 協議,接收電子郵件使用 POP3 協議。
統一資源定位符 URL 惟一地確定了萬維網上文檔的地址。
超文本傳送協議 HTTP 用於萬維網瀏覽器程序和伺服器程序的信息交互。
超文本標記語言 HTML 使萬維網文檔有了統一的格式。
IP 電話不使用 TCP 協議。利用 IP 電話網關使得在普通電話之間可以打 IP 電話。
一、網際網路服務提供者 ISP (Internet Service Provider) 根據提供服務的覆蓋面積大小以及所擁有的 IP 地址數目的不同,ISP 也分成為不同的層次。
二、兩種通信方式
在網路邊緣的端系統中運行的程序之間的通信方式通常可劃分為兩大類:C/S 方式 和 P2P 方式
(Peer-to-Peer,對等方式)。
三、網際網路的核心部分
網路核心部分是網際網路中最復雜的部分。
網路中的核心部分要向網路邊緣中的大量主機提供連通性,使邊緣部分中的任何一個主機都能夠向其 他主機通信(即傳送或接收各種形式的數據)。
網際網路的核心部分是由許多網路和把它們互連起來的路由器組成,而主機處在網際網路的邊緣部分。
在網際網路核心部分的路由器之間一般都用高速鏈路相連接,而在網路邊緣的主機接入到核心部分則通 常以相對較低速率的鏈路相連接。
主機的用途是為用戶進行信息處理的,並且可以和其他主機通過網路交換信息。路由器的用途則是用 來轉發分組的,即進行分組交換的。
在網路核心部分起特殊作用的是路由器(router)。
路由器是實現分組交換(packet switching)的關鍵構件,其任務是轉發收到的分組,這是網路核心部分
最重要的功能。
四、電路交換
電路交換必定是面向連接的。 電路交換的三個階段:建立連接、通信、釋放連接。
五、網路的分類
不同作用范圍的網路
廣域網 WAN (Wide Area Network)
區域網 LAN (Local Area Network)
城域網 MAN (Metropolitan Area Network)
個人區域網 PAN (Personal Area Network)
從網路的使用者進行分類
公用網 (public network)
專用網 (private network)
用來把用戶接入到網際網路的網路
接入網 AN (Access Network),它又稱為本地接入網或居民接入網。
注:由 ISP 提供的接入網只是起到讓用戶能夠與網際網路連接的「橋梁」作用。
六、計算機網路的性能指標
速率
帶寬
吞吐量
時延(delay 或 latency)
傳輸時延(發送時延) —— 從發送數據幀的第一個比特算起,到該幀的最後一個比特發送完 畢所需的時間。
傳播時延 —— 電磁波在信道中需要傳播一定的距離而花費的時間。 注:信號傳輸速率(即發送速率)和信號在信道上的傳播速率是完全不同的概念。
處理時延 —— 交換結點為存儲轉發而進行一些必要的處理所花費的時間。
排隊時延 —— 結點緩存隊列中分組排隊所經歷的時延。 總時延 = 發送時延+傳播時延+處理時延+處理時延
時延帶寬積
利用率 —— 分為信道利用率和網路利用率。
信道利用率——某信道有百分之幾的時間是被利用的(有數據通過)。 網路利用率——全網路的信道利用率的加權平均值。 注:信道利用率並非越高越好。
七、網路協議(network protocol) 簡稱為協議,是為進行網路中的數據交換而建立的規則、標准或約定。其組成要素有以下三點:
語法 語義 同步
數據與控制信息的結構或格式 。
需要發出何種控制信息,完成何種動作以及做出何種響應。 事件實現順序的詳細說明。
八、實體、協議、服務和服務訪問點
實體(entity)——表示任何可發送或接收信息的硬體或軟體進程。 協議——是控制兩個對等實體進行通信的規則的集合。
在協議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務。 要實現本層協議,還需要使用下層所提供的服務。
本層的服務用戶只能看見服務而無法看見下面的協議。
下面的協議對上面的服務用戶是透明的。
協議是「水平的」,即協議是控制對等實體之間通信的規則。
服務是「垂直的」,即服務是由下層向上層通過層間介面提供的。 同一系統相鄰兩層的實體進行交互的地方,稱為服務訪問點 SAP (Service Access Point)。
九、TCP/IP 的體系結構
路由器在轉發分組時最高只用到網路層,而沒有使用運輸層和應用層。
10. 網路時延是什麼
時延是指一個報文或分組從網路的一端傳送到另一端所耗費的時間,時延由節點處理時延、排隊時延、發送時延、傳播時延組成。