計算機網絡 應用層 筆記1(C/S模型,P2P模型,FTP協議)

應用層概述:

功能:

常見協議

應用層與其他層的關系

網絡應用模型

C/S模型:

優點

缺點

P2P模型:

優點

缺點

DNS系統:

基本功能

系統架構

域名空間:

DNS 服務器

根服務器:

頂級域名服務器:

權限域名服務器:

遞歸/迭代(本地)域名服務器:

FTP協議:

基本概念

工作原理

連接建立

控制連接:

數據連接:

文件傳輸

上傳:

下載:

命令與響應

傳輸模式

優點

缺點


應用層概述:

應用層是計算機網絡體系結構中的最高層,它直接面向用戶,為用戶提供各種網絡應用服務,是網絡與用戶之間的接口。

功能:

提供網絡應用接口:為用戶和應用程序提供與網絡交互的接口,使用戶無需了解網絡的底層細節,就能方便地使用各種網絡服務,如通過瀏覽器訪問網頁、使用電子郵件客戶端收發郵件等。

數據處理與表示:對應用程序產生或需要的數據進行處理和表示,包括數據的編碼、加密、壓縮等操作,以確保數據在網絡傳輸中的安全性、完整性和高效性。例如,將圖像數據進行壓縮后再通過網絡傳輸,以減少傳輸帶寬和時間。

應用協議處理:負責處理各種應用層協議,根據不同的應用需求,按照特定的協議規則進行數據的封裝、解析和交互。如 HTTP 協議用于網頁的請求和響應,SMTP 協議用于電子郵件的發送等。

常見協議

HTTP(超文本傳輸協議):用于在 Web 瀏覽器Web 服務器之間傳輸超文本信息,是萬維網的核心協議。它定義了客戶端如何向服務器發送請求以及服務器如何向客戶端返回響應,支持獲取網頁、圖片、視頻等各種資源。

SMTP(簡單郵件傳輸協議):主要用于發送電子郵件,負責將郵件從發件人的郵件服務器傳輸到收件人的郵件服務器。與之相關的還有 POP3(郵局協議版本 3)和 IMAP(互聯網消息訪問協議),用于接收和管理電子郵件。

FTP(文件傳輸協議):用于在網絡上進行文件的傳輸,允許用戶在不同的計算機之間上傳和下載文件,提供了可靠的文件傳輸服務,常用于文件共享、軟件分發等場景。

DNS(域名系統):將人類易于記憶的域名轉換為計算機能夠識別的 IP 地址,實現了網絡資源的方便訪問。用戶只需輸入域名,如www.example.com,DNS 系統就能將其解析為對應的 IP 地址,使得計算機能夠在網絡中找到目標服務器。

DHCP(動態主機配置協議):用于自動為網絡中的設備分配 IP 地址等網絡配置信息,簡化了網絡管理,使得設備能夠快速、方便地接入網絡,無需用戶手動進行復雜的網絡配置。

應用層與其他層的關系

與傳輸層的關系:應用層依賴傳輸層提供的端到端通信服務來傳輸數據。傳輸層為應用層提供了 TCP 和 UDP 兩種不同的傳輸協議,應用層根據自身的需求選擇合適的傳輸協議。例如,HTTP 協議通常使用 TCP 協議來保證數據的可靠傳輸,而實時視頻流應用可能會選擇 UDP 協議以追求低延遲。

與網絡層的關系:應用層的數據需要通過網絡層進行路由和轉發,網絡層負責將數據從源主機傳輸到目標主機。應用層并不關心網絡層的具體路由過程,只需要將數據交給傳輸層,由傳輸層再交給網絡層進行處理。

與鏈路層和物理層的關系:應用層數據最終要通過鏈路層和物理層在物理介質上進行傳輸。鏈路層負責將數據幀在本地網絡中進行傳輸,物理層則負責將數據轉換為物理信號在物理介質上傳輸,如光纖、電纜等。應用層數據經過層層封裝后,最終在物理介質上進行傳輸,到達目標主機后再進行層層解封裝,最終被應用層接收和處理。

網絡應用模型

C/S模型:

一種常用的計算機網絡架構模式,用于在網絡環境中實現客戶端和服務器之間的信息交互和資源共享。

客戶端是用戶與系統交互的接口,通常安裝在用戶的本地設備上,如個人電腦、手機等。它的主要功能是向服務器發送請求,并接收服務器返回的響應結果,然后將結果呈現給用戶。客戶端可以是各種應用程序,如瀏覽器、電子郵件客戶端、游戲客戶端等。(和服務器通信并用其的服務,間歇接入網絡,使用動態IP地址)

服務器:是為客戶端提供服務和資源的設備或程序,通常具有強大的計算能力、存儲能力和網絡通信能力。服務器負責接收客戶端發送的請求,根據請求的內容進行相應的處理,如查詢數據庫、執行計算任務等,然后將處理結果返回給客戶端。服務器可以是物理服務器,也可以是虛擬服務器,常見的服務器軟件有 Apache、IIS 等。(永久提供服務,永久性訪問地址)

優點

強大的交互能力:客戶端和服務器之間可以進行頻繁的交互,客戶端能夠實時向服務器發送請求,服務器也能及時響應客戶端的請求,實現了高效的信息交互和業務處理。

良好的安全性:客戶端和服務器之間的通信可以進行加密處理,保證數據在傳輸過程中的安全性。同時,服務器可以對客戶端的訪問進行嚴格的權限控制,只有經過授權的客戶端才能訪問服務器上的資源,提高了系統的安全性。

可擴展性強:C/S 模型可以方便地進行擴展,當系統的業務需求增加或用戶數量增多時,可以通過增加服務器的數量或升級服務器的硬件配置來提高系統的處理能力和性能。

缺點

客戶端維護成本高:由于客戶端需要安裝在用戶的本地設備上,當客戶端軟件需要升級或更新時,需要用戶手動下載和安裝更新包,這給用戶帶來了不便,也增加了軟件維護的成本。

跨平臺兼容性差:不同操作系統和設備上的客戶端可能需要進行專門的開發和適配,以確保客戶端能夠在各種平臺上正常運行。這增加了開發的難度和成本,也限制了系統的應用范圍。

服務器壓力較大:隨著用戶數量的增加,服務器需要處理大量的客戶端請求,這可能會導致服務器的負載過高,影響系統的性能和響應速度。

P2P模型:

網絡中的節點(Peer)既可以作為客戶端向其他節點請求服務,也可以作為服務器為其他節點提供服務,各節點地位平等,沒有中心服務器的控制。

節點P2P 網絡中的每個參與者都被稱為節點,這些節點具有相同的功能和地位,沒有主從之分。每個節點都可以同時扮演客戶端和服務器的角色,既可以發起請求獲取其他節點的資源或服務,也可以響應其他節點的請求,提供自己的資源或服務。節點可以是個人電腦、服務器、移動設備等各種聯網設備。

網絡連接:節點之間通過網絡相互連接,形成一個分布式的網絡結構。這些連接可以是基于互聯網的有線網絡連接,也可以是無線網絡連接。節點之間通過特定的協議和算法來發現彼此、建立連接并進行數據傳輸和交互。

優點

去中心化:沒有中心服務器來控制整個網絡,避免了單點故障和性能瓶頸問題。即使部分節點出現故障或離線,也不會影響整個網絡的正常運行。

可擴展性強:隨著節點數量的增加,P2P 網絡的性能和資源容量也會相應增加。新節點可以隨時加入網絡,為網絡帶來更多的資源和計算能力,而無需對整個系統進行大規模的改造。

資源共享高效:節點可以直接從其他節點獲取所需資源,無需通過中間服務器進行轉發,大大提高了資源的傳輸效率。特別是在大規模文件共享等場景下,P2P 網絡能夠充分利用節點的帶寬資源,實現快速的數據傳輸。

缺點

安全性挑戰:由于沒有中心服務器進行統一的管理和認證,P2P 網絡中的節點身份難以嚴格驗證,容易受到惡意攻擊,如病毒傳播、黑客入侵、數據篡改等。

網絡管理復雜:節點的動態加入和離開使得網絡拓撲結構不斷變化,難以進行有效的網絡管理和監控。同時,由于節點之間的協作和數據傳輸依賴于分布式的協議和算法,網絡中的數據流量和資源使用情況難以準確統計和控制。

知識產權問題:在一些 P2P 文件共享網絡中,可能存在大量未經授權的版權內容傳播,這給知識產權保護帶來了很大的挑戰。

DNS系統:

DNS 系統即域名系統(Domain Name System),是互聯網的一項核心服務,它作為將域名和 IP 地址相互映射的一個分布式數據庫,能夠使人更方便地訪問互聯網,而不用去記住能夠被機器直接讀取的 IP 地址數串。

基本功能

域名解析:這是 DNS 系統最主要的功能,即將域名轉換為對應的 IP 地址。當用戶在瀏覽器中輸入一個域名時,如www.example.com,DNS 系統會根據域名查找對應的 IP 地址,如 192.0.2.1,然后瀏覽器才能通過該 IP 地址與服務器建立連接,獲取相應的網頁內容。

反向解析:與域名解析相反,是將 IP 地址轉換為域名。這在一些需要根據 IP 地址查找域名的場景中非常有用,比如服務器在記錄訪問日志時,可能會根據訪問者的 IP 地址反向解析出域名,以便更好地分析訪問來源。

負載均衡:通過將多個服務器的 IP 地址與一個域名關聯,DNS 系統可以根據一定的算法,如輪詢、加權輪詢等,將用戶的請求分配到不同的服務器上,實現負載均衡,提高系統的性能和可靠性。

域名管理:DNS 系統還負責管理域名的注冊、更新、刪除等操作,確保域名的唯一性和合法性,維護域名系統的正常運行。

系統架構

域名空間:

是一個樹形結構,根在最頂層,向下分支為各個頂級域名(TLD),如.com、.org、.net 等,頂級域名下又可以有二級域名、三級域名等。每個域名在這個樹形結構中都有唯一的位置,形成了一個層次化的命名空間。

www(三級).example(二級).com(頂級)

DNS 服務器

根服務器:

是 DNS 系統的核心,全球共有 13 組根服務器,以字母 A 到 M 命名。根服務器知道所有頂級域名服務器的地址,當 DNS 服務器在本地無法解析域名時,會向根服務器查詢,根服務器會返回相應頂級域名服務器的地址,引導查詢進一步進行。

頂級域名服務器:

負責管理頂級域名,如.com 域名服務器負責解析所有以.com 為后綴的域名。它知道該頂級域名下所有二級域名服務器的地址信息。

權限域名服務器:

由域名所有者自行管理或委托管理,負責存儲和提供特定域名的權威解析記錄,如某個企業的域名example.com的權威域名服務器,會保存該域名對應的 IP 地址等解析信息。

遞歸/迭代(本地)域名服務器:

通常由互聯網服務提供商(ISP)或企業內部網絡部署,它接受用戶的域名解析請求并將最終結果返回給用戶。本地域名服務器會緩存已經解析過的域名信息,以提高后續查詢的效率。

遞歸查詢和迭代查詢

遞歸是本地作為客戶把任務交給別人讓別人告訴答案,迭代是讓別人指路,自己去找

FTP協議:

文件傳輸協議(File Transfer Protocol),是用于在網絡上進行文件傳輸的標準協議
?

基本概念

FTP 協議屬于應用層協議,它基于客戶 / 服務器(C/S)模型,使用 TCP 可靠的運輸服務,允許用戶從一個主機向另一個主機傳輸文件,并且能夠保證文件傳輸的可靠性和完整性,廣泛應用于網站維護、文件共享等場景。

工作原理

連接建立

控制連接

FTP 客戶端與服務器之間首先建立控制連接(登錄, ftp地址 + 用戶名&密碼),默認使用 TCP 的 21 端口。客戶端通過該連接向服務器發(進程包括1個主進程和n個從屬進程)送命令,服務器則通過此連接返回響應信息,如用戶登錄驗證、文件操作指令等。

數據連接:

在需要傳輸數據時,客戶端和服務器之間會建立數據連接。數據連接可以使用主動模式或被動模式。在主動模式下,服務器會主動連接客戶端指定的數據端口(通常為 20 端口)來傳輸數據;在被動模式下,服務器會監聽一個臨時端口,并將該端口號告知客戶端,由客戶端主動連接服務器的這個臨時端口進行數據傳輸。

文件傳輸

上傳:

當客戶端要向服務器上傳文件時,通過控制連接發送上傳文件的命令,然后在數據連接上按照規定的格式和順序將文件數據發送給服務器,服務器接收并存儲文件。

下載:

客戶端通過控制連接發送下載文件的命令,服務器在數據連接上把文件數據傳輸給客戶端,客戶端接收并保存文件。

(控制鏈接一直打開,數據連接用時打開,同時如果主動傳輸,鏈接端口為20,被動的由客戶端決定)

命令與響應

命令:FTP 協議定義了一系列命令,用于實現各種文件操作和連接管理功能。常見的命令有:

USER:用于向服務器發送用戶名,進行登錄驗證的第一步。

PASS:在發送用戶名后,用于發送密碼完成登錄。

LIST:請求服務器返回當前目錄下的文件和目錄列表。

RETR:用于從服務器下載文件,后面跟隨要下載的文件名。

STOR:用于向服務器上傳文件,后面跟隨要上傳的文件名。

響應:服務器接收到客戶端的命令后,會返回相應的響應代碼和信息。例如:

200:表示命令執行成功。

331:表示用戶名正確,需要輸入密碼。

425:表示無法打開數據連接。

550:表示文件操作失敗,如文件不存在等。

傳輸模式

文本模式:主要用于傳輸文本文件,在傳輸過程中,會根據不同的操作系統對文本文件的格式進行轉換,例如將 Windows 系統中的回車換行符(CRLF)轉換為 Unix 系統中的換行符(LF)等,以確保文件在不同系統上的可讀性。

二進制模式:用于傳輸非文本文件,如圖像、音頻、視頻等。在二進制模式下,文件以字節流的形式進行傳輸,不會對文件內容進行任何轉換,保證文件的原始數據完整無誤地傳輸到目標主機。

優點

簡單易用:FTP 協議的操作相對簡單,用戶只需要掌握一些基本的命令,就可以方便地進行文件傳輸操作。

高效傳輸:能夠支持大文件的傳輸,并且在傳輸過程中可以保證數據的完整性和準確性,傳輸效率較高。

跨平臺性好:可以在不同操作系統的主機之間進行文件傳輸,如 Windows 與 Linux 系統之間,具有良好的兼容性。

缺點

安全性問題:FTP 協議在默認情況下,數據傳輸是明文的,包括用戶名、密碼和文件內容等,容易被黑客竊取和篡改,存在較大的安全風險。

被動模式下的防火墻問題:在使用被動模式時,由于服務器會監聽一個臨時端口用于數據連接,這可能會導致防火墻配置的復雜性增加,需要對防火墻進行特殊配置才能允許數據通過。

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

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

相關文章

人類心智逆向工程:AGI的認知科學基礎

文章目錄 引言:為何需要逆向工程人類心智?一、逆向工程的定義與目標1.1 什么是逆向工程?1.2 AGI逆向工程的核心目標二、認知科學的四大支柱與AGI2.1 神經科學:大腦的硬件解剖2.2 心理學:心智的行為建模2.3 語言學:符號與意義的橋梁2.4 哲學:意識與自我模型的爭議三、逆向…

游戲引擎學習第86天

倉庫: https://gitee.com/mrxiao_com/2d_game_2 回顧 繼續之前的工作。 昨天已經讓地形系統基本運行起來,但目前仍然需要進一步完善,使其能夠生成更多的地塊。目前的情況是,僅僅有一個地塊位于中心區域,而真正需要的是讓地塊覆蓋…

Python在線編輯器

from flask import Flask, render_template, request, jsonify import sys from io import StringIO import contextlib import subprocess import importlib import threading import time import ast import reapp Flask(__name__)RESTRICTED_PACKAGES {tkinter: 抱歉&…

力扣動態規劃-20【算法學習day.114】

前言 ###我做這類文章一個重要的目的還是記錄自己的學習過程,我的解析也不會做的非常詳細,只會提供思路和一些關鍵點,力扣上的大佬們的題解質量是非常非常高滴!!! 習題 1.網格中的最小路徑代價 題目鏈接…

關于算盡圓周率

總有人提到圓周率算盡的問題,其實代碼都已經在前面給出了,自己跑一下就明白了。 用語言描述的話,那就是: 前面幾篇文章已經寫清楚了,圓周率的本質就是無限分辨率前提下的可二分度量單位。 就像是自然對數底&#xf…

從通訊工具到 AI 助理,AI手機如何發展?

隨著AI進軍各行各業,全面AI化時代已經到來。手機,作為現代人類的“數字器官”之一,更是首當其沖地融入了這一變革浪潮之中。 2024年年初,OPPO聯合IDC發布了《AI手機白皮書》,公布OPPO已邁向AI手機這一全新階段。到如今…

游戲引擎 Unity - Unity 打開項目、Unity Editor 添加簡體中文語言包模塊、Unity 項目設置為簡體中文

Unity Unity 首次發布于 2005 年,屬于 Unity Technologies Unity 使用的開發技術有:C# Unity 的適用平臺:PC、主機、移動設備、VR / AR、Web 等 Unity 的適用領域:開發中等畫質中小型項目 Unity 適合初學者或需要快速上手的開…

C# 接口介紹

.NET學習資料 .NET學習資料 .NET學習資料 一、接口的定義 在 C# 中,接口是一種特殊的抽象類型,它定義了一組方法簽名,但不包含方法的實現。接口使用interface關鍵字來聲明。例如,定義一個表示形狀的接口IShape: in…

Qt常用控件 多元素控件

文章目錄 1. QListWidget1.1 常用屬性和方法1.2 常用信號1.4 例子1,操作元素 2. QTableWidget2.1 常用屬性和方法2.2 常用信號2.3 例子1,創建表格3.1 常用屬性和方法3.2 常用信號3.3 例子1,創建樹形結構 Qt中提供的多元素控件有: QListWidget…

2. 動態測試

一、動態測試是什么? 動態測試(Dynamic Test)允許在運行時生成測試用例,而不是在編譯時通過 Test 靜態定義。它通過 TestFactory 注解標記的方法動態生成一組測試用例,適用于需要靈活生成測試場景的場景。 核心特點&…

33.Word:國家中長期人才發展規劃綱要【33】

目錄 NO1.2樣式? NO3? 圖表 ? NO4.5.6? 開始→段落標記視圖→導航窗格→檢查有無遺漏 NO1.2樣式 F12/另存為:Word.docx:考生文件夾樣式的復制樣式的修改 樣式的應用(沒有相似/超級多的情況下)——替換 [ ]通配符&#x…

Qt展廳播放器/多媒體播放器/中控播放器/幀同步播放器/硬解播放器/監控播放器

一、前言說明 音視頻開發除了應用在安防監控、視頻網站、各種流媒體app開發之外,還有一個小眾的市場,那就是多媒體展廳場景,這個場景目前處于壟斷地位的軟件是HirenderS3,做的非常早而且非常全面,都是通用的需求&…

2021版小程序開發5——小程序項目開發實踐(1)

2021版小程序開發5——小程序項目開發實踐(1) 學習筆記 2025 使用uni-app開發一個電商項目; Hbuidler 首選uni-app官方推薦工具:https://www.dcloud.io/hbuilderx.htmlhttps://dev.dcloud.net.cn/pages/app/list 微信小程序 管理后臺:htt…

【零拷貝】

目錄 一:了解IO基礎概念 二:數據流動的層次結構 三:零拷貝 1.傳統IO文件讀寫 2.mmap 零拷貝技術 3.sendFile 零拷貝技術 一:了解IO基礎概念 理解CPU拷貝和DMA拷貝 ? 我們知道,操作系統對于內存空間&…

全棧開發:使用.NET Core WebAPI構建前后端分離的核心技巧(一)

目錄 cors解決跨域 依賴注入使用 分層服務注冊 緩存方法使用 內存緩存使用 緩存過期清理 緩存存在問題 分布式的緩存 cors解決跨域 前后端分離已經成為一種越來越流行的架構模式,由于跨域資源共享(cors)是瀏覽器的一種安全機制,它會阻止前端應用…

《Linux服務與安全管理》| 數據庫服務器安裝和配置

《Linux服務與安全管理》| 數據庫服務器安裝和配置 目錄 《Linux服務與安全管理》| 數據庫服務器安裝和配置 任務一: 安裝PostgreSQL數據庫,設置遠程登錄,客戶端可以成功登錄并操作數據庫。 任務二: 安裝MySQL數據庫&#xf…

Linux系統之whereis命令的基本使用

Linux系統之whereis命令的基本使用 一、whereis命令介紹二、whereis命令的使用幫助2.1 whereis命令的幫助信息2.2 whereis命令幫助解釋 三、whereis命令的基本使用3.1 查找命令的位置3.2 僅查找二進制文件3.3 僅查找手冊頁3.4 輸出實際使用的查找路徑3.5 指定自定義搜索路徑 四…

Autosar-以太網是怎么運行的?(Davinci配置部分)

寫在前面: 入行一段時間了,基于個人理解整理一些東西,如有錯誤,歡迎各位大佬評論區指正!!! 目錄 1.Autosar ETH通訊軟件架構 2.Ethernet MCAL配置 2.1配置對應Pin屬性 2.2配置TXD引腳 2.3配…

2024年度總結

首先,我是在2023年結束高中生涯進入大學的,難免會有固化的“高中生”思維,我等著老師的安排,看著課表上課,跟著時間吃飯,睡覺,偶爾會熬夜,但整體跟高中沒差太多。我對社團沒興趣&…

【Block總結】CSAM,包含分割、關鍵點、切分等均適用!|即插即用

論文信息 標題: CSAM: A 2.5D Cross-Slice Attention Module for Anisotropic Volumetric Medical Image Segmentation 論文鏈接: https://arxiv.org/pdf/2311.04942 GitHub鏈接: https://github.com/aL3x-O-o-Hung/CSAM 創新點 CSAM(跨切片注意力模塊&#xff…