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