轉:http://www.tuicool.com/articles/JBVZJz
1.TCP/UDP區別以及TCP如何保證傳輸可靠性
TCP(Transmission Control Protocol,傳輸控制協議)是基於連接的協議,也就是說,在正式收發數據前,必須和對方建立可靠的連接。一個TCP連接必須要經過三次“對話”才能建立起來,其中的過程非常復雜,我們這里只做簡單、形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三次對話的簡單過程:主機A向主機B發出連接請求數據包:“我想給你發數據,可以嗎?”,這是第一次對話;主機B向主機A發送同意連接和要求同步(同步就是兩台主機一個在發送,一個在接收,協調工作)的數據包:“可以,你什么時候發?”,這是第二次對話;主機A再發出一個數據包確認主機B的要求同步:“我現在就發,你接着吧!”,這是第三次對話。三次“對話”的目的是使數據包的發送和接收同步,經過三次“對話”之后,主機A才向主機B正式發送數據。
UDP(User Data Protocol,用戶數據報協議)是與TCP相對應的協議。它是面向非連接的協議,它不與對方建立連接,而是直接就把數據包發送過去!
UDP適用於一次只傳送少量數據、對可靠性要求不高的應用環境。比如,我們經常使用“ping”命令來測試兩台主機之間TCP/IP通信是否正常,其實“ping”命令的原理就是向對方主機發送UDP數據包,然后對方主機確認收到數據包,如果數據包是否到達的消息及時反饋回來,那么網絡就是通的。例如,在默認狀態下,一次“ping”操作發送4個數據包。大家可以看到,發送的數據包數量是4包,收到的也是4包(因為對方主機收到后會發回一個確認收到的數據包)。這充分說明了UDP協議是面向非連接的協議,沒有建立連接的過程。正因為UDP協議沒有連接的過程,所以它的通信效果高;但也正因為如此,它的可靠性不如TCP協議高。QQ就使用UDP發消息,因此有時會出現收不到消息的情況。
tcp協議和udp協議的差別
TCP UDP
是否連接 面向連接 面向非連接
傳輸可靠性 可靠 不可靠
應用場合 傳輸大量數據 少量數據
速度 慢 快
TCP的可靠性如何保證:
在TCP的連接中,數據流必須以正確的順序送達對方。TCP的可靠性是通過順序編號和確認(ACK)來實現的。TCP在開始傳送一個段時,為准備重傳而首先將該段插入到發送隊列之中,同時啟動時鍾。其后,如果收到了接受端對該段的ACK信息,就將該段從隊列中刪去。如果在時鍾規定的時間內,ACK未返回,那么就從發送隊列中再次送出這個段。TCP在協議中就對數據可靠傳輸做了保障,握手與斷開都需要通訊雙方確認,數據傳輸也需要雙方確認成功,在協議中還規定了:分包、重組、重傳等規則;而UDP主要是面向不可靠連接的,不能保證數據正確到達目的地。
2.常見的路由選擇協議,以及它們的區別
常見的路由選擇協議有:RIP協議、OSPF協議。
RIP協議:底層是貝爾曼福特算法,它選擇路由的度量標准(metric)是跳數,最大跳數是15跳,如果大於15跳,它就會丟棄數據包。
OSPF協議:底層是迪傑斯特拉算法,是鏈路狀態路由選擇協議,它選擇路由的度量標准是帶寬,延遲。
3.OSI七層模型與TCP/IP五層模型
OSI七層模型
OSI 中的層 功能 TCP/IP協議族
應 用層 文件傳輸,電子郵件,文件服務,虛擬終 端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示層 數據格式化,代碼轉換,數據加密 沒有協議
會話 層 解除或建立與別的接點的聯系 沒有協議
傳輸層 提供端對端的接口 TCP,UDP
網 絡層 為數據包選擇路由 IP,ICMP,RIP,OSPF,BGP,IGMP
數據鏈路層 傳輸有地址的幀以及錯誤檢測功能 SLIP,CSLIP,PPP,ARP,RARP,MTU
物 理層 以二進制數據形式在物理媒體上傳輸數據 ISO2110,IEEE802,IEEE802.2
***************************************************************************************************************
TCP/IP五層模型的協議
應用層
傳輸層:四層交換機、也有工作在四層的路由器
網絡層:路由器、三層交換機
數據鏈路層:網橋(現已很少使用)、以太網交換機(二層交換機)、網卡(其實網卡是一半工作在物理層、一半工作在數據鏈路層)
物理層:中繼器、集線器、還有我們通常說的雙絞線也工作在物理層
TCP/IP中,每一層對應的協議
網絡層:IP協議、ICMP協議、ARP協議、RARP協議。
傳輸層:UDP協議、TCP協議。
應用層:FTP(文件傳送協議)、Telenet(遠程登錄協議)、DNS(域名解析協議)、SMTP(郵件傳送協議),POP3協議(郵局協議),HTTP協議。
注意:
在OSI模型中ARP協議屬於鏈路層;而在TCP/IP模型中,ARP協議屬於網絡層。
**************************************************************
除了層的數量之外,開放式系統互聯(OSI)模型與TCP/IP協議有什么區別?
開放式 系統互聯模型是一個參考標准,解釋協議相互之間應該如何相互作用。TCP/IP協議是美國國防部發明的,是讓互聯網成為了目前這個樣子的標准之一。 開放式系統互聯模型中沒有清楚地描繪TCP/IP協議,但是在解釋TCP/IP協議時很容易想到開放式系統互聯模型。
兩者的主要區別如下:
·TCP/IP協議中的應用層處理開放式系統互聯模型中的第五層、第六層和第七層的功能。
·TCP/IP協議中的傳輸層並不能總是保證在傳 輸層可靠地傳輸數據包,而開放式系統互聯模型可以做到。TCP/IP協議還提供一項名為UDP(用戶數據報協議)的選擇。UDP不能保證可靠的數據包傳 輸。
4.OSI七層模型詳解及各層的硬件設備
應用層,很簡單,就是應用程序。這一層負責確定通信對象,並確保由足夠的資源用於通信,這些當然都是想要通信的應用程序干的事情。為操作系統或網絡應用程序提供訪問網絡服務的接口。
應用層協議的代表包括:Telnet、FTP、HTTP、SNMP等。
表示層,負責數據的編碼、轉化,確保應用層的正常工作。這一層,是將我們看到的界面與二進制間互相轉化的地方,就是我們的語言與機器語言間的轉化。數據的壓縮、解壓,加密、解密都發生在這一層。這一層根據不同的應用目的將數據處理為不同的格式,表現出來就是我們看到的各種各樣的文件擴展名。
會話層,負責建立、維護、控制會話,區分不同的會話,以及提供單工(Simplex)、半雙工(Half duplex)、全雙工(Full duplex)三種通信模式的服務。我們平時所知的NFS,RPC,X Windows等都工作在這一層。管理主機之間的會話進程,即負責建立、管理、終止進程之間的會話。會話層還利用在數據中插入校驗點來實現數據的同步。
傳輸層,負責分割、組合數據,實現端到端的邏輯連接。數據在上三層是整體的,到了這一層開始被分割,這一層分割后的數據被稱為段(Segment)。三次握手(Three-way handshake),面向連接(Connection-Oriented)或非面向連接(Connectionless-Oriented)的服務,流控(Flow control)等都發生在這一層。是第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。
在這一層,數據的單位稱為數據段(segment)。
傳輸層協議的代表包括:TCP、UDP、SPX等
網絡層,負責管理網絡地址,定位設備,決定路由。我們所熟知的IP地址和路由器就是工作在這一層。上層的數據段在這一層被分割,封裝后叫做包(Packet),包有兩種,一種叫做用戶數據包(Data packets),是上層傳下來的用戶數據;另一種叫路由更新包(Route update packets),是直接由路由器發出來的,用來和其他路由器進行路由信息的交換。負責對子網間的數據包進行路由選擇。網絡層還可以實現擁塞控制、網際互連等功能。
在這一層,數據的單位稱為數據包(packet)。
網絡層協議的代表包括:IP、IPX、RIP、OSPF等
數據鏈路層,負責准備物理傳輸,CRC校驗,錯誤通知,網絡拓撲,流控等。我們所熟知的MAC地址和交換機都工作在這一層。上層傳下來的包在這一層被分割封裝后叫做幀(Frame)。在不可靠的物理介質上提供可靠的傳輸。該層的作用包括:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。
在這一層,數據的單位稱為幀(frame)。
數據鏈路層協議的代表包括:SDLC、HDLC、PPP、STP、幀中繼等
物理層,就是實實在在的物理鏈路,負責將數據以比特流的方式發送、接收,就不多說了。
各層的設備:
物理層:中繼器(Repeater,也叫放大器),集線器,網線。
數據鏈路層:網橋,交換機。
網絡層:路由器。
網關:網絡層以上的設備。
5.IP地址的分類(尤其注意特殊IP)
A類地址:以0開頭,第一個字節范圍:0~127;
B類地址:以10開頭,第一個字節范圍:128~191;
C類地址:以110開頭,第一個字節范圍:192~223;
D類地址:以1110開頭,第一個字節范圍為224~239;

A類IP地址
B類IP地址
C類IP地址
D類IP地址
特殊的網址
6.ARP協議的工作原理
7.在瀏覽器中輸入網址后執行的全部過程
8. TCP對應的協議和UDP對應的協議
TCP對應的協議:
(1) FTP:定義了文件傳輸協議,使用21端口。常說某某計算機開了FTP服務便是啟動了文件傳輸服務。下載文件,上傳主頁,都要用到FTP服務。
(2) Telnet:它是一種用於遠程登陸的端口,用戶可以以自己的身份遠程連接到計算機上,通過這種端口可以提供一種基於DOS模式下的通信服務。如以前的BBS是-純字符界面的,支持BBS的服務器將23端口打開,對外提供服務。
(3) SMTP:定義了簡單郵件傳送協議,現在很多郵件服務器都用的是這個協議,用於發送郵件。如常見的免費郵件服務中用的就是這個郵件服務端口,所以在電子郵件設置-中常看到有這么SMTP端口設置這個欄,服務器開放的是25號端口。
(4) POP3:它是和SMTP對應,POP3用於接收郵件。通常情況下,POP3協議所用的是110端口。也是說,只要你有相應的使用POP3協議的程序(例如Fo-xmail或Outlook),就可以不以Web方式登陸進郵箱界面,直接用郵件程序就可以收到郵件(如是163郵箱就沒有必要先進入網易網站,再進入自己的郵-箱來收信)。
(5)HTTP協議:是從Web服務器傳輸超文本到本地瀏覽器的傳送協議。
UDP對應的協議:
(1) DNS:用於域名解析服務,將域名地址轉換為IP地址。DNS用的是53號端口。
(2) SNMP:簡單網絡管理協議,使用161號端口,是用來管理網絡設備的。由於網絡設備很多,無連接的服務就體現出其優勢。
(3) TFTP(Trival File Transfer Protocal),簡單文件傳輸協議,該協議在熟知端口69上使用UDP服務。
9.強調下上文的特殊IP地址
(1)網絡地址
IP地址由網絡號(包括子網號)和主機號組成,網絡地址的主機號為全0,網絡地址代表着整個網絡。
(2)廣播地址
廣播地址通常稱為直接廣播地址,是為了區分受限廣播地址。
廣播地址與網絡地址的主機號正好相反,廣播地址中,主機號為全1。當向某個網絡的廣播地址發送消息時,該網絡內的所有主機都能收到該廣播消息。
(3)組播地址
D類地址就是組播地址。
先回憶下A,B,C,D類地址吧
A類地址以00開頭,第一個字節作為網絡號,地址范圍為:0.0.0.0~127.255.255.255;
B類地址以10開頭,前兩個字節作為網絡號,地址范圍是:128.0.0.0~191.255.255.255;
C類地址以110開頭,前三個字節作為網絡號,地址范圍是:192.0.0.0~223.255.255.255。
D類地址以1110開頭,地址范圍是224.0.0.0~239.255.255.255,D類地址作為組播地址(一對多的通信);
E類地址以1111開頭,地址范圍是240.0.0.0~255.255.255.255,E類地址為保留地址,供以后使用。
Notice:只有A,B,C有網絡號和主機號之分,D類地址和E類地址沒有划分網絡號和主機號。
(4)255.255.255.255
該IP地址指的是受限的廣播地址。受限廣播地址與一般廣播地址(直接廣播地址)的區別在於,受限廣播地址之只能用於本地網絡,路由器不會轉發以受限廣播地址為目的地址的分組;一般廣播地址既可在本地廣播,也可跨網段廣播。例如:主機192.168.1.1/30上的直接廣播數據包后,另外一個網段192.168.1.5/30也能收到該數據報;若發送受限廣播數據報,則不能收到。
Notice:一般的廣播地址(直接廣播地址)能夠通過某些路由器(當然不是所有的路由器),而受限的廣播地址不能通過路由器。
(5)0.0.0.0
常用於尋找自己的IP地址,例如在我們的RARP,BOOTP和DHCP協議中,若某個未知IP地址的無盤機想要知道自己的IP地址,它就以255.255.255.255為目的地址,向本地范圍(具體而言是被各個路由器屏蔽的范圍內)的服務器發送IP請求分組。
(6)回環地址
127.0.0.0/8被用作回環地址,回環地址表示本機的地址,常用於對本機的測試,用的最多的是127.0.0.1。
(7)A、B、C類私有地址
私有地址(private address)也叫專用地址,它們不會在全球使用,只具有本地意義。
A類私有地址:10.0.0.0/8,范圍是:10.0.0.0~10.255.255.255
B類私有地址:172.16.0.0/12,范圍是:172.16.0.0~172.31.255.255
C類私有地址:192.168.0.0/16,范圍是:192.168.0.0~192.168.255.255
10. NAT協議、DHCP協議、DNS協議的作用
NAT協議:網絡地址轉換(NAT,Network AddressTranslation)屬接入廣域網(WAN)技術,
是一種將私有(保留)地址轉化為合法IP地址的轉換技術,它被廣泛應用於各種類型Internet接入方式和各種類型的網絡中。原因很簡單,NAT不僅完美地解決了lP地址不足的問題,而且還能夠有效地避免來自網絡外部的攻擊,隱藏並保護網絡內部的計算機。
借助於NAT,私有(保留)地址的"內部"網絡通過路由器發送數據包時,私有地址被轉換成合法的IP地址,一個局域網只需使用少量IP地址(甚至是1個)即可實現私有地址網絡內所有計算機與Internet的通信需求。
DHCP協議:動態主機設置協議(Dynamic Host ConfigurationProtocol, DHCP)
是一個局域網的網絡協議,使用UDP協議工作,主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址,給用戶或者內部網絡管理員作為對所有計算機作中央管理的手段。
DNS協議:DNS 是域名系統 (Domain Name System) 的縮寫,是因特網的一項核心服務,它作為可以將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。
11.子網掩碼的作用