埠號和協議號的區別在哪裡?
協議號
由於IP媽媽桑服務的老闆很多,為了避免認錯人,IP媽媽桑給各位老闆分配了一個暗號,為了提供差別化服務,比如:
TCP老闆 6
UDP老闆 17
GRE老闆 47
ESP老闆 50
AH老闆 51
EIGRP老闆 88
OSPF老闆 89
PIM老闆 103
IPX老闆 111
VRRP老闆 112
L2TP老闆 115
lSIS老闆 124
如果各位對這些老闆很面熟,肯定是經常逛場子的!
以上都是外人,其它場子的媽媽桑也來玩(HOW?):
IPv4媽媽桑 4
IPv6媽媽桑 41
還有自家兄弟也來玩:
ICMP弟弟 1
IGMP弟弟 2
埠號
有兩位老闆,一個TCP老闆,另一個是UDP老闆,生意做的風生水起,馬仔眾多,有最多65535個馬仔,老闆記不住,於是給每個馬仔做了一個編號(埠號),這裡面有很多知名馬仔,比如:
21 FTP
22 SSH
23 Telnet
25 SMTP
53 DNS
67 DHCP
68 DHCP
69 TFTP
80 HTTP
443 SSL
445 SMB
兩位老闆經常帶自己的馬仔來場子里玩,對於IP媽媽桑來說,根本不care這些馬仔是誰,只關心是TCP老闆、或UDP老闆帶來的即可,因為最終還是需要老闆們埋單,對於馬仔來說,馬仔也不關心媽媽桑是誰,跟對老闆就好。
既然有同學要看,我就更新一下:
IP的協議號4,則意味著IP頭的負載是IP,這個就是IPIP tunnel,最簡單的一種隧道封裝,外部是公網IP,內部是私網IP,實現私網穿越公網,缺點單靠外層IP頭(沒有埠號)無法穿越PAT設備。
如果協議號是41,則用IPv4來隧道化IPv6,實現IPv6流量跨IPv4網路傳輸。
而協議號47就更強大了,增強版的可以穿越NAT,可以提供GRE 隧道,可以隧道化單播、組播、廣播,如果他說自己隧道化能力老二,沒人敢說老大!
知道為何GRE能力如此強勁?難道吃了偉哥?
No!GRE協議頭裡竟然也有協議號,凡是IP協議號無法覆蓋的,GRE可以覆蓋,就憑這一點,就可以拿個圖靈獎。
協議定義了用何種方式傳輸,埠定義了該從哪裡傳輸(出入口)
如果你問定義這兩者的數字有什麼區別,他們的區別就在於上面所說的
二層的類型欄位,三層的協議號,四層的埠號。都是為了當數據組裝成該層的數據單元時,應當上移到上層的哪個工作棧。
例如電腦在收到比特流之後,組裝層數據幀,查看二層頭部里的類型欄位,如果是0800代表著這個數據的三層報頭是ip協議的,二層會將數據幀上移到ip協議棧,
三層ip協議棧收到數據幀後,組裝成數據包,ip的報頭裡有個協議號的欄位,6是tcp,17是udp,一樣上移到四層,
四層組裝成數據段或者數據報,這兩個的頭部都有埠號欄位,這個埠號是用來區分應用程序的。
埠號在 OSI 模型的傳輸層。僅可用於傳輸層的 TCP 或 UDP 協議上。
協議號在 OSI 模型的網路層。用來表示網路層或網路層以上使用的協議。例如協議號為 6 表示傳輸層使用的是 TCP 協議。
可以說,只有在協議號為 6(TCP) 或 17(UDP) 的時候,埠號才會存在。
協議號是三層概念,存在於IP頭部協議號欄位(常見的例如:6=TCP,17=UDP)
埠號是四層概念,存在於TCP或UDP源/目埠號欄位(常見的例如:TCP80=HTTP, UDP53=DNS)
為什麼抖機靈的回答那麼多贊,這個問題非要這麼回答嗎?
從協議棧來講,協議號是IP層為上層送數據時的區分,為不同的傳輸層(L4上承載應用)或者應用協議(L3以上直接就是應用層,例如ICMP)。埠是傳輸層協議(UDP,TCP,SCTP)往上層應用送數據時的區分。
從用途上來說,都是「區分上層」用的。但是所處的層次不一樣。
為什麼不能捨棄協議號直接用埠號呢?因為有不同的傳輸層協議
為什麼不能捨棄埠號直接用協議號呢?協議號長度太短是一個原因,另外一個,就是協議本來就需要分層設計,不能把傳輸層去掉。而UDP,TCP,SCTP能提供的服務還是不一樣的。
如果你說的是tcp/udp等傳輸層協議,那麼
協議號是小區的單元號,埠號是門牌號。
tcp協議有80埠,udp協議也有80埠。
是學計算機的嗎?
簡單的說,埠號從哪裡發出去,哪裡收回來。協議號定義了傳輸內容的格式。
但是目的埠往往和協議號一致,ssh的22,DNS的53。但為了安全起見,你可以用其他目的埠接收ssh和DNS協議。
前者區分應用層協議,後者區分傳輸層協議,對嗎
通俗點講協議號的作用是讓你區分上層協議是什麼,是udp還是tcp,埠號是區分是什麼協議,比如80是http,21是ftp等。
其實各種type欄位,埠號的作用都是表示上層是什麼
用 wireshark就明白了
推薦閱讀:
※10MB寬頻會有這樣的速度嗎?
※機器學習和遺傳演算法有什麼聯繫?
※如何評價 2017 年 9 月 17 日 PAT 考試伺服器宕機?
※自己適合讀浙江大學計算機科學的什麼專業?