每個人的電話號碼或郵箱地址都是獨一無二的,所以在我們平時打電話,發(fā)郵件的時候,只需要知道對方的電話號碼或郵箱即可實現(xiàn)通信.
而理論上,世界上的IP地址和Mac地址也是獨一無二的,為什么通信過程中,既需要Mac地址又需要IP地址呢?
簡單的講,是因為網(wǎng)絡(luò)環(huán)境太復(fù)雜了.網(wǎng)絡(luò)通信要經(jīng)過許多路由器轉(zhuǎn)發(fā)信息,才能實現(xiàn)雙方的通信.所以才需要ip和mac同時存在.
為了方便理解,來講個故事:
我是昭昭,我處在教室座位的第一排,我想給第五排的小Y同學(xué)傳一個紙條.但迫于自己胳膊不夠長,只能把紙條折三折,在紙條的背面面寫上(我是昭昭,幫我把這個紙條傳給小Y,謝謝路過小伙伴啦!),
然后我把折好的紙條傳給第二排,第二排的小伙伴,看到背面的字(我是昭昭,幫我把這個紙條傳給小Y),就把這個紙條傳給了第三排,同理,依次后傳,最后這個紙條到了第五排的小Y手中.
在上面的故事里:
昭昭等同于發(fā)送方ip
小Y等同于接收方ip
由于我的胳膊不夠長,就只能借助小伙伴們的胳膊來傳紙條,胳膊可以看做Mac地址,不同人的胳膊就是不同的Mac地址(每個人都有兩條胳膊,也就是兩個Mac地址喲~),
有傳紙條經(jīng)驗的人都知道,紙條在傳送過程中經(jīng)過了很多人(的胳膊),而且傳送方和接收方(的胳膊)一直在不停地更換,所以換到網(wǎng)絡(luò)中,也就是在傳遞過程中,Mac地址一直在變.
總結(jié)一下,IP地址負(fù)責(zé)標(biāo)記發(fā)送方和接收方,而MAC地址負(fù)責(zé)傳輸過程中的分段傳送,所以二者缺一不可.
再深一點:
傳紙條一定要加自己的名字么?
這個,其實吧,如果不加自己名字的話,人家小Y收到后怎么回你呢?
幫忙傳紙條的小伙伴是何許人也?
在實際的網(wǎng)絡(luò)中,這些幫我傳紙條的小伙伴們就是網(wǎng)關(guān)(可以理解為我們平時家里裝的無線路由器).
為什么每個路由器都需要兩個mac地址?
因為,收發(fā)是兩個動作,一個mac負(fù)責(zé)收,一個mac地址負(fù)責(zé)發(fā),當(dāng)然高端的路由器也也可以像哪吒一樣擁有三頭六臂,也就是擁有大量的網(wǎng)卡.這樣的路由器一般性能都很強!
所以說,擁有三頭六臂的哪吒最適合傳紙條了...
關(guān)于TTL:
在實際的網(wǎng)絡(luò)中,發(fā)送數(shù)據(jù)要遠(yuǎn)比傳紙條復(fù)雜得多,比如,在傳紙條的過程中,第四排的是一個新同學(xué),他不知道小Y在第五排,他以為小Y在第二排,就把紙條傳到了第二排,然后這個紙條就會一直在第二排與第四排之間循環(huán)傳遞...這種烏龍事件在網(wǎng)絡(luò)中是有可能發(fā)生的,為了避免這種情況,我們會在要傳遞的數(shù)據(jù)上,加一個初始值(這個初始值就是大名鼎鼎的TTL,暫定128),每經(jīng)過一次傳遞,就將這個值減1,當(dāng)減到0的時候,就把這個數(shù)據(jù)包丟掉,不再繼續(xù)傳遞,這樣就減少了網(wǎng)絡(luò)資源的浪費.