精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通信網絡協議技術之osi七層協議

454398 ? 來源:博客園 ? 作者: 小小螞蟻mm ? 2020-10-29 11:11 ? 次閱讀

網絡協議

C\S架構,B\S架構

C:客戶端Client

B:瀏覽器Browser

S:服務器Server

C\S架構就是說Client\Server架構:比如QQ,微信,游戲等(軟件);打印機(硬件

? 優點: 安全性高,個性化設置,功能全面.響應速度快.

? 缺點: 開發成本高,維護成本高.(基于App),面向的客戶固定.

B\S架構就是說Browser\Server架構:瀏覽器和各個網站服務端進行的通信

? 優點: 開發維護成本低,,面向用戶廣泛.

? 缺點: 安全性相對低,響應速度相對慢,個性化的設置單一.

osi七層協議

互聯網的本質

兩臺計算機之間的通信如下:

  • 首先通過各種物理連接介質連接
  • 找準對方計算機(準確到軟件)的位置
  • 通過統一的標準(一攬子協議)進行數據的收發

osi七層協議

互聯網協議按照功能不同分為osi七層或TCP/IP五層或TCP/IP四層

每層常見物理設備及主要作用:

物理層

計算機之間要通信必須完成組網,而物理層就是數據傳輸的物理介質

物理層功能:主要是基于電氣特性發送高低電平(電信號),高電平對應數字1,低電平對應0

數據鏈路層

數據鏈路層功能:將數據封裝成幀,將電信號按幀分組

以太網協議

以太網協議規定一組電信號構成一個數據報,叫做幀,每個數據幀分成報頭head和數據data兩部分

head包含:(固定18個字節)

? 發送者/源地址,6個字節

? 接收者/目標地址,6字節

? 數據類型,6字節

data包含:(最短46字節,最長1500字節)數據包的具體內容

head長度+data長度=最短64字節,最長1518字節,超過最大限制就分片發送

mac地址

即網卡地址,長度為48位2進制,通常由12位16進制數表示(前6位是廠商編號,后6位是流水線編號)

同一網絡中當A用戶第一次向B用戶發送數據時(通過arp協議獲取B的mac地址,并將源mac與目標mac封裝到幀中),采用的就是廣播方式,所有用戶都會收到A發出的數據,通過對數據幀拆分找到目標mac并與自己比較,如果一致則接收,如果不一致就丟棄。

ARP協議

ARP協議功能:廣播的方式發送數據包,獲取目標主機的mac地址

協議工作方式:每臺主機IP都是已知的,例如:主機172.16.10.10/24訪問172.16.10.11/24

首先通過IP地址和子網掩碼區分出自己所處的子網

如果是同一子網,在數據包地址中封裝目標主機mac及目標主機IP

如果是不同子網,在數據包地址中封裝網關mac及目標IP

分析172.16.10.10/24與172.16.10.11/24處于同一網絡(如果不是同一網絡,那么下表中目標ip為172.16.10.1,通過ARP獲取的是網關的mac)

源mac 目標mac 源IP 目標IP
發送端主機 發送端mac FF:FF:FF:FF 172.16.10.10/24 172.16.10.11/24

這個包會以廣播的方式在發送端所處的子網內傳輸,所有主機接收后拆包,發現目標IP為自己就響應,并返回自己的mac

網絡層

網絡層功能:引入網絡地址用來區分不同的局域網

IP協議

? 規定網絡地址的協議叫IP協議,它定義的地址叫IP地址,廣泛使用IPv4,它規定網絡地址由32位2進制表示,范圍0.0.0.0—255.255.255.255;一個IP地址通常寫成四段十進制數,例:172.16.10.1

IP地址分兩部分

網絡部分:標識子網

主機部分:標識主機

單純的IP地址段只是標識了IP地址的種類,從網絡部分或主機部分都無法辨識一個IP所處的子網

子網掩碼

表示子網絡特征的一個參數。是一個32位的二進制數字,網絡部分全部為1,主機部分全部為0比如,IP地址172.16.10.1,如果已知網絡部分是前24位,主機部分是后8位,那么子網絡掩碼就是11111111.11111111.11111111.00000000,寫成十進制就是255.255.255.0。

通過將兩個IP地址與子網掩碼分別進行and運算,然后比較結果是否相同,可以判定這兩個IP是否是同一子網絡。比如:

'''比如,已知IP地址172.16.10.1和172.16.10.2的子網掩碼都是255.255.255.0,請問它們是否在同一個子網絡?'''
#兩者與子網掩碼分別進行AND運算,
172.16.10.1:10101100.00010000.00001010.000000001
255255.255.255.0:11111111.11111111.11111111.00000000
AND運算得網絡地址結果:10101100.00010000.00001010.000000001->172.16.10.0
172.16.10.2:10101100.00010000.00001010.000000010
255255.255.255.0:11111111.11111111.11111111.00000000
AND運算得網絡地址結果:10101100.00010000.00001010.000000001->172.16.10.0
#結果都是172.16.10.0,因此它們在同一個子網絡。

作用:

為每臺計算機分配IP地址

確定哪些地址在同一子網絡

IP數據包

IP數據包也分為head和data部分,無需為IP包定義單獨的欄位,直接放入以太包的data部分

head:長度為20到60 字節

data:最長為65515字節

而以太網數據包的“數據”部分,最長只有1500字節,因此,如果IP數據包超過了1500字節,就需要分割成幾個以太網數據包分開發送

傳輸層

傳輸層功能:建立端口到端口的通信,端口即應用程序與網卡關聯的編號(范圍0—65535,0—1023為系統占用端口)

TCP協議

? 可靠傳輸,TCP數據包沒有長度限制,理論上可以無限長,但為了保證網絡效率,通常TCP數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包不必再分割

TCP報文

序號:Seq序號,占32位,用來標識TCP源端向目的端發送的字節流,發送數據時對此進行標記。

確認序號:Ack序號,占32位,只有Ack標志位為1時,確認序號字段才有效,Ack=Seq+1

標志位:共6個,即URG、ACK、PSH、RST、SYN、FIN等,具體含義如下:

URG:緊急指針有效

ACK:確認序號有效

PSH:接收方應該盡快將這個報文交給應用層

RST:重置連接

SYN:發起一個新的連接

FIN:釋放一個連接

不要將確認序號Ack與標志位ACK搞混;確認方Ack=發起方Req+1,兩端配對

三次握手

? TCP在建立連接時需卻認通信雙方的收發信息的能力是正常的,因此需要進行多次驗證,俗稱“三次握手”。

? 所謂三次握手(Three-Way Handshake)即建立TCP連接,就是指建立一個TCP連接時,需要客戶端和服務端總共發送3個包以確認連接的建立。在socket編程中,這一過程由客戶端執行connect來觸發,整個流程如下圖所示:

? (1)第一次握手:Client將標志位SYN置為1,隨機產生一個值seq=x,并將該數據包發送給Server,Client進入SYN_SENT狀態,等待Server確認。
? (2)第二次握手:Server收到數據包后由標志位SYN=1知道Client請求建立連接,Server將標志位SYN和ACK都置為1,ack=x+1,隨機產生一個值seq=K,并將該數據包發送給Client以確認連接請求,Server進入SYN_RCVD狀態。
? (3)第三次握手:Client收到確認后,檢查ack是否為x+1,ACK是否為1,如果正確則將標志位ACK置為1,ack=y+1,并將該數據包發送給Server,Server檢查ack是否為y+1,ACK是否為1,如果正確則連接建立成功,Client和Server進入ESTABLISHED狀態,完成三次握手,隨后Client與Server之間可以開始傳輸數據了。

四次握手

? 所謂四次揮手(Four-Way Wavehand)即終止TCP連接,就是指斷開一個TCP連接時,需要客戶端和服務端總共發送4個包以確認連接的斷開。在socket編程中,這一過程由客戶端或服務端任一方執行close來觸發,整個流程如下圖所示:

? 由于TCP連接時全雙工的,因此,每個方向都必須要單獨進行關閉,這一原則是當一方完成數據發送任務后,發送一個FIN來終止這一方向的連接,收到一個FIN只是意味著這一方向上沒有數據流動了,即不會再收到數據了,但是在這個TCP連接上仍然能夠發送數據,直到這一方向也發送了FIN。首先進行關閉的一方將執行主動關閉,而另一方則執行被動關閉,上圖描述的即是如此。
? (1)第一次揮手:Client發送一個FIN,用來關閉Client到Server的數據傳送,Client進入FIN_WAIT_1狀態。
? (2)第二次揮手:Server收到FIN后,發送一個ACK給Client,確認序號為收到序號+1(與SYN相同,一個FIN占用一個序號),Server進入CLOSE_WAIT狀態。
? (3)第三次揮手:Server發送一個FIN,用來關閉Server到Client的數據傳送,Server進入LAST_ACK狀態。
? (4)第四次揮手:Client收到FIN后,Client進入TIME_WAIT狀態,接著發送一個ACK給Server,確認序號為收到序號+1,Server進入CLOSED狀態,完成四次揮手。

SYN攻擊:
在三次握手過程中,Server發送SYN-ACK之后,收到Client的ACK之前的TCP連接稱為半連接(half-open connect),此時Server處于SYN_RCVD狀態,當收到ACK后,Server轉入ESTABLISHED狀態。SYN攻擊就是Client在短時間內偽造大量不存在的IP地址,并向Server不斷地發送SYN包,Server回復確認包,并等待Client的確認,由于源地址是不存在的,因此,Server需要不斷重發直至超時,這些偽造的SYN包將產時間占用未連接隊列,導致正常的SYN請求因為隊列滿而被丟棄,從而引起網絡堵塞甚至系統癱瘓。SYN攻擊時一種典型的DDOS攻擊,檢測SYN攻擊的方式非常簡單,即當Server上有大量半連接狀態且源IP地址是隨機的,則可以斷定遭到SYN攻擊了.

特點:TCP(Transmission Control Protocol)可靠的、面向連接的協議(eg:打電話)、傳輸效率低全雙工通信(發送緩存&接收緩存)、面向字節流。使用TCP的應用:Web瀏覽器;文件傳輸程序。

UDP協議

不可靠傳輸,“報頭”部分一共只有8字節,總長度不超過65535字節,正好放進一個IP數據包。

特點:UDP(User Datagram Protocol)不可靠的、無連接的服務,傳輸效率高(發送前時延小),一對一、一對多、多對一、多對多、面向報文(數據包),盡最大努力服務,無擁塞控制。使用UDP的應用:域名系統 (DNS);視頻流;IP語音(VoIP)。

應用層

應用層功能:規定應用程序的數據格式。

例:TCP協議可以為各種各樣的程序傳遞數據,比如Email、WWW、FTP等等。那么,必須有不同協議規定電子郵件、網頁、FTP數據的格式,這些應用程序協議就構成了”應用層”。

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IP協議
    +關注

    關注

    3

    文章

    85

    瀏覽量

    21636
  • 子網掩碼
    +關注

    關注

    2

    文章

    39

    瀏覽量

    11012
  • UDP協議
    +關注

    關注

    0

    文章

    69

    瀏覽量

    12683
  • TCP協議
    +關注

    關注

    1

    文章

    91

    瀏覽量

    12063
收藏 人收藏

    評論

    相關推薦

    如何通過OSI七層模型優化網絡性能

    OSI(Open Systems Interconnection)七層模型是一種標準的網絡分層模型,將網絡功能分為個不同的層次,每個層次都
    的頭像 發表于 11-24 11:14 ?183次閱讀

    OSI七層模型中的數據封裝過程

    OSI(Open Systems Interconnection)七層模型中,數據的封裝過程是從上到下逐進行的。以下是數據封裝過程的介紹: 一、封裝過程概述 數據封裝是指在網絡通信
    的頭像 發表于 11-24 11:11 ?274次閱讀

    OSI七層模型和網絡安全的關系

    開放系統互聯(OSI)模型是一個概念框架,用于標準化網絡通信過程。它將網絡通信過程劃分為個層次,每一都有其特定的功能和
    的頭像 發表于 11-24 11:08 ?205次閱讀

    OSI七層模型在網絡故障排查中的應用

    OSI(Open Systems Interconnection)七層模型在網絡故障排查中扮演著至關重要的角色。它提供了一個系統的框架,使得網絡技術人員可以逐
    的頭像 發表于 11-24 11:01 ?243次閱讀

    OSI七層模型中各層的協議 OSI七層模型的優勢與不足

    OSI七層模型中各層的協議 OSI(Open Systems Interconnection)七層模型是一個用于描述
    的頭像 發表于 11-24 10:54 ?190次閱讀

    OSI七層模型與數據通信的關系

    在現代信息技術中,數據通信是信息交換的基石。隨著網絡技術的快速發展,不同設備和系統之間的數據交換變得越來越頻繁。為了確保這些交換能夠順利進行,需要一個統一的框架來指導通信過程。
    的頭像 發表于 11-24 10:50 ?232次閱讀

    如何理解OSI七層模型 OSI七層模型在網絡中的應用

    OSI七層模型(Open Systems Interconnection Reference Model)是一個概念性模型,用于標準化網絡通信過程和協議。它由國際標準化組織(ISO)在
    的頭像 發表于 11-24 10:48 ?239次閱讀

    OSI七層模型的每一功能

    開放系統互聯(OSI)模型是一個概念性框架,用于標準化網絡通信過程,以便不同的計算機系統和網絡能夠相互通信OSI模型分為
    的頭像 發表于 11-24 10:46 ?177次閱讀

    OSI七層模型詳解 OSI七層模型與TCP/IP模型比較

    OSI(Open System Interconnect)七層模型是一種將計算機網絡通信協議劃分為個不同層次的標準化框架,每一都負責不同
    的頭像 發表于 11-24 10:44 ?223次閱讀

    七層協議有哪些?TCP/ IP的七層協議介紹

    七層協議,也稱為OSI參考模型,是指開放式系統互聯通信參考模型,由國際標準化組織設置。該模型分為以下七層: 1.物理
    的頭像 發表于 04-22 14:17 ?2091次閱讀

    osi七層模型各層功能及協議簡述

    OSI七層模型是一種將計算機網絡通信分為個層次,并定制了每個層次的功能和協議的標準模型。這個模型的設計是為了使不同的計算機
    的頭像 發表于 02-04 18:06 ?1982次閱讀

    osi七層模型各層功能及協議 osi七層模型有哪些

    OSI七層模型,是開放式系統互聯(Open System Interconnection,簡稱OSI)參考模型,是國際標準化組織(ISO)在1984年定義的一種網絡
    的頭像 發表于 01-25 11:03 ?1.3w次閱讀

    osi七層模型各層功能及協議

    OSI七層模型是一種將計算機網絡協議按照不同功能劃分為不同層級的標準模型。每一都負責處理特定的網絡
    的頭像 發表于 01-15 10:29 ?1334次閱讀

    osi七層模型各層功能及協議

    OSI(Open Systems Interconnection)七層模型是一種將計算機網絡通信協議劃分為個不同層次的模型,每層都有其特定的功能和
    的頭像 發表于 01-10 18:06 ?2151次閱讀

    OSI七層模型如何幫助網絡通信

    OSI(開放系統互聯)七層模型是計算機網絡體系結構的一種描述方式,它為不同系統之間的通信提供了統一的標準。這個模型從低到高分別是:物理、數
    的頭像 發表于 12-21 16:27 ?556次閱讀