今天我們來看下各層的網絡協議,雖然開發過程中寫代碼不會直接涉及,但是理解好網絡協議對編程和理解系統的整個運行過程是非常有幫助的哦。
一、應用層協議
1、HTTP
HTTP(HyperText Transfer Protocol,超文本傳輸協議)用于從萬維網(WWW)服務器傳輸超文本到本地瀏覽器,是一個基于TCP/IP通信協議來傳遞數據(html 文件, 圖片文件, 查詢結果等)的協議。
2、FTP
FTP(File Transfer Protocol),即文件傳輸協議。FTP協議包含FTP服務器和FTP客戶端兩部分,其中FTP服務器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位于FTP服務器上的資源。
3、NFS
NFS(NetworkFileSystem),即網絡文件系統,是一種用于文件共享的協議,主要用于主機之間進行文件的共享。通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統上的文件。
4、SMTP
SMTP(Simple Mail Transfer Protocol),即簡單郵件傳輸協議,是互聯網上傳輸郵件的事實標準,用于由源地址到目的地址傳送郵件并控制信件的中轉方式。
5、DNS
DNS(DomainNameSystem),即域名系統,是用來將域名解析到IP地址的一種協議(而ARP協議是用來將IP地址轉換為mac地址的協議)。
二、傳輸層協議
1、TCP
TCP(Transmission Control Protocol),即傳輸控制協議,是一種面向連接的、可靠的、面向字節流的、全雙工的傳輸層通信協議。
2、UDP
UDP(User Datagram Protocol),即用戶數據報協議,是無連接的、不可靠的、面向報文的傳輸層協議。UDP始終以恒定的速率發送數據,沒有擁塞控制;UDP支持一對一、一對多、多對多、多對一通信,而TCP只支持一對一通信;UDP首部開銷小,只有8字節,而TCP頭部至少由20字節,相比于TCP要高效很多。
三、網絡層協議
1、IP協議
IP(Internet Protocol Address),網絡之間互連的協議,協議由主機到主機協議調用,負責調用本地網絡協議將數據包傳送以下一個網關或目的主機。可以理解為,為了實現各主機間的通信,每臺主機都必須有一個唯一的網絡地址,不至于在傳輸數據時出現混亂。IP地址是門牌號,而IP協議負責找到門牌號。
IP協議的主要功能是:尋址和路由、傳遞服務和數據包的分片重組。
2、ARP協議
ARP(Address Resolution Protocol)協議,又叫地址解析協議,是根據IP地址獲取物理地址的一個TCP/IP協議。其中有個ARP攻擊的概念,大家可以了解下。ARP攻擊主要存在于在局域網中,就是通過偽造IP地址和MAC地址實現ARP欺騙,能夠在網絡中產生大量的ARP通信量使網絡阻塞。