ip地址加端口號(hào)格式 ip地址和端口號(hào)之間是什么關(guān)系???
ip地址和端口號(hào)之間是什么關(guān)系?。縄p相當(dāng)于代表設(shè)備或者說(shuō)出口,端口相當(dāng)于代表特定的用于通信的服務(wù)MAC地址,IP地址和端口號(hào)之間是什么關(guān)系?最新版本2.0經(jīng)過(guò)20天的思考,換一種思路來(lái)考慮這個(gè)問(wèn)題,
ip地址和端口號(hào)之間是什么關(guān)系?。?/h2>
Ip相當(dāng)于代表設(shè)備或者說(shuō)出口,端口相當(dāng)于代表特定的用于通信的服務(wù)
MAC地址,IP地址和端口號(hào)之間是什么關(guān)系?
最新版本2.0
經(jīng)過(guò)20天的思考,換一種思路來(lái)考慮這個(gè)問(wèn)題,如果網(wǎng)卡的MAC地址沒(méi)有了,需要做哪些改變才可以通信?
以太網(wǎng)幀頭沒(méi)有12字節(jié)的MAC地址了,但是還要保留2字節(jié)的ether type 用來(lái)協(xié)議復(fù)用。
三層的IP地址需要下發(fā)到網(wǎng)卡,讓網(wǎng)卡來(lái)匹配目的IP和自己的IP來(lái)決定接收還是拒絕。
沒(méi)有傳統(tǒng)的ARP了,但是如何讓二層交換機(jī)來(lái)預(yù)先學(xué)習(xí)IP和端口號(hào)的綁定關(guān)系? 可以把ARP進(jìn)行改造,模仿目前的gratuitous ARP,目的地址是廣播地址,源地址為自己的IP地址。
每臺(tái)設(shè)備一上線就周期性發(fā)gratuitous ARP,讓交換機(jī)學(xué)習(xí) source IP <-----> Port number,有包來(lái)了,直接查詢IP,來(lái)進(jìn)行交換,這怎么越來(lái)越像路由器了??? ^_^
本故事純屬虛構(gòu),如有雷同,純屬巧合!
---------------------------
原始版本1.0
有一個(gè)問(wèn)題先來(lái)面對(duì)一下,串行鏈路上的PPP,HDLC協(xié)議需要配置數(shù)據(jù)鏈路層的地址嗎?很顯然不需要,因?yàn)榇墟溌肥屈c(diǎn)對(duì)點(diǎn)的通信,發(fā)送端的數(shù)據(jù)發(fā)送到鏈路上,到達(dá)接收端無(wú)條件接受,達(dá)成了默契,不需要二層地址。
而以太網(wǎng)是多路訪問(wèn),發(fā)送的包到達(dá)交換機(jī),交換機(jī)如何轉(zhuǎn)發(fā)?根據(jù)IP地址轉(zhuǎn)發(fā)?那是三層路由器或交換機(jī)了!如果采用廣播轉(zhuǎn)發(fā),那就是最原始的HUB了,除了發(fā)送者,這個(gè)廣播域里的所有主機(jī)網(wǎng)卡都會(huì)收到一份數(shù)據(jù)copy,因?yàn)闆](méi)有MAC地址,網(wǎng)卡無(wú)從知道是否屬于自己主機(jī)的包,因?yàn)樗鼪](méi)有權(quán)利來(lái)讀取IP信息,于是這些包會(huì)通過(guò)中斷的方式來(lái)通知CPU來(lái)處理,然后告訴IP層取走數(shù)據(jù),IP層再檢查IP地址是不是自己的,是就接收,不是的就丟棄。這合理嗎?顯然不合理,因?yàn)樗械陌紩?huì)影響所有的主機(jī),這種網(wǎng)絡(luò)幾乎不可用,資源都被浪費(fèi)了。
而有了MAC地址,交換機(jī)查詢Mac 轉(zhuǎn)發(fā)表,知道MAC地址和端口的映射關(guān)系,只發(fā)給接收者,到達(dá)目的地網(wǎng)卡,檢查來(lái)包的MAC和自己的MAC進(jìn)行對(duì)比,對(duì)比一致才會(huì)提交給上層,這個(gè)轉(zhuǎn)發(fā)過(guò)程彼此不會(huì)影響,顯然要合理的多。