TCP/IP網(wǎng)絡模型
計算機與網(wǎng)絡設(shè)備要相互通信,雙方就必須基于相同的方法。比如,如何探測到通信目標、由哪一邊先發(fā)起通信、使用哪種語言進行通信、怎樣結(jié)束通信等規(guī)則都需要事先確定。不同的硬件、操作系統(tǒng)之間的通信,所有的這一切都需要一種規(guī)則。而我們就把這種規(guī)則稱為協(xié)議(protocol)。
TCP/IP 是互聯(lián)網(wǎng)相關(guān)的各類協(xié)議族的總稱,比如:TCP,UDP,IP,FTP,HTTP,ICMP,SMTP等都屬于 TCP/IP 族內(nèi)的協(xié)議。
TCP/IP模型是互聯(lián)網(wǎng)的基礎(chǔ),它是一系列網(wǎng)絡協(xié)議的總稱。這些協(xié)議可以劃分為四層,分別為鏈路層、網(wǎng)絡層、傳輸層和應用層。
- 鏈路層:負責封裝和解封裝IP報文,發(fā)送和接受ARP/RARP報文等。
- 網(wǎng)絡層:負責路由以及把分組報文發(fā)送給目標網(wǎng)絡或主機。
- 傳輸層:負責對報文進行分組和重組,并以TCP或UDP協(xié)議格式封裝報文。
- 應用層:負責向用戶提供應用程序,比如HTTP、FTP、Telnet、DNS、SMTP等。

TCP/IP協(xié)議

IP(網(wǎng)絡之間互聯(lián)的協(xié)議)
Internet Protocol
相當于網(wǎng)絡中的一個節(jié)點,類似于地址,我們稱之為IP地址,
同一個網(wǎng)絡中,IP地址具有唯一性。
TCP/UDP
TCP(傳輸控制協(xié)議)
當一臺計算機想要與另一臺計算機通訊時,兩臺計算機之間的通信需要暢通且可靠,這樣才能保證正確收發(fā)數(shù)據(jù)。例如,當你想查看網(wǎng)頁或查看電子郵件時,希望完整且按順序查看網(wǎng)頁,而不丟失任何內(nèi)容。當你下載文件時,希望獲得的是完整的文件,而不僅僅是文件的一部分,因為如果數(shù)據(jù)丟失或亂序,都不是你希望得到的結(jié)果,于是就用到了TCP。
TCP協(xié)議全稱是傳輸控制協(xié)議是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由 IETF 的RFC 793定義。TCP 是面向連接的、可靠的流協(xié)議。流就是指不間斷的數(shù)據(jù)結(jié)構(gòu),你可以把它想象成排水管中的水流。
三次握手

TCP協(xié)議的特點
- 面向連接
- 僅支持單播傳輸
- 面向字節(jié)流
- 可靠傳輸
- 提供擁塞控制
- TCP提供全雙工通信
UDP
UDP協(xié)議全稱是用戶數(shù)據(jù)報協(xié)議,在網(wǎng)絡中它與TCP協(xié)議一樣用于處理數(shù)據(jù)包,是一種無連接的協(xié)議。在OSI模型中,在第四層——傳輸層,處于IP協(xié)議的上一層。UDP有不提供數(shù)據(jù)包分組、組裝和不能對數(shù)據(jù)包進行排序的缺點,也就是說,當報文發(fā)送之后,是無法得知其是否安全完整到達的。
UDP協(xié)議的特點
- 面向無連接
- 有單播,多播,廣播的功能
- UDP是面向報文的
- 不可靠性
TCP和UDP的比較
1.對比
| UDP | TCP | |
|---|---|---|
| 是否連接 | 無連接 | 面向連接 |
| 是否可靠 | 不可靠傳輸,不使用流量控制和擁塞控制 | 可靠傳輸,使用流量控制和擁塞控制 |
| 連接對象個數(shù) | 支持一對一,一對多,多對一和多對多交互通信 | 只能是一對一通信 |
| 傳輸方式 | 面向報文 | 面向字節(jié)流 |
| 首部開銷 | 首部開銷小,僅8字節(jié) | 首部最小20字節(jié),最大60字節(jié) |
| 適用場景 | 適用于實時應用(IP電話、視頻會議、直播等) | 適用于要求可靠傳輸?shù)膽?,例如文件傳?/td> |
2. 總結(jié)
- TCP向上層提供面向連接的可靠服務 ,UDP向上層提供無連接不可靠服務。
- 雖然 UDP 并沒有 TCP 傳輸來的準確,但是也能在很多實時性要求高的地方有所作為
- 對數(shù)據(jù)準確性要求高,速度可以相對較慢的,可以選用TCP
http協(xié)議
- HTTP = Hypertext Transfer Protocol
- Request
- Response
- 現(xiàn)在的版本是1.1
- 默認的端口是80
GET和POST的區(qū)別
- GET是獲取數(shù)據(jù),POST是傳送數(shù)據(jù)給服務器
- GET用URL傳參數(shù),POST用body傳參數(shù)
- GET的數(shù)據(jù)大小顯示2K,POST沒有理論限制
- POST 相對安全一點
狀態(tài)代碼
