計算機網絡 --應用層

計算機網絡 --應用層

一、應用層概述

1. 功能

  • 應用層為應用程序通信提供直接服務,這種服務是用戶能夠直接感知到的數據通信服務。
  • 核心功能包括
    • 文件傳輸:實現不同設備間文件的傳輸操作。
    • 訪問管理:對用戶訪問資源等進行管理。
    • 電子郵件:支持郵件的發送、接收與存儲管理等功能。
    • 虛擬終端:為用戶提供虛擬的終端環境,方便遠程操作等。
    • 查詢服務:例如查詢數據庫等操作。

2. 核心協議

  • FTP(文件傳輸協議):專門用于在網絡上進行文件傳輸的協議。
  • SMTP/POP3/IMAP(電子郵件協議)
    • SMTP(簡單郵件傳輸協議):主要負責郵件的發送,包括客戶端到服務器以及服務器之間的郵件傳輸。
    • POP3(郵局協議版本3):用戶從服務器下載郵件到本地進行離線閱讀,下載后可刪除服務器上的副本。
    • IMAP(互聯網消息訪問協議):用戶可在線同步管理郵件,并且保留服務器上的副本。
  • HTTP(超文本傳輸協議):用于在萬維網上傳輸超文本等資源。
  • DNS(域名解析系統):實現域名到IP地址的映射解析,使用戶輸入的域名能夠被轉換為對應的IP地址。

二、網絡應用模型

1. C/S模型(客戶端 - 服務器模型)

角色劃分
  • 服務器
    • 持續運行,不間斷地為客戶端提供服務。
    • 例如Web服務器提供網頁瀏覽服務,郵件服務器提供郵件存儲轉發等服務。
  • 客戶端
    • 主動發起服務請求的一方。
    • 通過與服務器建立連接來獲取所需資源,如訪問網頁、下載文件或者獲取郵件等。
典型應用
  • Web訪問:用戶使用瀏覽器(客戶端)向Web服務器請求網頁資源。
  • FTP文件傳輸:客戶端向FTP服務器請求文件的上傳或下載操作。
  • 電子郵件:客戶端與郵件服務器交互,實現郵件的收發操作。

2. P2P模型(對等網絡模型)

特點
  • 網絡中的節點具有雙重身份,既是客戶端又是服務器。
  • 資源共享效率高,因為節點之間可以直接交互,無需依賴中央服務器進行資源的中轉。
優勢
  • 去中心化:不存在中心控制節點,每個節點地位平等,降低了單點故障的風險。
  • 擴展性強:例如在迅雷下載、BT資源分享中,新加入的節點可以增加整個網絡的資源共享能力。
示例
  • 在下載電影時,多個節點相互傳輸部分數據,共同加速電影文件的下載速度。

三、DNS域名系統

1. 核心功能

  • 主要功能為將用戶輸入的域名轉換為對應的IP地址,即實現域名到IP地址的映射解析。這一功能是網絡通信中至關重要的環節,因為計算機在網絡中是通過IP地址進行通信的,而域名則是方便用戶記憶和使用的標識。

2. 域名結構

  • 層級結構:采用三級域名.二級域名.頂級域名的形式。
    • 頂級域名(TLD)
      • .com:主要用于商業機構。
      • .edu:用于教育機構。
      • .gov:用于政府機構。
      • .cn:是中國的國家代碼頂級域名。
    • 二級域名:例如baidu(百度公司的域名部分)、pku(北京大學的域名部分)等,是由各個組織或機構自行定義的標識。
    • 三級域名:像www通常作為默認主機名,也可以是其他自定義的名稱,用于進一步細分域名下的不同服務或主機。

3. DNS解析過程

遞歸查詢(本地服務器代查)
  • 當主機需要查詢域名對應的IP地址時:
    • 首先查詢本地DNS緩存,如果在緩存中能夠找到對應的解析結果,則直接使用,無需進一步查詢。
    • 如果本地DNS緩存未命中,則向本地DNS服務器發送查詢請求。
    • 本地DNS服務器會按照順序依次向根DNS服務器頂級DNS服務器權限DNS服務器進行遞歸查詢,直到獲取到域名對應的IP地址并返回給主機。
迭代查詢(本地服務器自主查)
  • 主機向本地DNS服務器發起查詢請求后:
    • 本地DNS服務器首先向根DNS服務器查詢,根DNS服務器返回頂級DNS服務器的地址。
    • 本地DNS服務器根據根DNS服務器返回的地址,直接向頂級DNS服務器查詢,頂級DNS服務器返回權限DNS服務器的地址。
    • 最后本地DNS服務器根據頂級DNS服務器返回的地址,直接向權限DNS服務器查詢,獲取域名對應的IP地址。

4. 服務器類型

  • 根域名服務器
    • 全球共有13組根域名服務器,其主要存儲頂級域名服務器的地址信息。
    • 在DNS解析過程中起著關鍵的引導作用。
  • 本地域名服務器
    • 是用戶直接訪問的首個DNS服務器。
    • 負責接收用戶的查詢請求,并根據情況進行遞歸查詢或者迭代查詢。

四、FTP文件傳輸協議

1. 特點

  • 基于C/S模型:遵循客戶端 - 服務器的交互模式。
  • 采用TCP可靠傳輸:確保文件傳輸過程中數據的準確性和完整性,避免數據丟失或出錯。
  • 雙端口機制
    • 控制連接(端口21):主要用于傳輸命令,例如客戶端請求文件的操作指令等。
    • 數據連接(端口20):專門用于傳輸文件的實際內容。

2. 工作流程

  • 首先,客戶端通過21端口與服務器建立控制連接。
  • 然后,服務器啟動子進程來處理客戶端的請求,并通過20端口建立數據連接,用于傳輸文件。

五、電子郵件系統

1. 核心組件

  • 用戶代理(UA)
    • 客戶端軟件,例如Outlook等。
    • 其主要功能包括撰寫郵件、發送郵件以及接收郵件,為用戶提供方便的郵件操作界面。
  • 郵件服務器
    • 主要負責存儲和轉發郵件。
    • 在郵件發送時使用SMTP協議,在接收郵件時使用POP3或IMAP協議。

2. 協議與流程

  • SMTP(簡單郵件傳輸協議)
    • 用途
      • 主要用于發送郵件,包括從客戶端到服務器以及服務器之間的郵件傳輸。
    • 三階段
      • 連接建立:客戶端與服務器建立連接,準備進行郵件傳輸。
      • 郵件傳輸:實際進行郵件內容的傳輸操作。
      • 連接釋放:傳輸完成后,釋放連接資源。
    • 基于TCP端口25
  • POP3/IMAP
    • 用途:從服務器下載郵件到本地,是用戶主動拉取郵件的操作。
    • POP3特點
      • 操作簡單,適用于用戶進行離線閱讀郵件。
      • 下載郵件后會刪除服務器上的副本。
    • IMAP特點
      • 可以實現在線同步管理郵件,方便用戶在不同設備上同步郵件狀態。
      • 保留服務器上的副本,不會在下載后刪除服務器上的郵件。

六、萬維網與HTTP協議

1. 核心概念

  • 萬維網(WWW)
    • 由超文本、URL、HTTP協議共同構成的全球性資源網絡。
    • 為用戶提供豐富的信息資源,通過超鏈接可以方便地在不同資源之間進行跳轉訪問。
  • URL(統一資源定位符)
    • 格式為協議://主機:端口/路徑,例如http://www.baidu.com
    • 通過URL可以準確地定位網絡中的資源位置。

2. HTTP協議

  • 特點
    • 無狀態:協議本身不保存之前的交互狀態信息,每個請求都是獨立的。
    • 基于TCP(端口80):利用TCP協議的可靠傳輸特性來保證數據的正確傳輸。
    • 支持持久連接:在一定時間內可以保持連接,減少連接建立和釋放的開銷,提高傳輸效率。
  • 工作流程
    • 瀏覽器首先解析URL,通過DNS獲取服務器的IP地址。
    • 然后建立TCP連接,這個過程通過三次握手來完成。
    • 接著發送HTTP請求,例如GET /index.html等請求指令,獲取特定的資源。
    • 服務器收到請求后,響應請求并返回相應的資源,如HTML文件、圖片等。
    • 最后釋放TCP連接,通過四次揮手來完成連接的關閉操作。

3. HTML與超鏈接

  • HTML(超文本標記語言)
    • 用于定義網頁的內容和結構,通過各種標簽來組織文字、圖片、鏈接等元素。
  • 超鏈接
    • 通過URL實現資源的跳轉,使用戶可以方便地從一個網頁跳轉到另一個相關的網頁或者資源。

七、補充要點

1. 域名書寫規則

  • 域名書寫時,頂級域名應寫在最后,例如.com.cn是正確的寫法,而.cn.com是錯誤的寫法。

2. 協議用途

  • SMTP:主要用于郵件的發送,包括服務器之間的郵件傳輸。
  • POP3/IMAP:主要用于郵件的接收,即用戶從服務器拉取郵件。

3. 端口號

  • FTP:控制連接使用端口21,數據連接使用端口20。
  • HTTP:使用端口80。
  • SMTP:基于TCP端口25。

4. DNS解析類型

  • 遞歸查詢:本地服務器代查,按照根DNS服務器、頂級DNS服務器、權限DNS服務器的順序依次查詢。
  • 迭代查詢:本地服務器自主查詢,根據根DNS服務器返回的頂級DNS服務器地址,再根據頂級DNS服務器返回的權限DNS服務器地址進行查詢。

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

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

相關文章

企業級Linux服務器初始化優化全流程

實戰指南:企業級Linux服務器初始化優化全流程 本文基于某電商平臺百萬級并發服務器的真實調優案例整理,所有操作均在Rocky Linux8.5驗證通過,不同發行版請注意命令差異 一、服務器安全加固(Situation-Task-Action-Result&#xff…

OpenAI流式解析

OpenAI 流式的代碼: 首選一般請使用os.getenv 去讀環境變量的內容 注意使用pip install python-dotenv 的安裝方法 load_dotenv 是這個庫提供的一個函數,用于讀取 .env 文件并將其中定義的鍵值對設置為系統的環境變量。 默認情況下,load_…

數據抓取的緩存策略:減少重復請求與資源消耗

在數據采集領域,爬蟲效率是決定項目成敗的關鍵因素之一。傳統的爬蟲架構往往因請求頻繁、資源消耗較大以及重復抓取等問題,導致效率低下。這些問題不僅拖慢了數據獲取的速度,還可能引發目標服務器的過載風險,甚至導致爬蟲被限制。…

k8s部署argocd

前言 ArgoCD是一個基于Kubernetes的GitOps持續交付工具,應用的部署和更新都可以在Git倉庫上同步實現,并自帶一個可視化界面。本文介紹如何使用GitHelmArgocd方式來實現在k8s中部署和更新應用服務; 安裝Argocd 準備一個k8s集群,然…

【Linux】MAC幀

目錄 一、MAC幀 (一)IP地址和MAC地址 (二)MAC幀格式 (三)MTU對IP協議的影響、 (四)MTU對UDP協議的影響 (五)MTU對TCP協議的影響 二、以太網協議 &…

MySQL - 數據庫基礎操作

SQL語句 結構化查詢語言(Structured Query Language),在關系型數據庫上執行數據操作、數據檢索以及數據維護的標準語言。 分類 DDL 數據定義語言(Data Definition Language),定義對數據庫對象(庫、表、列、索引)的操作。 DML 數據操作語言(Data Manip…

GraalVM原生鏡像支持:Spring Cloud應用啟動速度提升90%

引言:當Spring Cloud遇見GraalVM,啟動時間進入秒級時代 傳統Spring Cloud應用因動態類加載、反射等機制導致啟動緩慢(通常超過30秒),在Serverless和Kubernetes滾動更新場景下成為性能瓶頸。Spring Cloud 2023.x通過**G…

【Unity3D】攝像機適配場景以及Canvas適配

目錄 寬度不變策略 高度不變策略 寬度不變策略 開發分辨率 750*1334 (寬高比:0.56) 真機分辨率 1170*2532 (寬高比:0.46) 真機寬高比<開發寬高比&#xff0c;采用寬度不變策略 理由&#xff1a;小于代表真機高度比開發高度更大&#xff0c;因此不需要擔心高度上…

HarmonyOS:基于axios實現文件的下載以及下載進度的監聽

#前言&#xff1a;項目開發中&#xff0c;避免不了實現文件下載功能&#xff0c;其他平臺的下載都很成熟&#xff0c;網上的例子也比較多&#xff0c;我就自己項目中實現的下載功能做個總結&#xff0c;你可以參考我的寫法實現功能。 下載封裝基于axios實現的下載功能。 1.下載…

簡單一周日期展示及選擇切換

醫院掛號&#xff0c;可能需要切換日期&#xff0c;選擇一周內的某一天。 提供一周內的日期段&#xff0c;通過點擊&#xff0c;切換到不同天。 簡單的js&#xff0c;html實例。切換玩調用后臺接口&#xff0c;實現后續邏輯。 使用Vue,插值語法&#xff0c;更簡單。 一周日歷…

二叉樹的前,中,后序遍歷

我們來了解一下二叉樹的遍歷&#xff0c;話不多說 二叉樹的遍歷的概念&#xff1a; 二叉樹有四種遍歷方式&#xff0c;分別為前序遍歷&#xff0c;中序遍歷&#xff0c;后序遍歷和層序遍歷&#xff0c;但我們今天談談前三種&#xff0c;并實現它 前序遍歷&#xff1a; 按照根…

golang Error的一些坑

golang Error的一些坑 golang error的設計可能是被人吐槽最多的golang設計了。 最經典的err!nil只影響代碼風格設計&#xff0c;而有一些坑會導致我們的程序發生一些與我們預期不符的問題&#xff0c;開發過程中需要注意。 ?? errors.Is?判斷error是否Wrap不符合預期 ?…

逼用戶升級Win11,微軟開始給Win10限速

隨著Windows10的支持時間越來越短&#xff0c;微軟也加大了對Win10用戶的驅趕力度。 最近&#xff0c;微軟官宣了將要在今年6月份降低OneNote for Windows 10的同步速度。軟件也將和Windows10在今年的10月14日一同停止支持和維護。 這將影響實時協作和多設備訪問。 對OneNote…

SpringMVC_day02

一、SSM 整合 核心步驟 依賴管理 包含 SpringMVC、Spring JDBC、MyBatis、Druid 數據源、Jackson 等依賴。注意點&#xff1a;確保版本兼容性&#xff08;如 Spring 5.x 與 MyBatis 3.5.x&#xff09;。 配置類 SpringConfig&#xff1a;掃描 Service 層、啟用事務管理、導入…

Android14 原生PackageInstaller安裝某些apk報錯問題

最近遇到Android14安裝客戶一個大型app的時候&#xff0c;執行到開始安裝的時候就直接閃退了&#xff0c;查看log發現下面報錯&#xff1a; 03-25 18:01:29.531 3085 3085 E AndroidRuntime: java.lang.RuntimeException: Could not copy bitmap to parcel blob. 03-25 18:01:2…

SQLAlchemy關鍵詞搜索技術深度解析:從基礎過濾到全文檢索

在數據驅動的應用開發中&#xff0c;基于關鍵詞的模糊查詢是常見的業務需求。SQLAlchemy作為Python生態中最流行的ORM框架&#xff0c;提供了多種實現關鍵詞搜索的技術方案。本文將從性能、適用場景和技術復雜度三個維度&#xff0c;系統對比分析SQLAlchemy中關鍵詞搜索的最佳實…

基于 ffmpeg 實現合并視頻

ffmpeg是一個強大的多媒體處理工具&#xff0c;支持視頻文件的合并。 列出目錄下所有MP4文件 import os import glob# 當前目錄 directory os.getcwd() directory "/directory/to/mp4/*"# 列出目錄下所有MP4文件 files glob.glob(directory)# 排序 files.sort(…

算法每日一練 (20)

&#x1f4a2;歡迎來到張翊塵的技術站 &#x1f4a5;技術如江河&#xff0c;匯聚眾志成。代碼似星辰&#xff0c;照亮行征程。開源精神長&#xff0c;傳承永不忘。攜手共前行&#xff0c;未來更輝煌&#x1f4a5; 文章目錄 算法每日一練 (20)不同路徑 II題目描述解題思路解題代…

【銀河麒麟系統常識】命令:uname -m(查看系統架構)

命令&#xff1a; uname -m 功能 常用的 Linux/Unix 終端命令&#xff0c;用于顯示當前系統的硬件架構&#xff1b; 返回 返回系統的CPU架構類型&#xff0c;用于判斷軟件兼容性&#xff1b; 輸出結果架構說明常見設備x86_64Intel/AMD 64位 CPU主流 PC、服務器aarch64ARM 64位 …

sql結尾加刷題

找了一下mysql對extractvalue()、updatexml()函數的官方介紹https://dev.mysql.com/doc/refman/5.7/en/xml-functions.html#function_extractvalue ExtractValue(xml_frag, xpath_expr) 知識點 解釋一下這兩個參數xml_frag&#xff0c;是xml標記片段&#xff0c;第二個參數…