關於計算機網絡一些問題的思考

前言

個人主要科研方向爲下一代網絡SDN以及雲計算中網絡研究,可是傳統網絡發展到如此成熟的一個地步,雖然存在一些問題,不過咱們不該該用完美來要求全部東西,傳統網絡的不少思想和技術都將長遠地影響之後的網絡發展,這篇文章欲總結一些傳統網絡中常常會碰到的問題。服務器

正文

1.爲何不單獨的用MAC地址和IP地址來進行數據轉發?
若是隻用MAC地址,也就是說整個網絡都處於一個大二層中,都處於同一個廣播域中,當世界上成百上千萬的機器處於同一個廣播域的時候,結果可想而知。
若是隻是用IP地址,這個問題我只想了下面這種可能性,可是以爲解釋上仍然有些不足,但願大神能夠不吝賜教。IP地址是由管理者統一分配的,因此在某個機器申請了IP地址以後,不是說這個機器的IP地址肯定了,而是這個機器如今所連的這根網線的IP地址肯定了,因此只有IP地址的話,若是頻繁的更換或者移動機器,每次都須要從新配置機器的IP地址。網絡


2.ICMP和IGMP以及ARP和RARP屬於IP/TCP協議分層中的哪一層?
首先ICMP和IGMP都是IP的附屬協議,因此他們有理由都屬於網絡層,可是在數據包的具體傳輸過程當中,ICMP和IGMP報文都被封裝在了IP數據報中。
對於ARP和RARP協議來講,也是衆說紛紜,有的教材將其劃做網絡層,有的認爲是數據鏈路層,從邏輯上來講,數據在從上到下進行封裝的過程當中會加上本身的信息,當網絡層的IP包進入鏈路層時,鏈路層經過ARP協議添加鏈路信息,而這不是網絡層的功能,因此能夠認爲是數據鏈路層,可是從整個網絡解析層面來講,ARP和RARP和IP數據報同樣,都擁有本身的以太網數據幀類型,因此也能夠認爲是網絡層,因此他們在哪一層並不重要,明白原理最重要,這同時也說明了網絡層的劃分並非十分完美的。雲計算


3.爲何常見的網絡應用端口號都是奇數?
端口號是用來區分不用應用的,好比咱們看着視頻聊着QQ,咱們都須要使用網絡傳輸數據,因此須要客戶端端口號,一樣的,對於服務器而言,他要提供多種服務,如何區分這些服務,一樣須要的是服務器端口號。若是有注意的話發現經常使用的、時間比較久遠的應用的端口號都是奇數,好比FTP的端口號爲21,SNMP爲161,Telnet爲23。這是爲何呢?由於這些端口號都是從網絡控制協議(即TCP前身,ARPANET的傳輸層協議)派生出來的,原來網絡控制協議是單工的,不是全雙工的,所以每一個應用程序須要兩個鏈接,一個用於接收,一個用於發送,須要預留一對奇數和偶數端口號,當TCP和UDP稱爲了標準的傳輸層協議時,每一個應用程序只須要一個端口號,因此就使用了原來的網絡控制協議中的奇數。視頻

總結

不少技術的發展都有其深入的歷史烙印,想要精通一門技術,瞭解其歷史是十分重要的。原理

相關文章
相關標籤/搜索