物聯方案
2020年03月29日
在網絡通信過程中,發(fā)送數據的主機稱為源主機,接收數據的主機稱為目標主機。當源主機發(fā)送數據時,數據從上層傳輸到源主機中的下層。源主機中的應用程序首先將數據發(fā)送給應用層,應用層加上所需的控制信息成為消息流,并將其向下傳輸到傳輸層。傳輸層將接收數據單元加上該層的控制信息,形成消息段數據報,然后將其轉交給網絡層。網絡層加上該層的控制信息形成IP數據報,并將其傳輸到網絡接口層。網絡接口層將與Internet層相交的IP數據報組裝成幀,以比特流的形式傳送給網絡硬件(即物理層),數據離開源主機。
鏈路層
以太網協(xié)議規(guī)定,所有接入網絡的設備必須安裝網絡適配器,即網卡,數據包必須從一張網卡傳送到另一張網卡。網卡地址是數據包的發(fā)送地址和接收地址。在獲得MAC地址后,以太網使用廣播表單將數據包發(fā)送到子網中的所有主機。在接收到此數據包后,子網中的每個主機將讀取標頭中的目標MAC地址,然后將其與自己的MAC地址進行比較。如果相同,則執(zhí)行下一步處理,如果不同,則丟棄數據包。
因此,鏈路層的主要工作是對電信號進行分組,形成具有特定意義的數據幀,然后以廣播的形式通過物理媒體將它們發(fā)送給接收機。
網絡層
網絡層引入了IP協(xié)議并制定了一組新的地址,使我們能夠區(qū)分這兩臺主機是否屬于同一網絡。這組地址是網絡地址,也就是所謂的IP地址.IP協(xié)議將32位地址分為兩部分,第一部分表示網絡地址,后者表示局域網中主機的地址。如果兩個IP地址位于同一子網中,則網絡地址必須相同。為了判斷IP地址中的網絡地址,IP協(xié)議還引入了子網掩碼。IP地址和子網掩碼可以通過按位和操作獲得。
ARP協(xié)議
即地址解析協(xié)議,是一種根據IP地址獲取MAC地址的網絡層協(xié)議。它的工作方式如下:ARP首先發(fā)起一個請求包,其中第一個包含目標主機的IP地址,然后在鏈路層重新打包該數據包以生成以太網數據包,這些數據包最終由以太網廣播到子網中的所有主機,每個主機接收該包,在報頭中取出IP地址,然后將其與自己的IP地址進行比較。如果返回相同的MAC地址,則返回自己的MAC地址,如果數據包不同,則丟棄該數據包。"ARP接收返回消息以確定目標計算機的MAC地址;同時,ARP還將返回的MAC地址和相應的IP地址存儲在本機ARP緩存中,并將其保存一段時間,并在下一次請求中直接查詢ARP緩存以節(jié)省資源。
路由協(xié)議
首先,IP協(xié)議用于確定兩臺主機是否位于同一子網中。如果它們位于同一子網中,則通過ARP協(xié)議查詢相應的MAC地址,然后以廣播的形式將數據包發(fā)送到子網中的主機。如果數據包不在同一子網中,則以太網將將數據包轉發(fā)到子網的網關進行路由。網關是Internet上子網和子網之間的橋梁,因此網關會多次轉發(fā)數據包,最后將數據包轉發(fā)到目標IP所在的子網,再通過ARP獲得目標機MAC,最后以廣播的形式發(fā)送給接收方。完成這一路由協(xié)議的物理設備是路由器,它扮演著傳輸中心的角色,它根據信道條件選擇和設置路由,并以最佳路徑轉發(fā)數據包。
因此,網絡層的主要工作是定義網絡地址、區(qū)分網段、子網中的MAC尋址以及將包從不同的子網路由。
傳輸層
鏈路層定義主機的標識,即MAC地址,網絡層定義IP地址,該IP地址定義主機所在的網段。使用這兩個地址,包可以從一個主機發(fā)送到另一個主機。但是,實際上,數據包是從一個主機的應用程序發(fā)送的,然后由另一個主機的應用程序接收。每臺計算機可能同時運行多個應用程序,因此當數據包被發(fā)送到主機時,不可能確定哪個應用程序將接收該數據包。因此,傳輸層引入了UDP協(xié)議來解決這一問題,以便識別每個應用程序。
UDP協(xié)議
UDP協(xié)議定義了端口,同一主機上的每個應用程序都需要指定唯一的端口號,并要求在網絡中傳輸的數據包必須添加端口信息,當數據包到達主機時,可以根據端口號找到相應的應用程序。UDP協(xié)議簡單、易于實現,但沒有確認機制。一旦數據包被發(fā)送出去,它就無法知道對方是否收到它,因此可靠性很差。為了解決這一問題,提高網絡的可靠性,TCP協(xié)議應運而生。
TCP協(xié)議
傳輸控制協(xié)議tcp是一種面向連接、可靠和基于字節(jié)碼的通信協(xié)議.簡單地說,TCP是一個具有確認機制的UDP協(xié)議。發(fā)送的每個數據包都需要確認。如果一個數據包丟失,將不會收到任何確認,發(fā)送方必須重新發(fā)送該數據包。為了保證傳輸的可靠性,TCP協(xié)議在UDP協(xié)議的基礎上建立了三次會話的確認機制,即在正式發(fā)送和接收數據之前必須與對方建立可靠的連接。TCP數據包,如UDP,由第一部分和數據部分組成。唯一的區(qū)別是TCP數據包沒有長度限制,理論上可以無限長,但為了保證網絡的效率,TCP數據包的長度通常不超過IP數據包的長度,以確保一個TCP數據包不需要被分割。