tcp/ip協議詳解

1. 概念介紹

互聯網協議(Internet Protocol Suite)是一個網絡通訊模型,以及一整個網絡傳輸協議家族,爲互聯網的基礎通訊架構。它常被通稱爲 TCP/IP 協議族(英語:TCP/IP Protocol Suite,或 TCP/IP Protocols),簡稱 TCP/IP。數據庫

說到網絡協議,不得不提到 OSI 七層模型:網絡

7 應用層
application layer
例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP、TLS
6 表示層
presentation layer
例如XDR、ASN.一、SMB、AFP、NCP
5 會話層
session layer
例如ASAP、ISO 8327 / CCITT X.22五、RPC、NetBIOS、ASP、IGMP、Winsock、BSD sockets
4 傳輸層
transport layer
例如TCP、UDP、RTP、SCTP、SPX、ATP、IL
3 網絡層
network layer
例如IP、ICMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、X.25
2 數據鏈路層
data link layer
例如以太網、令牌環、HDLC、幀中繼、ISDN、ATM、IEEE 802.十一、FDDI、PPP
1 物理層
physical layer
例如線路、無線電、光纖

 

從上面表格能夠看出:session

  • ip 協議處於 OSI 七層模型的網絡層架構

  • tcp 協議處於 OSI 七層模型的傳輸層app

2. IP 協議

    IP 層接收由更低層(網絡接口層例如以太網設備驅動程序)發來的數據包,並把該數據包發送到更高層---TCP 或 UDP 層;相反,IP 層也把從 TCP 或 UDP 層接收來的數據包傳送到更低層。IP 數據包是 不可靠的,由於 IP 並無作任何事情來確認數據包是否按順序發送的或者有沒有被破壞,IP 數據包中含有發送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。
 
    高層的 TCP 和 UDP 服務在接收數據包時,一般假設包中的源地址是有效的。也能夠這樣說,IP 地址造成了許多服務的認證基礎,這些服務相信數據包是從一個有效的主機發送來的。IP 確認包含一個選項,叫做 IP source routing,能夠用來指定一條源地址和目的地址之間的直接路徑。對於一些 TCP 和 UDP 的服務來講,使用了該選項的 IP 包好像是從路徑上的最後一個系統傳遞過來的,而不是來自於它的真實地點。這個選項是爲了測試而存在的,說明了它能夠被用來欺騙系統來進行日常是被禁止的鏈接。那麼,許多依靠IP源地址作確認的服務將產生問題而且會被非法入侵。

3. TCP 協議

    TCP 是面向鏈接的通訊協議,經過 三次握手創建鏈接,通信完成時要拆除鏈接,因爲 TCP 是面向鏈接的因此只能用於端到端的通信。
TCP 提供的是一種 可靠的數據流服務,採用「帶重傳的確定確認」技術來實現傳輸的可靠性。TCP 還採用一種稱爲「滑動窗口」的方式進行流量控制,所謂窗口實際表示接收能力,用以限制發送方的發送速度。
 
    若是 IP 數據包中有已經封好的 TCP 數據包,那麼IP將把它們向‘上’傳送到 TCP 層。TCP 將包排序並進行錯誤檢查,同時實現虛電路間的鏈接。TCP 數據包中包括序號和確認,因此未按照順序收到的包能夠被排序,而損壞的包能夠被重傳。
   
    TCP 將它的信息送到更高層的應用程序,例如 Telnet 的服務程序和客戶程序。應用程序輪流將信息送回 TCP 層,TCP 層便將它們向下傳送到 IP 層,設備驅動程序和物理介質,最後到接收方。
面向鏈接的服務(例如Telnet、FTP、rlogin、X Windows 和 SMTP)須要高度的可靠性,因此它們使用了 TCP。DNS 在某些狀況下使用 TCP(發送和接收域名數據庫),但使用 UDP 傳送有關單個主機的信息。
相關文章
相關標籤/搜索