TCP/IP协议栈模型分析
標準TCP/IP協議是用于計算機通信的一組協議,通常被稱為TCP/IP協議棧,以它為基礎組建的互聯網是目前國際上規模最大的計算機網絡。
正因為互聯網的廣泛應用,使得TCP/IP成為了事實上的網絡標準。
每一層對于上一層來講是透明的,其對應關系:
?幻化于0 1 ,藏匿于協議。
?
?
?
?數據傳輸歷程:
TCP/UDP協議簇包含協議 :
各個層對應協議:
數據鏈路層:
??? SDLC:軟件生命周期
??? HDLC:(High-Level Data Link Control,高級數據鏈路控制),是鏈路層協議的一項國際標準,用以實現遠程用戶間資源共享以及信息交互。
??? STP(Spanning Tree Protocol)生成樹協議
??? ARP正向地址解析協議(可放在鏈路層,也可放在網絡層)、RARP反向地址解析協議:(ARP(ip->mac),RARP(mac->ip))
網絡層:
??? IP-網際協議,
??? ICMP-Internet控制報文協議(用于在主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息,典型應用就是ping),
??? IGMP(用于管理因特網協議多播組成員的一種通信協議)、
??? RIP(內部網關協議-動態路由選擇協議)、
??? OSPF(Open Shortest Path First開放式最短路徑優先)
傳輸層:
??? TCP(傳輸控制協議支持有連接傳輸協議)
??? UDP(用戶數據報協議支持無連接傳輸協議)
???? RTP: 實時傳輸協議,為數據提供了具有實時特征的端對端傳送服務,如在組播或單播網絡服務下的交互式視頻音頻或模擬數據。
???? SCTP: 一個面向連接的流控制傳輸協議,它可以在兩個端點之間提供穩定、有序的數據傳遞服務。SCTP可以看做是TCP協議的改進,它繼承了TCP較為完善的擁塞控制并改進TCP的一些不足:
?????? 1. SCTP是多宿主連接,而TCP是單地址連接。
?????? 2.一個TCP連接只能支持一個流,一個SCTP連接可以支持多個流。
?????? 3.SCTP有更好的安全性。
應用層:
??? Telnet(遠程登錄),
??? FTP(文件傳輸協議),
??? SMTP(簡單郵件傳輸協議),
??? SNMP(簡單網絡管理協議).
??? POP3(即“郵局協議版本3”)
??? TFTP:簡單文件傳輸協議。
TCP/UDP協議的區別及應用場景
UDP 在傳送數據之前不需要先建立連接,發送數據結束后也不需要釋放連接,無確認機制,其提供的是無連接的服務,不可靠的,網絡開銷小,速度快;
TCP 在傳送數據之前必須先建立連接,并且數據傳送結束后還要釋放連接,它提供的是面向連接的服務;提供可靠交付;提供全雙工通信;面向字節流;
?TCP 協議 : 三次握手 四次揮手
先由客戶端的內核傳輸控制層產生的一個數據包(syn),均是雙方內核在溝通,百度收到syn數據包,會給客戶端返回一個syn+ack的確認包;之后客戶端的傳輸控制層再次給百度返回一個ack確認包,即完成了三次握手。;
?四次揮手:釋放連接
客戶端向服務端發送fin包,服務端返回fin+ack包(表明知道了消息,但并未同意),同意后返回一個fin包,等待客戶端再返回一個ack包給服務端端之后,即完成了四次分手,目的是不要讓對方的資源隨意釋放。
1、TCP面向連接(即傳送數據前要先建立連接); UDP是無連接的,即發送數據之前不需要建立連接
2、TCP提供可靠的服務。即通過TCP連接傳送的數據,無差錯,不丟失,不重復,且按序到達;UDP只盡最大努力交付,不保證可靠交付
3、TCP面向字節流,實際上是TCP把數據看成一連串無結構的字節流; UDP是面向報文的
4、每一條TCP連接只能是一對一; 而UDP支持一對一,一對多,多對一和多對多的交互通信
5、TCP首部開銷大,20字節; UDP的首部開銷小,只有8個字節。TCP對系統資源要求較多,UDP對系統資源要求較少
6、UDP具有較好的實時性,工作效率比TCP高,適用于對高速傳輸和實時性有較高的通信或廣播通信
TCP應用場景:
當對網絡通訊質量有要求的時候,比如整個數據要準確無誤的傳遞給對方,這往往用于一些要求可靠的應用,如網頁瀏覽等傳輸文件的協議。
UDP應用場景:
效率要求相對高,對準確性要求相對低的場景,比如即時通訊,速度要求高,但是出現偶爾斷續不是太大問題,如QQ等。
點我查看TCP和UDP所有區別
知名協議所對應的端口號
| FTP協議:文件傳輸協議,用戶使用FTP客戶端通過FTP協議訪問FTP服務器上的文件資源 | 20/21 |
| SSH協議:安全外殼協議,專為遠程登錄會話和其他網絡服務提供的安全性協議。能夠避免中間人攻擊,DNS欺騙,IP欺騙等 | 22 |
| Telnet協議:Internet遠程登陸服務的標準協議和主要方式 | 23 |
| SMTP協議:簡單郵件傳輸協議,提供可靠且有效的電子郵件傳輸的協議,是建立在FTP文件傳輸服務上的一種郵件服務 | 25 |
| whois協議:查詢域名或者IP所有者信息的傳輸協議 | 63 |
| DNS:域名解析協議,是將域名和IP地址相互映射的一個分布式數據庫 | 53 |
| DHCP:動態主機配置協議,用來給局域網客戶機分配IP地址與子網掩碼 | 67/68 |
| HTTP協議:超文本傳輸協議,請求-響應協議 | 80 |
| POP3:郵局協議版本3,于支持使用客戶端遠程管理在服務器上的電子郵件 | 110 |
| HTTPS協議: 由 HTTP 加上 TLS/SSL協議構建的可進行加密傳輸、身份認證的網絡協議 | 443 |
| IMAP協議:交互郵件訪問協議,郵件客戶端通過它從郵件服務器上獲取或下載郵件 | 143 |
| SNMP:簡單網絡管理協議 | 161 |
| 遠程桌面連接 | 3389 |
| MSQLL:數據庫服務器,用于建立,使用和維護數據庫 | 1433 |
| MYSQL數據庫:關系型數據庫管理系統 | 3306 |
| Oracle數據庫:關系數據庫管理系統 | 1521 |
總結
以上是生活随笔為你收集整理的TCP/IP协议栈模型分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简易蜜罐的搭建
- 下一篇: JAVA的彻底删除重下