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