icmp協(xié)議功能是什么
首先咱們弄清楚,TCP協(xié)議和UCP協(xié)議與TCP/IP協(xié)議的聯(lián)系,很多人犯糊涂了,一直都是說TCP/IP協(xié)議與UDP協(xié)議的區(qū)別,我覺得這是沒有從本質(zhì)上弄清楚網(wǎng)絡通信!
TCP/IP協(xié)議是一個協(xié)議簇。里面包括很多協(xié)議的。UDP只是其中的一個。之所以命名為TCP/IP協(xié)議,因為TCP,IP協(xié)議是兩個很重要的協(xié)議,就用他兩命名了。
TCP/IP協(xié)議集包括應用層,傳輸層,網(wǎng)絡層,網(wǎng)絡訪問層。
其中應用層包括:
超文本傳輸協(xié)議(HTTP):萬維網(wǎng)的基本協(xié)議。
文件傳輸(TFTP簡單文件傳輸協(xié)議):
遠程登錄(Telnet),提供遠程訪問其它主機功能,它允許用戶登錄
internet主機,并在這臺主機上執(zhí)行命令。
網(wǎng)絡管理(SNMP簡單網(wǎng)絡管理協(xié)議),該協(xié)議提供了監(jiān)控網(wǎng)絡設備的方法,以及配置管理,統(tǒng)計信息收集,性能管理及安全管理等。
域名系統(tǒng)(DNS),該系統(tǒng)用于在internet中將域名及其公共廣播的網(wǎng)絡節(jié)點轉(zhuǎn)換成IP地址。
其次網(wǎng)絡層包括:
Internet協(xié)議(IP)
Internet控制信息協(xié)議(ICMP)
地址解析協(xié)議(ARP)
反向地址解析協(xié)議(RARP)
最后說網(wǎng)絡訪問層:網(wǎng)絡訪問層又稱作主機到網(wǎng)絡層(host-to-network)。網(wǎng)絡訪問層的功能包括IP地址與物理地址硬件的映射,以及將IP封裝成幀?;诓煌布愋偷木W(wǎng)絡接口,網(wǎng)絡訪問層定義了和物理介質(zhì)的連接。
當然我這里說得不夠完善,TCP/IP協(xié)議本來就是一門學問,每一個分支都是一個很復雜的流程,但我相信每位學習軟件開發(fā)的同學都有必要去仔細了解一番。
?
TCP的優(yōu)點:
? ? ? ? 可靠,穩(wěn)定 TCP的可靠體現(xiàn)在TCP在傳遞數(shù)據(jù)之前,會有三次握手來建立連接,而且在數(shù)據(jù)傳遞時,有確認、窗口、重傳、擁塞控制機制,在數(shù)據(jù)傳完后,還會斷開連接用來節(jié)約系統(tǒng)資源。 TCP的缺點: 慢,效率低,占用系統(tǒng)資源高,易被攻擊 TCP在傳遞數(shù)據(jù)之前,要先建連接,這會消耗時間,而且在數(shù)據(jù)傳遞時,確認機制、重傳機制、擁塞控制機制等都會消耗大量的時間,而且要在每臺設備上維護所有的傳輸連接,事實上,每個連接都會占用系統(tǒng)的CPU、內(nèi)存等硬件資源。 而且,因為TCP有確認機制、三次握手機制,這些也導致TCP容易被人利用,實現(xiàn)DOS、DDOS、CC等攻擊。
UDP的優(yōu)點:
? ? ? ? ? ?
? ? ? ? 快,比TCP稍安全 UDP沒有TCP的握手、確認、窗口、重傳、擁塞控制等機制,UDP是一個無狀態(tài)的傳輸協(xié)議,所以它在傳遞數(shù)據(jù)時非???。沒有TCP的這些機制,UDP較TCP被攻擊者利用的漏洞就要少一些。但UDP也是無法避免攻擊的,比如:UDP Flood攻擊…… UDP的缺點: 不可靠,不穩(wěn)定 因為UDP沒有TCP那些可靠的機制,在數(shù)據(jù)傳遞時,如果網(wǎng)絡質(zhì)量不好,就會很容易丟包。 基于上面的優(yōu)缺點,那么: 什么時候應該使用TCP: 當對網(wǎng)絡通訊質(zhì)量有要求的時候,比如:整個數(shù)據(jù)要準確無誤的傳遞給對方,這往往用于一些要求可靠的應用,比如HTTP、HTTPS、FTP等傳輸文件的協(xié)議,POP、SMTP等郵件傳輸?shù)膮f(xié)議。 在日常生活中,常見使用TCP協(xié)議的應用如下: 瀏覽器,用的HTTP FlashFXP,用的FTP Outlook,用的POP、SMTP Putty,用的Telnet、SSH QQ文件傳輸 ………… 什么時候應該使用UDP: 當對網(wǎng)絡通訊質(zhì)量要求不高的時候,要求網(wǎng)絡通訊速度能盡量的快,這時就可以使用UDP。 比如,日常生活中,常見使用UDP協(xié)議的應用如下: QQ語音 QQ視頻 TFTP ……
有些應用場景對可靠性要求不高會用到UPD,比如長視頻,要求速率