目錄html
segment:TCP報文段git
資源共享觀點的定義:以可以相互共享資源的方式互連起來的自治計算機系統的集合。github
網絡創建的主要目的是實現計算機資源的共享;
互連的計算機是分佈在不一樣地理位置的多臺獨立的「自治計算機系統」;
連網計算機在通訊過程當中必須遵循相同的網絡協議。算法
計算機網絡由若干結點和鏈接這些結點的鏈路數據庫
按照網絡的做用範圍分類編程
廣域網 WAN(Wide Area NetWork)瀏覽器
城域網 MAN(Metroploitan Area NetWork)緩存
局域網 LAN(Local Area NetWork)安全
我的區域網PAN(Personal Area Network)服務器
按照網絡的使用者分類
公用網(public network)
專用網(private network)
通訊介質
有線網
無線網
拓撲結構
星型網絡,環型網絡,樹型網絡,網狀網絡
邊緣部分(資源子網)
由全部鏈接在因特網上的主機組成
用戶直接使用,用來進行通訊和資源共享
核心部分(通訊子網)
由大量的網絡和鏈接這些網絡的路由器組成
爲邊緣部分提供服務
端系統(主機):運行應用程序
計算機間的通訊:
客戶-服務器方式(C/S方式):客戶端主機請求,接收服務器的服務
資源主要存放在服務器端,服務器端須要強大的硬件和高級操做系統的支持,客戶端通常不須要特殊的硬件和複雜的操做系統
對等方式(P2P):對等鏈接中的每個主機既是客戶又同時是服務器
報文(message):咱們把發送的整塊數據稱爲一個報文(message)
基本問題:數據如何經過網絡傳輸?
交換(switching):按照某種方式動態地分配傳輸線路的資源,就像電話交換機爲通話雙方接續線路同樣,這個過程被稱爲交換
交換設備在通訊雙方找出一條實際的物理線路的過程
特色:數據傳輸前須要創建一條端到端的通路
三個階段:創建鏈接-通話-釋放鏈接
優缺點:
創建鏈接的時間長
一旦創建鏈接就獨佔線路,線路利用率低(進行數據傳輸的時候,因爲計算機數據具備突發性的特色,一條鏈接的大部分時間都是空閒的,線路的利用率很低)
無糾錯機制
創建鏈接後,傳輸延遲小
整個報文做爲一個總體一塊兒發送
存儲轉發:交換過程當中,交換設備將接受到的報文先存儲,待信道空閒時再轉發出去,一級一級中轉,直到目的地
缺點:
報文大小不一,形成緩衝區管理複雜
大報文形成存儲轉發的延時過長
出錯後整個報文所有重發
優勢
能夠多個用戶同時在一條線路上傳送,能夠實現不一樣速率的通訊
中間結點對分組進行存儲並傳遞給下一個結點 ; 路由器主要任務轉發分組,即進行分組交換
優勢:
高效:動態分配傳輸帶寬,對通訊鏈路是逐段佔用
靈活:爲每一個分組獨立地選擇最適合地轉發路由
迅速:沒必要先創建鏈接就能向其餘主機發送分組
可靠:完善的網絡協議 ; 自適應的路由選擇協議使網絡有很好的生存性
問題:
分組再各個存儲結點須要排隊,形成必定的時延
分組必須攜帶首部(有必不可少的控制信息),在成必定開銷
即數據率或比特率
單位:b/s kb/s Mb/s Gb/s
每每指額定速率或標稱速率
單位時間內網絡的某個信道所能經過的最高數據率
數字信道所能傳送的最高數據率
單位:b/s
單位時間內經過某個網路(或信道,接口)的實際的數據量.即在發送者和接收者之間傳送比特的速率
瞬時:接受時的速率
平均:一段時間內的速率
發送時延
發送數據時,數據塊從結點進入到傳輸媒體所須要的時間
也就是從發送數據幀的第一個比特算起,到該幀的最後一個比特發送完畢所需的時間
傳播時延
電磁波在信道中須要傳播必定距離而花費的時間
信號傳輸速率(即發送速率)和信號在信道上的傳播速率是徹底不一樣的概念
處理時延:結點爲存儲轉發而進行一些必要的處理所花費的時間
排隊時延:結點緩存隊列中分組排隊所經歷的時延。
排隊時延的長短每每取決於網絡中當時的通訊量
總時延 = 發送時延+傳播時延+處理時延+排隊時延
對於高速網絡鏈路,咱們提升的僅僅是數據的發送速率而不是比特在鏈路上的傳播速率。
提升鏈路帶寬減少了數據的發送時延。
不一樣的時延成分所起的做用變化很大,以車隊進入收費站爲例。
信道利用率:指出某信道有百分之幾的時間是被利用的(有數據經過)。徹底空閒的信道的利用率是零。
網絡利用率:是全網絡的信道利用率的加權平均值
信道利用率並不是越高越好
一條路每秒最多能過100輛車(寬帶就至關於100輛/秒)。
而並非每秒都會有100輛車過,假如第一秒有0輛,第二秒有10輛...,(可是最多不能超過100輛)。
因此有第1秒0輛/秒,第2秒10輛/秒,第3秒30輛/秒,這不能說帶寬多少吧,因而就用吞吐量表示具體時間經過的量有多少(也有可能等於帶寬的量)。
由此可知帶寬是說的是最大值速率,吞吐量說的是某時刻速率。但吞吐量不能超過最大速率
第一階段:ARPANET向互聯網發展;(從單個網絡向互聯網)
第二階段:三級結構的因特網(主幹網,地區網,校園網)
第三階段:多層次ISP(Internet Service Provider)結構的因特網
如何組織網路體系結構?
「分層」可將龐大而複雜的問題,轉化爲若干較小的局部問題,而這些較小的局部問題就比較易於研究和處理。
分層的優勢:
層次結構方法要解決的問題
計算機網絡的體系結構(architecture)是計算機網絡的各層及其協議的集合
體系結構 : 就是這個計算機網絡及其部件所應完成的功能的精肯定義。
實現(implementation) : 是遵循這種體系結構的前提下用何種硬件或軟件完成這些功能的問題。
體系結構是抽象的,而實現則是具體的,是真正在運行的計算機硬件和軟件。
實體:任何可發送或接受信息的硬件或軟件進程
協議:控制兩個對等實體進行通訊的規則的集合
協議三要素:
對等層 :在網絡體系結構中 ,通訊雙方實現一樣功能的層
協議數據單元 :對等層實體進行信息交換的數據單位 .
服務訪問點:同一系統相鄰兩層的實體進行交互的地方,稱爲服務訪問點SAP(Service Access Point)
七層從下至上:物理層,數據鏈路層,網絡層,運輸層,會話層,表示層,應用層
層次數量與內容選擇不是很好,會話層不多用到,表示層幾乎是空的,數據鏈路層與網絡層有不少的子層插入;
尋址、流控與差錯控制在每一層裏都重複出現,下降系統效率;
數據安全性、加密與網絡管理在參考模型的設計初期被忽略了;
參考模型的設計更可能是被通訊的思想所支配,不適合於計算機與軟件的工做方式;
嚴格按照層次模型編程的軟件效率很低
物理層:在物理介質上透明地傳輸比特流
數據鏈路層:爲穿越物理鏈路的信息提供可靠的傳輸手段,爲數據塊發送提供必要的同步,差錯控制和流量控制
網絡層:主要任務是如何將分組從源傳送到目的地
運輸層:提供可靠的、透明的端到端數據傳輸,並提供端點間的錯誤校訂和流量控制
會話層:爲應用程序間的通訊提供對話控制機制
表示層:定義了兩個應用之間進行交換的數據格式
應用層:提供給用戶訪問OSI環境的手段
開放的協議標準;
獨立於特定的計算機硬件與操做系統;
獨立於特定的網絡硬件,能夠運行在局域網、廣域網,更適用於互連網中;
統一的網絡地址分配方案,使得整個TCP/IP設備在網中都具備惟一的地址;
標準化的高層協議,能夠提供多種可靠的用戶服務
應用層
運輸層
網際層
網絡接口層
TCP/IP 四層協議的表示方法舉例
在服務、接口與協議的區別上不很清楚,一個好的軟件工程應該將功能與實現方法區分開,參考模型不適合於其它非TCP/IP協議族;
TCP/IP參考模型的網絡接口層自己並非實際的一層;
物理層與數據鏈路層的劃分是必要和合理的,而TCP/IP參考模型卻沒有作到這點
應用層 application layer
運輸層 transport layer
網絡層 network layer
數據鏈路層 data link layer
物理層 physical layer
各層功能:
我估計純粹理論的東西你都有,談談感覺吧,這5層就是人爲的從邏輯上分出來的五個層面,也就是說一樣是傳來了一堆一樣的數據,站在不一樣的層面關心和實現不一樣的事情,若是你站在物理層,你就只須要關心把每一個比特流傳送到對方就好了;
若是你站在數據鏈路層,你會想辦法把這些比特流組合成塊,加上一些手段保證能正確傳輸;
若是你站在網絡層,你就能看到這些數據是由一個個數據包組成的,這些數據包都經過網絡地址標示着來自哪裏和要發往哪裏;
若是你站在傳輸層,你就能透過龐大的網絡直接看到你對放的有服務鏈接的計算機,是一種端到端的鏈接了
物理層考慮的是怎樣才能在鏈接各類計算機的傳輸媒體上傳輸數據比特流,而不是指具體的傳輸媒體。
物理層的做用是要儘量地屏蔽掉不一樣傳輸媒體和通訊手段的差別。
用於物理層的協議也常稱爲物理層規程 (procedure)。
主要任務:肯定與傳輸媒體地接口有關的一些特性
機械特性:指明接口所用接線器的形狀和尺寸、引線數目和排列、固定和鎖定裝置等。
電氣特性:指明在接口電纜的各條線上出現的電壓的範圍。
功能特性:指明某條線上出現的某一電平的電壓表示何種意義。
過程特性:指明對於不一樣功能的各類可能事件的出現順序。
單工:只能有一個方向的通訊,而沒有反方向的交互
半雙工:通訊雙方均可以發送信息,但不能雙方同時發送
雙工:通訊雙方可同時發送和接受消息
一個數據通訊系統包括三大部分:源系統(或發送端、發送方)、傳輸系統(或傳輸網絡)和目的系統(或接收端、接收方)。
源系統包括兩部分:源點,發送器
目的系統:接收器,終點
通訊的目的:傳送信息(message)
數據 (data) —— 運送消息的實體。
信號 (signal) —— 數據的電氣的或電磁的表現。
模擬信號 (analogous signal) —— 表明消息的參數的取值是連續的。
數字信號 (digital signal) —— 表明消息的參數的取值是離散的。
信道 —— 通常用來表示向某一個方向傳送信息的媒體。
單向通訊(單工通訊)——只能有一個方向的通訊而沒有反方向的交互。
雙向交替通訊(半雙工通訊)——通訊的雙方均可以發送信息,但不能雙方同時發送(固然也就不能同時接收)。
雙向同時通訊(全雙工通訊)——通訊的雙方能夠同時發送和接收信息。
奈式準則:理想低通訊道的最高碼元傳輸速率=2W Baud
W:理想低通訊道的帶寬,單位Hz
每赫帶寬的理想低通訊道的最高碼元傳輸速率是每秒 2 個碼元。
Baud 是波特,是碼元傳輸速率的單位,1 波特爲每秒傳送 1 個碼元。
波特和比特
波特是碼元傳輸的速率單位(每秒傳多少個碼元)。碼元傳輸速率也稱爲調製速率、波形速率或符號速率。
比特是信息量的單位(bps,b/s) 。
波特率和比特率
$$
1 \text { Baud }=\left(\log _{2} M\right) bps
$$
碼元(code) —— 在使用時間域(或簡稱爲時域)的波形表示數字信號時,表明不一樣離散數值的基本波形。
在使用二進制編碼時,只有兩種不一樣的碼元,一種表明0狀態而另外一種表明1狀態
M表示離散性信號或電平的個數
一個信號每每能夠攜帶多個二進制位,因此在固定的信息傳輸速率下,比特率每每大於波特率。換句話說,一個碼元中能夠傳送多個比特(bit)。
我的理解:碼元是傳輸時,縱軸能夠表示的離散數值個數,好比8,就表明從底層到高層,有8種高度,轉化爲比特,由於比特是01二進制,所以對2求對數,這是表示3比特
香農(Shannon)用信息論的理論推導出了帶寬受限且有高斯白噪聲干擾的信道的極限、無差錯的信息傳輸速率。
信道的極限信息傳輸速率 C 可表達爲
$$
C=W \log _{2}(1+S / N) \quad \mathrm{b} / \mathrm{s}
$$
W爲信道帶寬 Hz
S爲信道內所傳信號的平均功率
N爲信道內部的高斯噪聲功率
信噪比(dB)=10 $\log _{10}(\mathrm{S} / \mathrm{N})$(dB)
信道的帶寬或信道中的信噪比越大,則信息的極限傳輸速率就越高。
只要信息傳輸速率低於信道的極限信息傳輸速率,就必定能夠找到某種辦法來實現無差錯的傳輸。
若信道帶寬 W 或信噪比 S/N 沒有上限(固然實際信道不多是這樣的),則信道的極限信息傳輸速率 C 也就沒有上限。
實際信道上可以達到的信息傳輸速率要比香農的極限傳輸速率低很多。
調製解調
從以上所講的不難看出,對於頻帶寬度己肯定的信道,若是信噪比也不能再提升了,而且碼元傳輸速率也達到了上限值,那麼還有什麼辦法提升信息的傳輸速率呢?這就是用編碼的方法讓每個碼元攜帶更多比特的信息量。咱們能夠用個簡單的例子來講明這個問題。
;例題
傳輸介質能夠分爲有線和無線傳輸介質
有線介質有:雙絞線、同軸電纜、光纖等
無線介質通常指自由空間(大氣、真空)
非屏蔽雙絞線 (UTP) Unshielded Twisted Pair
優勢:一、容易安裝且比其它類型的網絡介質便宜;二、尺寸較小,節省空間;
缺點:一、易受電磁信號干擾;二、傳輸距離短
屏蔽雙絞線 (STP) Shielded Twisted Pair
優勢:屏蔽雙絞線能對全部類型的外界干擾更有效地進行阻止
缺點:在安裝費用和難度方面,它比非屏蔽雙絞線要昂貴和更困難
優勢:
抗電磁干擾能力強
低損耗
高傳輸速率
缺點:
費用高
不易安裝和維護
質地脆易斷裂,機械性能差
分類:
多模光纖
不一樣的光線以不一樣的反射角傳播,能夠認爲每一束光線有一個不一樣的模式
存在色散現象,適於中短距離中小容量的通訊
單模光纖
光纖的直徑被減少到一個光波波長大小,光在其中沒有反射,而是沿直線傳播
傳輸距離遠;衰減少;傳輸速率高;但價格昂貴;適於大容量遠距離通訊
因爲一條傳輸線路的能力遠遠超過傳輸一個用戶信號所需的能力,爲了提升線路利用率,常常讓多個信號同時共用一條物理線路。
在同一介質上,同時傳輸多個有限帶寬信號的方法,被稱爲多路複用。
「帶寬」(bandwidth)原本是指信號具備的頻帶寬度,單位是赫(或千赫、兆赫、吉赫等)
載頻的定義:載波或者載頻(載波頻率)是一個物理概念,其實就是一個特定頻率的無線電波,單位Hz。在無線通訊技術上咱們使用載波傳遞信息,將數字信號調製到一個高頻載波上而後再在空中發射和接收。
調製的「對象」是載波信號的幅度、頻率,相位,或者這三者的混合。
實現:
頻帶被劃分爲若干個邏輯信道(頻帶,即帶寬,指信號所佔據的頻帶寬度)
每一個信號被調製到不一樣的載波頻率
載波頻率之間有間隙,保證信號不會重疊
特色:全部用戶在一樣的時間佔用不一樣的帶寬資源
實現
時分複用則是將時間劃分爲一段段等長的時分複用幀(TDM 幀)。每個時分複用的用戶在每個 TDM 幀中佔用固定序號的時隙。
每個用戶所佔用的時隙是週期性地出現(其週期就是 TDM 幀的長度)。
TDM 信號也稱爲等時(isochronous)信號。
特色
時分複用的全部用戶是在不一樣的時間佔用一樣的頻帶寬度。
時分複用可能會形成線路資源的浪費
FDM系統效率較高,充分利用了傳輸媒介的帶寬,實現也相對容易,但FDM系統所需載波量大,所需設備隨着輸入信號的增多而增多
TDM直接提供數字傳輸信道,很是適合於數據傳輸和其餘數字信號的傳輸;抗干擾能力強
節點:主機和路由器
鏈路:沿着通訊路徑鏈接相鄰節點的通訊信道。
數據鏈路: 除了物理鏈路外,還必須有通訊協議來控制這些數據的傳輸。若把實現這些協議的硬件和軟件加到鏈路上,就構成了數據鏈路。
第2層數據封裝單元:幀
數據鏈路層 負責從一個節點到一個相鄰節點的鏈路上傳輸數據幀
數據鏈路控制要解決地問題:如何在有差錯的線路上,進行無差錯傳輸
點對點信道:使用一對一的點對點通訊方式
廣播信道:使用一對多的廣播通訊方式
點到點
PPP 撥號訪問
在以太網交換機與主機間的點到點鏈路
廣播
傳統以太網
802.11 無線局域網
衛星通訊
封裝成幀
封裝成幀(framing)就是在一段數據的先後分別添加首部和尾部,而後就構成了一個幀。肯定幀的界限
首部和尾部的一個重要做用就是進行幀定界
透明傳輸
設法使數據中可能出現的控制字符"SOH","EOT"再接收端不被解釋成爲控制字符
使用字節填充的方法,即再控制字符前加轉義字符
差錯檢測
圖解:
封裝成幀
發送端的數據鏈路層在數據中出現控制字符「SOH」或「EOT」的前面插入一個轉義字符「ESC」(其十六進制編碼是 1B)。
字節填充(byte stuffing)或字符填充(character stuffing)——接收端的數據鏈路層在將數據送往網絡層以前刪除插入的轉義字符。
若是轉義字符也出現數據當中,那麼應在轉義字符前面插入一個轉義字符。當接收端收到連續的兩個轉義字符時,就刪除其中前面的一個
在傳輸過程當中可能會產生比特差錯:1 可能會變成 0 而 0 也可能變成 1。
在一段時間內,傳輸錯誤的比特佔所傳輸比特總數的比率稱爲誤碼率 BER (Bit Error Rate)。
誤碼率與信噪比有很大的關係。
爲了保證數據傳輸的可靠性,在計算機網絡傳輸數據時,必須採用各類差錯檢測措施
僅用循環冗餘檢驗 CRC 差錯檢測技術只能作到無差錯接受(accept)。
「無差錯接受」是指:「凡是接受的幀(即不包括丟棄的幀),咱們都能以很是接近於 1 的機率認爲這些幀在傳輸過程當中沒有產生差錯」。
也就是說:「凡是接收端數據鏈路層接受的幀都沒有傳輸差錯」(有差錯的幀就丟棄而不接受)。
要作到「可靠傳輸」(即發送什麼就收到什麼)就必須再加上確認和重傳機制。
糾錯碼:
每一個傳輸的分組帶上足夠的冗餘信息;
接收端能發現並自動糾正傳輸差錯。
檢錯碼:
分組僅包含足以使接收端發現差錯的冗餘信息;
接收端能發現出錯,但不能肯定哪一比特是錯的,而且本身不能糾正傳輸差錯。
循環冗餘校驗碼CRC
添加r個0是爲了給添加餘數留位置
這樣取r個0也能夠理解了,就像你除二進制,餘數的位數不可能超過除數
模2除法,位數相同就取1不然0,運算時
應用場景:用戶要鏈接到ISP才能接入互聯網,PPP協議是用戶和ISP通訊時使用的數據鏈路層協議
標誌字段 F 仍爲 0x7E (符號「0x」表示後面的字符是用十六進制表示。十六進制的 7E 的二進制表示是 01111110)。
地址字段 A 只置爲 0xFF。地址字段實際上並不起做用。
控制字段 C 一般置爲 0x03。
PPP 是面向字節的,全部的 PPP 幀的長度都是整數字節
字節填充
例題3-09 只需記住前兩條
零比特填充
每出現5個1添加一個0
局域網特色:
網絡爲一個單位所擁有,且地理範圍和站點數目均有限。
主要優勢:
具備廣播功能,從一個站點可很方便地訪問全網。
局域網上的主機可共享鏈接在局域網上的各類硬件和軟件資源。
便於系統的擴展和逐漸地演變,各設備的位置可靈活調整和改變。
提升了系統的可靠性、可用性和生存性
LAN典型拓撲:(只有這三種,其餘沒有使用)
總線型: 全部結點都直接鏈接到共享信道
星型 : 全部結點都鏈接到中央結點
環型 : 結點經過點到點鏈路與相鄰結點鏈接
以太網拓撲
以太網:採用星形拓撲,中心增長一種可靠性很是高的設備集線器
LAN數據鏈路層的兩個子層:
爲了使數據鏈路層能更好地適應多種局域網標準,802 委員會就將局域網的數據鏈路層拆成兩個子層:
邏輯鏈路控制 LLC (Logical Link Control)子層
媒體接入控制 MAC (Medium Access Control)子層。
與接入到傳輸媒體有關的內容都放在 MAC子層,而 LLC 子層則與傳輸媒體無關,無論採用何種傳輸媒體和MAC子層的局域網對 LLC 子層來講都是透明的
以太網是一種基帶總線局域網
兩種標準:
Ethernet V2
IEEE的802.3標準(設計一開始適應多種局域網標準,但發展到最後基本只剩以太網,以致於以太網成了局域網的代名詞)
兩點區別:
CSMA:載波監聽多路訪問
發送前監聽(先聽後說)。每一個站點在發送數據以前要監聽信道上是否有數據在傳送。如有,則此站不能發送,需等待一段時間後重試
CSMA/CD(Carrier Sense Multiple Access with Collision Detection ):帶衝突檢測的載波監聽多路訪問
工做原理:
發送數據之間監聽信道,空閒就發送
忙則等待,直到空閒
發送數據時邊發送邊監聽信道,若一直未檢測到碰撞,就順利把這個幀成功發送完畢
一旦發生衝突,則中止發送
按二級制指數算法退避,衝突數次後放棄發送
發前先偵聽,空閒即發送,
邊發邊檢測,衝突時退避
二進制指數退避算法
當衝突發生後,時間被分紅離散的時槽。時槽長度等於在傳輸介質上來回傳輸的時間。802.3標準中規定時槽長度爲512比特時間即51.2$\mu s$。第一次衝突產生後,每一個站點等待0或1個時槽後嘗試從新發送;第二次衝突時從0、一、二、3中隨機挑選一個做爲等待的時槽數;第三次衝突將從$0-2^{3}-1$中挑選一個等待的時槽數。當衝突次數大於10次後,隨機等待的最大時槽數固定爲1023。在16次衝突後,站點放棄傳輸並報告一個錯誤
CSMA/CD協議的以太網不太可能進行全雙工通訊而只能進行雙向交替通訊(半雙工通訊)
CSMA/CD和CSMA和區別
CSMA/CD中CD是碰撞檢測的意思
邊發送邊檢測是否發生衝突,進而當即中止發送,省得進行無效的發送
一、假定1km長的CSMA/CD 網絡的數據率爲1G/s。設信號在網絡上的傳播速度爲200 000km/s,求可以使用此協議的最短幀長?
答:對於1km電纜,單程傳播時間爲1/200000=5爲微秒,來回路程傳播時間爲10微秒,爲了可以按照CSMA/CD工做,最小幀的發射時間不能小於10微秒,以Gb/s速率工做,10微秒能夠發送的比特數等於1010^-6/110^-9=10000,所以,最短幀是10000位或1250字節長
MAC地址(硬件地址或物理地址):
IEEE802標準爲每一個DTE規定了一個48位的全局地址,它是站點的全球惟一的標識符,與其物理位置無關。
MAC地址爲6Byte(48位)。
MAC地址的前3個字節(高24位)由IEEE統一分配給廠商,低24位由廠商分配給每一塊網卡。
網卡的MAC地址能夠認爲就是該網卡所在站點的MAC地址。
集線器:傳統10Mbit/s 10個用戶 每一個1Mbit/s
交換機:每一個用戶獨佔 依舊10Mbit/s
數據鏈路層設備
也稱多端口網橋
功能
網絡分段、流量過濾
分割衝突域,不能分割廣播域
相互通訊的主機都是獨佔傳輸媒體,無碰撞地傳輸數據
三種功能:
地址學習(自學習):
在轉發過程當中採用自學習(也叫逆向學習)算法收集MAC地址。網橋經過分析幀的源MAC地址獲得MAC地址與端口的對應關係,並寫入地址/端口對應表;
轉發/過濾
避免環路
交換機自學習
中繼器會對比特進行再生和重定時,可是中繼器不能對經過它們的業務流量進行過濾。中繼器會把一個端口收到的信號轉發到全部的端口
使用中繼器會擴展衝突域的範圍,在中繼器兩端的網絡是一個大的衝突域
集線器也稱多端口中繼器,進入集線器一個端口的任何信號都會再生、重定時並且被髮送到其他的全部端口
中繼器和集線器都是第1層的設備,所以它們不會對網絡流量進行過濾。
定義:網橋(bridge)是工做在數據鏈路層的一種網絡互連設備,它在互連的LAN之間實現幀的存儲和轉發。
爲何使用網橋?
學校和企業的各個部門分別擁有本身獨立管理的LAN,爲了進行交互,須要使用網橋來實現互連;
一個企業分佈在相隔很遠的不一樣建築物內,在每一個建築物內組建單獨的LAN,並使用網橋將這些LAN鏈接起來,是比較經濟的方案;
將一個負載很重的大LAN分隔成使用網橋互連的幾個LAN以減輕負擔;
LAN上的兩臺機器其距離超過2500米,必須使用網橋將這個 LAN 分隔以保證網絡的正常工做;
網橋能夠隔離負載,防止出故障的站點損害全網;
網橋能夠有助於安全保密。
以太網分段
虛擬局域網限制了接收廣播信息的工做站數,使得網絡不會因傳播過多的廣播信息(即「廣播風暴」)而引發性能惡化。
網絡如何處理分組?
兩種方式:數據報(datagram)和虛電路(virtual circuit)
無鏈接的網絡服務 數據報
面向鏈接的網絡服務 虛電路
網絡不保證所傳送的分組不丟失
也不保證按源主機發送分組的前後順序
以及在時限內必須將分組交付給目的主機
數據報提供的服務是不可靠的
Internet Protocol
地位:
用處:提供不可靠,無鏈接的數據報傳送服務
不可靠(unreliable):它不能保證IP數據報能成功地到達目的地。IP僅提供最好的傳輸服務。若是發生某種錯誤時,如某個路由器暫時用完了緩衝區, IP有一個簡單的錯誤處理算法:丟棄該數據報,而後發送ICMP消息報給信源端。任何要求的可靠性必須由上層來提供(如TCP)。
無鏈接(connectionless):IP並不維護任何關於後續數據報的狀態信息。每一個數據報的處理是相互獨立的。這也說明, IP數據報能夠不按發送順序接收。若是一信源向相同的信宿發送兩個連續的數據報(先是A,而後是B),每一個數據報都是獨立地進行路由選擇,可能選擇不一樣的路線,所以B可能在A到達以前先到達。
咱們把整個因特網當作爲一個單一的、抽象的網絡。IP 地址就是給每一個鏈接在因特網上的主機(或路由器)分配一個在全世界範圍是唯一的32 bit 的標識符
每一類地址都由兩個固定長度的字段組成,其中一個字段是網絡號 net-id,它標誌主機(或路由器)所鏈接到的網絡,而另外一個字段則是主機號 host-id,它標誌該主機(或路由器)
指派範圍
第一,IP 地址管理機構在分配 IP 地址時只分配網絡號,而剩下的主機號則由獲得該網絡號的單位自行分配。這樣就方便了 IP 地址的管理
第二,路由器僅根據目的主機所鏈接的網絡號來轉發分組(而不考慮目的主機號),這樣就能夠使路由表中的項目數大幅度減小,從而減少了路由表所佔的存儲空間。
當一個主機同時鏈接到兩個網絡上時,該主機就必須同時具備兩個相應的 IP 地址,其網絡號 net-id 必須是不一樣的。這種主機稱爲多歸屬主機 (multihomed host)。
因爲一個路由器至少應當鏈接到兩個網絡(這樣它才能將 IP 數據報從一個網絡轉發到另外一個網絡),所以一個路由器至少應當有兩個不一樣的 IP 地址。
子網掩碼:說明IP地址中的主機地址如何被劃分紅子網地址和本地主機地址兩部分。掩碼是一個32 bit的值,其中值爲1的比特留給網絡號和子網號,爲0的比特留給主機號
將目標IP地址與子網掩碼相「與」得到目標網絡/子網的地址
子網地址&主機地址範圍&廣播地址&子網位數
Classless Inter-Domain Routing
特色:
CIDR徹底放棄了固定的IP地址類型,使用網絡前綴來代替網絡類別,這個前綴能夠是任何長度
例如:192.125.61.8/20 標識了一個網絡地址長度爲20位的CIDR地址,使用CIDR的路由器會查看斜槓後面的數字以肯定網絡號
路由聚合
構造超網
超網就是使用C類地址空間的連續區域來模擬一個單獨的、比較大的地址空間。
設計超網的主要目的是爲了提供一種更靈活的替換方式來減輕B類地址空間的迅速枯竭而帶來的壓力。
超網也可以減小路由選擇表的規模。
IP數據報流動
MAC幀流動
分爲首部和數據部分
版本——佔 4 bit,指IP協議的版本,目前的 IP 協議版本號爲 4 (即 IPv4)
首部長度——佔 4 bit,可表示的最大數值是 15 個單位(一個單位爲 4 字節)
所以 IP 的首部長度的最大值是60字節
區分服務——佔 8 位,用來得到更好的服務在舊標準中叫作服務類型,但實際上一直未被使用過。1998 年這個字段更名爲區分服務。只有在使用區分服務(DiffServ)時,這個字段才起做用。在通常的狀況下都不使用這個字段
總長度——佔 16 bit,指首部和數據之和的長度,單位爲字節,所以數據報的最大長度爲 65535 字節。總長度必須不超過最大傳送單元 MTU。
標識(identification) 佔 16 bit,它是一個計數器,用來產生數據報的標識
標誌(flag) 佔 3 bit,MF=1表示後面還有分片,DF=1表示不能分片
片偏移(13 bit)指出:較長的分組在分片後某片在原分組中的相對位置。片偏移以 8 個字節爲偏移單位
生存時間(8 bit)記爲 TTL (Time To Live)數據報在網絡中的壽命
協議(8 bit)字段指出此數據報攜帶的數據使用何種協議以便目的主機的 IP 層將數據部分上交給哪一個處理進程
首部檢驗和(16 bit)字段只檢驗數據報的首部不包括數據部分。這裏不採用 CRC 檢驗碼而採用簡單的計算方法。
源地址和目的地址都各佔 4 字節
爲何要分片
IP層下面的每一種數據鏈路層協議都規定了數據幀的數據字段的最大長度,稱爲最大傳送單元MTU(Maximum Transfer Unit),當數據報總長度超過MTU時,就須要分片
分片注意
舉例
標識(identification) 佔 16 bit,它是一個計數器,用來產生數據報的標識
標誌(flag) 佔 3 bit,MF=1表示後面還有分片,DF=1表示不能分片
片偏移(13 bit)指出:較長的分組在分片後某片在原分組中的相對位置。片偏移以 8 個字節爲偏移單位
Time to live
佔8位
指出該數據報攜帶的數據使用何種協議,以便使目的主機的IP層(網絡層)知道應將數據部分上交給哪一個協議處理
ICMP:網際控制報文協議(Internet Control Message Protocol)
用處:
ICMP 是互聯網的標準協議。但 ICMP 不是高層協議(看起來好像是高層協議,由於 ICMP 報文是裝在 IP 數據報中,做爲其中的數據部分),而是 IP 層的協議。
ICMP報文有兩種,ICMP差錯報告報文和ICMP詢問報文
終點不可達
時間超過
參數問題
改變路由(重定向)(Redirect)
ping(Packet InertNet Groper)
目的:測試兩臺主機的連通性
步驟:
使用ICMP的回送請求報文,若是服務器正常工做,就會響應回送回答報文,從中能夠獲得分組丟失狀況
目的:跟蹤一個分組從源點到終點的路徑
步驟:
ARP:地址解析協議(Address Resolution Protocol)
已經知道了一個機器(主機或路由器)的IP地址,如何找出其相應的硬件地址?
地址解析協議 ARP 就是用來解決這樣的問題的。
無論網絡層使用的是什麼協議,在實際網絡的鏈路上傳送數據幀時,最終仍是必須使用硬件地址。
每個主機都設有一個 ARP 高速緩存 (ARP cache),裏面有所在的局域網上的各主機和路由器的 IP 地址到硬件地址的映射表。
當主機 A 欲向本局域網上的某個主機 B 發送 IP 數據報時,就先在其 ARP 高速緩存中查看有無主機 B 的 IP 地址。
若有,就可查出其對應的硬件地址,再將此硬件地址寫入 MAC 幀,而後經過局域網將該 MAC 幀發往此硬件地址。
如沒有, ARP 進程在本局域網上廣播發送一個 ARP 請求分組。收到ARP 響應分組後,將獲得的 IP 地址到硬件地址的映射寫入 ARP 高速緩存。
ARP請求分組:包含發送方硬件地址 / 發送方 IP 地址 / 目標方硬件地址(未知時填 0) / 目標方 IP 地址。
本地廣播 ARP 請求(路由器不轉發ARP請求)。
ARP 響應分組:包含發送方硬件地址 / 發送方 IP地址 / 目標方硬件地址 / 目標方 IP 地址。
ARP 分組封裝在物理網絡的幀中傳輸。
ARP 是解決同一個局域網上的主機或路由器的 IP 地址和硬件地址的映射問題。
若是所要找的主機和源主機不在同一個局域網上,那麼就要經過 ARP 找到一個位於本局域網上的某個路由器的硬件地址,而後把分組發送給這個路由器,讓這個路由器把分組轉發給下一個網絡。剩下的工做就由下一個網絡來作。
從 IP 地址到硬件地址的解析是自動進行的,主機的用戶對這種地址解析過程是不知道的。
只要主機或路由器要和本網絡上的另外一個已知 IP 地址的主機或路由器進行通訊,ARP 協議就會自動地將該 IP 地址解析爲鏈路層所須要的硬件地址。
主要任務:進行分組轉發
路由器是工做在第三層(網絡層)上的網絡設備,它將網段或整個網絡鏈接起來
路由器基於第三層地址對數據包進行轉發
路由器具備必定的智能,可以決定在網絡上轉發數據包的最佳路徑
(1)從分組的首部提取目的IP地址D
(2)先用與該路由器直接相連的網絡的子網掩碼與D進行與運算,看結果是否與相應的網絡
地址相匹配。若匹配,則進行直接交付。
不然就是間接交付,立刻執行(3)
(3)若路由表中有一條到目的主機D的特定路由,則將分組轉發給其指明的下一跳路由器。
不然執行(4)
(4)對路由表中每一行的子網掩碼和D進行與運算,若結果與該行的目的網絡地址匹配,則將
分組傳給該行指明的下一跳路由器。
不然執行(5)
(5)若路由表中有一個默認路由,則將分組傳給路由表中指明的默認路由器。
不然執行(6)
(6)報告轉發分組出錯。
當一個網絡設備想訪問另一個不知道具體位置的網絡設備的時候,它就會對全部的網絡設備進行廣播,全部能接收到這些的廣播的設備所組成的區域稱爲廣播域
若是網絡中發送的廣播過多的話,就會產生廣播風暴,會形成網絡超時及流量的速度變慢,從而大大下降了網絡的工做效率
因爲網橋工做在第2層,所以它會轉發廣播幀,網橋的兩端是一個大的廣播域
隔離廣播域的方法是使用第三層設備,如路由器
靜態路由的信息是手工管理的,網絡管理員將其輸入到路由器的配置中。當網絡拓撲結構發生改變時,網絡管理員必須手工更新靜態路由信息
動態路由採起了不一樣的工做方式,網絡管理員經過配置命令啓動了動態路由以後,路由進程就能自動地使用從網絡上收到的信息來更新本身的路由信息
屬於動態路由算法
基本思想
每一個路由器維護一張表,表中給出了到每一個目的地的已知最佳距離和線路,並經過與相鄰路由器交換距離信息來更新表;
以子網中其它路由器爲表的索引,表項包括兩部分:到達目的結點的最佳輸出線路,和到達目的結點所需時間延遲或距離;
每隔一段時間,路由器向全部鄰居結點發送它到每一個目的結點的距離表,同時它也接收每一個鄰居結點發來的距離表;
鄰居結點X發來的表中,X到路由器i的距離爲Xi,本路由器到X的距離爲m,則路由器通過X到i的距離爲Xi + m。根據不一樣鄰居發來的信息,計算Xi + m,並取最小值,更新本路由器的路由表
定義
自治系統又稱爲路由域、自治域,它是若干個能夠交換內部路由信息的路由器的集合;多個自治系統能夠經過邊界路由器互聯起來。
目的:
互聯網太大,若是全部路由器都知道全部網路該怎麼到達,代價太大
許多單位不但願外界瞭解子集單位網絡的佈局細節和路由選擇協議,同時但願能鏈接到互聯網
將互聯網劃分紅許多較小的自治系統
內部網關協議ICP(Interior Gateway Protocol)
在一個自治系統內部使用的選擇協議,而與其餘自治系統使用的選擇協議無關
外部網關協議(External Gateway Protocol) 當前使用BGP()
若源主機和目的主機處在不一樣的自治系統,當數據報傳到一個自治系統的邊界就須要使用一種協議將路由選擇信息傳遞到另外一個自治系統,這樣的協議就是外部網關協議
都是內部網關協議
版本——4bit。指明瞭協議的版本,對IPV6該字段老是6
通訊量類——8bit。用來區分不一樣的IPV6數據報的類別或優先級
流標號(flow label)—— 20 bit。「流」是互聯網絡上從特定源點到特定終點的一系列數據報, 「流」所通過的路徑上的路由器都保證指明的服務質量。 全部屬於同一個流的數據報都具備一樣的流標號
有效載荷長度——16bit。它指明IPV6數據報除基本首部之外的字節數,其最大值爲64kb
下一個首部——8bit。至關於IPV4的協議字段或可選字段
跳數限制——8bit。源站在數據報發出時即設定條數限制。每通過路由器的轉發就減1,爲0時就要將該數據報丟棄。
128位,16個字節
冒號16進制記法:
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
零壓縮
IPv6 將首部長度變爲固定的 40 字節,稱爲基本首部(base header)。
將沒必要要的功能取消了,首部的字段數減小到只有 8 個。
取消了首部的檢驗和字段,加快了路由器處理數據報的速度。
在基本首部的後面容許有零個或多個擴展首部。
全部的擴展首部和數據合起來叫作數據報的有效載荷(payload)或淨負荷。
從通訊和信息處理的角度看,運輸層向它上面的應用層提供通訊服務,它屬於面向通訊部分的最高層,同時也是用戶功能中的最低層。
兩個主機進行通訊實際上就是兩個主機中的應用進程互相通訊。
應用進程之間的通訊又稱爲端到端的通訊。
運輸層的一個很重要的功能就是複用和分用。應用層不一樣進程的報文經過不一樣的端口向下交到運輸層,再往下就共用網絡層提供的服務。
「運輸層提供應用進程間的邏輯通訊」。「邏輯通訊」的意思是:運輸層之間的通訊好像是沿水平方向傳送數據。但事實上這兩個運輸層之間並無一條水平方向的物理鏈接。
運輸層向上提供可靠的和不可靠的邏輯通訊信道
TCP/IP的運輸層有兩個不一樣的協議:
(1) 用戶數據報協議 UDP
(2) 傳輸控制協議 TCP
兩個對等運輸實體在通訊時傳送的數據單位叫做運輸協議數據單元 TPDU (Transport Protocol Data Unit)。
每一個孩子都是經過名字來識別的,當Bill從郵差那裏收到一批信件,他就會進行一個分用工做——看每封信是郵寄給誰而且送到收信人手上,Ann會進行一個複用工做——從孩子們那裏收集信件並把這些信件交給郵差
端口就是郵差這一角色 應用層的數據就是信 收信人就是進程
傳輸層的數據包:segment(段)
分用是把運輸層segment(段)中的信息發送給正確的socket的服務
複用是把全部socket中的數據集中並加頭信息封裝,而後發送到網絡層的服務(網絡上的兩個程序經過一個雙向的通訊鏈接實現數據的交換,這個鏈接的一端稱爲一個socket。)
書:
複用是指發送方不一樣的應用進程均可以使用同一個運輸層協議
分用:接收方的運輸層剝去報文的首部後,可以把這些數據正確的交付目的進程
用戶數據報
面向報文
用戶數據報 UDP 有兩個字段:數據字段和首部字段。首部字段有 8 個字節,由 4 個字段組成,每一個字段都是兩個字節。
僞首部:在計算檢驗和時,臨時把「僞首部」和 UDP 用戶數據報鏈接在一塊兒。僞首部僅僅是爲了計算檢驗和。
端口分用
傳輸控制協議
源端口和目的端口字段——各佔 2 字節。端口是運輸層與應用層的服務接口。運輸層的複用和分用功能都要經過端口才能實現。
序號字段——佔4 字節。TCP 鏈接中傳送的數據流中的每個字節都編上一個序號。序號字段的值則指的是本報文段所發送的數據的第一個字節的序號。
確認號字段——佔 4 字節,是指望收到對方的下一個報文段的數據的第一個字節的序號。
數據偏移(即首部長度)——佔 4 位,它指出 TCP 報文段的數據起始處距離 TCP 報文段的起始處有多遠。「數據偏移」的單位是 32 位字(以 4 字節爲計算單位)。
保留字段——佔 6 位,保留爲從此使用,但目前應置爲 0。
緊急 URG —— 當 URG = 1 時,代表緊急指針字段有效。它告訴系統此報文段中有緊急數據,應儘快傳送(至關於高優先級的數據)。
確認 ACK(acknowledgment) —— 只有當 ACK = 1 時確認號字段纔有效。當 ACK = 0 時,確認號無效。
推送 PSH (PuSH) —— 接收 TCP 收到 PSH = 1 的報文段,就儘快地交付接收應用進程,而再也不等到整個緩存都填滿了後再向上交付。
復位 RST (ReSeT) —— 當 RST = 1 時,代表 TCP 鏈接中出現嚴重差錯(如因爲主機崩潰或其餘緣由),必須釋放鏈接,而後再從新創建運輸鏈接。
同步 SYN —— 同步 SYN = 1 表示這是一個鏈接請求或鏈接接受報文。
終止 FIN (FINis) —— 用來釋放一個鏈接。FIN = 1 代表此報文段的發送端的數據已發送完畢,並要求釋放運輸鏈接。
窗口字段 —— 佔 2 字節,用來讓對方設置發送窗口的依據,單位爲字節。
檢驗和 —— 佔 2 字節。檢驗和字段檢驗的範圍包括首部和數據這兩部分。在計算檢驗和時,要在 TCP 報文段的前面加上 12 字節的僞首部。僞首部格式與UDP用戶數據報的僞首部格式一致
緊急指針字段 —— 佔 16 位,指出在本報文段中緊急數據共有多少個字節(緊急數據放在本報文段數據的最前面)。
以上前20各字節固定,後面4n字節根據需求增長
選項字段 —— 長度可變。TCP 最初只規定了一種選項,即最大報文段長度 MSS。MSS 告訴對方 TCP:「個人緩存所能接收的報文段的數據字段的最大長度是 MSS 個字節。」
MSS (Maximum Segment Size)是 TCP 報文段中的數據字段的最大長度。數據字段加上 TCP 首部纔等於整個的 TCP 報文段。
中止等待:
發送完分組後就中止發送,等待對方確認.在收到確認後再發送下一個分組
信道利用率:
$$
U=\frac{T_D}{T_D+RTT+T_A}
$$
U:信道利用率
$T_D$:發送分組時間
$RTT$:往返時間
$T_A$:發送確認時間
TCP 是面向鏈接的協議。
運輸鏈接有三個階段:
運輸鏈接的管理就是使運輸鏈接的創建和釋放都能正常地進行。
TCP 創建鏈接的過程叫作握手。
握手須要在客戶和服務器之間交換三個 TCP 報文段。稱之爲三報文握手。
採用三報文握手主要是爲了防止已失效的鏈接請求報文段忽然又傳送到了,於是產生錯誤。
ACK確認位
ack確認號
加一,不知道你說的是SYN標誌位佔據sequence的一個序號,仍是對方確認加一?
若是是前者,那是由於SYN是創建鏈接的關鍵字段,而爲了確保對方接收到,使用超時重傳機制,TCP規定,只爲有數據的TCP報文重傳,SYN佔據一個序號(能夠認爲只有一個字節數據的報文),因此TCP會重傳SYN報文。
TCP 鏈接釋放過程比較複雜。
數據傳輸結束後,通訊的雙方均可釋放鏈接。
TCP 鏈接釋放過程是四報文握手。
TCP 鏈接必須通過時間 2MSL(最長報文段壽命) 後才真正釋放掉。防止B沒接受到最後ACK,重傳FIN
流量控制:讓發送方的發送速率不要太快,要讓接收方來得及接收。
TCP 採用大小可變的滑動窗口進行流量控制。窗口大小的單位是字節。
在 TCP 報文段首部的窗口字段寫入的數值就是當前給對方設置的發送窗口數值的上限。
發送窗口在鏈接創建時由雙方商定。但在通訊的過程當中,接收端可根據本身的資源狀況,隨時動態地調整對方的發送窗口上限值(可增大或減少)。
發送端要發送 900 字節長的數據,劃分爲 9個 100 字節長的報文段,而發送窗口肯定爲 500 字節。
發送端只要收到了對方的確認,發送窗口就可前移。(須要確認才移動,而不是發送)
發送 TCP 要維護一個指針。每發送一個報文段,指針就向前移動一個報文段的距離。
發送端已發送了 400 字節的數據,但只收到對前 200 字節數據的確認,同時窗口大小不變。
如今發送端還可發送 300 字節。
發送端收到了對方對前 400 字節數據的確認,但對方通知發送端必須把窗口減少到 400 字節。
如今發送端最多還可發送 400 字節的數據。
擁塞:當加載到網絡上的載荷超過其處理能力時,擁塞便會出現。
擁塞的後果:
分組丟失形成超時的緣由:
目前互聯網上發生的大多數超時現象都是因爲擁塞形成的,傳輸錯誤形成的分組丟失較少。
擁塞控制:防止過多數據注入到網絡中,這樣能夠使網絡中的路由器或鏈路不致過載。
發送方維持一個叫作擁塞窗口 cwnd (congestion window)的狀態變量。擁塞窗口的大小取決於網絡的擁塞程度,而且動態地在變化。發送方讓本身的發送窗口等於擁塞窗口。如再考慮到接收方的接收能力,則發送窗口還可能小於擁塞窗口。
發送方控制擁塞窗口的原則是:只要網絡沒有出現擁塞,擁塞窗口就再增大一些,以便把更多的分組發送出去。但只要網絡出現擁塞,擁塞窗口就減少一些,以減小注入到網絡中的分組數。
單位:其實是字節數,但爲了敘述方便書本使用報文段個數
在主機剛剛開始發送報文段時可先設置擁塞窗口 cwnd = 1,即設置爲一個最大報文段 MSS 的數值。
在每收到一個對新的報文段的確認後,將擁塞窗口加 1,即增長一個 MSS 的數值。
用這樣的方法逐步增大發送端的擁塞窗口 cwnd,能夠使分組注入到網絡的速率更加合理。
發送方每收到一個對新報文段的確認(重傳的不算在內)就使 cwnd 加 1。
每通過一個傳輸輪次(transmission round),擁塞窗口cwnd加倍
傳輸輪次所經歷的時間就是往返時間:RTT(Round-TripTime),即將擁塞窗口所有發送出去,並收到對已發送的最後一個字節的肯定
設置慢開始門限狀態變量ssthresh
慢開始門限 ssthresh 的用法以下:
當 cwnd < ssthresh 時,使用慢開始算法。
當 cwnd > ssthresh 時,中止使用慢開始算法而改用擁塞避免算法。
當 cwnd = ssthresh 時,既可以使用慢開始算法,也可以使用擁塞避免算法。
擁塞避免算法的思路是讓擁塞窗口 cwnd 緩慢地增大,即每通過一個往返時間 RTT 就把發送方的擁塞窗口 cwnd 加 1,而不是加倍,使擁塞窗口 cwnd 按線性規律緩慢增加。
不管在慢開始階段仍是在擁塞避免階段,只要發送方判斷網絡出現擁塞(其根據就是沒有按時收到確認),就要把慢開始門限 ssthresh 設置爲出現擁塞時的發送方窗口值的一半(但不能小於2)。
而後把擁塞窗口 cwnd 從新設置爲 1,執行慢開始算法。
這樣作的目的就是要迅速減小主機發送到網絡中的分組數,使得發生擁塞的路由器有足夠時間把隊列中積壓的分組處理完畢。
快重傳算法首先要求接收方每收到一個失序的報文段後就當即發出重複確認。這樣作可讓發送方及早知道有報文段沒有到達接收方。
發送方只要一連收到三個重複確認就應當當即重傳對方還沒有收到的報文段。
不難看出,快重傳並不是取消重傳計時器,而是在某些狀況下可更早地重傳丟失的報文段。
快恢復
(1) 當發送端收到連續三個重複的確認時,就執行「乘法減少」算法,把慢開始門限 ssthresh 減半。但接下去不執行慢開始算法。
(2)因爲發送方如今認爲網絡極可能沒有發生擁塞,所以如今不執行慢開始算法,即擁塞窗口 cwnd 如今不設置爲 1,而是設置爲慢開始門限 ssthresh 減半後的數值,而後開始執行擁塞避免算法(「加法增大」),使擁塞窗口緩慢地線性增大。
擁塞控制:全局性過程
流量控制:端到端問題
應用層協議的特色
域名系統DNS(Domain Name System)就是完成域名地址和IP地址之間相互轉換的程序
特色
域名結構
因特網採用了層次樹狀結構的命名方法。
任何一個鏈接在因特網上的主機或路由器,都有一個惟一的層次結構的名字,即域名。
域名的結構由標號序列組成,各標號之間用點隔開:
各標號分別表明不一樣級別的域名。
域名只是邏輯概念
(1) 國家頂級域名 nTLD:如: .cn 表示中國,.us 表示美國,.uk 表示英國,等等。
(2) 通用頂級域名 gTLD:最先的頂級域名是:
.com (公司和企業)
.net (網絡服務機構)
.org (非贏利性組織)
.edu (美國專用的教育機構()
.gov (美國專用的政府部門)
.mil (美國專用的軍事部門)
.int (國際組織)
(3) 基礎結構域名(infrastructure domain):這種頂級域名只有一個,即 arpa,用於反向域名解析,所以又稱爲反向域名。
區的不一樣劃分方法舉例
樹狀DNS域名服務器
分類:
壓力最大的是本地域名服務器
本地域名服務器採用遞歸查詢(比較少用)
壓力最大的是根域名服務器
萬維網提供分佈式服務
(1) 瀏覽器分析超鏈指向頁面的 URL。
(2) 瀏覽器向 DNS 請求解析 www.tsinghua.edu.cn 的 IP 地址。
(3) 域名系統 DNS 解析出清華大學服務器的 IP 地址。
(4) 瀏覽器與服務器創建 TCP 鏈接
(5) 瀏覽器發出取文件命令:
GET /chn/yxsz/index.htm。
(6) 服務器給出響應,把文件 index.htm 發給瀏覽器。
(7) TCP 鏈接釋放。
(8) 瀏覽器顯示「清華大學院系設置」文件 index.htm 中的全部文本。
(1) 怎樣標誌分佈在整個因特網上的萬維網文檔?
(2) 用何協議實現萬維網上各類超鏈的連接?
(3) 怎樣使各類萬維網文檔都能在因特網上的各類計算機上顯示出來,同時使用戶清楚地知道在什麼地方存在着超鏈?
(4) 怎樣使用戶可以很方便地找到所需的信息?
(1) URL的通常格式
主機:存放資源的主機在因特網的域名
省略:路徑項,則URL指向因特網的某個主頁
(1)HTTP的操做過程
(2)HTTP報文結構
HTTP 有兩類報文:
請求報文:
報文由三個部分組成,即開始行、首部行和實體主體。
在請求報文中,開始行就是請求行。
「方法」是面向對象技術中使用的專門名詞。所謂「方法」就是對所請求的對象進行的操做,所以這些方法實際上也就是一些命令。所以,請求報文的類型是由它所採用的方法決定的。
HTTP請求報文的一些方法:
「URL」是所請求的資源的URL。
「版本」是 HTTP 的版本。
響應報文
響應報文的開始行是狀態行。
狀態行包括三項內容,即 HTTP 的版本,狀態碼,以及解釋狀態碼的簡單短語。
狀態碼
1xx 表示通知信息的,如請求收到了或正在進行處理。
2xx 表示成功,如接受或知道了。
3xx 表示重定向,表示要完成請求還必須採起進一步的行動。
4xx 表示客戶的差錯,如請求中有錯誤的語法或不能完成。
5xx 表示服務器的差錯,如服務器失效沒法完成請求。
萬維網的文檔
包含了實現用戶之間非實時通訊的應用程序和發送、接收、中繼(中轉)電子郵件的處理程序。
每一個用戶首先應擁有一個電子郵箱。所謂的電子郵箱就是在一臺提供了郵件服務的主機上爲每一個人提供一個用戶名。
電子郵件的地址表示爲: 用戶名@域名。
gqkong@gzu.edu.cn
地址不區分大小寫。
電子郵件系統由三個部分組成:
簡單郵件傳輸協議SMTP (Simple Mail Transfer Protocol)的協議標準爲RFC821,佔用的TCP端口號爲25 。
SMTP在目的和源郵件主機(Mail Host)之間進行基於TCP鏈接的郵件傳輸。
電子郵件從 A 發送到網易郵件服務器是使用 HTTP 協議。
兩個郵件服務器之間的傳送使用 SMTP。
郵件重新浪郵件服務器傳送到 B 是使用 HTTP 協議。