第一篇:計算機網(wǎng)絡(luò)第五版謝希仁 縮寫總結(jié)
ADSL非對稱數(shù)字用戶線路Asymmetric Digital Subscriber Line
API應(yīng)用程序編程接口 Application Programming Interface
ARP地址解析協(xié)議Address Resolution Protocol ATM異步傳輸模式Asynchronous Transfer Mode BGP邊界網(wǎng)關(guān)協(xié)議Border Gateway Protocol CATV有線電視Community Antenna Television CDM碼分復(fù)用Code Division Multiplexing CDMA碼分多址Code Division Multiple Access)CIDR無類域內(nèi)路由選擇Classless Inter-Domain Routing)
CRC循環(huán)冗余碼校驗Cyclic Redundancy Check CSMA/CD載波監(jiān)聽多點接入/沖突檢測 CSMA/CA載波監(jiān)聽多點接入/沖突避免 DES數(shù)據(jù)加密標(biāo)準(zhǔn)data encryption standard DHCP動態(tài)主機配置協(xié)議Dynamic host configuration protocol)
DNS域名服務(wù)器Domain Name Server DSSS直接序列擴頻Direct Sequence Spread Spectrum
DWDM密集波分復(fù)用Dense Wavelength Division Multiplexing
EGP外部網(wǎng)關(guān)協(xié)議Exterior Gateway Protocol FDDI光纖分布式數(shù)據(jù)接口Fiber Distributed Data Interface)
FDM頻分多路復(fù)用Frequency Division Multiplexing
FHSS跳頻擴頻技術(shù)Frequency Hopping Spread Sprectrum)
FIFO先入先出First In First Out FTP文件傳輸協(xié)議File Transfer Protocol HDSL高速數(shù)字用戶線High Speed Digital Subscriber Line
HFC光纖同軸電纜混合網(wǎng)Hybrid Fiber Coaxial HTML超文本標(biāo)記語言Hypertext Markup Language HTTP超文本傳輸協(xié)議Hyper Text Transport Protocol
ICMP網(wǎng)間控制報文協(xié)議Internet Control Messages Protocol
IEEE電氣與電子工程師協(xié)會Institute of Electrical and Electronic Engineers)IGMP因特網(wǎng)組管理協(xié)議Internet Group Management Protocol
IMAP因特網(wǎng)報文存取協(xié)議(Internet Message Access Protocol)
IP互聯(lián)網(wǎng)協(xié)議Internet Protocol
IPsec網(wǎng)際協(xié)議安全Internet Protocol Security ISO國際標(biāo)準(zhǔn)化組織International Standardization Organization LAN 局域網(wǎng)local area network
LCP鏈路控制協(xié)議link control protocol)MAC介質(zhì)訪問控制
MPLS多協(xié)定標(biāo)簽交換Multi Protocol Label Switch
NAT網(wǎng)絡(luò)地址轉(zhuǎn)換Network Address Translation)NCP網(wǎng)絡(luò)控制協(xié)議Network Control Protocol)NVT網(wǎng)絡(luò)虛擬終端Network Virtual Terminal)OSPF最短路徑優(yōu)先Open Shortest Path First P2P點對點技術(shù)peer-to-peer
PCM脈沖編碼調(diào)制pulseto-Point Protocol PPPoE以太網(wǎng)點對點協(xié)議Point-to-Point Protocol over Ethernet)
RARP逆地址解析協(xié)議Reverse Address Resolution Protocol
RIP路由信息協(xié)議Routing Information Protocol RSVP資源預(yù)留協(xié)議Respondezsilvous plait RTSP實時流式協(xié)議Real Time Streaming Protocol SDH同步數(shù)據(jù)系列Synchronous Digital Hierarchy SET安全電子交易Secure Electronic Transaction SIP會話發(fā)起協(xié)議Session Initiation Protocol SMTP簡單郵件傳輸協(xié)議Simple Message Transfer Protocol
SNMP簡單網(wǎng)絡(luò)管理協(xié)議Simple Network Management Protocol)
SONET同步光纖網(wǎng)Synchronous Optical Network SSID服務(wù)集標(biāo)識符Service Set Identifier SSL安全插口層(Secure Sockets Layer STDM統(tǒng)計時分復(fù)用Synchronous Time-Division Multiplexing)
STP屏蔽雙絞線Shielded Twisted Pair
TCP傳輸控制協(xié)議Transmission Control Protocol TDM時分復(fù)用Time Division Multiplex TELNET遠(yuǎn)程終端協(xié)議
TFTP簡單文件傳輸協(xié)議Trivial File Transfer Protocol URL統(tǒng)一資源定位符Uniform Resource Locator VLAN虛擬局域網(wǎng)Virtual Local Area Network VPN虛擬專用網(wǎng)Virtual Private Network WAN廣域網(wǎng)Wide Area Network
WDM波分復(fù)用Wavelength Division Multiplexing WLAN無限局域網(wǎng)Wireless Metropolitan Area Network
WMAN無限城域網(wǎng)Wireless Metropolitan Area Network
WPAN 無線個人區(qū)域網(wǎng)Wireless Personal Area Network
WWW 萬維網(wǎng)World Wide Web 無新信息,不改變 相同下一跳,更新 新項目,添加進來
相同下一跳,距離變短,更新 不同下一跳,距離變短,更新 不同下一跳,距離一樣,不改變 不同下一跳,距離變大,不改變
第二篇:計算機網(wǎng)絡(luò)(謝希仁版)讀書筆記
計算機網(wǎng)絡(luò)(謝希仁版)讀書筆記
楊林翰
第 1 章 概述
計算機網(wǎng)絡(luò)在信息時代的作用:世紀(jì)的一些重要特征就是數(shù)字化、網(wǎng)絡(luò)化和信息化,它是一個以網(wǎng)絡(luò)為核心的信息時代。
網(wǎng)絡(luò)現(xiàn)已成為信息社會的命脈和發(fā)展知識經(jīng)濟的重要基礎(chǔ)。
網(wǎng)絡(luò)是指“三網(wǎng)”,即電信網(wǎng)絡(luò)、有線電視網(wǎng)絡(luò)和計算機網(wǎng)絡(luò)。
發(fā)展最快的并起到核心作用的是計算機網(wǎng)絡(luò)。
新型網(wǎng)絡(luò)的基本特點:
網(wǎng)絡(luò)用于計算機之間的數(shù)據(jù)傳送,而不是為了打電話。
網(wǎng)絡(luò)能夠連接不同類型的計算機,不局限于單一類型的計算機。
所有的網(wǎng)絡(luò)結(jié)點都同等重要,因而大大提高網(wǎng)絡(luò)的生存性。
計算機在進行通信時,必須有冗余的路由。
網(wǎng)絡(luò)的結(jié)構(gòu)應(yīng)當(dāng)盡可能地簡單,同時還能夠非常可靠地傳送數(shù)據(jù)。
電路交換的特點:
電路交換必定是面向連接的。
電路交換的三個階段:建立連接、通信、釋放連接
電路交換傳送計算機數(shù)據(jù)效率低:計算機數(shù)據(jù)具有突發(fā)性,這導(dǎo)致通信線路的利用率很低。
分組交換的原理:
一、在發(fā)送端,先把較長的報文劃分成較短的、固定長度的數(shù)據(jù)段。
二、每一個數(shù)據(jù)段前面添加上首部構(gòu)成分組。
三、分組交換網(wǎng)以“分組”作為數(shù)據(jù)傳輸單元。
依次把各分組發(fā)送到接收端。
分組首部的重要性:
每一個分組的首部都含有地址等控制信息。
分組交換網(wǎng)中的結(jié)點交換機根據(jù)收到的分組的首部中的地址信息,把分組轉(zhuǎn)發(fā)到下一個結(jié)點交換機。用這樣的存儲轉(zhuǎn)發(fā)方式,分組就能傳送到最終目的地。
四、接收端收到分組后剝?nèi)ナ撞窟€原成報文。
五、最后,在接收端把收到的數(shù)據(jù)恢復(fù)成為原來的報文。
這里我們假定分組在傳輸過程中沒有出現(xiàn)差錯,在轉(zhuǎn)發(fā)時也沒有被丟棄。
結(jié)點交換機
在結(jié)點交換機中的輸入和輸出端口之間沒有直接連線。
結(jié)點交換機處理分組的過程是:
把收到的分組先放入緩存(暫時存儲);
查找轉(zhuǎn)發(fā)表,找出到某個目的地址應(yīng)從哪個端口轉(zhuǎn)發(fā);
把分組送到適當(dāng)?shù)亩丝谵D(zhuǎn)發(fā)出去。
主機和結(jié)點交換機的作用不同:
主機是為用戶進行信息處理的,并向網(wǎng)絡(luò)發(fā)送分組,從網(wǎng)絡(luò)接收分組。
結(jié)點交換機對分組進行存儲轉(zhuǎn)發(fā),最后把分組交付給目的主機。
分組交換的優(yōu)點:
高效動態(tài)分配傳輸帶寬,對通信鏈路是逐段占用。
靈活以分組為傳送單位和查找路由。
迅速不必先建立連接就能向其他主機發(fā)送分組;充分使用鏈路的帶寬。
可靠完善的網(wǎng)絡(luò)協(xié)議;自適應(yīng)的路由選擇協(xié)議使網(wǎng)絡(luò)有很好的生存性。
分組交換帶來的問題:
分組在各結(jié)點存儲轉(zhuǎn)發(fā)時需要排隊,這就會造成一定的時延。
分組必須攜帶的首部(里面有必不可少的控制信息)也造成了一定的開銷。
因特網(wǎng)時代:
因特網(wǎng)的基礎(chǔ)結(jié)構(gòu)大體上經(jīng)歷了三個階段的演進。
但這三個階段在時間劃分上并非截然分開而是有部分重疊的,這是因為網(wǎng)絡(luò)的演進是逐漸的而不是突然的。因特網(wǎng)發(fā)展的第一階段:
第一個分組交換網(wǎng) ARPANET 最初只是一個單個的分組交換網(wǎng)。
ARPA 研究多種網(wǎng)絡(luò)互連的技術(shù)。
1983 年 TCP/IP 協(xié)議成為標(biāo)準(zhǔn)協(xié)議。
同年,ARPANET分解成兩個網(wǎng)絡(luò):
ARPANET——進行實驗研究用的科研網(wǎng)
MILNET——軍用計算機網(wǎng)絡(luò)
1983~1984 年,形成了因特網(wǎng) Internet。
1990 年 ARPANET 正式宣布關(guān)閉。
因特網(wǎng)發(fā)展的第二階段:
1986 年,NSF 建立了國家科學(xué)基金網(wǎng)。NSFNET。它是一個三級計算機網(wǎng)絡(luò):
主干網(wǎng)
地區(qū)網(wǎng)
校園網(wǎng)
1991 年,美國政府決定將因特網(wǎng)的主干網(wǎng)轉(zhuǎn)交給私人公司來經(jīng)營,并開始對接入因特網(wǎng)的單位收費。
1993 年因特網(wǎng)主干網(wǎng)的速率提高到 45 Mb/s(T3 速率)。
因特網(wǎng)發(fā)展的第三階段:
從1993年開始,由美國政府資助的 NSFNET逐漸被若干個商用的 ISP 網(wǎng)絡(luò)所代替。
1994 年開始創(chuàng)建了 4 個網(wǎng)絡(luò)接入點 NAP(Network Access Point),分別由 4 個電信公司經(jīng)營。
NAP 就是用來交換因特網(wǎng)上流量的結(jié)點。在NAP 中安裝有性能很好的交換設(shè)施。到本世紀(jì)初,美國的 NAP 的數(shù)量已達到十幾個。
從 1994 年到現(xiàn)在,因特網(wǎng)逐漸演變成多級結(jié)構(gòu)網(wǎng)絡(luò)。
計算機網(wǎng)絡(luò)的不同定義
最簡單的定義:計算機網(wǎng)絡(luò)是一些互相連接的、自治的計算機的集合。
因特網(wǎng)(Internet)是“網(wǎng)絡(luò)的網(wǎng)絡(luò)”。
計算機網(wǎng)絡(luò)的分類——幾種不同的分類方法:
一、從網(wǎng)絡(luò)的交換功能分類
電路交換
報文交換
分組交換
混合交換
二、從網(wǎng)絡(luò)的作用范圍進行分類
廣域網(wǎng) WAN(Wide Area Network)
局域網(wǎng) LAN(Local Area Network)
城域網(wǎng) MAN(Metropolitan Area Network)
接入網(wǎng) AN(Access Network)
三、從網(wǎng)絡(luò)的使用者進行分類
公用網(wǎng)(public network)
專用網(wǎng)(private network)
帶寬
“帶寬”(bandwidth)本來是指信號具有的頻帶寬度,單位是赫(或千赫、兆赫、吉赫等)。
現(xiàn)在“帶寬”是數(shù)字信道所能傳送的“最高數(shù)據(jù)率”的同義語,單位是“比特每秒”,或 b/s(bit/s)。
更常用的帶寬單位是
千比每秒,即 kb/s(103 b/s)
兆比每秒,即 Mb/s(106 b/s)
吉比每秒,即 Gb/s(109 b/s)
太比每秒,即 Tb/s(1012 b/s)
請注意:在計算機界,K = 210 = 1024
M = 220, G = 230, T = 240。
數(shù)字信號流隨時間的變化
在時間軸上信號的寬度隨帶寬的增大而變窄。
時延(delay 或 latency)
發(fā)送時延(傳輸時延)發(fā)送數(shù)據(jù)時,數(shù)據(jù)塊從結(jié)點進入到傳輸媒體所需要的時間。
信道帶寬數(shù)據(jù)在信道上的發(fā)送速率。常稱為數(shù)據(jù)在信道上的傳輸速率。
發(fā)送時延=數(shù)據(jù)塊長度(比特)/信道帶寬(比特/秒)
傳播時延電磁波在信道中需要傳播一定的距離而花費的時間。
信號傳輸速率(即發(fā)送速率)和信號在信道上的傳播速率是完全不同的概念。
傳播時延=信道長度(米)/信號在信道上的傳播速率(米/秒)
處理時延交換結(jié)點為存儲轉(zhuǎn)發(fā)而進行一些必要的處理所花費的時間。
結(jié)點緩存隊列中分組排隊所經(jīng)歷的時延是處理時延中的重要組成部分。
處理時延的長短往往取決于網(wǎng)絡(luò)中當(dāng)時的通信量。
有時可用排隊時延作為處理時延。
數(shù)據(jù)經(jīng)歷的總時延就是發(fā)送時延、傳播時延和處理時延之和:
總時延 = 發(fā)送時延 + 傳播時延 + 處理時延
容易產(chǎn)生的錯誤概念
對于高速網(wǎng)絡(luò)鏈路,我們提高的僅僅是數(shù)據(jù)的發(fā)送速率而不是比特在鏈路上的傳播速率。
提高鏈路帶寬減小了數(shù)據(jù)的發(fā)送時延。
計算機網(wǎng)絡(luò)體系結(jié)構(gòu)的形成相互通信的兩個計算機系統(tǒng)必須高度協(xié)調(diào)工作才行,而這種“協(xié)調(diào)”是相當(dāng)復(fù)雜的。
“分層”可將龐大而復(fù)雜的問題,轉(zhuǎn)化為若干較小的局部問題,而這些較小的局部問題就比較易于研究和處理。關(guān)于開放系統(tǒng)互連參考模型 OSI/RM
只要遵循 OSI 標(biāo)準(zhǔn),一個系統(tǒng)就可以和位于世界上任何地方的、也遵循這同一標(biāo)準(zhǔn)的其他任何系統(tǒng)進行通信。在市場化方面 OSI 卻失敗了。
OSI 的專家們在完成 OSI 標(biāo)準(zhǔn)時沒有商業(yè)驅(qū)動力;
OSI 的協(xié)議實現(xiàn)起來過分復(fù)雜,且運行效率很低;
OSI 標(biāo)準(zhǔn)的制定周期太長,因而使得按 OSI 標(biāo)準(zhǔn)生產(chǎn)的設(shè)備無法及時進入市場;
OSI 的層次劃分并也不太合理,有些功能在多個層次中重復(fù)出現(xiàn)。
兩種國際標(biāo)準(zhǔn)
法律上的(be jure)國際標(biāo)準(zhǔn) OSI 并沒有得到市場的認(rèn)可。
是非國際標(biāo)準(zhǔn) TCP/IP 現(xiàn)在獲得了最廣泛的應(yīng)用。
TCP/IP 常被稱為事實上的(be facto)國際標(biāo)準(zhǔn)。
劃分層次的必要性
計算機網(wǎng)絡(luò)中的數(shù)據(jù)交換必須遵守事先約定好的規(guī)則。
這些規(guī)則明確規(guī)定了所交換的數(shù)據(jù)的格式以及有關(guān)的同步問題(同步含有時序的意思)。
為進行網(wǎng)絡(luò)中的數(shù)據(jù)交換而建立的規(guī)則、標(biāo)準(zhǔn)或約定即網(wǎng)絡(luò)協(xié)議(network protocol),簡稱為協(xié)議。
b]網(wǎng)絡(luò)協(xié)議的組成要素 :
語法數(shù)據(jù)與控制信息的結(jié)構(gòu)或格式。
語義需要發(fā)出何種控制信息,完成何種動作以及做出何種響應(yīng)。
同步事件實現(xiàn)順序的詳細(xì)說明。
分層的好處 :
各層之間是獨立的。
靈活性好。
結(jié)構(gòu)上可分割開。
易于實現(xiàn)和維護。
能促進標(biāo)準(zhǔn)化工作。
層數(shù)多少要適當(dāng)
若層數(shù)太少,就會使每一層的協(xié)議太復(fù)雜。
層數(shù)太多又會在描述和綜合各層功能的系統(tǒng)工程任務(wù)時遇到較多的困難。
計算機網(wǎng)絡(luò)的體系結(jié)構(gòu)
計算機網(wǎng)絡(luò)的體系結(jié)構(gòu)(architecture)是計算機網(wǎng)絡(luò)的各層及其協(xié)議的集合。
體系結(jié)構(gòu)就是這個計算機網(wǎng)絡(luò)及其部件所應(yīng)完成的功能的精確定義。
實現(xiàn)(implementation)是遵循這種體系結(jié)構(gòu)的前提下用何種硬件或軟件完成這些功能的問題。
體系結(jié)構(gòu)是抽象的,而實現(xiàn)則是具體的,是真正在運行的計算機硬件和軟件。
具有層協(xié)議的體系結(jié)構(gòu)
TCP/IP 是四層的體系結(jié)構(gòu):應(yīng)用層、運輸層、網(wǎng)際層和網(wǎng)絡(luò)接口層。
最下面的網(wǎng)絡(luò)接口層并沒有具體內(nèi)容。
因此往往采取折中的辦法,即綜合 OSI 和 TCP/IP 的優(yōu)點,采用一種只有五層協(xié)議的體系結(jié)構(gòu)。
五層協(xié)議的體系結(jié)構(gòu):
應(yīng)用層(application layer)
運輸層(transport layer)
網(wǎng)絡(luò)層(network layer)
數(shù)據(jù)鏈路層(data link layer)
物理層(physical layer)
實體、協(xié)議、服務(wù) 和服務(wù)訪問點
實體(entity)表示任何可發(fā)送或接收信息的硬件或軟件進程。
協(xié)議是控制兩個對等實體進行通信的規(guī)則的集合。
在協(xié)議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務(wù)。
要實現(xiàn)本層協(xié)議,還需要使用下層所提供的服務(wù)。
本層的服務(wù)用戶只能看見服務(wù)而無法看見下面的協(xié)議。
下面的協(xié)議對上面的服務(wù)用戶是透明的。
協(xié)議是“水平的”,即協(xié)議是控制對等實體之間通信的規(guī)則。
服務(wù)是“垂直的”,即服務(wù)是由下層向上層通過層間接口提供的。
同一系統(tǒng)相鄰兩層的實體進行交互的地方,稱為服務(wù)訪問點 SAP(Service Access Point)。
協(xié)議很復(fù)雜
協(xié)議必須將各種不利的條件事先都估計到,而不能假定一切情況都是很理想和很順利的。
必須非常仔細(xì)地檢查所設(shè)計協(xié)議能否應(yīng)付所有的不利情況。
應(yīng)當(dāng)注意:事實上難免有極個別的不利情況在設(shè)計協(xié)議時并沒有預(yù)計到。在出現(xiàn)這種情況時,協(xié)議就會失敗。因此實際上協(xié)議往往只能應(yīng)付絕大多數(shù)的不利情況。
面向連接服務(wù)與 無連接服務(wù)
面向連接服務(wù)(connection-oriented)
面向連接服務(wù)具有連接建立、數(shù)據(jù)傳輸和連接釋放這三個階段。
無連接服務(wù)(connectionless)
兩個實體之間的通信不需要先建立好連接。
是一種不可靠的服務(wù)。這種服務(wù)常被描述為“盡最大努力交付”(best effort delivery)或“盡力而為”。
應(yīng)用層的客戶-服務(wù)器方式
在 TCP/IP 的應(yīng)用層協(xié)議使用的是
客戶-服務(wù)器方式
計算機的進程(process)就是運行著的計算機程序。
為解決具體應(yīng)用問題而彼此通信的進程稱為“應(yīng)用進程”。
應(yīng)用層的具體內(nèi)容就是規(guī)定應(yīng)用進程在通信時所遵循的協(xié)議。
客戶和服務(wù)器
客戶(client)和服務(wù)器(server)都是指通信中所涉及的兩個應(yīng)用進程。
客戶-服務(wù)器方式所描述的是進程之間服務(wù)和被服務(wù)的關(guān)系。
客戶是服務(wù)請求方,服務(wù)器是服務(wù)提供方。
客戶軟件的特點:
在進行通信時臨時成為客戶,但它也可在本地進行其他的計算。
被用戶調(diào)用并在用戶計算機上運行,在打算通信時主動向遠(yuǎn)地服務(wù)器發(fā)起通信。
可與多個服務(wù)器進行通信。
不需要特殊的硬件和很復(fù)雜的操作系統(tǒng)。
服務(wù)器軟件的特點:
專門用來提供某種服務(wù)的程序,可同時處理多個遠(yuǎn)地或本地客戶的請求。
在共享計算機上運行。當(dāng)系統(tǒng)啟動時即自動調(diào)用并一直不斷地運行著。
被動等待并接受來自多個客戶的通信請求。
一般需要強大的硬件和高級的操作系統(tǒng)支持。
第7章網(wǎng)絡(luò)互連
一、TCP/IP體系中的運輸層
UDP在傳送數(shù)據(jù)之前不需要先建立連接。遠(yuǎn)地主機的運輸層在收到UDP報文后,不需要給出任何確認(rèn)。
TCP則提供面向連接的服務(wù)。在傳送數(shù)據(jù)之前必須先建立連接,數(shù)據(jù)傳送結(jié)束后要釋放連接。TCP不提供廣播或多播服務(wù)。
強調(diào)兩點:
(1)運輸層的UDP用戶數(shù)據(jù)報和網(wǎng)際層的IP數(shù)據(jù)報有很大的區(qū)別。IP數(shù)據(jù)報要經(jīng)過互連網(wǎng)中許多路由器的存儲轉(zhuǎn)發(fā),但UDP用戶數(shù)據(jù)報是在運輸層的端到端抽象的邏輯信道中傳送的,但運輸層的這個邏輯信道并不經(jīng)過路由器(運輸層看不見路由器)。IP數(shù)據(jù)報雖然經(jīng)過路由器進行轉(zhuǎn)發(fā),但用戶數(shù)據(jù)報只是IP數(shù)據(jù)報中的數(shù)據(jù),因此路由器看不見有用戶數(shù)據(jù)報經(jīng)過它。
(2)TCP是運輸層的連接,TCP報文段是在運輸層抽象的的端到瑞邏輯信道中傳送,這種信道是可靠的全雙工信道。但這樣的信道卻不知道究競經(jīng)過了哪些路由器,而這些路山器也根本不知道上面的運輸層是否建立了TCP連接。當(dāng)IP數(shù)據(jù)報的傳輸路徑中增加或減少了路由器時,上層的TCP連接都不會發(fā)生變化,出為上層的TCP根本不知道下層所發(fā)生的事情。
端口:
UDP和TCP都使用了與應(yīng)用層接口處的端口(port)與上層的應(yīng)用進程進行通信。端口的作用就是讓應(yīng)用層的各種應(yīng)用進程都能將其數(shù)據(jù)通過端口向下交付給運輸層,以及讓運輸層知道應(yīng)當(dāng)將其報文段中的數(shù)據(jù)向上通過端口交付給應(yīng)用層相應(yīng)的進程。從這個意義上講,端口是用來標(biāo)志應(yīng)用層的進程。
端口用一個16bit端口號進行標(biāo)志。對于不同的計算機,端口的具體實現(xiàn)方法可能有很大的差別,因為這取決于計算機的操作系統(tǒng)。
端口號分為兩類:一類熟知端口(well-known port),TCP/IP體系確定并公布的。一種新的應(yīng)用程序出現(xiàn)時,必須為它指派一個熟知端口,否則其他的應(yīng)用進程就無法和它進行交互。在應(yīng)用層中的各種不同的服務(wù)器進程不斷地檢測分配給它們的熟知端口,以便發(fā)現(xiàn)是否有某個客戶進程要和它通信。另一類則是一般端口,用來隨時分配給請求通信的客戶進程。
TCP連接的端點稱為插口(socket),或套接字、套接口。
關(guān)于socket的幾個意思:
(1)允許應(yīng)用程序訪問連網(wǎng)協(xié)議的應(yīng)用編程接口API,也就是在運輸層和應(yīng)用層之間的一種接口,稱為socket API,并簡稱為socket。
(2)在socket API中使用的一個函數(shù)名也叫作socket。
(3)調(diào)用socket函數(shù)的端點稱為socket,如“創(chuàng)建一個數(shù)據(jù)報socket”。
(4)調(diào)用socket函數(shù)時其返回值稱為socket描述符,可簡稱為socket。
(5)在操作系統(tǒng)內(nèi)核中連網(wǎng)協(xié)議的Berkely實現(xiàn),稱為socket實現(xiàn)。
上面的這些socket的意思都和TCP連接的端點(指IP地址和端口號的組合)不同。
二、用戶數(shù)據(jù)報協(xié)議UDP
用戶數(shù)據(jù)報協(xié)議由于沒有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)的擁塞不會使源主機的發(fā)送速率降低。這對某些實時應(yīng)用是很重要的。很多的實時應(yīng)用(如IP電話、實時視頻會議等)要求源主機以恒定的速率發(fā)送數(shù)據(jù),并且允許在網(wǎng)絡(luò)發(fā)生擁塞時丟失一些數(shù)據(jù),但卻不允許數(shù)據(jù)有太大的時延。
UDP與應(yīng)用層之間的端口都是用報文隊列來實現(xiàn)的。當(dāng)出隊列發(fā)生溢出時,操作系統(tǒng)就通知客戶進程暫停發(fā)送;入隊列發(fā)生溢出時,UDP就丟棄收到的報文,但不通知對方。在服務(wù)端,UDP用戶數(shù)據(jù)報的首部格式:
用戶數(shù)據(jù)報UDP有兩個字段:數(shù)據(jù)字段和首部字段。首部字段由4個字段組成,每個字段都是兩個字節(jié)。各字段意義如下:
(1)源端口源端口號。
(2)目的端口目的端口號。
(3)長度UDP用戶數(shù)據(jù)報的長度。
(4)檢驗和防止UDP用戶數(shù)據(jù)報在傳輸中出錯。
三、傳輸控制協(xié)議TCP
TCP報文段首部的前20個字節(jié)是固定的,后面有4N字節(jié)是根據(jù)需要而增加的選項(N必須是整數(shù))。因此TCP首部的最小長度是20字節(jié)。
首部固定部分各字段的意義如下:
(1、2)源端口和目的端口各占2個字節(jié)。
(3)序號占4字節(jié)。TCP把在一個TCP連接中傳送的數(shù)據(jù)流中的每一個字節(jié)都編上一個序號,整個數(shù)據(jù)的起始序號在連接建立時設(shè)置。首部中的序號字段的值則指的是本報文段所發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號。例如,—報文段的序號字段的值是301,而攜帶的數(shù)據(jù)共有100字節(jié)。這就表明:本報文段的數(shù)據(jù)的最后—個字節(jié)的序號應(yīng)當(dāng)是400。下一個報文段的數(shù)據(jù)序號應(yīng)當(dāng)從40l開姑,因而下一個報文段的序號字段值應(yīng)為401。
(4)確認(rèn)號占4字節(jié),是期望收到對方的下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號。例如,A正確收到了B發(fā)送過來的一個報文段,其序號字段的值是50l,而數(shù)據(jù)長度是200字節(jié),因此,A期望收到B的下一個報文段的首部中的序號字段值為701。
(5)數(shù)據(jù)偏移占4bit,它指出TCP報文段的數(shù)據(jù)起始處距離TCP報文段的起始處有多遠(yuǎn)。這實際就是TCP報文段首部的長度。注意,“數(shù)據(jù)偏移”的單位不是字節(jié)而是32bit字(即以4字節(jié)長的字為計算單位)。由于4bit能夠表示的最大十進制數(shù)字是15,因此數(shù)據(jù)偏移的最大值是60字節(jié),這也是TCP首部的最大長度。
(6)保留占6bit。
(7)緊急比特URG當(dāng)URG=1時,表明緊急指針字段有效,相當(dāng)于高優(yōu)先級。例如,已經(jīng)發(fā)送了很長的一個程序要在遠(yuǎn)地的主機上運行。但后來發(fā)現(xiàn)了問題要取消,因此用戶發(fā)出中斷命令。如果不使用緊急數(shù)據(jù),那將浪費很多時間。
(8)確認(rèn)比特ACK只有當(dāng)ACK=l時確認(rèn)號字段才有效。當(dāng)ACK=0時,確認(rèn)號無效。
(9)推送比特PSH(PUSH)相當(dāng)于高優(yōu)先級的一個玩意。
(10)復(fù)位比特RST
(11)同步比特SYN
(12)終止比特FIN
(13)窗口占2字節(jié)。窗口字段用來控制對方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。即用接收端的接收能力的大小來控制發(fā)送端的數(shù)據(jù)發(fā)送量。
(14)檢驗和占2字節(jié)。
(15)選項長度可變。TCP只規(guī)定了一種選項,即最大報文段長度MSS。MSS告訴對方TCP:“我的緩存所能接收的報文段的數(shù)據(jù)字段的最大長度是MSS個字節(jié)”。當(dāng)沒有使用選項時,TCP首部長度是20字節(jié)。
TCP傳輸?shù)目煽渴怯捎谑褂昧诵蛱柡痛_認(rèn)。當(dāng)TCP發(fā)送—報文段時,它同時也在自己的重傳隊列中存放一個副本。若收到確認(rèn),則刪除此副本。若在計時器時間到之前沒有收到確認(rèn),則重傳此報文段的副本。TCP的確認(rèn)并不保證數(shù)據(jù)己由應(yīng)用層交付給了端用戶,而只是表明在接收端的TCP收到了對方所發(fā)送的報文段。
TCP有三種基本機制來控制報文段的發(fā)送。第一種機制是TCP維持一個變量,它等于最大報文段長度MSS。只要發(fā)送緩存從發(fā)送進程得到的數(shù)據(jù)達到MSS字節(jié)時,就組裝成一個TCP報文段。第二種機制是發(fā)送端的應(yīng)用進程指明要求發(fā)送報文段,即TCP支持的推送(push)操作。第三種機制是發(fā)送端的一個計時器時間到了,這時就把當(dāng)前已有的緩存數(shù)據(jù)裝入報文段發(fā)送出去。
慢開始和擁塞避免
對于每一個TCP連接,需要有以下兩個狀態(tài)變量:
(1)接收端窗口rwnd這是接收端根據(jù)其目前的接收緩存大小所許諾的最新的窗口值,是來自接收端的流量控制。
(2)擁塞窗口cwnd這是發(fā)送端根據(jù)自己估計的網(wǎng)絡(luò)擁塞程度而設(shè)置的竊口值,是來自發(fā)送端的流量控制。
慢開始算法的原理是這樣的。當(dāng)主機開始發(fā)送數(shù)據(jù)時,如果立即將較大的發(fā)送窗口中的全部數(shù)據(jù)字節(jié)都注入到網(wǎng)絡(luò),那么由于這時還不清楚網(wǎng)絡(luò)的狀況,因而就有可能引起網(wǎng)絡(luò)擁塞。經(jīng)驗證明,較好的方法是試探一下,即由小到大逐漸增大發(fā)送端的擁塞窗口數(shù)值。通常在剛剛開始發(fā)送報文段時可先將擁塞窗口cwnd設(shè)置為一個最大報文段MSS的數(shù)值。而在每收到一個對新的報文段的確認(rèn)后,將擁塞窗口增加至多一個MSS的數(shù)值。用這樣的方法逐步增大發(fā)送端的擁塞窗口cwnd,可以使分組注入到網(wǎng)絡(luò)的速率更加合理。
例如,在一開始.發(fā)送端先設(shè)置cwnd=1,發(fā)送第一個報文段Mo,收到確認(rèn)后將cwnd從1增大到2,于是發(fā)送端可以接著發(fā)送M1和M2兩個報文段。再收到確認(rèn)后cwnd又從2增大到4,并可發(fā)送M3到M6共4個報文段。為了防止擁塞窗口cwnd的增長引起網(wǎng)絡(luò)擁塞,還需要另一個狀態(tài)變量慢開始門限ssthresh。用法如下:
當(dāng)cwnd 當(dāng)cwnd>ssthresh時,停止使用慢開始算法而改用擁塞避免算法。 當(dāng)cwnd=ssthresh時,既可使用慢開始算法.也可使用擁塞避免算法。 具體的做法是: 擁塞避免算法使發(fā)送端的擁塞窗口cwnd每經(jīng)過—個往返時延RTT就增加一個MSS的大小(而不管在時間RTT內(nèi)收到了幾個ACK)。這樣,擁塞窗口cwnd按線性規(guī)律緩慢增長,比慢開始算法的擁塞窗口增長速率緩慢得多。 快重傳和快恢復(fù) 快重傳的工作原理:即使不能收到某個ACK,也先傳后面的報文段,等到收到3個重復(fù)的ACK才認(rèn)為分組丟失(不必等待超時)。 快恢復(fù)算法:當(dāng)不使用快恢復(fù)算法時,發(fā)送端若發(fā)現(xiàn)網(wǎng)絡(luò)擁塞就將擁塞窗口降低為1,然后執(zhí)行慢開始算法。但這樣做的缺點是網(wǎng)絡(luò)不能很快地到正常工作狀態(tài)。快恢復(fù)算法可以較好地解決這一問題,其具體步驟如下: (1)當(dāng)發(fā)送端收到連續(xù)三個重復(fù)的ACK時,就開始慢開始算法。 (2)與慢開始不向之處是擁塞窗口cwnd不是設(shè)置為l,而是設(shè)置為ssthresh+3*MSS。理由是:發(fā)送端收到三個重復(fù)的ACK表明有三個分組已經(jīng)離開了網(wǎng)絡(luò),它們不會再消耗網(wǎng)絡(luò)的資源。這三個分組是停留在接收端的緩存中的。可見現(xiàn)在網(wǎng)絡(luò)中并不是堆積了分組而是減少了三個分組。因此,將擁塞窗口擴大些并不會加劇網(wǎng)絡(luò)的擁塞。 (3)若收到的重復(fù)的ACK為n個(n>3),則將cwnd設(shè)置為ssthresh+n*MSS。 (4)若發(fā)送窗口值還容許發(fā)送報文段.就按擁塞避免算法繼續(xù)發(fā)送報文段。 (5)若收到了確認(rèn)新的報文段的ACK,就將cwnd縮小到ssthresh。 在采用快恢復(fù)算法時,慢開始算法只是在TCP連接建立時才使用。 TCP的重傳機制 將各個報文段的往返時延樣本加權(quán)平均,就得出報文段的平均往返時延RTT。每測量到一個新的往返時延樣本,就按下式重新計算一次RTT: RTT=a×(舊的RTT)+(1-a)×(新的往返時延樣本)(7—2) 0<=a<1,典型的a值為7/8。 顯然,計時器設(shè)置的超時重傳時間RTO應(yīng)略大于RTT,即:RTO=p×RTT 這里p是個大于1的系數(shù)。實際上,系數(shù)p是很難確定的。例如:發(fā)送出一個TCP報文段l,設(shè)定的重傳時間到了,還沒有收到確認(rèn),于是重傳此報文段,即報文段2,經(jīng)過了一段時間后,收到了確認(rèn)報文段ACK。問題是:無法判定此確認(rèn)報文段是對原來的報文段1的確認(rèn),還是對重傳的報文段2的確認(rèn)。 根據(jù)以上所述,Karn提出了一個算法:在計算平均往返時延RTT時,只要報文段重傳了,就不采用其往返時延樣本。 這樣得出的RTT就和重傳時間就較準(zhǔn)確。 但是,這又引起新的問題。設(shè)想出現(xiàn)這樣的情況:報文段的時延突然增大了很多。因此在原來得出的重傳時間內(nèi),不會收到確認(rèn)報文段。于是就重傳報文段。但根據(jù)Karn算法,不考慮重傳的報文段的往返時延樣本。這樣,重傳時間就無法更新。 對Karn算法進行修正:報文段每重傳—次,就將重傳時間增大一些: 新的重傳時間=Y×(舊的重傳時間) 系數(shù)Y的典型值是2。當(dāng)不再發(fā)生報文段的重傳時,才根據(jù)報文段的往返時延更新平均往返時延RTT和重傳時間的數(shù)值。采用隨機早期丟棄RED進行擁塞控制 上面的TCP擁塞控制并沒有和網(wǎng)絡(luò)層采取的策略聯(lián)系起來。 路由器采取尾部丟棄策略丟棄隊列尾部的數(shù)據(jù)報時,會導(dǎo)致上層的TCP進入擁塞控制的慢開始狀態(tài),使TCP連接的發(fā)送端突然將數(shù)據(jù)的發(fā)送速率降低到很小的數(shù)值。更為嚴(yán)重的是,在網(wǎng)絡(luò)中通常有很多的TCP連接(它們有不同的源點和終點),這些連接中的報文段通常是復(fù)用在網(wǎng)絡(luò)層的IP數(shù)據(jù)報中傳送。在這種情況下,就可能會同時影響到很多條TCP連接,結(jié)果使這許多TCP連接在同一時間突然都進入到慢開始狀態(tài)。這在TCP的術(shù)語中稱為全局同步。全局同步使得全網(wǎng)的通信量突然下降了很多,而在網(wǎng)絡(luò)恢復(fù)正常后,其通信量又突然增大很多。 實現(xiàn)隨機早期丟棄(RED)的要點如下: 使路由器的隊列維持兩個參數(shù),即隊列長度最小門限THmin和最大門限THmax。對每一個到達的數(shù)據(jù)報都先計算平均隊列長度LAV。若LAV 隨機就是先以概率P丟棄個別的數(shù)據(jù)報,讓擁塞控制只在個別的TCP連接上進行,因而避免發(fā)生全局性的擁塞控制。TCP的運輸連接管理 運輸連接的三個階段:連接建立、數(shù)據(jù)傳送和連接釋放。 在連接建立過程中要解決以下問題: (1)要使每一方能夠確知對方的存在。 (2)要允許雙方協(xié)商一些參數(shù)(如最大報文段長度,最大窗口大小,服務(wù)質(zhì)量等)。 (3)能夠?qū)\輸實體資源(如緩存大小,連接表中的項目等)進行分配。 TCP的連接和建立都是采用客戶服務(wù)器方式。主動發(fā)起連接建立的應(yīng)用過程叫做客戶(client),而被動等待連接建立的應(yīng)用進程叫做服務(wù)器(server)。設(shè)主機B中運行一個服務(wù)器進程,它先發(fā)出—個被動打開(passive open)命令,告訴它的TCP要準(zhǔn)備接受客戶過程的連接請求。然后服務(wù)器進程就處于“聽”(listen)的狀態(tài),不斷檢測是否有客戶進程要發(fā)起連接請求。如有,即作出響應(yīng)。設(shè)客戶進程遠(yuǎn)行在主機A中。它先向其TCP發(fā)出主動打開(active open)命令,表明要向某個IP地址的某個端口建立運輸連接。 連接建立采用三次握手:A發(fā)送一個報文給B,B發(fā)回確認(rèn),然后A再加以確認(rèn)。 為什么要發(fā)送這第三個報文段呢?這主要是為了防止已失效的連接請求報文段突然又傳送到了主機B,因而產(chǎn)生錯誤。所謂協(xié)議是指通信雙方關(guān)于如何進行通信的一種約定。協(xié)議的三要素:語法,語義和時序(指數(shù)據(jù)應(yīng)傳誦或被接收機許找的時間,信息的排序,速率匹配等)。體系結(jié)構(gòu)是指計算機通信網(wǎng)的分層,各層協(xié)議和層間接口的集合。OSI模型下三層為并聯(lián),上四曾為串聯(lián)。傳輸數(shù)據(jù)的格式分別為:比特->幀->分組->TPDU->SPDU->PPDU->APDU。 面向連接的網(wǎng)絡(luò):1.X.25和幀中繼:20世紀(jì)80年代,幀中繼frame relay的本質(zhì)是一個無錯誤控制的,無流控制的,面向連接的網(wǎng)絡(luò),因為是面向連接的,所以分組會按照發(fā)送的順序被遞交,非常類似于一個廣域的LAN,最重要的應(yīng)用是能將公司的多個辦公區(qū)域的LAN互相連接起來。2.ATM(Asynchronous Transfer Mode異步傳輸模式):ATM已在電話系統(tǒng)中被廣泛使用,通常用于傳輸IP分組,現(xiàn)在主要被乘運商用于內(nèi)部傳輸。 802.1 LAN的總體介紹和體系結(jié)構(gòu) 802.2 邏輯鏈路控制 802.3 以太網(wǎng) 802.4 令牌總線(在制造業(yè)暫時用過一段時間) 802.5 令牌環(huán)(IBM進入LAN領(lǐng)域的一項技術(shù)) 802.6 雙隊列總線(早期的城域網(wǎng)) 802.7 關(guān)于寬帶技術(shù)的技術(shù)咨詢組 802.8 關(guān)于光纖技術(shù)的技術(shù)咨詢組 802.9 同步LAN(針對實時應(yīng)用) 802.10 虛擬LAN和安全性 802.12 需求的優(yōu)先級(Hewlett-Packard的AnyLAN) 802.13 不吉利的數(shù)字,沒人愿意使用。 802.14 有線調(diào)制器(已廢除) 802.15 個人區(qū)域網(wǎng)絡(luò)(藍(lán)牙) 802.16 寬帶無線 802.17 彈性的分組環(huán) 運輸層 運輸層之間的通信是進程與進程之間的,通過端口的 一、運輸層協(xié)議概述 1、從通信和信息處理的角度看,運輸層向它上面的應(yīng)用層提供通信服務(wù),它屬于面向通信部分的最高層,同時也是用戶功能中的最低層。 2、當(dāng)網(wǎng)絡(luò)的邊緣部分中的兩個主機使用網(wǎng)絡(luò)的核心部分的功能進行端到端的通信時,只有位于網(wǎng)絡(luò)邊緣部分的主機的協(xié)議棧才有運輸層,而網(wǎng)絡(luò)核心部分中的路由器在轉(zhuǎn)發(fā)分組時都只用到下三層的功能。 3、兩個主機進行通信實際上就是兩個主機中的應(yīng)用進程互相通信。 4、運輸層的一個很重要的功能就是復(fù)用和分用。通過端口實現(xiàn)。 5、網(wǎng)絡(luò)層為主機之間提供邏輯通信,運輸層為應(yīng)用進程之間提供端到端的邏輯通信 6、當(dāng)運輸層采用面向連接的TCP 協(xié)議時,盡管下面的網(wǎng)絡(luò)是不可靠的(只提供盡最大努力服務(wù)),但這種邏輯通信信道就相當(dāng)于一條全雙工的可靠信道。當(dāng)運輸層采用無連接的UDP協(xié)議時,這種邏輯通信信道是一條不可靠信道。 7、兩個對等運輸實體在通信時傳送的數(shù)據(jù)單位叫作運輸協(xié)議數(shù)據(jù)單元 TPDU 8、UDP 在傳送數(shù)據(jù)之前不需要先建立連接。雖然UDP 不提供可靠交付,但在某些情況下UDP 是一種最有效的工作方式;TCP 則提供面向連接的服務(wù)。 9、運輸層的 UDP 用戶數(shù)據(jù)報與網(wǎng)際層的IP數(shù)據(jù)報的區(qū)別:IP 數(shù)據(jù)報要經(jīng)過互連網(wǎng)中許多路由器的存儲轉(zhuǎn)發(fā),但 UDP 用戶數(shù)據(jù)報是在運輸層的端到端抽象的邏輯信道中傳送的。 10、硬件端口與軟件端口的區(qū)別:在協(xié)議棧層間的抽象的協(xié)議端口是軟件端口。路由器或交換機上的端口是硬件端口。硬件端口是不同硬件設(shè)備進行交互的接口,而軟件端口是應(yīng)用層的各種協(xié)議進程與運輸實體進行層間交互的一種地址。 11、端口用一個16 位端口號進行標(biāo)志。 12、端口號只具有本地意義,即端口號只是為了標(biāo)志本計算機應(yīng)用層中的各進程。在因特網(wǎng)中不同計算機的相同端口號是沒有聯(lián)系的。 13、端口的分類:熟知端口和登記端口號合稱為服務(wù)器端使用的端口號 ? 熟知端口,數(shù)值一般為0~1023。 ? 登記端口號,數(shù)值為1024~49151,為沒有熟知端口號的應(yīng)用程序使用的。使用這個范圍的端口號必須在IANA 登記,以防止重復(fù)。 ? 客戶端口號或短暫端口號,數(shù)值為49152~65535,留給客戶進程選擇暫時使用。 二、用戶數(shù)據(jù)報協(xié)議UDP 1、UDP只是在IP 的數(shù)據(jù)報服務(wù)之上增加了端口的功能和差錯檢測的功能。 2、UDP 的主要特點 ? UDP 是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接。 ? UDP 使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制。? UDP 是面向報文的。 ? UDP 支持一對一、一對多、多對一和多對多的交互通信。? UDP 的首部開銷小,只有8 個字節(jié)。 ? UDP沒有擁塞控制,很適合多媒體通信的要求 3、發(fā)送方UDP 對應(yīng)用程序交下來的報文,在添加首部后就向下交付IP 層。UDP 對應(yīng)用層交下來的報文,既不合并,也不拆分,而是保留這些報文的邊界。 4、UDP 的首部格式(每個部分各兩個字節(jié))源端口(不需要回送時可填0),目的端口,長度(包括數(shù)據(jù)部分,最小為8字節(jié)),檢驗和(檢查用戶數(shù)據(jù)報是否有差錯) 5、IP數(shù)據(jù)報首部檢驗和與UDP數(shù)據(jù)報檢驗和的區(qū)別:IP數(shù)據(jù)報只檢驗首部,UDP則把首部和數(shù)據(jù)報部分一起檢驗了。 6、偽首部與檢驗和:為了計算檢驗和在UDP首部之前再加入12字節(jié)的偽首部。偽首部不能向上遞交也不用向下傳送。接收方將UDP數(shù)據(jù)報與偽首部按二進制反碼求和,正確的結(jié)果應(yīng)為全0,否則丟棄這個數(shù)據(jù)報。 7、偽首部包括源IP,目的IP,一個全0字節(jié),一個協(xié)議字段,2字節(jié)的UDP長度 三、傳輸控制協(xié)議TCP 1、TCP 最主要的特點 ? TCP 是面向連接的運輸層協(xié)議。 ? 每一條TCP 連接只能有兩個端點,每一條TCP 連接只能是點對點的(一對一)。? TCP 提供可靠交付的服務(wù)。? TCP 提供全雙工通信。? 面向字節(jié)流。 2、TCP 連接是一條虛連接而不是一條真正的物理連接。 3、TCP 連接的端點:不是主機,不是主機的IP 地址,不是應(yīng)用進程,也不是運輸層的協(xié)議端口,而是套接字(socket)或插口,是端口號拼接到IP 地址后面構(gòu)成的。套接字socket =(IP地址: 端口號) 192.168.1.1:80 TCP 連接::= {socket1, socket2} = {(IP1: port1),(IP2: port2)} 4、同一個IP地址可以有多個不同的TCP連接,而同一個端口號也可以出現(xiàn)在多個不同的TCP連接中。 四、可靠傳輸?shù)墓ぷ髟?/p> 1、理想傳輸條件的兩個特點:傳輸信道不產(chǎn)生差錯,無論發(fā)送發(fā)以多快的速度發(fā)送,接送方總來的及接受數(shù)據(jù)。在這種條件下不需要采取何種措施就可以實現(xiàn)可靠傳輸。 2、停止等待協(xié)議:每發(fā)送完一個分組就停止發(fā)送,等待對方確認(rèn)。確認(rèn)后再發(fā)下一個分組 3、為了在出現(xiàn)差錯時能夠繼續(xù)通信:在發(fā)送完一個分組后,必須暫時保留已發(fā)送的分組的副本;分組和確認(rèn)分組都必須進行編號;超時重傳,超時計時器的重傳時間應(yīng)當(dāng)比數(shù)據(jù)在分組傳輸?shù)钠骄禃r間更長一些。 4、確認(rèn)丟失和確認(rèn)遲到 5、使用確認(rèn)和重傳機制,我們就可以在不可靠的傳輸網(wǎng)絡(luò)上實現(xiàn)可靠的通信。 6、可靠傳輸協(xié)議又稱為自動重傳請求ARQ 7、信道利用率:U?TD TD:分組發(fā)送時間;RTT:分組往返時間;TA:TD?RTT?TA發(fā)送確認(rèn)分組所需的時間 8、停止等待協(xié)議的優(yōu)點是簡單,但缺點是信道利用率太低。 9、提高信道利用率的措施:采用流水線傳輸:發(fā)送方可連續(xù)發(fā)送多個分組,不必每發(fā)完一個分組就停頓下來等待對方的確認(rèn) 10、連續(xù)ARQ 協(xié)議:TCP 連接的每一端都必須設(shè)有兩個窗口——一個發(fā)送窗口和一個接收窗口。發(fā)送窗口內(nèi)的數(shù)據(jù)可以連續(xù)發(fā)送出去,不需要等待對方的確認(rèn),接收方采用累積確認(rèn),對按序到達的最后一個分組確認(rèn),表示:到這個分組為止的所有分組都已正確收到了。發(fā)送方每接收到一個確認(rèn),就把發(fā)送窗口向前滑動一個分組單位。 五、TCP 報文段的首部格式 1、源端口和目的端口字段——各占2 字節(jié)。端口是運輸層與應(yīng)用層的服務(wù)接口。運輸層的復(fù)用和分用功能都要通過端口才能實現(xiàn)。 2、序號字段——占4 字節(jié)。TCP 連接中傳送的數(shù)據(jù)流中的每一個字節(jié)都編上一個序號。序號字段的值則指的是本報文段所發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號。 3、確認(rèn)號字段——占4 字節(jié),是期望收到對方的下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號。 4、數(shù)據(jù)偏移(即首部長度)——占4 位,它指出TCP 報文段的數(shù)據(jù)起始處距離TCP 報文段的起始處有多遠(yuǎn),以四個字節(jié)為單位,其實就是首部長度,最大60字節(jié)。 5、確認(rèn)ACK —— 只有當(dāng)ACK ? 1 時確認(rèn)號字段才有效。 6、復(fù)位RST(ReSeT)—— 當(dāng)RST ? 1 時,表明TCP 連接中出現(xiàn)嚴(yán)重差錯(如由于主機崩潰或其他原因),必須釋放連接,然后再重新建立運輸連接。 7、同步SYN —— 同步SYN = 1 表示這是一個連接請求或連接接受報文 8、終止FIN(FINis)—— 用來釋放一個連接。FIN ? 1 表明此報文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運輸連接。 9、窗口字段—— 占2 字節(jié),用來讓對方設(shè)置發(fā)送窗口的依據(jù),單位為字節(jié)。 10、檢驗和—— 占2 字節(jié)。檢驗和字段檢驗的范圍包括首部和數(shù)據(jù)這兩部分。檢驗規(guī)則和UDP檢驗和一樣。 11、緊急指針字段—— 占16 位,指出在本報文段中緊急數(shù)據(jù)共有多少個字節(jié) 12、MSS是TCP 報文段中的數(shù)據(jù)字段的最大長度 13、選項字段—— 長度可變。包括: ? 窗口擴大選項——占3 字節(jié),? 時間戳選項——占10 字節(jié),其中最主要的字段時間戳值字段(4 字節(jié))和時間戳回送回答字段(4 字節(jié))。用來計算往返時間,處理TCP序號超過2的32次方的情況,防止序號繞回,時間戳可以做個標(biāo)記 ? 選擇確認(rèn)選項 14、填充字段,填0,這是為了使整個首部長度是4 字節(jié)的整數(shù)倍。 六、TCP 可靠傳輸?shù)膶崿F(xiàn) 1、TCP的滑動窗口以字節(jié)為單位 2、窗口越大,發(fā)送方就可以在收到確認(rèn)之前發(fā)送更多的數(shù)據(jù),傳輸效率高,但是接收方必須來的及接收。 3、窗口的分類:發(fā)送窗口,可用窗口,未確認(rèn)窗口 4、A 的發(fā)送窗口并不總是和B 的接收窗口一樣大(因為有一定的時間滯后)。 5、TCP 要求接收方必須有累積確認(rèn)的功能,這樣可以減小傳輸開銷。 6、緩存和窗口的關(guān)系:緩存一般大于窗口 7、發(fā)送緩存與接收緩存的作用 發(fā)送緩存用來暫時存放: 發(fā)送應(yīng)用程序傳送給發(fā)送方TCP 準(zhǔn)備發(fā)送的數(shù)據(jù); TCP 已發(fā)送出但尚未收到確認(rèn)的數(shù)據(jù)。 接收緩存用來暫時存放: 按序到達的、但尚未被接收應(yīng)用程序讀取的數(shù)據(jù); 不按序到達的數(shù)據(jù)。 8、超時重傳時間的選擇: RTO ? RTTS + 4 ? RTTD 平均往返時間 新的RTTS?(1 ??)?(舊的RTTS)???(新的RTT 樣本)0 ??? 1推薦=0.125 RTT 的偏差的加權(quán)平均值 新的RTTD =(1 ??)?(舊的RTTD)+ ???RTTS?新的RTT 樣本? ?推薦=0.25 9、如何判定一個確認(rèn)報文段是對原來的報文段1 的確認(rèn),還是對重傳的報文段2 的確認(rèn)? 采用Karn算法:在計算平均往返時間RTT 時,只要報文段重傳了,就不采用其往返時間樣本。 修正的Karn算法:報文段每重傳一次,就把RTO 增大一些: 10、選擇確認(rèn)sack是解決:接收方收到了和前面的字節(jié)流不連續(xù)的兩個字節(jié)塊,怎樣讓發(fā)送方只發(fā)送沒有到達的數(shù)據(jù)段 11、使用SACK時要將TCP首部中的SACK位置1,然后再選項字段填入未接受到的斷塊的邊界值,每個邊界值占4個字節(jié),確定一個斷塊要用兩個邊界值,所以選項字段最多只能指明4個字節(jié)塊的信息。另外還要一個選項指明是SACK選項,一個指明SACK占用的字節(jié)數(shù) 七、TCP 的流量控制:利用滑動窗口實現(xiàn)流量控制 1、流量控制(flow control)就是讓發(fā)送方的發(fā)送速率不要太快,既要讓接收方來得及接收,也不要使網(wǎng)絡(luò)發(fā)生擁塞。 2、丟失報文導(dǎo)致互等死鎖的解決辦法:持續(xù)計時器 ? TCP 為每一個連接設(shè)有一個持續(xù)計時器。 ? 只要TCP 連接的一方收到對方的零窗口通知,就啟動持續(xù)計時器。 ? 若持續(xù)計時器設(shè)置的時間到期,就發(fā)送一個零窗口探測報文段(僅攜帶1 字節(jié)的數(shù)據(jù)),而對方就在確認(rèn)這個探測報文段時給出了現(xiàn)在的窗口值。 ? 若窗口仍然是零,則收到這個報文段的一方就重新設(shè)置持續(xù)計時器。? 若窗口不是零,則死鎖的僵局就可以打破了。 3、發(fā)送方的發(fā)送窗口不能超過接收方給的接收窗口的數(shù)值,TCP窗口的單位是字節(jié)。 4、考慮到傳輸效率,要解決TCP 報文段的發(fā)送時機的選擇: ? 長度限制:第一種機制是TCP 維持一個變量,它等于最大報文段長度MSS。只要緩存中存放的數(shù)據(jù)達到MSS 字節(jié)時,就組裝成一個TCP 報文段發(fā)送出去。? 自己要求:第二種機制是由發(fā)送方的應(yīng)用進程指明要求發(fā)送報文段,即TCP 支持的推送(push)操作。 ? 時間限制:第三種機制是發(fā)送方的一個計時器期限到了,這時就把當(dāng)前已有的緩存數(shù)據(jù)裝入報文段(但長度不能超過MSS)發(fā)送出去。 八、TCP的擁塞控制 1、在某段時間,若對網(wǎng)絡(luò)中某資源的需求超過了該資源所能提供的可用部分,網(wǎng)絡(luò)的性能就要變壞——產(chǎn)生擁塞,即資源需求>可用資源 2、擁塞控制與流量控制的關(guān)系: 擁塞控制是一個全局性的過程,就是防止過多的數(shù)據(jù)注入到網(wǎng)絡(luò)中,這樣可以使網(wǎng)絡(luò)中的路由器或鏈路不致過載。 流量控制往往指在給定的發(fā)送端和接收端之間的點對點通信量的控制。流量控制所要做的就是抑制發(fā)送端發(fā)送數(shù)據(jù)的速率,以便使接收端來得及接收。 3、擁塞控制要解決好網(wǎng)絡(luò)吞吐量與負(fù)載的關(guān)系 4、幾種擁塞控制方法:慢開始和擁塞避免,快重傳和快恢復(fù) 5、發(fā)送方維持一個叫做擁塞窗口cwnd的狀態(tài)變量。擁塞窗口的大小取決于網(wǎng)絡(luò)的擁塞程度,并且動態(tài)地在變化。發(fā)送方讓自己的發(fā)送窗口等于或小于擁塞窗口。 6、發(fā)送方控制擁塞窗口的原則是:只要網(wǎng)絡(luò)沒有出現(xiàn)擁塞,擁塞窗口就再增大一些,發(fā)送更多的分組。但只要網(wǎng)絡(luò)出現(xiàn)擁塞,擁塞窗口就減小一些,以減少注入到網(wǎng)絡(luò)中的分組數(shù)。 7、“擁塞避免”不能完全避免擁塞,只是說在擁塞避免階段把擁塞窗口控制為較多按線性規(guī)律增長,使網(wǎng)絡(luò)比較不容易出現(xiàn)擁塞。 8、快重傳算法:快重傳算法首先要求接收方每收到一個失序的報文段后就立即發(fā)出重復(fù)確認(rèn)。這樣做可以讓發(fā)送方及早知道有報文段沒有到達接收方。發(fā)送方只要一連收到三個重復(fù)確認(rèn)就應(yīng)當(dāng)立即重傳對方尚未收到的報文段。 9、快恢復(fù)算法:當(dāng)發(fā)送端收到連續(xù)三個重復(fù)的確認(rèn)時,就執(zhí)行“乘法減小”算法,把慢開始門限ssthresh減半,然后執(zhí)行加法增大。這是因為三個確認(rèn)報文能夠到達發(fā)送端,網(wǎng)絡(luò)很可能沒有擁塞 10、發(fā)送窗口的上限值? Min [rwnd, cwnd] 接收方窗口rwnd和擁塞窗口cwnd 九、TCP 的運輸連接管理 1、運輸連接就有三個階段,即:連接建立、數(shù)據(jù)傳送和連接釋放。 2、TCP 連接的建立都是采用客戶服務(wù)器方式。主動發(fā)起連接建立的應(yīng)用進程叫做客戶(client)。被動等待連接建立的應(yīng)用進程叫做服務(wù)器(server)。 3、TCP用三次握手建立連接:A表示發(fā)送方,B表示接收方 (1)A 的TCP 向B 發(fā)出連接請求報文段,其首部中的同步位SYN = 1,并選擇序號seq = x,表明傳送數(shù)據(jù)時的第一個數(shù)據(jù)字節(jié)的序號是x。 (2)B 的TCP 收到連接請求報文段后,如同意,則發(fā)回確認(rèn)。 B 在確認(rèn)報文段中應(yīng)使SYN = 1,使ACK = 1,其確認(rèn)號ack = x ? 1,自己選擇的序號seq = y。 (3)A 收到此報文段后向B 給出確認(rèn),其ACK = 1,確認(rèn)號ack = y ? 1。A 的TCP 通知上層應(yīng)用進程,連接已經(jīng)建立。 4、TCP的連接釋放:四次握手釋放連接。A表示發(fā)送方,B表示接收方(1)A 把連接釋放報文段首部的FIN = 1,其序號seq = u,等待B 的確認(rèn)。 (2)B 發(fā)出確認(rèn),確認(rèn)號ack = u ? 1,而這個報文段自己的序號seq = v。TCP 服務(wù)器進程通知高層應(yīng)用進程。從 A 到B 這個方向的連接就釋放了,TCP 連接處于半關(guān)閉狀態(tài)。B 若發(fā)送數(shù)據(jù),A 仍要接收。 (3)若B 已經(jīng)沒有要向A 發(fā)送的數(shù)據(jù),其應(yīng)用進程就通知 TCP 釋放連接。(4)A 收到連接釋放報文段后,必須發(fā)出確認(rèn)。 5、數(shù)據(jù)傳輸結(jié)束后,通信的雙方都可釋放連接。 6、發(fā)送方確認(rèn)后必須等待2MSL 的時間后才能真正釋放連接理由如下: 第一,為了保證A 發(fā)送的最后一個ACK 報文段能夠到達B。 第二,防止“已失效的連接請求報文段”出現(xiàn)在本連接中。A 在發(fā)送完最后一個ACK 報文段后,再經(jīng)過時間2MSL,就可以使本連接持續(xù)的時間內(nèi)所產(chǎn)生的所有報文段,都從網(wǎng)絡(luò)中消失。 整理者:福州大學(xué)張毅 網(wǎng)標(biāo)準(zhǔn)化的四個階段? 1.因特因特網(wǎng)草案2.建議標(biāo)準(zhǔn)3.草案標(biāo)準(zhǔn)4.因特網(wǎng)標(biāo)準(zhǔn)。 按網(wǎng)絡(luò)的作用范圍進行分類? 廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、個人區(qū)域網(wǎng)。 1.廣域網(wǎng)的作用范圍通常為幾十到幾千公里。是因特網(wǎng)的核心部分,任務(wù)是通過長距離運送主機所發(fā)送的數(shù)據(jù)。連接廣域網(wǎng)各結(jié)點交換機的鏈路一般是高速鏈路,具有較大通信容量。2.城域網(wǎng)的作用范圍一般是一個城市,約5-50km。城域網(wǎng)可以是一個或幾個單位所擁有,也可以是一種公用設(shè)施,用來將多個局域網(wǎng)進行互連。目前很多城域網(wǎng)采用以太網(wǎng)技術(shù)。 3.局域網(wǎng)作用范圍較小1km左右。一般用微型計算機或工作站通過高速通信線路相連,學(xué)校或企業(yè)大都擁有許多互連的局域網(wǎng),常稱為校園網(wǎng)或企業(yè)網(wǎng)。 4.個人區(qū)域網(wǎng)就是在個人工作地方把屬于個人使用的電子設(shè)備用無線技術(shù)連接起來的網(wǎng)絡(luò),常稱為無線個人區(qū)域網(wǎng)。范圍大約在10m左右。 計算機網(wǎng)絡(luò)的性能指標(biāo)? 速率、帶寬、吞吐量、時延、時延帶寬積、往返時間RTT、利用率。 網(wǎng)絡(luò)協(xié)議三要素: 語法:數(shù)據(jù)與控制信息的結(jié)構(gòu)或格式。 語義:即需要發(fā)出何種控制信息,完成何種動作以及做出何種響應(yīng)。同步:即事件實現(xiàn)順序的詳細(xì)說明。 實體表示任何可發(fā)送或接收信息的硬件或軟件進程。 協(xié)議與服務(wù)有何區(qū)別?有何關(guān)系? 網(wǎng)絡(luò)協(xié)議:為進行網(wǎng)絡(luò)中的數(shù)據(jù)交換而建立的規(guī)則、標(biāo)準(zhǔn)或約定。由以下三個要素組成:(1)語法:即數(shù)據(jù)與控制信息的結(jié)構(gòu)或格式。 (2)語義:即需要發(fā)出何種控制信息,完成何種動作以及做出何種響應(yīng)。(3)同步:即事件實現(xiàn)順序的詳細(xì)說明。 協(xié)議是控制兩個對等實體進行通信的規(guī)則的集合。在協(xié)議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務(wù),而要實現(xiàn)本層協(xié)議,還需要使用下面一層提供服務(wù)。協(xié)議和服務(wù)的概念的區(qū)分: 1、協(xié)議的實現(xiàn)保證了能夠向上一層提供服務(wù)。本層的服務(wù)用戶只能看見服務(wù)而無法看見下面的協(xié)議。下面的協(xié)議對上面的服務(wù)用戶是透明的。 2、協(xié)議是“水平的”,即協(xié)議是控制兩個對等實體進行通信的規(guī)則。但服務(wù)是“垂直的”,即服務(wù)是由下層通過層間接口向上層提供的。上層使用所提供的服務(wù)必須與下層交換一些命令,這些命令在OSI中稱為服務(wù)原語。 物理層的主要任務(wù)描述為確定與傳輸媒體的接口有關(guān)的一些特性? 機械特性:指明接口所用接線器的形狀和尺寸。 電氣特性:指明在接口電纜的各條線上出現(xiàn)的電壓的范圍。功能特性:指明某條線上出現(xiàn)的某一電平的電壓表示何種意義。過程特性:指明對于不同功能的各種可能事件的出現(xiàn)順序。 一個數(shù)據(jù)通信系統(tǒng)可劃分為三大部分:源系統(tǒng)、傳輸系統(tǒng)、目的系統(tǒng)。 通信的雙方信息交互方式: 單向通信:只能有一個方向的通信而沒有反方向的交互。(無線電廣播、有線電廣播、電視廣播)。 雙向交替通信:通信雙方都可以發(fā)送信息,但不能雙方同時發(fā)送和接收,只能一方發(fā)送另一方接收。 雙向同時通信:通信雙方可以同時發(fā)送和接收信息。 香農(nóng)公式:信道的極限信息傳輸速率C=W㏒2(1+S/N)(b/s)W為信道帶寬(Hz)s為平均功率 N為高斯噪聲功率 公示表明:信道的帶寬或信道中的噪音比越大,信息的極限傳輸速率就越高。信噪比(dB)=10㏒10(S/N)(dB) 非引導(dǎo)型傳輸媒體的特點? 1.無線傳輸可使用的頻段很廣 2.短波通信,靠電商層的反射。 3.微波通信在數(shù)據(jù)通信中占有重要的地位。微波通信主要包括兩種方式:地面微波接力通信(信道容量很大,傳輸質(zhì)量高,投資少、見效快。)。衛(wèi)星通信(通信距離遠(yuǎn),通信容量大、干擾小、穩(wěn)定,具有較大的傳播時延,覆蓋面廣,造價較高) 例3-1:要發(fā)送的數(shù)據(jù)為1101011011。采用CRC的生成多項式是P(X)=X4+X+1。試求應(yīng)添加在數(shù)據(jù)后面的余數(shù)。數(shù)據(jù)在傳輸過程中最后一個1變成了0,問接收端能否發(fā)現(xiàn)?若數(shù)據(jù)在傳輸過程中最后兩個1都變成了0,問接收端能否發(fā)現(xiàn)?采用CRC檢驗后,數(shù)據(jù)鏈路層的傳輸是否就變成了可靠的傳輸? 答:作二進制除法,1101011011 0000 10011 得余數(shù)1110,添加的檢驗序列是1110.作二進制除法,兩種錯誤均可發(fā)展 僅僅采用了CRC檢驗,缺重傳機制,數(shù)據(jù)鏈路層的傳輸還不是可靠的傳輸。 例:要發(fā)送的數(shù)據(jù)為101110。采用CRCD 生成多項式是P(X)=X3+1。試求應(yīng)添加在數(shù)據(jù)后面的余數(shù)。 答:作二進制除法,101110 000 10011 添加在數(shù)據(jù)后面的余數(shù)是011 PPP協(xié)議的主要特點是什么? PPP協(xié)議就是用戶計算機和JSP進行通信時所使用的數(shù)據(jù)鏈路層協(xié)議。PPP協(xié)議需要滿足的需求:簡單、封裝成幀、透明性、多種網(wǎng)絡(luò)層協(xié)議、多種類型鏈路、差錯檢測、檢測連接狀態(tài)、最大傳輸單元、網(wǎng)絡(luò)層地址協(xié)商、數(shù)據(jù)壓縮協(xié)商。 PPP協(xié)議的組成:1.一個將IP數(shù)據(jù)報封裝到鏈路的方法。2.一個用來建立、配置和測試數(shù)據(jù)鏈路控制協(xié)議LCP。3.一套網(wǎng)絡(luò)控制協(xié)議NCP,其中的每個協(xié)議支持不同的網(wǎng)絡(luò)協(xié)議層。 局域網(wǎng)的拓?fù)溆心膸追N,特點是什么? 星形網(wǎng),環(huán)形網(wǎng),總線網(wǎng)。1.星型拓?fù)浣Y(jié)構(gòu) 是一種以中央節(jié)點為中心,把若干外圍節(jié)點連接起來的輻射式互聯(lián)結(jié)構(gòu)。這種結(jié)構(gòu)適用于局域網(wǎng),特別是近年來連接的局域網(wǎng)大都采用這種連接方式。這種連接方式以雙絞線或同軸電纜作連接線路。優(yōu)點:結(jié)構(gòu)簡單、容易實現(xiàn)、便于管理,通常以集線器(Hub)作為中央節(jié)點,便于維護和管理。缺點:中心結(jié)點是全網(wǎng)絡(luò)的可靠瓶頸,中心結(jié)點出現(xiàn)故障會導(dǎo)致網(wǎng)絡(luò)的癱瘓。 2.環(huán)形拓?fù)浣Y(jié)構(gòu) 各結(jié)點通過通信線路組成閉合回路,環(huán)中數(shù)據(jù)只能單向傳輸,信息在每臺設(shè)備上的延時時間是固定的。特別適合實時控制的局域網(wǎng)系統(tǒng)。優(yōu)點:結(jié)構(gòu)簡單,適合使用光纖,傳輸距離遠(yuǎn),傳輸延遲確定。缺點:環(huán)網(wǎng)中的每個結(jié)點均成為網(wǎng)絡(luò)可靠性的瓶頸,任意結(jié)點出現(xiàn)故障都會造成網(wǎng)絡(luò)癱瘓,另外故障診斷也較困難。最著名的環(huán)形拓?fù)浣Y(jié)構(gòu)網(wǎng)絡(luò)是令牌環(huán)網(wǎng)(Token Ring)3.總線拓?fù)浣Y(jié)構(gòu) 是將網(wǎng)絡(luò)中的所有設(shè)備通過相應(yīng)的硬件接口直接連接到公共總線上,結(jié)點之間按廣播方式通信,一個結(jié)點發(fā)出的信息,總線上的其它結(jié)點均可“收聽”到。拓?fù)浣Y(jié)構(gòu) 優(yōu)點:結(jié)構(gòu)簡單、布線容易、可靠性較高,易于擴充,節(jié)點的故障不會殃及系統(tǒng),是局域網(wǎng)常采用的拓?fù)浣Y(jié)構(gòu)。缺點:所有的數(shù)據(jù)都需經(jīng)過總線傳送,總線成為整個網(wǎng)絡(luò)的瓶頸;出現(xiàn)故障診斷較為困難。另外,由于信道共享,連接的節(jié)點不宜過多,總線自身的故障可以導(dǎo)致系統(tǒng)的崩潰。最著名的總線拓?fù)浣Y(jié)構(gòu)是以太網(wǎng)(Ethernet)。 計算機與外界局域網(wǎng)的連接是通過通信適配器,適配器本來是在主機箱內(nèi)插入的一塊網(wǎng)絡(luò)接口板,這種接口板簡稱為網(wǎng)卡。適配器的作用:連接計算機與外界局域網(wǎng),進行數(shù)據(jù)串行傳輸并進行傳輸?shù)霓D(zhuǎn)換。實現(xiàn)數(shù)據(jù)鏈路層物理層這兩層的功能。 1990年IEEE制定出星形以太網(wǎng)10BASE-T的標(biāo)準(zhǔn)802.3i。“10”代表10Mb/s的數(shù)據(jù)率。BASE表示連接線上的信號是基帶信號,T代表雙絞線。 什么是無效的MAC幀? 幀的長度不是整數(shù)個字節(jié),用收到的幀檢驗序列FCS查出有差錯,收到的幀的MAC客戶數(shù)據(jù)字段的長度不在46-1500字節(jié)之間。考慮到MAC幀首部和尾部的長度共有18個字節(jié),可以得出有效的MAC幀長度為64-1518字節(jié)之間。 網(wǎng)橋的工作原理和特點是什么?網(wǎng)橋與轉(zhuǎn)發(fā)器以及以太網(wǎng)交換機有何異同? 網(wǎng)橋工作在數(shù)據(jù)鏈路層,它根據(jù) MAC 幀的目的地址對收到的幀進行轉(zhuǎn)發(fā)。網(wǎng)橋具有過濾幀的功能。當(dāng)網(wǎng)橋收到一個幀時,并不是向所有的接口轉(zhuǎn)發(fā)此幀,而是先檢查此幀的目的 MAC 地址,然后再確定將該幀轉(zhuǎn)發(fā)到哪一個接口轉(zhuǎn)發(fā)器工作在物理層,它僅簡單地轉(zhuǎn)發(fā)信號,沒有過濾能力。以太網(wǎng)交換機則為鏈路層設(shè)備,可視為多端口網(wǎng)橋 PING指令原理:ping指令通過發(fā)送ICMP包來驗證與另一臺TCP/IP計算機的IP級連接。應(yīng)答消息的接收情況將和往返過程的次數(shù)一起顯示出來。ping指令用于檢測網(wǎng)絡(luò)的連接性和可到達性。 端口的分類和作用是什么? 分類:運輸層的端口號共分為兩大類:服務(wù)器端使用的端口號(最重要的一類叫做熟知端口號或系統(tǒng)端口號,另一類叫做登記端口號)、客戶端使用的端口號。 作用:端口的作用是對TCP/IP體系的應(yīng)用進程進行統(tǒng)一的標(biāo)志,使運行不同操作系統(tǒng)的計算機的應(yīng)用進程能夠互相通信 TCP的主要特點? TCP是面向連接的運輸層協(xié)議、每一條TCP連接只能有兩個端點、TCP提供可靠交付的服務(wù)、TCP提供全雙工通信、面向字節(jié)流。 基于TCP的FTP和基于UDP的簡單文件傳輸協(xié)議TFTP。 網(wǎng)絡(luò)層 一、網(wǎng)絡(luò)層提供的兩種服務(wù) 虛電路服務(wù)可靠通信應(yīng)當(dāng)由網(wǎng)絡(luò)來保證 數(shù)據(jù)報服務(wù)可靠通信應(yīng)當(dāng)由用戶主機來保證 網(wǎng)絡(luò)層向上只提供簡單靈活的、無連接的、盡最大努力交付的數(shù)據(jù)報服務(wù)。 二、網(wǎng)際協(xié)議IP 1、與IP 協(xié)議配套使用的還有三個協(xié)議: ? 地址解析協(xié)議ARP ? 網(wǎng)際控制報文協(xié)議ICMP ? 網(wǎng)際組管理協(xié)議IGMP 2、網(wǎng)絡(luò)互相連接起來要使用一些中間設(shè)備 ? 中間設(shè)備又稱為中間系統(tǒng)或中繼(relay)系統(tǒng)。 ? 物理層中繼系統(tǒng):轉(zhuǎn)發(fā)器(repeater)。 ? 數(shù)據(jù)鏈路層中繼系統(tǒng):網(wǎng)橋或橋接器(bridge)。? 網(wǎng)絡(luò)層中繼系統(tǒng):路由器(router)。 ? 網(wǎng)橋和路由器的混合物:橋路器(brouter)。 網(wǎng)絡(luò)層以上的中繼系統(tǒng):網(wǎng)關(guān)(gateway) 3、互聯(lián)網(wǎng)可以由許多異構(gòu)網(wǎng)絡(luò)互聯(lián)組成 4、分類的IP 地址 IP 地址定義:就是給每個連接在因特網(wǎng)上的主機(或路由器)分配一個在全世界范圍是唯一的 32 位的標(biāo)識符。 5、IP 地址的編址方法 分類的 IP 地址,子網(wǎng)的劃分,構(gòu)成超網(wǎng)。 兩級的 IP 地址:IP 地址 ::= { <網(wǎng)絡(luò)號>, <主機號>} 分類的 IP 地址:A類,B類,C類地址都是單播地址 D類地址用于多播,E類地址保留 實際上 IP 地址是標(biāo)志一個主機(或路由器)和一條鏈路的接口。Ip地址不僅可以指明一個主機,還指明了主機所連接到的網(wǎng)絡(luò) 點分十進制記法:192.168.1.1 一些特殊的ip地址:保留地址0.0.0.0 本地軟件環(huán)回測試地址127.0.0.1 不指派地址 128.0.0.0 192.0.0.0 6、ip地址與硬件地址的區(qū)別:IP地址放在IP數(shù)據(jù)報首部,硬件地址放在MAC幀首部,在網(wǎng)絡(luò)層及網(wǎng)絡(luò)層以上使用IP地址,在鏈路層及以下使用硬件地址 7、解析協(xié)議 ARP 每一個主機都設(shè)有一個ARP 高速緩存(ARP cache),里面有所在的局域網(wǎng)上的各主機和路由器的IP 地址到硬件地址的映射表,這個映射表還經(jīng)常動態(tài)更新。 ARP 是解決同一個局域網(wǎng)上的主機或路由器的IP 地址和硬件地址的映射問題。 8、如何知道同一個局域網(wǎng)內(nèi)其他主機的mac地址? A在局域網(wǎng)內(nèi)廣播arp請求分組,其他主機接收分組,IP地址與報文中一致的主機收下分組,并在自己的arp緩存中寫入主機A的IP地址到mac地址的映射,并發(fā)送arp響應(yīng)報文,A收到響應(yīng)報文后在自己的arp緩存中寫入主機B的IP地址到mac地址的映射。 9、生存時間,一般為10-20分鐘 10、若主機不在同一個局域網(wǎng)內(nèi),arp映射表怎樣建立?交給連接不同網(wǎng)絡(luò)的路由器 11、使用ARP 的四種典型情況 發(fā)送方是主機,要把IP數(shù)據(jù)報發(fā)送到本網(wǎng)絡(luò)上的另一個主機。這時用ARP 找到目的主機的硬件地址。 發(fā)送方是主機,要把IP 數(shù)據(jù)報發(fā)送到另一個網(wǎng)絡(luò)上的一個主機。這時用ARP 找到本網(wǎng)絡(luò)上的一個路由器的硬件地址。剩下的工作由這個路由器來完成。 發(fā)送方是路由器,要把IP 數(shù)據(jù)報轉(zhuǎn)發(fā)到本網(wǎng)絡(luò)上的一個主機。這時用ARP 找到目的主機的硬件地址。 發(fā)送方是路由器,要把IP 數(shù)據(jù)報轉(zhuǎn)發(fā)到另一個網(wǎng)絡(luò)上的一個主機。這時用ARP 找到本網(wǎng)絡(luò)上另一個路由器的硬件地址。剩下的工作由這個路由器來完成。12為什么不直接使用mac地址通信,要加上ip地址 為了完成異構(gòu)網(wǎng)絡(luò)之間的通訊,mac地址比較復(fù)雜,ip方便用戶操作,提高CPU的效率,這樣在網(wǎng)絡(luò)傳輸中就可以由網(wǎng)卡來識別mac地址,不用再上傳到CPU識別 13、IP數(shù)據(jù)包格式 ? 一個IP 數(shù)據(jù)報由首部和數(shù)據(jù)兩部分組成。 ? 首部的前一部分是固定長度,共20 字節(jié),是所有IP 數(shù)據(jù)報必須具有的。? 在首部的固定部分的后面是一些可選字段,其長度是可變的。 14、首部長度——占4 位,可表示的最大數(shù)值是15 個單位(一個單位為4 字節(jié))因此IP 的首部長度的最大值是60 字節(jié)。固定長度為20字節(jié) 15、總長度——占16 位,指首部和數(shù)據(jù)之和的長度,單位為字節(jié),因此數(shù)據(jù)報的最大長度為65535 字節(jié)。總長度必須不超過最大傳送單元MTU 16、標(biāo)志(flag):占3 位,目前只有前兩位有意義。 標(biāo)志字段的最低位是MF(More Fragment)。MF ? 1 表示后面“還有分片”。MF ? 0 表示最后一個分片。標(biāo)志字段中間的一位是DF(Don't Fragment)。只有當(dāng)DF ? 0 時才允許分片。 17、片偏移(13 位)指出:較長的分組在分片后某片在原分組中的相對位置。片偏移以8 個字節(jié)為偏移單位。 18、生存時間(8 位)記為TTL(Time To Live)數(shù)據(jù)報在網(wǎng)絡(luò)中可通過的路由器數(shù)的最大值。單位為跳數(shù)。數(shù)據(jù)報能在英特網(wǎng)中傳輸?shù)淖畲筇鴶?shù)為255個路由器 19、協(xié)議(8 位)字段指出此數(shù)據(jù)報攜帶的數(shù)據(jù)使用何種協(xié)議,以便目的主機的IP 層將數(shù)據(jù)部分上交給哪個處理過程 20、首部檢驗和(16 位)字段只檢驗數(shù)據(jù)報的首部,不檢驗數(shù)據(jù)部分。采用累加法,以16位字為單位加 21、IP層分組轉(zhuǎn)發(fā)的流程:分組轉(zhuǎn)發(fā)算法 (1)從數(shù)據(jù)報的首部提取目的主機的 IP 地址D, 得出目的網(wǎng)絡(luò)地址為N。 (2)若網(wǎng)絡(luò)N 與此路由器直接相連,則把數(shù)據(jù)報直接交付目的主機D;否則是間接交付,執(zhí)行(3)。 (3)若路由表中有目的地址為D 的特定主機路由,則把數(shù)據(jù)報傳送給路由表中所指明的下一跳路由器;否則,執(zhí)行(4)。 (4)若路由表中有到達網(wǎng)絡(luò)N 的路由,則把數(shù)據(jù)報傳送給路由表指明的下一跳路由器;否則,執(zhí)行(5)。 (5)若路由表中有一個默認(rèn)路由,則把數(shù)據(jù)報傳送給路由表中所指明的默認(rèn)路由器;否則,執(zhí)行(6)。 (6)報告轉(zhuǎn)發(fā)分組出錯。 三、劃分子網(wǎng) 1、三級IP:IP地址::= {<網(wǎng)絡(luò)號>, <子網(wǎng)號>, <主機號>} 2、劃分子網(wǎng)純屬一個單位內(nèi)部的事情。單位對外仍然表現(xiàn)為沒有劃分子網(wǎng)的網(wǎng)絡(luò)。 3、從主機號借用若干個位作為子網(wǎng)號 subnet-id,而主機號host-id 也就相應(yīng)減少了若干個位。 4、子網(wǎng)掩碼:使用子網(wǎng)掩碼(subnet mask)可以找出IP 地址中的子網(wǎng)部分。 5、默認(rèn)子網(wǎng)掩碼:原來兩級IP時A、B、C類地址使用的網(wǎng)絡(luò)號 6、路由器的路由表中的每一個項目,除了要給出目的網(wǎng)絡(luò)地址外,還必須同時給出該網(wǎng)絡(luò)的子網(wǎng)掩碼 7、不同的子網(wǎng)掩碼得出相同的網(wǎng)絡(luò)地址,但不同的掩碼的效果是不同的 8、在劃分子網(wǎng)的情況下路由器轉(zhuǎn)發(fā)分組的算法(1)從收到的分組的首部提取目的IP 地址D。(2)先用各網(wǎng)絡(luò)的子網(wǎng)掩碼和D 逐位相“與”,看是否和相應(yīng)的網(wǎng)絡(luò)地址匹配。若匹配,則將分組直接交付。否則就是間接交付,執(zhí)行(3)。 (3)若路由表中有目的地址為D 的特定主機路由,則將分組傳送給指明的下一跳路由器;否則,執(zhí)行(4)。 (4)對路由表中的每一行的子網(wǎng)掩碼和D 逐位相“與”,若其結(jié)果與該行的目的網(wǎng)絡(luò)地址匹配,則將分組傳送給該行指明的下一跳路由器;否則,執(zhí)行(5)。 (5)若路由表中有一個默認(rèn)路由,則將分組傳送給路由表中所指明的默認(rèn)路由器;否則,執(zhí)行(6)。 (6)報告轉(zhuǎn)發(fā)分組出錯。 9、無分類編址CIDR CIDR使用各種長度的“網(wǎng)絡(luò)前綴”(network-prefix)來代替分類地址中的網(wǎng)絡(luò)號和子網(wǎng)號。IP 地址從三級編址(使用子網(wǎng)掩碼)又回到了兩級編址。 IP地址::= {<網(wǎng)絡(luò)前綴>, <主機號>} 128.14.32.0/20 四、網(wǎng)際控制報文協(xié)議ICMP:為了提高IP 數(shù)據(jù)報交付成功的機會 1、ICMP 允許主機或路由器報告差錯情況和提供有關(guān)異常情況的報告。 2、作用:用于在IP主機、路由器之間傳遞控制消息。控制消息是指網(wǎng)絡(luò)通不通、主機是否可達、路由是否可用等網(wǎng)絡(luò)本身的消息 3、ICMP 不是高層協(xié)議,而是IP 層的協(xié)議。 4、ICMP 報文作為IP 層數(shù)據(jù)報的數(shù)據(jù),加上數(shù)據(jù)報的首部,組成IP 數(shù)據(jù)報發(fā)送出去。 5、ICMP 報文的格式:類型:1字節(jié),代碼:1字節(jié),檢驗和:2字節(jié);接下去四個字節(jié)與類型有關(guān),數(shù)據(jù)部分(差錯報文):ip首部+ip數(shù)據(jù)報前8個字節(jié) 6、ICMP 報文的種類有兩種,即ICMP 差錯報告報文和ICMP 詢問報文。 7、ICMP 差錯報告報文共有5 種:終點不可達、源點抑制、時間超過、參數(shù)問題、改變路由(重定向) 8、不應(yīng)發(fā)送ICMP 差錯報告報文的幾種情況 (1)對ICMP 差錯報告報文不再發(fā)送ICMP 差錯報告報文。 (2)對第一個分片的數(shù)據(jù)報片的所有后續(xù)數(shù)據(jù)報片都不發(fā)送ICMP 差錯報告報文。(3)對具有多播地址的數(shù)據(jù)報都不發(fā)送ICMP 差錯報告報文。 (4)對具有特殊地址(如127.0.0.0 或0.0.0.0)的數(shù)據(jù)報不發(fā)送ICMP 差錯報告報文。 9、ICMP 詢問報文有兩種:回送請求和回答報文、時間戳請求和回答報文 10、ping報文就是icmp報文 五、因特網(wǎng)的路由選擇協(xié)議 1、路由選擇協(xié)議的核心就是理想的路由算法 2、從路由算法的自適應(yīng)性分類 靜態(tài)路由選擇策略——即非自適應(yīng)路由選擇 動態(tài)路由選擇策略——即自適應(yīng)路由選擇 3、因特網(wǎng)采用分層次的路由選擇協(xié)議。 4、自治系統(tǒng)AS 的定義:在單一的技術(shù)管理下的一組路由器,而這些路由器使用一種AS 內(nèi)部的路由選擇協(xié)議和共同的度量以確定分組在該AS 內(nèi)的路由,同時還使用一種AS 之間的路由選擇協(xié)議用以確定分組在AS之間的路由 5、因特網(wǎng)有兩大類路由選擇協(xié)議 內(nèi)部網(wǎng)關(guān)協(xié)議 IGP(Interior Gateway Protocol) 即在一個自治系統(tǒng)內(nèi)部使用的路由選擇協(xié)議,常用的有RIP,OSPF 外部網(wǎng)關(guān)協(xié)議EGP(External Gateway Protocol)不在一個自治系統(tǒng)內(nèi)部使用的路由選擇協(xié)議,常用的有BGP 6、自治系統(tǒng)之間的路由選擇也叫做,域間路由選擇(interdomain routing),在自治系統(tǒng)內(nèi)部的路由選擇叫做,域內(nèi)路由選擇(intradomain routing) 7、內(nèi)部網(wǎng)關(guān)協(xié)議RIP(路由信息協(xié)議):RIP 是一種分布式的基于距離向量的路由選擇協(xié)議。基于UDP的應(yīng)用層協(xié)議 ? RIP 協(xié)議中的“距離”也稱為“跳數(shù)”(hop count),因為每經(jīng)過一個路由器,跳數(shù)就加1。 ? RIP 允許一條路徑最多只能包含15 個路由器。 ? “距離”的最大值為16 時即相當(dāng)于不可達。可見RIP只適用于小型互聯(lián)網(wǎng)。 ? RIP 不能在兩個網(wǎng)絡(luò)之間同時使用多條路由。RIP 選擇一個具有最少路由器的路由(即最短路由),哪怕還存在另一條高速(低時延)但路由器較多的路由。 8、RIP 協(xié)議的三個要點 ? 僅和相鄰路由器交換信息。 ? 交換的信息是當(dāng)前本路由器所知道的全部信息,即自己的路由表。? 按固定的時間間隔交換路由信息,例如,每隔30 秒。 9、距離向量算法 收到相鄰路由器(其地址為X)的一個RIP 報文: (1)先修改此RIP 報文中的所有項目:把“下一跳”字段中的地址都改為X,并把所有的“距離”字段的值加1。 (2)對修改后的RIP 報文中的每一個項目,重復(fù)以下步驟:若項目中的目的網(wǎng)絡(luò)不在路由表中,則把該項目加到路由表中。否則,若下一跳字段給出的路由器地址是同樣的,則把收到的項目替換原路由表中的項目。否則,若收到項目中的距離小于路由表中的距離,則進行更新,否則,什么也不做。 (3)若3 分鐘還沒有收到相鄰路由器的更新路由表,則把此相鄰路由器記為不可達路由器,即將距離置為16(距離為16表示不可達)。(4)返回。 10、RIP2 的報文由首部和路由部分組成 路由部分:地址族標(biāo)識符,路由標(biāo)記,網(wǎng)絡(luò)地址、該網(wǎng)絡(luò)的子網(wǎng)掩碼、下一跳路由器地址以及到此網(wǎng)絡(luò)的距離組成 11、RIP 協(xié)議的特點:好消息傳播的快,壞消息傳播的慢 網(wǎng)絡(luò)出故障的傳播時間往往需要較長的時間(例如數(shù)分鐘) 12、內(nèi)部網(wǎng)關(guān)協(xié)議OSPF(開放最短路徑優(yōu)先) (1)向本自治系統(tǒng)中所有路由器發(fā)送信息,這里使用的方法是洪泛法。 (2)發(fā)送的信息就是與本路由器相鄰的所有路由器的鏈路狀態(tài),但這只是路由器所知道的部分信息。“鏈路狀態(tài)”就是說明本路由器都和哪些路由器相鄰,以及該鏈路的“度量”(metric)。 (3)只有當(dāng)鏈路狀態(tài)發(fā)生變化時,路由器才用洪泛法向所有路由器發(fā)送此信息。 13、OSPF 的區(qū)域(area):為了使OSPF 能夠用于規(guī)模很大的網(wǎng)絡(luò),OSPF 將一個自治系統(tǒng)再劃分為若干個更小的范圍,叫作區(qū)域。 14、每一個區(qū)域的路由器數(shù)量不超過200個,分成兩種區(qū)域,即主干區(qū)域和其他區(qū)域 15、劃分區(qū)域的好處就是將利用洪泛法交換鏈路狀態(tài)信息的范圍局限于每一個區(qū)域而不是整個的自治系統(tǒng),這就減少了整個網(wǎng)絡(luò)上的通信量。 在一個區(qū)域內(nèi)部的路由器只知道本區(qū)域的完整網(wǎng)絡(luò)拓?fù)洌恢榔渌麉^(qū)域的網(wǎng)絡(luò)拓?fù)涞那闆r。 OSPF 使用層次結(jié)構(gòu)的區(qū)域劃分。在上層的區(qū)域叫作主干區(qū)域(backbone area)。主干區(qū)域的標(biāo)識符規(guī)定為0.0.0.0。主干區(qū)域的作用是用來連通其他在下層的區(qū)域。 16、OSPF 不用UDP 而是直接用IP數(shù)據(jù)報傳送。OSPF 構(gòu)成的數(shù)據(jù)報很短。這樣做可減少路由信息的通信量,而 17、OSPF協(xié)議中如果到同一個目的網(wǎng)絡(luò)有多條相同代價的路徑,那么可以將通信量分配給這幾條路徑。這叫作多路徑間的負(fù)載平衡。 18、OSPF 的五種分組類型:問候(Hello)分組。數(shù)據(jù)庫描述分組。鏈路狀態(tài)請求分組。鏈路狀態(tài)更新分組,用洪泛法對全網(wǎng)更新鏈路狀態(tài)。鏈路狀態(tài)確認(rèn)分組。 19、OSPF 還規(guī)定每隔一段時間,如30 分鐘,要刷新一次數(shù)據(jù)庫中的鏈路狀態(tài)。當(dāng)互聯(lián)網(wǎng)規(guī)模很大時,OSPF 協(xié)議要比距離向量協(xié)議RIP 好得多 20、外部網(wǎng)關(guān)協(xié)議BGP:BGP 是不同自治系統(tǒng)的路由器之間交換路由信息的協(xié)議。 六、IP 多播:可明顯地減少網(wǎng)絡(luò)中資源的消耗 1、多播使用組地址—— IP 使用D 類地址支持多播。多播地址只能用于目的地址,而不能用于源地址 2、因此TCP/IP 協(xié)議使用的以太網(wǎng)多播地址塊的范圍是:從00-00-5E-00-00-00 到00-00-5E-FF-FF-FF 3、IP多播需要兩種協(xié)議:網(wǎng)際組管理協(xié)議、IGMP多播路由選擇協(xié)議。 4、多播數(shù)據(jù)包和一般數(shù)據(jù)報的區(qū)別是其使用D類IP地址作為目的地址 5、IP多播的分類:在本局域網(wǎng)內(nèi)進行硬件多播(IP地址到mac地址的轉(zhuǎn)換看待)和在因特網(wǎng)的范圍進行多播 七、虛擬專用網(wǎng)VPN:利用公用的英特網(wǎng)作為本機構(gòu)各專用網(wǎng)之間的通信載體。通過英特網(wǎng)傳送的數(shù)據(jù)要加密。 1、本地地址——僅在機構(gòu)內(nèi)部使用的IP 地址,可以由本機構(gòu)自行分配,而不需要向因特網(wǎng)的管理機構(gòu)申請。 2、全球地址——全球唯一的IP地址,必須向因特網(wǎng)的管理機構(gòu)申請。 專用地址:只能用于一個機構(gòu)的內(nèi)部通信,而不能用于和因特網(wǎng)上的主機通信,是本地地址 ? 10.0.0.0 到10.255.255.255 ? 172.16.0.0 到172.31.255.255 ? 192.168.0.0 到192.168.255.255 3、內(nèi)聯(lián)網(wǎng)和外聯(lián)網(wǎng):看結(jié)果是否屬于同一個機構(gòu) 八、網(wǎng)絡(luò)地址轉(zhuǎn)換NAT 1、需要在專用網(wǎng)連接到因特網(wǎng)的路由器上安裝NAT 軟件。裝有NAT 軟件的路由器叫做NAT路由器,它至少有一個有效的外部全球地址IPG。 2、在專用網(wǎng)絡(luò)內(nèi)使用專用IP地址,僅在連接到英特網(wǎng)上的路由器時使用全球IP地址。并且一定要使用全球IP才能和英特網(wǎng)連接 3、通過NAT地址轉(zhuǎn)換表可以把IP數(shù)據(jù)報上的舊目的IP地址轉(zhuǎn)換為新的目的IP地址 4、使用端口號的NAT也叫網(wǎng)絡(luò)地址與端口號轉(zhuǎn)換NAPT 九、本章中出現(xiàn)的幾個表 1、ARP緩存的映射表:主要內(nèi)容是同一局域網(wǎng)內(nèi)的主機路由器的IP地址與MAC地址 2、路由表:主要內(nèi)容是目的網(wǎng)絡(luò),距離,下一跳的路由器 3、NAT轉(zhuǎn)換表:主要內(nèi)容是內(nèi)部專用IP地址與公網(wǎng)全球IP地址 整理者:福州大學(xué)張毅第三篇:計算機網(wǎng)絡(luò)謝希仁版運輸層知識點總結(jié)
第四篇:河南科技大學(xué)計算機網(wǎng)絡(luò)第六版(謝希仁)期末考試總結(jié)
第五篇:計算機網(wǎng)絡(luò)謝希仁版網(wǎng)絡(luò)層知識點總結(jié)