2022年12月24日 星期六

今日閱讀: 普林斯頓最熱門的電腦通識課(九) 網際網路

網際網路的章節讓我看的很吃力,原本以為自己對網路算有些許了解,但連常用的 TCP/IP 跟 IP v4/IPv6 也是透過此次的閱讀才知道它背後運作的邏輯。

其實這本通識課的書籍講的都是很基本的知識結構,這也讓我明白自己在網路知識方面的匱乏。

透過這個主題閱讀,總算是勉強惡補了一些專有名詞的解釋,以後也更能理解物聯網背後運作的機制。

期許有一天能對網路有更深入的了解,畢竟它已經是現代社會運作的基本設施之一。


本章節的重點摘要如下:

日常生活中接觸的網路技術有:有線電話、有線電視、以太網路 (Ethernet) 以及無線網路、Wi-Fi 和手機。這是多數人連接網際網路的途徑。

所有通訊系統的基本屬性相同,在源頭端,通訊系統把資訊轉換成可以透過某種媒體來傳輸的表述行式;在目的地端,通訊系統把這表述轉換回一種可使用的形式。

大多數有線電話是傳輸類比語音訊號,不是傳輸資料訊息。因此,為了傳輸數位資料必須使用數據機來把位元轉換成聲音 (調變, modulation),然後再把聲音轉換回位元 (解調, demodulation)。

用電話來傳輸資料,需要一條專門的電話線路來撥接,然後最大速度只有每秒 56 KB。

技術持續改進,家用光纖服務正在取代同軸電纜或銅線,訊號被當成光脈衝,沿著一條低耗損的極純玻璃纖維傳送,訊號可以在傳輸長達上百公里後才需要使用中繼器。

每一支手機有一個獨特的 15 位數字識別號碼,稱為這支手機的國際行動裝置識別碼。當手機開啟時,它會廣播它的識別號碼,距離最近的基地台聽到這廣播,向電話網路總部系統驗證。當手機移動時,基地台會持續更新它的所在位置。

網際網路是一個寬鬆、非結構化、混亂及隨意的網路集合,用一些標準的網路協定來讓這些網路連結起來,這些標準定義網路及網路上的電腦彼此如何通訊。

網路具有不同的實體屬性,如光纖以太網路無線網路

網際網路由數千萬個寬鬆連結的獨立網路構成。

鄰近的電腦由區域網路連結(通常是無線以太網路),這些網路又透過閘道器 (gateways)路由器 (routers)來和其他網路連結。

閘道器及路由路是把資訊封包從一個網路路由 (route) 至另一個網路的專門性質電腦;閘道器是通用設備,路由器是更專門性的器材。

閘道器彼此間交換路由資訊 (routing information),好讓它們知道有哪些連結,可讓資訊封包送達。

每一個網路連結許多主機系統 (host system),多台電腦可能使用無線來連結至一個路由器,而路由器透過纜線數位用戶迴路 (DSL) 連結至網際網路服務供應商 (Internet Service Provider, ISP)

資訊以名為封包的區塊形式在網路上傳輸,一個封包是使用特定格式的一系列位元組,內含位址資訊,說明這封包來自哪裡,要送往何處;封包也內含封包本身的資訊,以及封包的裝載資訊 (payload)

資料以 IP 封包 (IPInternet Protocol  網際網路協定) 傳輸,所有IP封包都有相同格式。

每一個 IP 封包通過多個閘道器:一個閘道器把封包送至下一個更靠近最終目的地的閘道器。封包的傳輸未必經由最短路徑,便利性及成本考量可能讓封包走較長路徑。

每一台主機必須有一個位址 (addresses),以便在網際網路上的所有主機系統中獨特地識別自己,這種識別號碼名為 IP位址,32位元 (網際網路協定版本4 IPv4)128位元 (版本6  IPv6)。 

IPv4 仍是主流,但所有可用的 IPv4 位址現在都已經被分配完,目前正在加速轉向 IPv6 位址

IP位址類似於以太網路位址,一個 IPv4 位址被寫成其4個位元組的值,每一個值(每一個位元組)是一個十進數,以句點分開,例如 140.180.223.42  (www.princeton.edu),這種表示法為點分十進制 (dotted decimal)。

每一台主機有一個它所在的網路指派給它的獨特 IP 位址,桌上型電腦的這個 IP 位址可能永久不變,但行動器材的 IP 位址是動態的,當器材每次重新連結至網際網路時,IP 位址將改變。

人們嘗試一台主機必須有一個名稱讓人使用,因為很少人善於記住任意的 32位元號碼,分點十進位數也不容易記住。名稱是無所不在的形式,例如 www.nyu.edu 或 ibm.com,這些被稱為網域名稱 (domain names)。

網際網路基礎設施中的網域名稱系統 (Domain Name System, DNS) 是一個把網域名稱和 IP 位址相對應的資料庫。它能在這兩者之間做轉換,當給出一個網域名稱時,它把這名稱轉換成便於機器辨識的 IP 位址。

路由 (routing),必須有一個機制,為每個封包找到一條從來源端傳輸至目的端的路徑。

在 IP 層之上,有一個傳輸控制協定 (Transmission Control Protocol, TCP),使用 IP 來提供一個可靠的機制,把任意長度的系列位元組從來源端傳送到目的端。

在 TCP 層之上,有更高層的協定來使用 TCP 提供我們視為網際網路的服務,例如瀏覽網頁、收發電子郵件、檔案分享等。例如 IP 位址的動態改變是由動態主機設定協定 (Dynamic Host Configuration Protocol, DHCP)

住家的無線路由器通常使用網路位址轉換 (network address translation, NAT)技術,讓單一一個外部IP位址 (external IP address)能夠服務多個內部IP位址 (internal IP address)。 

使用 NAT 技術的路由器,所有連網器材對外都顯示相同的一個IP位址,器材內部的硬體及軟體處理雙向轉換,例如一個家庭有十幾台電腦及其他器材需要一個IP位址來連網,它們全部由一個使用單一一個外部 IP 位址的 NAT 來提供服務。

建立網站需要一個主機,為網站呈現給造訪者的內容提供存放與代管服務的一台電腦。這也需要一台網域名稱伺服器(name server),當有人試圖找網站網域的 IP 位址,這伺服器將向此人回應你的主機的 IP 位址。

網路網路有許多協定,其中有兩個絕對根本必要的協定:其一是網際網路協定(Internet Protocol, IP),定義個別封包如何格式化及傳輸;其二是傳輸控制協定 (Transmission Control Protocol, TCP),定義如何把IP封包結合成資料流及如何與服務連結,這兩者稱為 TCP/IP

閘道器負責路由 IP 封包,每個實體網路有自己傳輸 IP 封包的格式,每個閘道器必須在封包進來和出去時,在網路格式與 IP 之間轉換。在IP之上,TCP提供可靠的通訊,因此使用者(程式設計師)不必去思考封包,只需思考資訊流

協定層級由高至低為:應用程式→傳輸控制協定(TCP)→網際網路協定(IP)→實體層

使用者資料包協定 (User Datagram Protocol, UDP) 是跟TCP同一層級的另一個協定,它比 TCP簡單得多,被用於不需要雙向流的資料交換,它只是多增加幾個功能,以更有效率的傳輸封包。

網域名稱系統 (DNS)使用 UDP,影片串流、網路電話 (VoIP),以及一些線上遊戲也使用 UDP。

更高層級的協定把來自 IP (不可靠、無連接)的通訊合成為可靠通訊,這其中最重要的一個協定是 TCP。TCP為使用者提供一個可靠的雙向資料流:把資料放在一端,讓它輸出於另一端,傳輸過程低延遲(亦即等候時間少)。

TCP 提供一個可靠的雙向流,在兩台電腦之間來回傳送資料,網際網路服務及應用程式此用TCP 作為傳輸機制。

超文本傳輸協定(Hypertext Transfer Protocol, HTTP) 是網頁瀏覽器和伺服器之間使用的一種特別簡單的協定。

Telnet 及 SSH 協定:遠端登入。網際網路是個資訊載體,Telnet (Teletype Network, 電傳網路)是一種在另一台電腦建立遠端登入(remote login)通訊的 TCP 服務。但Telnet 不提供資安,它傳輸的資料沒有加密,這也是現在很少被使用的原因之一。

安全外殼協定(Secure Shell, SSH)被廣為使用,因為它把雙向的傳輸加密,可以安全地交換資訊

簡單郵件傳輸協定(Simple Mail Transfer Protocol, SMTP),一個瀏覽器或一個獨立程式收發電子郵件。

SMTP 要求電子郵件訊息必須是 ASCII 文本,有一個名為多用途網際網路郵件擴充(Multipurpose Internet Mail Extensions, MIME) 的標準說明把其他類型的資料轉換成 ASCII 文本,以及如何把多個部分結合單一郵件訊息,HTTP 也始用此機制。

Gmail Outlook 在雲端上處理電子郵件是普遍的事,這些系統使用 SMTP 來傳輸,且表現得像網際網路訊息存取協定(Internet Message Access Protocol, IMAP) 般,讓用戶存取郵件。

現在的檔案分享大都使用名為 BitTorrent (BT)端對端協定 (peer-to-peer protocol),由 Bram Cohen2001 年設計出來。 BT 用戶很容易受到偵查,因為這個協定要求下載者也必須上傳,他們很容易被確證從事提供受版權保護內容的行為。

智慧型手機是能夠使用標準電話系統的電腦,現代電話機都能透過無線載波或 Wi-Fi 來連結網際網路。可以透過 Wi-Fi藍牙上傳相片的相機,能夠下載娛樂及上傳所在位置和引擎遙測數據的車子,測量與控制所在地環境溫度、通報人在外面屋主的恆溫器,監看小孩與保母及按門鈴者的影像監視器,這些全都是基於網際網路連結,這全部被稱為物聯網 (Internet of Things, IoT)

網際網路是一種封包網路:以標準化的個別封包來傳送資訊,封包被動態地路由,行徑大而持續變化的網路集;網際網路對每一台目前連結的主機指派一個獨一無二的 IP 位址。網域名稱系統(DNS)是一個大型分散式資料庫,把網域名稱轉換成 IP 位址,把 IP 位址轉換成網域名稱。

網路之間透過閘道器來連結,閘道器是專門型電腦,在封包從來源端傳輸至目的端的途中,把封包從一個網路路由至下一個網路。

網際網路是靠協定與標準來運轉,網際網路協定(IP)是共通機制,是交換資訊的通用語。特定的硬體技術如以太網路和無線系統把資料打包成 IP 封包,但在 IP 層級無法看到硬體的任一部份如何運作的細節。

IP在網際網路上傳輸個別封包;TCP合成出一個來自IP的可靠資料流;應用程式協定在資料流中來回傳送資料,每個層級提供的編程介面是應用程式介面(API)的好例子。

沒有留言:

張貼留言

我的創業筆記 (十二) 合資公司是不是試水溫的好方法?

今天這篇又要聊到我老婆的工作內容了,她今年有關創業方面的內容特別多,所以一再被提及,但就她自己的說法,她並不想創業、她比較想躺平耍廢。 自從健身工作室的經營上軌道後,老婆就沒花費太多額外的精神,反倒是那間進出口公司的老闆非常活躍,衝勁跟野心十足,每天似乎都有新的想法,也搞死她們這...