① 計算機網路基礎知識(一)
參考:計算機網路 謝希仁 第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 的體系結構
路由器在轉發分組時最高只用到網路層,而沒有使用運輸層和應用層。
② 計算機網路中的主幹網和本地接入網的主要區別是什麼
主幹網路與本地接入所連接的物理設備不一樣,當然傳輸速度也不一樣!打個比方,一般網吧裡面,主幹網用的是光纖,可以1Gb/s
傳輸,而本地接入,經過路由器限流之後,一般之後100MB/S。
③ 計算機網路分為哪幾種
計算機按通用網路劃分標准。按這種標准可以把各種網路類型劃分為區域網、城域網、廣域網和互聯網四種。
一、區域網:
1、通常我們常見的「LAN」就是指區域網,這是我們最常見、應用最廣的一種網路。區域網隨著整個計算機網路技術的發展和提高得到充分的應用和普及,幾乎每個單位都有自己的區域網,有的甚至家庭中都有自己的小型區域網。
二、城域網:
2、這種網路一般來說是在一個城市,但不在同一地理小區范圍內的計算機互聯。這種網路的連接距離可以在10 ̄100公里,它採用的是IEEE802.6標准。MAN與LAN相比擴展的距離更長,連接的計算機數量更多,在地理范圍上可以說是LAN網路的延伸。
三、廣域網:
這種網路也稱為遠程網,所覆蓋的范圍比城域網(MAN)更廣,它一般是在不同城市之間的LAN或者MAN網路互聯,地理范圍可從幾百公里到幾千公里。因為距離較遠,信息衰減比較嚴重,所以這種網路一般是要租用專線,通過IMP(介面信息處理)協議和線路連接起來,構成網狀結構,解決循徑問題。
四、無線網:
隨著筆記本電腦和個人數字助理等攜帶型計算機的日益普及和發展,人們經常要在路途中接聽電話、發送傳真和電子郵件閱讀網上信息以及登錄到遠程機器等。
(3)計算機網路小溪網擴展閱讀:
無線區域網(WLAN);
1、無線區域網提供了移動接入的功能,這就給許多需要發送數據但又不能坐在辦公室的工作人員提供了方便。當大量持有攜帶型電腦的用戶都在同一個地方同時要求上網時,若用電纜連網,那麼布線就是個很大的問題。這時若採用無線區域網則比較容易。
2、無線區域網可分為兩大類,第一類是有固定基礎設施的,第二類是無固定基礎設施的。所謂「固定基礎設施」是預先建立起來的、能夠覆蓋一定地理范圍的一批固定基礎。大家經常使用的蜂窩行動電話就是利用電信公司預先建立的、覆蓋全國的大量固定基站來接通用戶手機撥打的電話。
3、另一類無線區域網是無固定基礎設施的無線區域網,它又叫做自組網路。這種自組網路沒有上述基本服務集中的接入點(AP),而是由一些處於平等狀態的移動站之間相互通信組成的臨時網路。
④ 計算機網路知識點
一、計算機網路概述
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