計算機網絡學習筆記:應用層概述、動態主機配置協議DHCP

文章目錄

  • 一、應用層概述
    • 1.1、C/S架構
    • 1.2、P2P架構
  • 二、動態主機配置協議DHCP
    • 2.1、DHCP發現報文
    • 2.2、DHCP提供報文
    • 2.3、DHCP請求報文
    • 2.4、DHCP確認報文
    • 2.5、DHCP的續約與終止
  • 總結


一、應用層概述

??應用層位于計算機網絡結構的最上層,用于解決應用進程的交互以實現特定網絡應用的問題。萬維網WWW,域名系統DNS,
動態主機配置協議DHCP,電子郵件,文件傳送FTP和P2P文件共享,多媒體網絡應用,都是屬于應用層的范疇。在這里插入圖片描述
??目前應用層流行的兩種架構:C/S和P2P。

1.1、C/S架構

??C/S架構的全稱是服務器/客戶端架構,即將網絡中的應用劃分為兩大類,一類是服務器,一類是客戶端。客戶端向服務器請求,服務器給予客戶端響應。
??服務端具有固定的IP和端口,并且應該長期處于運行狀態。C/S架構是服務集中型的,體現在一臺服務器要接受N個客戶端的請求并處理,客戶端必須知道服務器的地址,而服務器不關心客戶端的地址。
在這里插入圖片描述

1.2、P2P架構

??相比較于C/S架構,P2P架構中的每一個應用是對等的,體現在每個應用既有可能是服務方,也有可能是客戶方。例如E從D下載文件,同時F又從E下載文件。
??系統增加對等方,不會造成資源的緊張,因為增加一個服務請求者的同時,也是增加了一個服務的提供者。
在這里插入圖片描述

二、動態主機配置協議DHCP

??在網絡中,用戶主機如果需要訪問Web服務器,需要進行IP地址,子網掩碼,默認網關,DNS服務器地址等一系列的設置。如果手動地去配置,在現有的網絡規模中是不現實的。
??解決手動配置的問題,可以引入DHCP服務器。在其中設置好其他主機的配置信息,網絡中的各個主機啟動后訪問DHCP服務器,向服務器請求自己的配置信息,而不用手動配置。
在這里插入圖片描述

??DHCP服務進程,運行在DHCP服務器上。DHCP客戶進程,運行在用戶主機上。為了簡化,本筆記中后續的DHCP服務進程DHCP客戶進程,都簡稱為客戶進程和服務進程,DHCP服務器用戶主機,都簡稱為服務和客戶。
??DHCP是應用層的協議,使用的是運輸層的UDP協議作為支持,在運輸層會被封裝為UDP數據報,服務使用的端口是67,客戶使用的端口是68

2.1、DHCP發現報文

??客戶廣播發送DHCP發現報文,源IP地址為0.0.0.0。因為目前用戶主機還沒有被分配IP地址。目標地址為255.255.255.255。因為目前主機并不知道網絡中有哪些具體的服務
??網絡中的所有設備都會收到該IP數據報。并對其層層解封出有DHCP發送報文的UDP數據報:

  • 如果是其他客戶進程監聽到了,丟棄該報文,因為客戶進程沒有監聽67端口。
  • 如果是服務進程監聽到了,會接受該報文,并作出響應。

??DHCP發現報文中,還帶有事務ID和客戶的MAC地址。
在這里插入圖片描述

2.2、DHCP提供報文

??服務接收到報文后,根據其中封裝的客戶的MAC地址,查找自己的數據庫,查詢是否有針對該MAC地址的配置信息。

  • 如果有,使用配置信息構建并發送DHCP提供報文。
  • 如果沒有,就使用默認的配置信息構建并發送DHCP提供報文。

??然后發送DHCP提供報文,該報文的源IP地址為服務的地址,目標IP地址為廣播地址。(因為此時客戶還沒有獲取IP地址,為了使客戶收到只能使用廣播)
??同樣地網絡中的所有設備都會收到該IP數據報。并對其層層解封出有DHCP提供報文的UDP數據報。

  • 如果是其他客戶進程監聽到了,會接受該報文,并作出響應。
  • 如果是服務進程監聽到了,會丟棄該報文,因為服務進程沒有監聽68端口。
    ??客戶還會根據事務ID,判斷該報文是否是自己發送的請求報文的響應,除了事務ID,DHCP提供報文還有其他信息:
    在這里插入圖片描述
    ??客戶如果收到了多個服務的響應報文,則會從其中選擇一個。(通常選擇先到達的。)并向選擇的服務發送DHCP請求報文

2.3、DHCP請求報文

??源地址依舊是0.0.0.0,此時客戶還不能使用服務DHCP提供報文中配置信息的IP地址,因為要再次向選擇的服務發起確認。
在這里插入圖片描述

這時客戶不是已經知道具體選擇了哪一臺DHCP服務了嗎,為什么還需要通過廣播的方式?
此時的客戶端無有效 IP,無法用單播發起定向通信,只能廣播。這一點,RFC 2131 明確規定:客戶端 在未完成 DHCP 過程前,不能單播通信。)(并且需要通知所有服務器,告訴所有 DHCP Server:我選定了誰,其他人請釋放資源。有些網絡拓撲中,中繼或交換機需要廣播才能正確處理

2.4、DHCP確認報文

??假設客戶選擇服務1作為自己的服務。并且服務1接受該請求,則服務1會向客戶發送請求的DHCP確認報文,源IP地址為自身的IP,目的IP地址依舊是廣播地址, 這時客戶才可以使用租用的IP地址。
??如果客戶通過ARP檢測發現有占用的情況,客戶就會給服務發送撤銷報文,然后重新走DHCP發現報文的步驟:
在這里插入圖片描述

2.5、DHCP的續約與終止

??當租用期限過了一半時客戶會向服務發送DHCP請求報文,請求更新租用期。這時的源IP地址為客戶租用到的IP地址,目的IP地址為服務IP地址。

  • 如果服務同意續約,則發送DHCP確認報文客戶得到新的租用期。
  • 如果服務不同意續約,則發送DHCP否認報文客戶立即停止租用該IP,走DHCP發現報文的步驟。
  • 如果服務不響應,則在0.85的租用期時間,客戶發送DHCP請求報文
    • 租用期滿,服務依舊不響應,客戶立即停止租用該IP,走DHCP發現報文的步驟。

在這里插入圖片描述
??并且客戶可以隨時停止DHCP的租用,需要發送DHCP釋放報文
在這里插入圖片描述
??服務給客戶挑選IP地址時,使用ARP保證地址不被占用。客戶在使用該IP之前,也會再次使用ARP進行檢查

總結

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84601.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84601.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84601.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

為服務器SSH登錄增加2FA驗證

安裝NTP模塊并設置時區 安裝NTP模塊 一般的服務器NTP服務默認是不安裝的,需要安裝NTP模塊【7】并啟用。 運行以下指令檢查你的NTP模塊是否已啟用,已啟用則忽略安裝NTP模塊的內容 timedatectl 如果你的返回內容和以下圖片一樣,則表示NTP未…

AI大模型提示詞工程研究報告:長度與效果的辯證分析

一、核心問題:提示詞長度與模型性能的平衡 核心矛盾:提示詞長度增加 → 信息豐富度↑ & 準確性↑ ? 計算成本↑ & 響應延遲↑ 二、詳細機制分析 (一)長提示詞的優勢(實證數據支持) 案例類型短提…

HttpServletResponse源碼解析

Java Servlet API 中 HttpServletResponse 接口的源碼,這是 Java Web 開發中非常核心的一個接口,用于向客戶端(通常是瀏覽器)發送 HTTP 響應。 public interface HttpServletResponse extends ServletResponse {int SC_CONTINUE …

AI基礎概念

目錄 1、ASR和STT區別 2、流式輸出 定義 原理 應用場景 優點 缺點 3、Ollama 4、mindspore和deepseek r1 v3 5、DeepSeek R1/V3 用的哪個底層AI框架 6、HAI-LLM比tensorflow、pytorch還強么 1. 核心優勢對比 2. 性能表現 3. 適用場景 總結 7、openai用的什么底層…

ubuntu20.04速騰聚創airy驅動調試

1.下載相關資料 下載包括:速騰airy產品手冊.pdf、RSView(用于顯示激光雷達數據)、3d數模文件、 RS-LiDAR-16用戶手冊 以下鏈接進行下載 https://www.robosense.cn/resources 2.連接線路后通過Wireshark抓包后進行本地IP配置 2.1按照線路連…

Redis的大key和熱key如何解決

文章目錄 Redis大Key一、什么是Redis大Key二、大Key的產生原因三、大Key的影響四、大Key的解決方案1. 檢測大Key2. 解決方案(1) 數據拆分(2) 使用壓縮算法(3) 使用合適的數據結構(4) 設置合理的過期時間(5) 合理清理(6) 配置優化 五、預防措施總結 Redis熱key一、熱Key問題的本…

恒溫晶振與溫補晶振的區別

在電子設備領域,晶振如同精準的“心臟起搏器”,為電路提供穩定的時鐘信號。恒溫晶振(OCXO)和溫補晶振(TCXO)作為兩類重要的晶體振蕩器,在不同的應用場景中發揮著關鍵作用,它們的區別…

基于SpringBoot的在線考試智能監控系統設計與實現

目錄 一.🦁前言二.🦁開源代碼與組件使用情況說明三.🦁核心功能1. ?算法設計2. ?Java開發語言3. ?Vue.js框架4. ?部署項目 四.🦁演示效果1. 管理員模塊1.1 用戶管理 2. 教師模塊2.1 考試管理2.2 瀏覽試題列表2.3 添加試題2.4 成…

0基礎學Python系列【16】自動化郵件發送的終極教程:Python庫smtplib與email詳解

大家好,歡迎來到Python學習的第二站!?? Python自帶了一些超好用的模塊,可以讓你不必從頭寫代碼就能實現很多功能。比如數學計算、文件操作、網絡通信等。花姐會挑選常用的一些模塊來講解,確保你能在實際項目中用到。?? 本章要學什么? 接下來花姐會深入淺出的講解下面…

環衛車輛定位與監管:安心聯車輛監控管理平臺--科技賦能城市環境衛生管理

一、 引言 城市環境衛生是城市文明的重要標志,也是城市管理的重要內容。隨著城市化進程的加快,環衛作業范圍不斷擴大,環衛車輛數量不斷增加,傳統的管理模式已難以滿足現代化城市管理的需求。為提高環衛作業效率,加強環…

GIS 數據質檢:驗證 Geometry 有效性

前言 在GIS開發中,數據的幾何有效性直接影響分析結果的準確性。無效的幾何(如自相交、空洞或坐標錯誤)可能導致空間計算失敗或輸出偏差。無論是Shapefile、GeoJSON還是數據庫中的空間數據,幾何質檢都是數據處理中不可忽視的關鍵步…

AI大模型學習之基礎數學:高斯分布-AI大模型概率統計的基石

🧑 博主簡介:CSDN博客專家、CSDN平臺優質創作者,高級開發工程師,數學專業,10年以上C/C, C#, Java等多種編程語言開發經驗,擁有高級工程師證書;擅長C/C、C#等開發語言,熟悉Java常用開…

HarmonyOS性能優化——耗時操作減少

耗時操作減少 在應用開發中,避免主線程執行冗余和耗時操作至關重要。這可以降低主線程負載,提升UI響應速度。 避免主線程冗余操作 冗余操作是不必要的、重復執行且對程序功能無實質性貢獻的操作。這些操作浪費計算資源,降低程序運行效率&a…

emscripten 編譯 wasm 版本的 openssl

搭建emscripten環境【參考:https://emscripten.org/docs/getting_started/downloads.html】 下載openssl解壓復制到emsdk目錄 依次執行下列命令: cd emsdk #激活emsdk source ./emsdk_env.shcd opensslemconfigure ./Configure linux-x32 -no-asm -sta…

uniapp 實戰新聞頁面(一)

新聞系統 一、 創建項目 創建個人中心 page.json 配置 tabar "tabBar": {"color":"#666","selectedColor": "#31C27C","list": [{"text": "首頁","pagePath": "pages/inde…

JAVA鎖機制:對象鎖與類鎖

JAVA鎖機制:對象鎖與類鎖 在多線程編程中,合理使用鎖機制是保證數據一致性和線程安全的關鍵。本文將通過示例詳細講解 Java 中的對象鎖和類鎖的原理、用法及區別。 一、未加鎖的并發問題 先看一段未加鎖的代碼: public class Synchronize…

maxcomputer 和 hologres中的EXTERNAL TABLE 和 FOREIGN TABLE

在阿里云的大數據和實時數倉產品中,MaxCompute 和 Hologres 都支持類似于 EXTERNAL TABLE 和 FOREIGN TABLE 的機制,但它們的實現和語義有所不同。 下面分別說明: ?? 一、MaxCompute 中的 EXTERNAL TABLE 和 FOREIGN TABLE 1. EXTERNAL T…

穩定幣:從支付工具到金融基礎設施的技術演進與全球競爭新格局

引言:穩定幣的崛起與金融體系重構 2025年6月,全球穩定幣市值突破2500億美元歷史大關,單年鏈上交易額高達35萬億美元——這一數字已超越Visa和萬事達卡交易總和。這一里程碑事件標志著穩定幣已從加密貨幣市場的邊緣實驗,蛻變為重構…

用 HTML、CSS 和 jQuery 打造多頁輸入框驗證功能

多頁輸入框驗證功能總結:使用 HTML、CSS 和 jQuery 實現 一、多頁表單驗證的核心概念與應用場景 多頁輸入框驗證是指將復雜表單拆分為多個頁面或步驟,逐步引導用戶完成輸入,并在每一步對用戶輸入進行驗證的功能。這種設計具有以下優勢: 提升用戶體驗:避免長表單帶來的心…

DeepSpeed 深度學習學習筆記:高效訓練大型模型

主要參考官網文檔,對于具體內容還需參考官方文檔 1. 引言:為什么需要 DeepSpeed? 大型模型訓練的挑戰 隨著深度學習模型規模的爆炸式增長(從 BERT 的幾億參數到 GPT-3 的千億參數,再到現在的萬億參數模型&#xff09…