今天的因特網就是分組交換的典範!算法
分組交換中的時延數據庫
處理時延、排隊時延、傳輸時延、傳播時延、傳輸時延安全
這其中要特別注意傳輸時延與傳播時延的區別!!!bash
傳輸時延:服務器
R= 鏈路帶寬 (bps)
L= 分組長度 (比特)
發送比特進入鏈路的時間= L/R網絡
傳播時延:異步
d = 物理鏈路的長度
s = 在媒體中傳播的速度 (~2x108 m/sec)
傳播時延 = d/stcp
分組交換對比電路交換分佈式
電路交換性能
分組交換
應用層: 支持網絡應用
FTP、HTTP、DNS、SMTP、DHCP、 RIP 等
運輸層: 主機到主機數據傳輸
TCP, UDP
網絡層: 從源到目的地數據報的選路
ARP、IP、ICMP、OSPF、BGP等
數據鏈路層: 在鄰近網元之間傳輸數據
ALOHA、CSMA或CSMA/CD、TDMA、FDMA、CDMA
物理層: 「在線上」的比特
任何一種調製解調體制
應用層報文: 應用層協議分佈在多個端系統上。一個端系統中的應用程序使用協議交換信息分組。咱們將這種位於應用層的信息分組稱爲報文。
運輸層報文段:運輸層的分組
網絡層數據報:因特網中的網絡層分組
數據鏈路層幀:鏈路層分組
物理層比特: 物理層分組
UDP特色:是無鏈接的運輸層協議
優勢:
應用:
TCP特色:
當TCP剛開始創建鏈接時,SYN=1,ACK=SEQ+1;中間傳輸數據時確認號只跟傳輸數據有關。
問題:TCP協議採用了哪些機制保證數據的可靠傳輸?
TCP中擁塞控制的方法:
加性增:沒有檢測到擁塞的狀況下,收到一個確認後就把擁塞窗口值增大一點(線性)
乘性減:每發生一次丟包事件就將當前的擁塞窗口值減半
這裏要特別注意擁塞控制、流量控制的區別
擁塞控制:防止過多的數據注入到網絡中,這樣可使網絡中的路由器不至於過載。擁塞控制的前提是:網絡可以承受現有的網絡負荷。
流量控制:點對點通訊量的控制。控制發送端的發送數據的速率。
這裏要特別注意選擇重傳、回退N步的區別
選擇重傳:只重傳出現差錯的數據幀。但這時必須加大接收窗口,以便先收下發送序列號不連續但仍在接收窗口中的數據幀。等到所缺序號的數據幀收到後再一併交給主機。
回退N步:當接收方檢測出失序的數據幀後,要求發送方重發最後一個正確接收的信息以後全部未確認的幀;或者當發送方發了N個幀之後,發現N幀的前一幀在計時器超時後仍未返回其確認信息,則該幀被判超時或者出錯,此時發送方不得不從新發送出錯幀以及其後的幀。
轉發:當一個分組到達某路由器的一條輸入鏈路時,該路由器必須將該分組移動到適當的輸出鏈路。
選路:當分組從發送方流向接收方時,網絡層必須決定這些分組所採用的路由或路徑。
選路是指分組從源到目的地時,決定端到端路徑的網絡範圍的進程。
轉發是指將分組從一個輸入鏈路接口轉移到適當的輸出鏈路接口的路由器本地動做。
IP的報文格式以下圖所示:
因特網的地址分配策略被稱爲無類別域間選路(CIRD)。在採用CIRD以前,IP地址被分爲A,B,C,D,E五類,分別爲:
不過在這之間,有幾個私有地址,是不可以被使用的,包括:
每一個節點x以Dx(y)開始,對N中的全部節點估計從它本身到節點y的最低費用路徑的費用;當節點x從它的任何一個鄰居v接收到一個新距離向量時,它保存v的距離向量,而後使用Bellman-Ford方程更新它本身的距離向量
$$D_x(y) ← min_v(c(x,v) + D_v(y))$$
只要全部的節點繼續以異步方式交換它們的距離向量,每一個費用估計Dx(y)就收斂到dx(y),dx(y)是從節點x到節點y的實際最低費用路徑的費用。
二者之間的比較:
其餘選路算法還包括層次選路。
一、信道劃分協議
信道劃分協議主要分爲時分多路複用 (TDM)、頻分多路複用 (FDM)、碼分多址(CDMA )。
設信道支持N個節點,傳輸速率是R b/s。
特色:
一、避免衝突、公平:每一個節點專用速率R/N b/s
二、節點速率有限:R/N b/s
三、效率不高:節點必須等待它的傳輸時隙
將總信道帶寬R b/s劃分爲N個較小信道(頻段,帶寬爲R/N),分別分配給N個節點。複製代碼
例: 6個站點的LAN, 頻帶一、三、4 有分組, 頻帶二、五、6 空閒特色:
一、避免衝突、公平:N個節點公平劃分帶寬;
二、節點帶寬有限、效率不高
三、節點帶寬爲R/N
碼分多址(CDMA )
不一樣節點能夠同時發送,並正確到達接收方(不會互相干擾)。
最初:用於軍事通訊,抗干擾能力強;
目前:用於移動通訊、無線多路訪問信道等。
二、隨機接入協議
基本思想:
典型的隨機接入協議:
1.ALOHA協議(要求全部的節點同步它們的傳輸)
2.載波監聽多路訪問CSMA協議
3.帶衝突檢測載波監聽多路訪問CSMA/CD
載波監聽:一個節點在傳輸前先聽信道。若是來自另外一個節點的幀正在向信道上發送,節點則等待一段隨機時間。再監聽信道。若是監聽到該信道是空閒的,則該節點進行幀傳輸。不然,該節點等待另外一段隨機時間,繼續重複這個過程。
碰撞檢測:一個傳輸節點在傳輸時一直在監聽信道,若是它檢測到另外一個節點正在傳輸干擾幀,它就中止傳輸,用某個協議來肯定它應該在何時再嘗試下一次傳輸。
CSMA
特色:
一、發前監聽,可減小衝突。
二、因爲傳播時延的存在,仍有可能出現衝突,並形成信道浪費。
例子:一個廣播總線鏈接4個節點(A、B、C、D)傳輸的時空圖。
時間t0:節點B偵聽到信道空,開始傳輸幀,沿着媒體傳播比特。
時間t1(t1>t0):節點D有幀要發送。B的傳輸信號未到D,D檢測到信道空,開始傳輸。很快,B的傳輸開始在D節點干擾D的傳輸(衝突)。
端到端信道傳播時延:信號從一個節點到另外一個節點所花費的傳播時間。
傳播時延越長,節點不能偵聽到另外一個節點已經開始傳輸的可能性越大。
很顯然,這就帶來了一些問題:
節點沒有進行衝突檢測,既使發生了衝突,節點仍繼續傳輸它們的幀。但該幀已經被破壞、是無用的幀,信道傳輸時間被浪費。
CSMA/CD(以太網即採用CSMA/CD協議)
兩個節點B、D在檢測到衝突以後很短的時間內都放棄傳輸。
三、輪流協議
指定一個主節點,以循環的方式輪詢每一個節點。並告訴節點可以傳輸的最大幀數。輪詢順序: 1->2-> …… ->n 。
主節點經過觀察信道上是否有信號來判斷節點什麼時候完成了幀的發送,再詢問下一節點。
特色
一、消除衝突和空時隙,效率高。
二、有輪詢時延:活動節點不能當即傳輸幀,等待被輪詢。
三、若是主節點失效,整個信道都不能用。
沒有主節點。設置一個令牌(token,小的專用幀);令牌以固定順序循環傳遞,給節點傳輸機會。如:1->2-> …… ->n
節點收到令牌:
1.有幀要發送,傳輸,傳完後將令牌轉發到下一節點;
特色:
一、令牌傳遞是分散的,效率高。
二、一個節點的失效會使整個信道崩潰。
三、一個節點忘記釋放令牌,必須恢復令牌到環中。
ARP協議的主要功能是將32位IP地址轉換爲48位物理地址。
工做過程:首先每臺主機都會在緩衝區創建一個ARP列表,以表示IP與MAC的對應關係。當有數據包發送時,會先檢查ARP列表中是否存在該IP對應的MAC地址,若是有,則直接將包發送到這個MAC地址,若是沒有,就向本地網段發起一個ARP請求的廣播包,網絡中全部主機收到這個ARP包後,會先檢查本身的IP是否與包中的IP地址一致,若是不一致則忽略,若是一致,則將發送端的MAC地址和IP地址添加到本身的ARP列表中(已存在的則覆蓋),而後向發送端發送一個響應包,當發送方收到該響應包後,將接收方的IP與MAC添加到本身的ARP列表中。而後開始數據的傳輸。
交換機 | 路由器 |
---|---|
即插即用 | 不是即插即用 |
較高的分組過濾和轉發率 | 網絡尋址是層次的 |
可能產生「廣播風暴」 | 冗餘路徑分組不會在路由器中循環 |
總結:小網絡採用交換機,大網絡採用路由器
RIP協議是基於距離向量算法的一種動態路由協議,路由實現時,RIP做爲一個系統長駐進程(daemon)而存在於路由器中,負責從網絡系統的其它路由器接收路由信息,從而對本地IP層路由表做動態的維護,保證IP層發送報文時選擇正確的路由。同時負責廣播本路由器的路由信息,通知相鄰路由器做相應的修改。RIP協議處於UDP協議的上層,RIP所接收的路由信息都封裝在UDP協議的數據報中,因此它是種應用層協議。
主要目的是:提供尋址及媒體存取的控制方式,使得不一樣設備或網絡上的節點能夠在多點的網絡上通信而不互相沖突
工做過程:CSMA/CD(載波偵聽多路訪問/衝突檢測)在發送幀的同時對信道進行偵聽,以肯定是否發生衝突,若在發送數據過程當中檢測到了衝突,則發送阻塞信息並當即中止發送數據,而後等待隨機時間再次發送。
MAC地址是數據鏈路層地址,IP地址是網絡層地址;
MAC地址沒有結構性涵義,IP地址有結構性涵義,表示計算機與網絡之間的鏈接關係。
IP地址就是給每一個鏈接在因特網上的主機(或路由器)分配一個在全世界範圍內是惟一的32位的標識符,從而把整個因特網當作是一個單一的,抽象的網絡;在實際網絡的鏈路上傳輸數據幀時,最終仍是要用到物理地址;
MAC地址在必定程度屬於硬件一致,基於物理層。能標識具體的鏈路通訊對象,IP地址給予邏輯域的劃分,不受硬件控制;
轉發器:是物理層中間設備。主要做用是在物理層中實現透明的二進制比特複製,以補償信號衰減。
網橋:是數據鏈路層的中間設備。主要做用是根據MAC幀的目的地址對收到的幀進行轉發。網橋具備過濾幀的功能。
路由器:網絡層的中間設備。做用是在互連網中完成路由選擇的功能。
網關:網絡層以上的中間系統。做用是在高層進行協議的轉換以鏈接兩個不兼容的系統。
IP協議:實現網絡互連。使參與互連的性能各異的網絡從用戶看起來好像是一個統一的網絡。
ARP協議:完成IP地址到MAC地址的映射。
RARP:使只知道本身硬件地址的主機可以知道其IP地址。
ICMP:容許主機或路由器報告差錯狀況和提供有關異常狀況的報告。從而提升IP數據報交付成功的機會。
①:C/S結構是一種客戶端/服務器結構,客戶端與服務器之間是主從關係,是一種一對多的模式。它的信息和數據須要保存在服務器上,若用戶要瀏覽和下載信息,必須先訪問服務器,才能瀏覽和下載信息,並且客戶機之間沒有交互的能力。相反,P2P模式不分提供信息服務器和索取信息的客戶端,每一臺電腦都是信息的發佈者和索取者,對等點之間能交互,無需使用服務器。
②:C/S模式中信息的存儲和管理比較集中、穩定,服務器只公佈用戶想公佈的信息,而且會在服務器中穩定地保存一段時間,該服務器一般也不間斷的運行在網絡間。而P2P缺少安全機制,P2P是能給用戶帶來方便,但也會帶來大量垃圾信息,並且各個對等點能夠隨便進入或者退出網絡,會形成網絡的不穩定。
③:從安全的角度來講,由於系統會出現漏洞,而C/S模式採用集中管理模式,客戶端只能被動地從服務器獲取信息,因此一旦客戶端出了差錯,並不會影響整個系統。
④:C/S模式的管理軟件更新的較快,要跟上技術,必須花費大量精力和金錢在軟件的更新換代上,並且工做人員要維護服務器和數據庫,也要耗費大量資金。相反的P2P不須要服務器,也就沒必要耗費大量資金,並且每一個對等點均可以在網絡上發佈和分享信息,這使得閒散資源得以充分的利用。
不行。交換機和路由器的功能是很不同的。
交換機可在一個單個的網絡中和若干個計算機相連,而且能夠將一個計算機發送過來的幀轉發給另外一個計算機。從這一點上看,交換機具備集線器的轉發幀的功能。
但交換機比集線器的功能強不少。集線器在同一時間只容許一個計算機和其餘計算機進行通訊,但交換機容許多個計算機同時進行通訊。
路由器鏈接兩個或好幾個網絡。路由器可在網絡之間轉發分組(即IP數據報)。特別是,這些互連的網絡能夠是異構的。
所以,若是是許多相同類型的網絡互連在一塊兒,那麼用一個很大的交換機(若是可以找獲得)代替原來的一些路由器是能夠的。但若這些互連的網絡是異構的網絡,那麼就必須使用路由器來進行互連。
這樣作的最大好處就是使得路由選擇成爲動態的,十分靈活。當IP數據報傳送到半途時,若網絡的狀況發生了變化(如網絡拓撲變化或出現了擁塞),那麼中途的路由器就能夠改變其下一跳路由,從而實現了動態路由選擇。
IP數據報可能要通過許多個網絡,而源主機事先並不知道數據報後面要通過的這些網絡所能經過的分組的最大長度是多少。等到IP數據報轉發到某個網絡時可能才發現數據報太長了,所以在這時就必須進行分片。
重點內容但廣域網可以經過的分組的最大長度是該廣域網中全部主機都事先知道的。源主機不可能發送網絡不支持的過長分組。所以廣域網就沒有必要將已經發送出的分組再進行分片。
在TCP/IP協議中,TCP協議提供可靠的鏈接服務,採用三次握手創建一個鏈接。
第一次握手:創建鏈接時,客戶端發送SYN包(SYN=j)到服務器,並進入SYN_SEND狀態,等待服務器確認;
第二次握手:服務器收到SYN包,必須確認客戶的SYN(ACK=j+1),同時本身也發送一個SYN包(SYN=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
三次握手協議第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ACK=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。
經過這樣的三次握手,客戶端與服務端創建起可靠的雙工的鏈接,開始傳送數據。
三次握手的最主要目的是保證鏈接是雙工的,可靠更多的是經過重傳機制來保證的。
可是爲何必定要進行三次握手來保證鏈接是雙工的呢,一次不行麼?兩次不行麼?
「三次握手」的目的是「爲了防止已失效的鏈接請求報文段忽然又傳送到了服務端,於是產生錯誤」。
一、雙協議棧技術
二、隧道技術
三、網絡地址轉換技術
LAN:是局部地區網絡的簡稱,是一種通用普及的局域網絡,其主要特色是:(1)地理範圍小;(2)具備較高的通頻帶寬;(3)數據傳輸可靠,誤碼率低;(4)結構簡單,容易實現;(5)網絡的控制趨向於分佈式;(6)一般歸單一組織全部,更容易進行設備的更新和新技術的引用。