網路相關知識
OSI七層模型:
OSI七層網路模型 |
Linux TCP/IP四層概念模型 |
對應網路協議 |
應用層(Application) |
應用層 |
TFTP, FTP, NFS, WAIS |
表示層(Presentation) |
Telnet, Rlogin, SNMP, Gopher |
|
會話層(Session) |
SMTP, DNS |
|
傳輸層(Transport) |
傳輸層 |
TCP, UDP |
網路層(Network) |
網際層 |
IP, ICMP, ARP, RARP, AKP, UUCP |
資料鏈路層(Data Link) |
網路介面 |
FDDI, Ethernet, Arpanet, PDN, SLIP, PPP |
物理層(Physical) |
IEEE 802.1A, IEEE 802.2到IEEE 802.11 |
資料在各層之間的單位都是不一樣的,在物理層資料的單位稱為位元(bit);在資料鏈路層,資料的單位稱為幀(frame);在網路層,資料的單位稱為資料包(packet);傳輸層,資料的單位稱為資料段(segment)。
TCP/UDP的區別:
|
TCP |
UDP |
是否連線 |
面向連線 |
面向非連線 |
傳輸可靠性 |
可靠的 |
不可靠的 |
應用場合 |
傳輸大量的資料 |
少量資料 |
速度 |
慢 |
快 |
TCP/IP是一種可靠的網路傳輸協議。要求通訊雙方首先建立連線,之後再進行資料的傳輸(三次握手)。TCP/IP負責保證資料傳輸的可靠性,包括資料的可到達、資料到達的順序等,由於TCP/IP需要保證連線以及資料傳輸的可靠性,因此可能會犧牲一些效能。
三次握手的過程:
tcp標誌位,有6種標示:SYN(synchronous建立聯機) ACK(acknowledgement 確認) PSH(push傳送) FIN(finish結束) RST(reset重置) URG(urgent緊急)
Sequence number(順序號碼) Acknowledge number(確認號碼)
第一次握手:客戶端傳送位碼為syn=1,隨機產生seq number=3626544836的資料包到服務端,服務端由SYN=1知道客戶端要求建立連線。
第二次握手:服務端收到請求後要確認連線資訊,向客戶端傳送ack number=3626544837(客戶端傳送的隨機數+1),,syn=1,ack=1,並隨機產生seq=1739326486的包;
第三次握手:客戶端收到後檢查ack number是否正確(看是否是自己傳送的隨機數+1),以及位碼ack是否為1,若正確,客戶端會再次傳送ack number=1739326487(服務端隨機數+1),ack=1,服務端收到後,確認seq是否為seq+1,ack=1則建立連線。
UDP/IP是一種不保證資料一定到達的網路傳輸協議,UDP/IP並不直接給通訊的雙方建立連線,而是直接進行資料傳輸,由於不建立連線,所以不能保證資料傳輸的可靠性,因此效能上表現相對較好,但可能會出現資料丟失以及資料亂序的現象。
http、socket、tcp/ip關係:
http是基於應用層上的協議,處於最上層,最終底層還是要依賴tcp/ip的。
socket是處於應用層與tcp/ip層之間的中間軟體抽象層,它是一組介面,相當於一個facade,將複雜的tcp/ip協議族隱藏在socket介面後面。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28912557/viewspace-1146738/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 子網掩碼和網路ip的相關知識
- 大資料學習四:網路相關知識大資料
- 面試中必備的網路相關知識面試
- Docker網路,手把手教你如何實現容器網路相關知識Docker
- 網站原始碼的相關知識網站原始碼
- .net相關知識
- Shell相關知識
- RPM相關知識
- 網站安全相關的基礎知識網站
- SSL相關知識科普
- 音訊相關知識音訊
- Redis的相關知識Redis
- Elasticsearch——search相關知識Elasticsearch
- /proc的相關知識
- redis相關知識點Redis
- Git相關知識點Git
- 相機成像相關知識總結
- 網路安全中,Web中介軟體/服務埠有哪些相關知識?Web
- 【Java】容器相關知識點Java
- ivar layout 相關知識點
- WEB相關背景知識(新手)Web
- RTMP協議相關知識協議
- Vlan相關知識雜記
- CT校正相關知識整理
- CAP 與 Raft 相關知識Raft
- LR模型相關知識點模型
- 網路相關
- 信管知識梳理(三)軟體工程相關知識軟體工程
- 網路知識
- React相關知識點:關於ReduxReactRedux
- 關於Python Number 相關的知識!Python
- Android小知識-剖析Retrofit中的網路請求流程以及相關引數Android
- Android進階知識:Handler相關Android
- 資料結構相關知識資料結構
- Java容器相關知識點整理Java
- 總結 MySQL 相關知識點MySql
- wifi認證的相關知識WiFi
- 【雜談】FilterChain相關知識整理FilterAI
- 【詳解】WebSocket相關知識整理Web