1. 一般常見的協議:
- TCP/IP協議:傳輸控制協議/網際網路協議是網際網路通訊的基礎協議。它將資料分割成小的資料包進行傳輸,並透過IP地址定位目標裝置。
- HTTP協議:超文字傳輸協議是用於在網路中傳輸超文字的應用層協議。它用於在Web瀏覽器和Web伺服器之間傳輸HTML頁面。
- FTP協議:檔案傳輸協議是用於在網路中傳輸檔案的協議。它允許使用者在客戶端和伺服器之間進行檔案的上傳和下載。
- SMTP協議:簡單郵件傳輸協議是用於在網路中傳輸電子郵件的協議。它定義瞭如何傳送和接收電子郵件。
- DHCP協議:動態主機配置協議是用於在一個網路中自動分配IP地址的協議。它允許裝置動態獲取IP地址、子網掩碼、閘道器等網路配置資訊。
- DNS協議:域名系統是將域名解析為IP地址的協議。它透過將使用者輸入的域名轉換為IP地址,使得計算機能夠找到目標伺服器。
- Telnet協議:用於在網路上遠端登入到其他計算機進行操作和管理。
- SSH協議:和Telnet相似,但是提供了更加安全的遠端登入方式。
- SSL/TLS協議:用於在網路上進行安全的通訊,提供資料加密和認證功能,常用於安全的網頁瀏覽、電子商務等。
這些協議在網路通訊、電子郵件、安全通訊和檔案傳輸等方面起到了重要的作用。
2. 網路協議的特點
- 統一性:網路協議是為了實現網路上各種裝置之間的通訊而制定的規則,它提供了統一的方式和規範來實現資料的傳輸和交換。
- 標準化:網路協議通常是由國際標準化組織或者制定協議的組織釋出的的標準文件,所有的網路裝置和軟體都要按照這些標準來實現協議。
- 可擴充套件性:網路協議可以根據需要進行擴充套件和改進,新的功能和特性可以透過協議擴充套件來實現,而不需要對整個網路架構進行改動。
- 透明性:網路協議對使用者透明,使用者只需要關心如何使用協議來實現自己的需求,而不需要關心協議的具體實現和細節。
- 可靠性:網路協議提供了資料的可靠傳輸機制,可以透過檢驗和重傳等機制來確保資料的正確傳輸。
- 安全性:網路協議可以提供資料的加密和認證功能,保障資料的安全傳輸。
3. TCP和UDP的共同點和區別
共同點
- OSI網路層
它們都根據OSI參考模型生活在同一層。我們稱這層為傳輸層。在套接字之間的這一層中,傳
輸資料。他們在這方面沒有區別。 - 安全
從安全形度來看,TCP和UDP都是相同的。實際上,TCP由於其會話管理而具有一些小優勢,
但從總體上看,如果實現SSL,加密等安全機制,則存在安全性。除UDP之外,實現類似TCP
的協議的SSL/TLS非常容易。另一方面,像RTP這樣的語音通訊協議可以升級到SRTP,使底
層UDP更安全。
不同點
- TCP是面向連線的,傳送資料前需要在客戶機伺服器間建立連線;UDP是面向非連線的,即傳送資料之前不需要建立連線。
- TCP是一種可靠的資料傳輸,透過TCP連線傳送的資料,無差錯,不丟失,不重複,且按序到達;UDP是一種不可靠的資料傳輸,只是盡最大努力交付並不提供其他保障。
- TCP可以提供流量控制和擁塞控制,而UDP不提供這些保障。因此網路出現擁塞不會使源主機的傳送速率降低(UDP對實時應用很有用,例如實時視訊會議等)
- UDP是面向報文的,傳送端發什麼,接收端就收什麼。TCP是面向位元組流的,資料是分配次發過去的。
總之,各有優勢,根據不同的需求和場景選擇合適的協議。
4. TCP和Websocket的共同點和區別
共同點
- 都是在傳輸層提供端到端的通訊服務
- 都是利用IP協議進行資料傳輸
- 都是可靠的協議,保證資料按照傳送順序被接收端接收。
不同點
- 按照OSI網路分層模型,IP是網路層協議,TCP是傳輸層協議,而HTTP是應用層的協議。在這三者之間,SPDY和WebSocket都是與HTTP相關的協議,而TCP是HTTP底層的協議;
- WebSocket則提供使用一個TCP連線進行雙向通訊的機制,包括網路協議和API,以取代網頁和伺服器採用HTTP輪詢進行雙向通訊的機制;
- 本質上來說,WebSocket是不限於HTTP協議的,但是由於現存大量的HTTP基礎設施,代理,過濾,身份認證等等,WebSocket借用HTTP和HTTPS的埠。由於使用HTTP的埠,因此TCP連線建立後的握手訊息是基於HTTP的,由伺服器判斷這是一個HTTP協議,還是WebSocket協議。
總之,按照OSI網路分層模型,IP是網路層協議,TCP是傳輸層協議,而HTTP是應用層的協議。在這三者之間,SPDY和WebSocket都是與HTTP相關的協議,而TCP是HTTP底層的協議;WebSocket則提供使用一個TCP連線進行雙向通訊的機制,包括網路協議和API,以取代網頁和伺服器採用HTTP輪詢進行雙向通訊的機制;本質上來說,WebSocket是不限於HTTP協議的,但是由於現存大量的HTTP基礎設施,代理,過濾,身份認證等等,WebSocket借用HTTP和HTTPS的埠。由於使用HTTP的埠,因此TCP連線建立後的握手訊息是基於HTTP的,由伺服器判斷這是一個HTTP協議,還是WebSocket協議。
5. 七層網路協議
- 應用層
與其它計算機進行通訊的一個應用,它是對應應用程式的通訊服務的。例如,一個沒有通訊功能的自處理程式就不能執行通訊的程式碼,從事字處理工作的程式設計師也不關心OSI的第7層。但是,如果新增了一個傳輸檔案的選項,那麼字處理器的程式就需要實現OSI的第7層。示例:TELNET,HTTP,FTP,NFS,SMTP等。 - 表示層
這一層的主要功能是定義資料格式及加密。例如,FTP允許你選擇以二進位制或ASCII格式傳輸。如果選擇二進位制,那麼傳送方和接收方不改變檔案的內容。如果選擇ASCII格式,傳送方將把文字從傳送方的字符集轉換成標準的ASCII後傳送資料。在接收方將標準的ASCII轉換成接收方計算機的字符集。示例:加密,ASCII等。 - 會話層
它定義瞭如何開始、控制和結束一個會話,包括對多個雙向訊息的控制和管理,以便在只完成連續訊息的一部分時可以通知應用,從而使表示層看到的資料是連續的,在某些情況下,如果表示層收到了所有的資料,則用資料代表表示層。示例:RPC,SQL等。 - 傳輸層
這層的功能包括是選擇差錯恢復協議還是無差錯恢復協議,及在同一主機上對不同應用的資料流的輸入進行復用,還包括對收到的順序不對的資料包的重新排序功能。示例:TCP,UDP,SPX。 - 網路層
這層對端到端的包傳輸進行定義,它定義了能夠標識所有結點的邏輯地址,還定義了路由實現的方式和學習的方式。為了適應最大傳輸單元長度小於包長度的傳輸介質,網路層還定義瞭如何將一個包分解成更小的包的分段方法。示例:IP,IPX等。 - 資料鏈路層
它定義了在單個鏈路上如何傳輸資料。這些協議與被討論的各種介質有關。示例:ATM,FDDI等。 - 物理層
OSI的物理層規範是有關傳輸介質的特性,這些規範通常也參考了其他組織制定的標準。連線頭、幀、幀的使用、電流、編碼及光調製等都屬於各種物理層規範中的內容。物理層常用多個規範完成對所有細節的定義。示例:Rj45,802.3等。
大多數的計算機網路都採用層次式結構,即將一個計算機網路分為若干層次,處在高層次的系統僅是利用較低層次的系統提供的介面和功能,不需瞭解低層實現該功能所採用的演算法和協議;較低層次也僅是使用從高層系統傳送來的引數,這就是層次間的無關性。因為有了這種無關性,層次間的每個模組可以用一個新的模組取代,只要新的模組與舊的模組具有相同的功能和介面,即使它們使用的演算法和協議都不一樣。
網路中的計算機與終端間要想正確的傳送資訊和資料,必須在資料傳輸的順序、資料的格式及內容等方面有一個約定或規則,這種約定或規則稱做協議。