加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

小明學習筆記 | 一文看懂互聯網TCP/IP協議_TCP:區塊鏈

Author:

Time:1900/1/1 0:00:00

編者按:區塊鏈涉及到的技術很多,從互聯網底層到不明覺厲的密碼學,可是往往關注幣價者多而研究技術的人少。牛市的時候,大家為了炒幣也會努力學習,熊市的時候,反正也沒啥事,我覺得可以更加努力學習。作為一個文科生,我當然會有很多理科生看起來覺得很白癡的問題。作為一個記者,我不難找到業內懂的人用人話給我解釋,而且他們往往不會當面嫌棄我。這是小明學習筆記第三期,學習的是TCP/IP協議,第一期學習的是虛擬機,第二期是跨鏈,之后想學習的有VRF、開源歷史和文化、網絡體系結構與區塊鏈分層體系對比、“假如把幣圈看成一個國家這個國家的貨幣在經歷什么”。如果有其他有趣問題,歡迎投稿和提問。

在接觸區塊鏈的時候,你可能會發現經常有人會說到協議,偶爾還會有人說到TCP/IP協議。乍聽之下不明覺厲,但轉念一想這似乎真的已經是最普遍而且我們每天都在用的“協議”了。還會有人拿區塊鏈跟互聯網相比,而互聯網的底層是TCP/IP協議;還聽到過徐明星說過區塊鏈是將會是金融的TCP/IP協議;加上以太坊的架構中網絡層的資料也非常少。所以我想了解一下。這次的學習筆記主要是依靠網上公開資料的整理,很多段落可能是copy自不同的解釋文章,真的是所謂的“筆記”了。

圖片來自CSDN博客什么是TCP/IP協議

首先,協議,可以理解為是一套統一的規則,就像行業標準。由于互聯網主要的功能是傳輸信息,所以其協議一般是管理系統之間如何相互通信的規則。用郵政和物流等線下的“運輸協議”來理解,我們以前寫信的時候都需要寫郵編、寄信人、收信人和地址,在途中郵政也有自身的標準,比如不同地區的郵遞員收集特定地區的郵件,然后匯集分發;物流行業也有集裝箱、鐵軌等。在互聯網通信中,“如何探測到通信目標、由哪一邊先發起通信、使用哪種語言進行通信、怎樣結束通信等規則都需要事先確定。不同的硬件、操作系統之間的通信,所有的這一切都需要一種規則。”TCP/IP協議的全稱是TransmissionControlProtocolandInternetProtocol。TCP和IP分別是兩種協議;同時TCP/IP協議可以指互聯網傳輸過程中用到的一組協議族和互聯網模型,因為TCP和IP在其中比較重要,所以以它們來命名。由于通信中涉及到的步驟和用到的軟硬件很多,因此會被劃分成不同的層次。TCP/IP模型有四個抽象的層次,描述了總體的設計大綱,并實現了網絡通信的具體協議。這個模型中不同的協議有著不同的“分工”,掌握所需要的信息,并且根據特定信息完成它的工作,其實跟現實生活中工作流程差不多。再用上面郵政和寄快遞的例子,由于存在分工,你問收件的快遞員你的快遞單到哪是他肯定是不知道的,他只負責把你的快件送到快遞集散點。對于用戶而言,可以把TCP/IP協議理解成快遞公司,用戶只需要寄件和簽收,怎么把快件從A運到B手上,就是快遞公司的事了。再次借用知乎哦吼的話:“TCP/IP也是網絡通信里的物流公司,應用程序只要把需要傳輸的數據提交給TCP/IP,TCP/IP就可以把數據打包發到目的地,至于里面的傳輸細節應用程序也可以不關心,這樣應用程序就可以從最底層的傳輸細節里解放出來,把更多的注意力放在應用程序數據本身的處理。”接下來我們可以開始來了解一下這家快遞公司內部的各個重要角色。TCP/IP各層協議的職能

新隱私區塊鏈Namada向Zcash提議首次屏蔽空投:金色財經報道,專注于多鏈隱私的新區塊鏈Namada已提議向Zcash(ZEC)的持有者空投其即將推出的Namada質押代幣(NAM),zcash是專注于隱私的區塊鏈Zcash的原生加密貨幣。這將是有史以來第一次直接空投給受保護的ZEC持有者,選擇將交易細節保密的zcash用戶。他們不僅能夠匿名認領NAM,而且比透明的ZEC持有者(他們也將是空投的接受者)獲得更多。Namada和Zcash都使用零知識證明(ZK-proofs),一種密碼學,在不透露發送者、接收者或交易金額的情況下驗證交易。ZK-proofs是一種在不泄露信息本身的情況下證明信息有效性的技術。ZEC用戶可以將交易細節保密(屏蔽)或公開(透明)。[2023/4/13 14:00:18]

這家公司大概可以分成四個部門,也就是TCP/IP協議族按層次分別分為應用層、傳輸層、網絡層和網絡接口層。

先來個英文版

再來個萌萌噠中文版上面這幅圖其實很形象地表現了整個數據傳輸的過程,我們在微信上發一句話看似很簡單,其實每一步都經過了從上層到底層,再從底層到上層應用的過程。比如小熊在微信上給小明發了一句消息,直到小明收到這個消息,其實就經過了上述過程。微信所在的是應用層,它按照特定格式把數據打包好,加上收寄件人和雙方地址、自己的“記號”等等,給到傳輸層;傳輸層的TCP協議會把文件切成更小的碎片,確保數據包都被安全傳輸;網絡層的IP協議會找到最佳路徑;這個消息會通過光纖、WiFi等網絡發過去。到達目的地之后,被打散的數據會經過重組,傳輸層也會從記號知道這是給微信的。上面這個過程其實已經聊到TCP協議和IP協議的主要作用,這兩個分別是傳輸層和網絡互連層最主要的協議,因此這個模型以它們來命名。具體過程中會有很多其他協議,傳不同的數據時,應用層會有不同的協議處理。感興趣的寶寶可以繼續跟我一起了解細節。每一層都有自身的職能和常見的協議,整理CSDN上極光推送的博客、MarchOn博主,知乎網友哦吼、Drake、小明的文章,還有《圖解HTTP》一書,總結如下。

Balancer將為LSD協議StaFi的rETH-ETH池創建Gauge,BAL釋放上限為10%:2月8日消息,流動性質押衍生品協議 StaFi 在 Balancer 社區提議為以太坊上的 rETH-ETH 池創建一個 Balancer Gauge,BAL 釋放上限為 10%。StaFi 將使其 Balancer rETH-ETH 池成為以太坊主網上 rETH 的主要流動性來源。通過增強池的流動性,Balancer 將會從增加的交易費用中獲益。目前該提案已獲得 Balancer 社區投票通過。

StaFi 于 2020 年第三季度推出,重點是為以太坊和其他權益證明鏈(例如 Polygon、Solana 和 Polkadot)上的抵押資產帶來流動性。與其他 LSD 協議類似,StaFi 發行流動性收據 Toekn (rETH),代表用戶通過無許可的驗證器集在信標鏈上質押的以太坊份額。自推出以來,該協議已在 11 種 Token 中積累了價值超過 3600 萬美元的質押資產,并擁有 3439 個活躍驗證者。[2023/2/8 11:54:54]

圖片來自CSDN互聯網中信息以數據包的單位傳輸,不同的協議層對數據包有不同的稱謂,在傳輸層叫做段(segment),在網絡層叫做數據報(datagram),在鏈路層叫做幀(frame)。

圖文來自《圖解HTTP》發送端在層與層之間傳輸數據時,每經過一層時必定會被打上一個該層所屬的首部信息,這種把數據信息包裝起來的做法稱為封裝。數據封裝成幀后發到傳輸介質上,到達目的主機后每層協議再剝掉相應的首部,最后將應用層數據交給應用程序處理。我會從最底層開始講起。網絡接口層

常見協議:Ethernet802.3、TokenRing802.5、X.25、Framerelay、HDLC、PPPATM等。又叫網絡訪問層,負責從上層接收IP數據包并通過網絡發送,或者從網絡上接收物理幀,抽出IP數據包,交給IP層。這層包括主機連接到物理網絡所需要的硬件以及傳送數據的協議。比如路由、NIC,及光纖等物理可見部分;這層的協議取決于所使用的物理網絡。如果物理網絡是LAN,那么通常使用的是以太網協議以及它的變體,如果使用的是WAN,常用的則是點對點協議以及幀中繼等協議。其中比較出名的是以太網協議。“兩臺電腦之間是通過網卡來進行發送和接收數據的。每個網卡都有一個獨特的地址,也就是MAC地址。以太網數據以幀為單位,包括標頭和數據部分。以太網在子網內以廣播的形式發送數據。光有MAC地址并不能讓兩臺主機之間相互通信,如果兩臺主機不在同一個子網,以太網協議就沒轍了。這就要通過網絡層來區分每臺主機所在的網絡是哪個子網。如果在同一個子網,就用廣播發送數據,否則就用路由發送。這就導致了網絡層的誕生。”網絡訪問層

谷歌CEO:將以“搜索伴侶”形式推出類ChatGPT服務:金色財經報道,谷歌母公司Alphabet CEO桑達爾·皮查伊表示,谷歌將在“未來幾周或幾個月”推出類似ChatGPT的基于人工智能的大型語言模型。

皮查伊在財報電話會議上透露,用戶很快就能以“搜索伴侶”的形式使用語言模型。?(財聯社)[2023/2/3 11:44:49]

常見協議:IP(InternetProtocol)、ICMP、ARP(AddressResolutionProtocol)、RARP(ReverseARP)。IP是網絡層的核心,通過路由選擇將下一條IP封裝后交給接口層。ICMP是網絡層的補充,可以回送報文。用來檢測網絡是否通暢。網絡層的主要任務簡而言之就是“給每個數據包確定路線”。這個主機可能在同一個網絡或者外部網絡,因此需要先區分主機是不是在同一個子網。這層就是IP協議所在的地方。就像我們寫信的時候需要有一個地址,在網絡世界中也需要一個地址,這個網絡地址就是IP地址。IP地址是門牌號,而IP協議負責計算并找到指定門牌,快遞小哥每天出門前要做的事就是IP協議的天職:分揀包裹、規劃路徑。其實,三五個節點的小型網絡內部通信完全不必使用IP協議,因為這些節點之間本來就能兩兩互通,但會有個問題:節點數變多后,網速就會癱瘓,因為帶寬耗盡。因此,后來一片網絡拆分成很多子網絡,每片子網絡交給一臺路由器統管。子網絡中的節點間可以單獨通信,不需要IP協議,但由于帶寬限制,如果你想和本網絡外的節點溝通時,就得使用一個設備:路由器。世界上大多數的路由器被幾家大運營商掌管。

如上圖,節點1和2同屬一個子網,可基于內部通信協議溝通,而1和5間的聯絡必須基于IP協議,通過路由器1和2之間的路徑交流。把IP協議的邏輯推廣到整個互聯網,最終,連接我們手機客戶端和騰訊服務器的是無數個路由器。

把大網絡切小的好處顯而易見:節約帶寬、抬高網速,同時一只路由器掛了不影響其他節點間的通信,這就是IP協議的作用。這層還有一些“協助”IP協議工作的協議,比如ARP和RARP。要保證數據確實傳送到對方主機,除了IP地址之外還需要MAC地址。Mac地址又稱物理地址,跟網卡一一對應,對于一臺主機來說是唯一且不可變的。IP地址則是會根據你所在網絡的不同改變的。上述兩個協議的作用簡單而言就是:用IP地址找Mac地址;以及用Mac地址找IP地址。具體的作用請看下面兩段:“ARP基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。以太網中的數據幀從一個主機到達網內的另一臺主機是根據48位的以太網地址來確定接口的,而不是根據32位的IP地址。內核必須知道目的端的硬件地址才能發送數據。P2P的連接是不需要ARP的。RARP允許局域網的物理機器從網關服務器的ARP表或者緩存上請求其IP地址。局域網網關路由器中存有一個表以映射MAC和與其對應的IP地址。當設置一臺新的機器時,其RARP客戶機程序需要向路由器上的RARP服務器請求相應的IP地址。假設在路由表中已經設置了一個記錄,RARP服務器將會返回IP地址給機器。”看完之后你可能跟我有一樣的疑惑,既然都是靠物理地址找主機,為啥還需要IP地址?51CTO和CSDN這兩篇文章可以解答這個問題:MAC地址結構是醬紫的:一共有48bit,分為兩部分,前24bit是廠商代碼,后24bit是廠家自己分配的。假如我們認為MAC地址可以區分不同的網絡的話,那只能是使用廠商代碼來區分不同的網絡,顯然同品牌網卡不代表在同一個網絡。最早這個世界上的電腦沒這么多的時候,是沒有路由這個東西存在的,主機都在一張網里,所以確實是直接通過mac地址通信的。最初的鏈路層協議是和ip地址無關的,沒有網絡層方面的設定,只有物理層和鏈路層,最初也只有集線器,沒有交換機路由器,服務器之間傳輸數據全靠mac地址。在沒有ip地址之前,mac地址已經在使用了。現在到處都在用的二層交換機,就是根據mac地址轉發數據。mac地址的設計不攜帶設備在網絡中的位置信息,想要通過mac地址通信,我們得在所有的設備上維護一張很大的表,記錄所有mac地址路由在當前位置的的下一跳,這顯然是不合理的。再次用《圖解HTTP》里面萌萌噠圖解釋一下這個過程:

佳士得使用Proto Inc的3D全息技術展示NFT,并對其進行了投資:金色財經報道,佳士得拍賣行旗下投資公司Christie's Ventures向3D全息顯示器制造商Proto Inc投資了一筆未公開金額的資金。Proto Inc和佳士得在過去一年中有多次合作,佳士得使用其3D全息技術在全球畫廊展示傳統和基于區塊鏈的藝術(NFT)。

此前報道,佳士得推出投資基金Christie's Ventures,將專注于Web3等領域。[2022/12/22 22:00:52]

MAC地址就像電腦的個人身份證,IP地址就像電腦所在的屋子,屋子里可以住著很多人,局域網關路由就像登記人口的街道辦公室。傳輸層

有了IP協議,就可以在兩個主機之間發送數據了,接下來的問題在于每臺主機都有不同的應用,如何區分哪個數據包屬于哪個程序?這就是傳輸層的作用。傳輸層的主要任務是確保分割的單元在另一端正確地到達,它建立端口到端口的連接。網絡層建立主機到主機的連接,只要有主機和端口,就能確定數據包屬于哪個程序的。同時它也負責接收應用層的數據,然后把它們分成更小的單元,傳輸到網絡層。這里提到的端口不是硬件端口,而是軟件端口,端口有點向外界信息進入電腦的門,不同的信息通過這些門傳給不同應用程序。更形象的解釋可以參考《為什么要有端口,怎么來規劃端口,看下邊。》:“ip能鎖定一臺物理機器,對應著一張網卡,外界發來的數據包網卡都會接收。但是問題來了,網卡給程序提供了接口,你監聽一下我,要是有消息來了,我就轉發給你。這樣應用程序就能收到數據了。但是問題來了,程序A和程序B都需要監聽網卡接發數據,網卡說那我把接到的數據都發給你兩,你們自己看著辦吧。好,小A小B都接受了。但是又來了CDEF......,不行了,每個包都被發到了所有應用程序,每個應用程序都累得不行,最終垮了。好,那網卡說我給你們加個表示吧,我們之間可以用一個號碼來作為標識,我和小A之間就用1來標識,如果外界發給1號標識的數據我就轉發給你,你監聽我的時候得告訴我你監聽的時1,我就轉發1的數據包給你。好了其他的BCD...都自己弄一個標識號,只要不重復就行。這樣大家都省事了。最后設計到安全,一個標識號只能被一個應用程序監聽,因為如果小A程序和小B同時監聽一個標識號號,那就壞了,我傳的數據都被AB接到,這樣數據安全性就沒辦法保證了。”這一層主要有兩個協議:TCP和UDP。TCP是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。UDP是一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務。這兩句話雖然看起來也是讓人懵逼,但大概能讓人get到一個可靠一個沒那么可靠。沒錯這就是兩者的區別。TCP協議提到的所謂字節流服務是指,為了方便傳輸,將大塊數據分割成以報文段為單位的數據包進行管理。而可靠的傳輸服務是指,能夠把數據準確可靠地傳給對方。簡單來說就是,它把數據切成一個個數據包,從第一只數據包開始傳,傳送成功就翻倍,發現失敗就地爬起來,從絆倒的那只數據包重新開始,周而復始。:

數據:以加密貨幣做為抵押品的主導地位峰值達到70%,創歷史新高:金色財經報道,據區塊鏈分析公司Glassnode披露數據顯示,以加密貨幣做為抵押品的主導地位峰值達到70%,達到了歷史最高,說明絕大多數新的未平倉合約都使用現金做為頭寸的保證金,也意味著在過去的18個月里,衍生品抵押品結構的健康狀況有了很大的改善,同時也說明市場對穩定幣抵押品的需求越來越大。比特幣市場目前處于歷史上的低波動期,鏈上和鏈下的許多指標都預示著未來可能會出現波動加劇。歷史上的熊市先例都是從這樣的市場結構中雙向突破的,在期貨市場的定價中幾乎沒有明顯的方向性偏差。通過評估期貨估計杠桿率,來比較所有主要交易所持有的比特幣儲備余額和未平倉約的相對規模。同樣可以觀察到,相對于交易所的比特幣余額,期貨未平倉合約有顯著增長,這明一個較低流動性環境正在發揮作用。[2022/10/20 16:30:46]

圖片來自《圖解HTTP》為了準確無誤地將數據送達目標處,在收發數據前,必須和對方建立可靠的連接。TCP協議采用了三次握手策略。握手過程中使用了TCP的標志——SYN和ACK:第一次握手:客戶端發送syn包(syn=j)到服務器,并進入SYN_SEND狀態,等待服務器確認;第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。注意:握手過程中傳送的包里不包含數據,三次握手完畢后,客戶端與服務器才正式開始傳送數據。除了上述三次握手,TCP協議還有其他各種手段來保證通信的可靠性。理想狀態下,TCP連接一旦建立,在通信雙方中的任何一方主動關閉連接之前,TCP連接都將被一直保持下去。斷開連接時服務器和客戶端均可以主動發起斷開TCP連接的請求,斷開過程需要經過“四次握手”。至于UDP協議,傳送數據前并不與對方建立連接,對接收到的數據也不發送確認信號,發送端不知道數據是否會正確接收,當然也不用重發,所以說UDP是無連接的、不可靠的一種數據傳輸協議。具體據知乎用戶陳寶佳的帖子,UDP傳輸的信息包最小只有8個字節,TCP則是20個字節。這樣的好處是,UDP對系統資源要求更低,開銷更小,數據傳輸速率更高,因為不必進行收發數據的確認,所以UDP的實時性更好。他還表示MSN采用TCP傳輸協議傳文件,QQ傳輸文件采用UDP,所以后者更快。

我在學校的時候,有師兄教過我用“ping”命令來測試兩臺主機之間TCP/IP通信是否正常。依然是據上面那個知乎大神解釋,“其實ping命令的原理就是向對方主機發送UDP數據包,然后對方主機確認收到數據包,如果數據包是否到達的消息及時反饋回來,那么網絡就是通的。ping命令是使用IP和網絡控制信息協議(ICMP),因而沒有涉及到任何傳輸協議(UDP/TCP)和應用程序。它發送icmp回送請求消息給目的主機。ICMP協議規定:目的主機必須返回ICMP回送應答消息給源主機。如果源主機在一定時間內收到應答,則認為主機可達。”

應用層

應用層是互聯網程序與其他程序通信所使用的層,也是離用戶“最近”的一層。比如說訪問網頁,肯定要用到HTTP,前面肯定會有"HTTP://",這就是HTTP協議。1982年春,美國國防部宣布TCP/IP作為軍用網絡的通信標準。1989年,TimothyBerners-Lee研發出了超文本傳輸協議HTTP,之后,互聯網上可以傳輸的不僅只有文字,還有包括圖片等各種多媒體的網頁。我們通常訪問一個網頁的的時候更習慣打域名,比如http://www.badidu.com,而不會直接打IP,因為這樣更好記,可是電腦就不是這么想的,所以就需要DNS。DNS用于通過域名查找IP地址,或逆向從IP地址反查域名的服務。如果要發郵件,就要用到SMTP;還有FTP,用于Internet上的控制文件的雙向傳輸,同時也是一個應用程序;還有Telnet,Internet遠程登陸服務的標準協議和主要方式,能用戶可以在一臺電腦上遠程控制另一臺電腦。

這一層的主要任務是將接收到的數據包按照協議解讀成各種類型的數據,并將要發送的數據打包進傳輸層。主要協議有:HTTP、FTP、SMTP、Telnet、NFS、RIP等等。我是Odaily星球日報編輯盧曉明,探索真實區塊鏈,爆料、交流請加微信lohiuming,煩請備注姓名、單位、職務和事由。

相關閱讀:TCP/IP協議是什么?現在有哪些問題?為什么說區塊鏈是TCP/IP解決方案?一分鐘了解TCP/IP模型TCP/IP模型及OSI七層參考模型各層的功能和主要協議TCP/IP協議是什么?我們10分鐘搞定小白如何理解TCP/IP網絡協議族計算機網絡結構模型TCP/IP詳解TCP/IP協議到底在講什么?TCP和UDP的區別OSI參考模型如何理解TCP端口BlockChain-以太坊架構以太坊入門分享從概念到底層技術,一文看懂區塊鏈架構設計

Tags:TCPMAC區塊鏈ARPBTCPEP價格Macroverse區塊鏈存證多少錢WARP

幣安下載
星球專訪 | CertiK首席科學家:黑客永遠只會對系統中更弱的一環進行攻擊_certik:ERT

VilhelmSj?berg:智能合約經常被曝漏洞,主要是兩點原因:一個原因是代碼出bug這個事兒是不可避免的,在互聯網時代可以通過快速迭代來修復,但智能合約在部署后是無法更新的.

1900/1/1 0:00:00
中國區塊鏈電子政務:聯盟鏈比公鏈更適合,2022 年“一網辦”前為發展機遇期_區塊鏈:DEFI

編者按:本文來自鏈塔智庫,作者:鏈塔分析師團隊,星球日報經授權發布。《2018聯合國電子政務調查報告》顯示,我國電子政務發展指數EGDI為0.6811,全球排名第65位,處于中等偏上的位置,仍有.

1900/1/1 0:00:00
港股上市背后:比特大陸正在被BCH吞噬_比特幣:Kucoin下面有公司嗎

我們都知道,在金融市場,中金是CICC,這是一家歷史悠久、在中國投資界享有聲譽的機構,它幫助大量中國科技公司、國企在海外上市,在比特大陸開始傳出IPO的消息時,中金就已經成為其主要承銷商.

1900/1/1 0:00:00
沃爾瑪要求其供應商使用區塊鏈溯源,區塊鏈的大規模商用要來臨了?_區塊鏈:CANN

據彭博社消息,沃爾瑪及其子公司山姆會員店要求其綠葉蔬菜供應商從2019年9月開始使用區塊鏈技術進行實時的、端到端的產品溯源。IBM將為其提供底層技術支持.

1900/1/1 0:00:00
區塊鏈行業收購戰打響,這是對該戰役的五大預測_區塊鏈:Kunci Coin

編者按:本文來自鏈捕手,作者:龔荃宇,星球日報經授權轉載。2018年以來,區塊鏈行業發生的收購事件越來越多,其中有區塊鏈項目之間的收購整合,也有區塊鏈行業外與行業內項目的雙向收購,整個行業已經進.

1900/1/1 0:00:00
2018 年 8 月挖礦市場收益報告_比特幣:Rainmaker Games

編者按:本文來自Tokenmania,作者:Tokenmania,星球日報經授權發布。本期報告重點內容:幣價:8月比特幣跌幅9.4%,以太坊跌幅34.8%全網算力:比特幣增加17.8%,以太坊減.

1900/1/1 0:00:00
ads