Skip to main content

Command Palette

Search for a command to run...

Nodejs 開發者所需要知道的 Network Layer 概念

Updated
1 min readView as Markdown

簡介

本文將會介紹兩大要點

  1. 資料在網路傳輸時,其底層資料傳輸概念
  2. Nodejs 開發者該關注的部份有哪些

Network Layer

前一篇 基礎 Network 概念與 Nodejs http module範例 簡介了網路基礎的架構

以下就網路資料傳輸時的資料傳輸格式做個基礎簡介

由網路架構所知到,網路資料需要從電腦資料依序透過 Switch 接著 Router 到電纜等等不同設施間傳遞。

而為了方便傳輸,因此大致上規範出以下幾個標準作為網路資料分層

每個層集傳輸的資料單位與內容資訊不同

資料解析與組合流程

藍色箭頭方向代表從電腦傳輸資料逐一被傳訊的 Router 解析訊號的過程

綠色箭頭方向代表從接收的 Router 逐一還原出電腦要送到資料完整資料的過程

資料傳輸單位

Phyiscal Layer 傳輸單位是位元,是傳輸線路上的訊號

Data Link Layer 傳輸單位是 Frame - 由多個位元組成,是 Switch 間所傳輸的基礎單位

Network Layer 傳輸單位是 Packet(封包) - 由多個 Frame 所組成,是 Router 間所傳輸的基礎單位

Transfer Layer 傳輸單位是 Segment - 由多個 Packet 所組成,是電腦裡傳輸的基礎單位

Application Layer 傳輸單位是 Data - 一到多個 Segement 所組成,是由電腦軟體傳輸的格式自行決定。

資料傳輸資訊

Phyiscal Layer 傳輸的資訊是 Signal

Data Link Layer 傳輸的資訊是 Mac Address

Network Layer 傳輸的資訊是 IP Address 與 Path

Transfer Layer 傳輸的資訊是 End-To-End Connections 主要有 TCP 與 UDP 兩種傳輸協定

Application Layer 傳輸的資訊主要是應用程式資定的格式

Nodejs 開發者所需要關注的 Layer

對於 Nodejs 開發者所需要關注的網路格式層只需要關注 Application Layer

因為主要都是在應用層對資料做存取

主要也是針對應用層做設計。

More from this blog

AI 時代下的系統可理解性問題

GAI 的時代下,近一年很流行 Vibe-coding,幾乎人人都在草率地使用 Vibe-coding 一詞來指一系列的軟體工程實踐。它指的是一種開發者不親自手打 coding,而是僅透過自然語言向 AI 描述需求(給出「方向」或「感覺」),完全放手讓 AI 代理去自動生成、拼湊出整個應用程式的開發風格。 然而,在專業的軟體工程領域,這股看似美好的「Vibe」背後,隱藏著極高的安全隱患與系統崩潰危

Aug 24, 20263 min read94
AI 時代下的系統可理解性問題

Get Your Hands Dirty on Clean Architecture CH5 Use Case

書本連結 前言 會挑這本書看的人,應該都是關心自己負責專案的軟體架構的人。不只希望開發的軟體能滿足客戶的明確需求,也希望能滿足可維護性(maintainability)的隱性需求,以及自己對結構與美觀習慣的要求。 要能滿足上述這些要求很難,因為專案通常不會按照計畫進行。可能變因有 deadline,最後的 API 與承諾的不同,又或者我們的設計無法很好的貼合需求的變化所需。。因此完美的架構只有在一

Jul 2, 20264 min read68
Get Your Hands Dirty on Clean Architecture CH5 Use Case
M

MicroFIRE

75 posts