乙個網路協議收信位址與發信位址之問題

2021-06-01 12:00:21 字數 944 閱讀 3891

我們都知道網路協議就像是郵局原理一樣,我想給乙個人寫一封信,我想將信讓郵局送到收信人的手裡,就要有這個人的人名和詳細位址。

但是,網路協議發包(包就好像是乙個郵件),如何發到我想發的這個人(電腦)的手裡呢?它的位址光用乙個ip和計算機名是不能確定的啊,因為它的位址可能是乙個區域網裡的ip或是乙個區域網裡的乙個區域網裡的區域網(可以有無數個區域網巢狀),除非我的ip是固定的,它給我發乙個包後,我可以通過它的包得到它準確的發信位址,但我看書裡說的tcp協議裡只有乙個發信ip位址,arp有唯一的mac,但很多人都說mac是區域網裡用來確定位址的,但是ip只有乙個,怎麼可能能確定乙個電腦的準確位址,這是不可能的,就和發信位址乙個,是要有省市區分段的,ip的段不是分區域的,因為計算機還有區域網,它真正的段不是ip段,而是不同區域網和廣域網之間區別,因為每個區域網都有相同的ip,所以如何寫清收信人的位址是關鍵,所以寄信人的位址也是要清楚的,有人說mac在廣域網沒用,那就只能用省市區的分開區域的方法,比如發信人是ip1,ip2,ip3......ipn再加乙個結束符,收信人也是ip1,ip2,ip3......ipn結束符。這就是乙個完整的位址,只能是這樣的結果,但在協議裡沒看到有這種格式。

有人能用簡單的話給我說明一下包的信皮的格式到底是怎麼寫麼?謝了。請不要用書上的話說,沒有意義。那些書為了賺錢說的都太繞了。

所以,我必須要指定乙個準確的位址。

這個準確的位址到底怎麼個格式寫呢?????? 

網路協議只有兩種方法:

1。用ip1,ip2,ip3......ipn+結束符

2。用ip,mac來確定收信人位址,發到指定的ip上,這個ip不是收信人的電腦,是路由,那它必須要有乙個表,表裡有mac和mac對應的ip,只要找到mac就能知道哪個電腦是收信人,如果這個ip不是路由,是一台電腦,再看mac,mac也對就給收信人;

如果這個區域網中沒有收信人的mac那說明還有乙個路由,再將包給這個路由,去按上面的步驟查它的表,這樣就能成為乙個最快的路徑了。

網路協議系列 一 ARP 位址解析協議

為什麼需要arp協議?我們在internat網路上傳輸資料時使用的是ip位址,但資料在到達目的 ip 位址所在的區域網,需要發給最終的主機時,需要知道目的主機的硬體位址。這時需要完成從ip位址到硬體位址的對映,這就是arp幹的活。arp過程 arp過程非常簡單,舉個列子即可。主機a 假設ip位址為1...

隨機生成乙個多播位址

網路位址字串 以數字和點組成的字串,例如 163.13.132.68 網路位址字串 232.0.1.0 轉 二進位制 0xe8000100 const char cp 232.0.1.0 unsigned long int aa inet addr cp printf aa x n htonl aa...

Ping乙個IP位址是否有效

先導入兩個命名空間 using system.text.regularexpressions ping using system.net.networkinformation regex下面是ping按鈕的單擊事件 ping ip private void btnping click object ...