網絡層:最主要的功能就是:在複雜的網絡環境中確定一個合適的路徑。
如何在網絡層中準確的找到合適的路徑發送數據呢?
這就需要我們的IP協議了。
IP協議基本概念:
主機:配有IP地址,但是不能進行路由控制的設備
路由器:即配有IP地址,又能進行路由控制
節點:主機和路由器的統稱
我們看下一個IP協議的格式:
IP地址:網絡號和主機號
網絡號:保證相互連接的兩個網段具有不同的標識
主機號,同一個網段中,主機之間具有相同的網絡號,但是主機號必須不相同
DHCP技術
每次都能夠自動的給子網內的新增主機分配不同的IP地址,避免了手動去分配。
一般的路由器都有DHCP功能,路由器也可以叫做一個DHCP服務器
IP地址由32位組成,如何劃分IP地址呢?
過去的劃分有 A,B,C,D,E五類的IP地址,但是IP地址浪費的太嚴重,目前使用的劃分方案是CIDR
CIDR
1.引入一個額外的子網掩碼來區分網絡號和主機號
2.子網掩碼是一個32爲的正整數
3.將IP地址和子網掩碼進行“按位與”操作,得到的結果是網絡號
如下一例子:
特殊的IP地址
1.將IP地址中的主機地址全部設置爲0,就成爲了網絡號,代表這個局域網
2.將IP地址的主機地址全部設置爲1,就稱爲了廣播地址,用於給同一個鏈路中相互連接的所有主機發送數據包
3.127.* 的IP地址是本機環回地址測試
我們知道IP地址是由32位組成的,那麼一共就只有2的32次方個IP地址(43億),除去一些特殊的IP地址,不到43億了,這麼少,肯定不夠全世界的人使用。
1.動態分配IP地址,只給連接如網絡的設備分配IP地址,因此同一個MAC地址的設備每次接入到互聯網,都有可能得到的IP地址不同
2.NAT技術
3.IPv6,使用128位來表示IP地址(與IPv4不兼容)
NAT技術
IP地址嚴重的不足,所以引出了NAT技術。
什麼是NAT技術?
NAT技術能夠將本地IP地址在通訊的時候轉化爲全局IP地址,也就是將本地IP地址和全局IP地址相互轉化的技術方法
如,我們看砍我們現在本地私有的IP地址是多少?
私有IP:192.168.78.140
我們再看看我們百度IP地址是多少?
百度服務器上顯示的IP:113.135.80.XXX
爲什麼都是同一臺主機,爲什麼IP不同的呢?這就是NAT技術。可以大大的增大IP地址的使用,目前解決IP地址不夠用的最好辦法。
NAPT
如果局域網內,有多個主機都訪問同一個外網服務器,那麼對於服務器返回的數據中,目的的IP地址是相同的,那麼NAT路由器如何判定將這個數據包轉發給那個局域網的主機呢?
NAPT 使用IP+port來建立這個關聯關係
NAT技術的缺陷:
1.無法從NAT外部向內部服務器建立連接
2.轉換表的生成和銷燬都要額外的開銷
3.通信過程中一旦NAT設備異常,即使存在熱備,所有的TCP連接也都會斷開