OSI模型與TCP/IP協議棧

     OSI模型:

    使用OSI模型的意義:

     簡化教學
     加快發展速度
     確保技術的互操作性
     簡化模塊化設計
     標準化接口
     降低復雜性

   OSI 網絡模型分層

    
————————-   |
7      應用層           |         網絡進程訪問層:為應用程序進程提供網絡服務?
————————–
6      表示層           |          數據表示:   
————————–
5      會話層           |          端連接:  建立、管理和終止在應用程序的會話
————————-
4       傳輸層          |         傳輸問題:確保數據傳輸的可靠性(負責網段–> 可靠性)?
————————–
3        網絡層         |         數據傳輸:1路由數據包2.選擇傳遞數據最佳路徑3.支持邏輯尋址(數據包–> 路由)
————————–
2       數據鏈路層    |         訪問介質:定義了如何格式化數據以便鏡像傳輸以及如何控制對網絡訪問(幀–>mask) ?
————————–
1       物理層          |           二進制傳輸 :為啟動、維護及關閉物理鏈路定義了電氣等規范和功能規范(位–》二進制傳輸)
————————-

數據在網絡流動的方向如圖:

        發生方:數據封裝

OSI模型與TCP/IP協議棧

        接收方:數據解封

OSI模型與TCP/IP協議棧

     關于PDU和PUD在OSI各層的不同稱呼:
     PDU: Protocol Data Unit,協議數據單元是指對等層次之間傳遞的數據單位
    物理層的PDU是數據位bit
    數據鏈路層的PDU是數據幀frame
    網絡層的PDU是數據包packet
    傳輸層的PDU是數據段segment
    其他更高層次的PDU是消息message

    TCP/IP 協議棧

    最早發源于美國國防部(縮寫為DoD)的因特網的前身ARPA網項目,1983年1月1日,TCP/IP取代了舊的網絡控制協議NCP,成為今天的互聯網和局域網的基石和標準,由互聯網工程任務組負責維護
    1.TCP/IP 協議棧 共定義了四層
TCP/IP協議棧

—————————-

1.    應用層              |

—————————–
2.    傳輸層              |      
—————————–
3.    Internet層        |
—————————–
4.    網絡訪問層       |
———————- ——

   2. Internet 協議特征
?運行于OSI 網絡層
?面向無連接的協議
?獨立處理數據包
?分層編址
?盡力而為傳輸
?無數據恢復功能

   3. 傳輸層  tcp和UTP的特性:

    TCP的特性:

TCP特性
a.工作在傳輸層面向連接協議
b.全雙工協議
c.半關閉
d.錯誤檢查
e.將數據打包成段,排序
f.確認機制
g.數據恢復,重傳

h.流量控制,滑動窗口
i.擁塞控制,慢啟動和擁塞避免算法

    關于TCP包頭圖:
    OSI模型與TCP/IP協議棧

源端口、目標端口:計算機上的進程要和其他進程通信是要通過計算機端口的,而一個計算機端口某個時刻只能被一個進程占用,所以通過指定源端口和目標端口,就可以知道是哪兩個進程需要通信。源端口、目標端口是用16位表示的,可推算計算機的端口個數為2^16個
?序列號:表示本報文段所發送數據的第一個字節的編號。在TCP連接中所傳送的字節流的每一個字節都會按順序編號。由于序列號由32位表示,所以每2^32個字節,就會出現序列號回繞,再次從0 開始
?確認號:表示接收方期望收到發送方下一個報文段的第一個字節數據的編號。也就是告訴發送發:我希望你(指發送方)下次發送的數據的第一個字節數據的編號是這個確認號
?數據偏移:表示TCP報文段的首部長度,共4位,由于TCP首部包含一個長度可變的選項部分,需要指定這個TCP報文段到底有多長。它指出TCP 報文段的數據起始處距離TCP 報文段的起始處有多遠。該字段的單位是32位(即4個字節為計算單位),4位二進制最大表示15,所以數據偏移也就是TCP首部最大60字節
?URG:表示本報文段中發送的數據是否包含緊急數據。后面的緊急指針字段(urgent pointer)只有當URG=1時才有效
?ACK:表示是否前面的確認號字段是否有效。ACK=1,表示有效。只有當ACK=1時,前面的確認號字段才有效。TCP規定,連接建立后,ACK必須為1,帶ACK標志的TCP報文段稱為確認報文段
?PSH:提示接收端應用程序應該立即從TCP接收緩沖區中讀走數據,為接收后續數據騰出空間。如果為1,則表示對方應當立即把數據提交給上層應用,而不是緩存起來,如果應用程序不將接收到的數據讀走,就會一直停留在TCP接收緩沖區中
?RST:如果收到一個RST=1的報文,說明與主機的連接出現了嚴重錯誤(如主機崩潰),必須釋放連接,然后再重新建立連接?;蛘哒f明上次發送給主機的數據有問題,主機拒絕響應,帶RST標志的TCP報文段稱為復位報文段
?SYN:在建立連接時使用,用來同步序號。當SYN=1,ACK=0時,表示這是一個請求建立連接的報文段;當SYN=1,ACK=1時,表示對方同意建立連接。SYN=1,說明這是一個請求建立連接或同意建立連接的報文。只有在前兩次握手中SYN才置為1,帶SYN標志的TCP報文段稱為同步報文段
?FIN:表示通知對方本端要關閉連接了,標記數據是否發送完畢。如果FIN=1,即告訴對方:“我的數據已經發送完畢,你可以釋放連接了”,帶FIN標志的TCP報文段稱為結束報文段
?窗口大?。罕硎粳F在充許對方發送的數據量,也就是告訴對方,從本報文段的確認號開始允許對方發送的數據量
?校驗和:提供額外的可靠性
?緊急指針:標記緊急數據在數據字段中的位置
?選項部分:其最大長度可根據TCP首部長度進行推算。TCP首部長度用4位表示,選項部分最長為:(2^4-1)*4-20=40字節
常見選項:

    關于端口:

    a.0-1023:系統端口或特權端口(僅管理員可用) ,眾所周知,永久

分配給固定的系統應用使用,22/tcp(ssh), 80/tcp(http), 443/tcp(https)
    b.1024-49151:用戶端口或注冊端口,但要求并不嚴格,分配給程序注冊為某應用使用,1433/tcp(SqlServer),1521/tcp(oracle),
3306/tcp(mysql),11211/tcp/udp(memcached)
49152-65535:動態端口或私有端口,客戶端程序隨機使用的端口
其范圍的定義:/proc/sys/net/ipv4/ip_local_port_range


    TCP/IP協議棧和ISO參考模型的分層的對應關系如圖:

    OSI模型與TCP/IP協議棧    

原創文章,作者:m25Chronos,如若轉載,請注明出處:http://www.www58058.com/85138

(0)
m25Chronosm25Chronos
上一篇 2017-08-20 21:52
下一篇 2017-08-20 22:24

相關推薦

  • Nginx相關實戰案例

    Nginx相關實戰案例: Nginx在實際生產中極為重要,先來看一下Nginx配置文件nginx.conf中文詳解 #定義Nginx運行的用戶和用戶組 user www www; #nginx進程數,建議設置為等于CPU總核心數。 worker_processes 8; #全局錯誤日志定義類型,[ debug | info | notice | warn |…

    Linux干貨 2017-06-19
  • 如何使用openssl工具創建私有CA

    一、CA及證書 非對稱加密是為了保證互聯網中通訊信息安全使用的一種算法,密鑰是成對出現(公鑰和私鑰),它的特點是發送方A使用接收方B的公鑰加密數據,所有只有B擁有與之配對的私鑰解密該數據,反之亦然。那么,A和B之間怎么交換得到對方的真實安全的公鑰呢?此時就需要一個權威的機構來驗證公鑰的合法性,這個機構稱之為CA(Certification Authority…

    2017-07-16
  • DNS的基本配置、子域授權與bind編譯(第十八九天)

        DNS( Domain Name System)是“域名系統”的英文縮寫,是一種組織成域層次結構的計算機和網絡服務命名系統,它用于TCP/IP網絡,它所提供的服務是用來將主機名和域名轉換為IP地址的工作。     DNS利用類似于樹形目錄的結構,將主機名的管理分配在不同層…

    Linux干貨 2016-06-12
  • 第六周作業

    博客具體內容請移步博客園:http://www.cnblogs.com/wangenzhi/p/6295141.html

    Linux干貨 2017-01-17
  • 計算機的組成介紹

    一,什么是計算機?     計算機(computer)俗稱電腦,是現代一種用于高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數據的現代化智能電子設備。 二,發展歷史 階段 時期(年) 主要器件 特征 應用領域發展 第一代 1946—1958 電子管數字機 電子管,機…

    2016-10-29
  • 數據庫的歷史及常見基本功能

    數據庫的基本知識,MariaDB的基本知識,SQL語句

    2018-01-29
欧美性久久久久