網絡層主要負責的是兩個終點節點的通訊,也叫做點對點通訊。網絡
數據鏈路層主要負責鏈接同一種數據鏈路得兩個節點進行傳遞,若是須要跨過多種數據鏈路,則須要網絡層的幫助。工具
舉個例子,在旅途當中須要乘坐火車、汽車和飛機,而乘坐這些交通工具的順序得依照行程表。而乘坐火車或則飛機的票只能在特定的交通工具(區別)內使用,而這個交通工具就是如今所指得數據鏈路層,而後行程表就是網絡層。3d
簡單的說,數據鏈路提供的只是兩個直連設備之間的通訊,而網絡層負責的是沒有直連的兩個網絡之間的通訊。cdn
總結一下兩個層之間功能的區別:blog
網絡層:路由
數據鏈路層:同步
IP地址由32位正整數表示,在計算機中則以二進制的方式處理,但廣泛以十進制進行展現,如圖it
IP地址主要被分配到每個鏈接到互聯網的網卡上,一般一個主機擁有一個網卡即一個IP地址,而路由器則擁有兩個網卡即兩個IP地址。io
IP地址中主要由網絡標識和主機標識所組成。在同一個網段裏面網絡標識必須相同,而主機標識必須不一樣。同時在兩個不一樣的網段,網絡標識必須不一樣,這樣就能夠保證鏈接網絡的設備IP地址的惟一性。class
識別網絡標識和主機標識的有兩種方法,第一種是固定好分類,而第二種則是根據子網掩碼的方式。
先說第一種方式:
第二種方式:
一個IP地址的網絡標識和主機表識不受類別所限制,而是一個子網掩碼的識別碼經過子網網絡細分出粒度更小的網絡。
子網掩碼也是一個32位正整數,它對應的網絡標識部分所有爲1,而主機部分爲0。
例子以下:
子網掩碼也可用/區分,例如172.20.0.0/16則前16位爲網絡標識。
在進行通信的時候對端必須擁有相似地址的識別碼才能進行通信,在數據鏈路層中擁有者MAC地址,而在網絡層中有着IP地址。
IP地址的傳輸全靠路由的控制,而IP路由也叫多跳路由。所謂多跳路由是指每一次傳輸IP包的時候,並不會把最終地址的全部地址列出來,而是經過每個區間在轉發的時候才指定下一跳的動做,直到跳到最終地址。
網絡層傳輸的時候還必須兼容各類數據鏈路,舉個例子,在FDDI中傳輸可傳輸4352個字節,而在MTU上只能傳輸1500個字節,而當二者同時傳一個IP包的時候,IP包就會進行一個分片處理。把大的IP包分紅幾個小的IP包,到了對端再把他們合成送到上一層處理。
IP是面向無鏈接的。在傳輸的時候並不須要與對端創建鏈接,不管對端是否存在,數據包仍是會發送出去。
IP採用面向無鏈接主要是由於簡化鏈接和提速,面向有連接的每個鏈接都是至關負責的,若是每一次通信都要創建起鏈接就會下降處理速度。
面向鏈接的服務(connection-oriented service)就是通訊雙方在通訊時,要事先創建一條通訊線路,其過程有創建鏈接、使用鏈接和釋放鏈接三個過程,後面講到的TCP就是一種這樣的協議。
廣播是同一個數據鏈路裏面互相發送數據包,而廣播的地址就是把主機地址所有改成1後的地址。而廣播分爲直接廣播和本地廣播。
本地廣播:
在網絡地址是192.168.0.0/24的狀況下,廣播地址就是192.168.0.255/24,而這個地址的IP包會被路由器所攔截,因此不會傳播出去。
直接廣播:
直接廣播就是192.168.0.1/24 的地址發送一個包給192.168.1.255/24。當路由器接收到這個包的時候會把包分別派到192.168.1.0/24 ~ 192.168.1.254/24上。
因爲廣播會給一個不須要接收信息的終端帶來影響,因此出現了一個多播的方式。對於多播,全部的主機都必須聽從多播地址,由路由器去複製多播的包派發。
隨着網絡發展,IP地址日漸不足,而解決這個問題有着兩個解決辦法,IPv6和IPv4配合NAT技術(私有地址)。
簡單來講就是除了私有地址外都是全局地址。
私有地址並非固定的,而是再接入互聯網的時候才分配,因此私有地址能夠在不一樣的網段內相同,但在同一網段內的網絡標識是有所限制的。私有地址範圍以下:
若是這些私有地址須要接入互聯網,必須使用NAT技術。
開始新的網絡層咯!!!
圖解TCP/IP
這會做爲最近的一個長期目標不按期更新。