TCP/IP協(xié)議棧與數(shù)據(jù)包封裝圖文教程

想一想,前面講了以太網(wǎng)幀中的最小數(shù)據(jù)長度為46字節(jié),不足46字節(jié)的要用填充字節(jié)補(bǔ)上,那么如何界定這46字節(jié)里前多少個字節(jié)是IP、ARP或RARP數(shù)據(jù)報而后面是填充字節(jié)?
5. IP地址與路由
IPv4的IP地址長度為4字節(jié),通常采用點分十進(jìn)制表示法(dotted decimal representation)例如0xc0a80002表示為192.168.0.2。Internet被各種路由器和網(wǎng)關(guān)設(shè)備分隔成很多網(wǎng)段,為了標(biāo)識不同的網(wǎng)段,需要把32位的IP地址劃分成網(wǎng)絡(luò)號和主機(jī)號兩部分,網(wǎng)絡(luò)號相同的各主機(jī)位于同一網(wǎng)段,相互間可以直接通信,網(wǎng)絡(luò)號不同的主機(jī)之間通信則需要通過路由器轉(zhuǎn)發(fā)。
過去曾經(jīng)提出一種劃分網(wǎng)絡(luò)號和主機(jī)號的方案,把所有IP地址分為五類,如下圖所示(該圖出自[TCPIP])。
36.9. IP地址類
A類 0.0.0.0到127.255.255.255
B類 128.0.0.0到191.255.255.255
C類 192.0.0.0到223.255.255.255
D類 224.0.0.0到239.255.255.255
E類 240.0.0.0到247.255.255.255
一個A類網(wǎng)絡(luò)可容納的地址數(shù)量最大,一個B類網(wǎng)絡(luò)的地址數(shù)量是65536,一個C類網(wǎng)絡(luò)的地址數(shù)量是256。D類地址用作多播地址,E類地址保留未用。
隨著Internet的飛速發(fā)展,這種劃分方案的局限性很快顯現(xiàn)出來,大多數(shù)組織都申請B類網(wǎng)絡(luò)地址,導(dǎo)致B類地址很快就分配完了,而A類卻浪費了大量地址。這種方式對網(wǎng)絡(luò)的劃分是flat的而不是層級結(jié)構(gòu)(hierarchical)的,Internet上的每個路由器都必須掌握所有網(wǎng)絡(luò)的信息,隨著大量C類網(wǎng)絡(luò)的出現(xiàn),路由器需要檢索的路由表越來越龐大,負(fù)擔(dān)越來越重。
針對這種情況提出了新的劃分方案,稱為CIDR(Classless Interdomain Routing)。網(wǎng)絡(luò)號和主機(jī)號的劃分需要用一個額外的子網(wǎng)掩碼(subnet mask)來表示,而不能由IP地址本身的數(shù)值決定,也就是說,網(wǎng)絡(luò)號和主機(jī)號的劃分與這個IP地址是A類、B類還是C類無關(guān),因此稱為Classless的。這樣,多個子網(wǎng)就可以匯總(summarize)成一個Internet上的網(wǎng)絡(luò),例如,有8個站點都申請了C類網(wǎng)絡(luò),本來網(wǎng)絡(luò)號是24位的,但是這8個站點通過同一個ISP(Internet service provider)連到Internet上,它們網(wǎng)絡(luò)號的高21位是相同的,只有低三位不同,這8個站點就可以匯總,在Internet上只需要一個路由表項,數(shù)據(jù)包通過Internet上的路由器到達(dá)ISP,然后在ISP這邊再通過次級的路由器選路到某個站點。
下面舉兩個例子:
表 36.1. 劃分子網(wǎng)的例子1
IP地址
140.252.20.68
8C FC 14 44
子網(wǎng)掩碼
255.255.255.0
FF FF FF 00
網(wǎng)絡(luò)號
140.252.20.0
8C FC 14 00
子網(wǎng)地址范圍
140.252.20.0~140.252.20.255
表 36.2. 劃分子網(wǎng)的例子2
IP地址
140.252.20.68
8C FC 14 44
子網(wǎng)掩碼
255.255.255.240
FF FF FF F0
網(wǎng)絡(luò)號
140.252.20.64
8C FC 14 40
子網(wǎng)地址范圍
140.252.20.64~140.252.20.79
可見,IP地址與子網(wǎng)掩碼做與運算可以得到網(wǎng)絡(luò)號,主機(jī)號從全0到全1就是子網(wǎng)的地址范圍。IP地址和子網(wǎng)掩碼還有一種更簡潔的表示方法,例如140.252.20.68/24,表示IP地址為140.252.20.68,子網(wǎng)掩碼的高24位是1,也就是255.255.255.0。
如果一個組織內(nèi)部組建局域網(wǎng),IP地址只用于局域網(wǎng)內(nèi)的通信,而不直接連到Internet上,理論上使用任意的IP地址都可以,但是RFC 1918規(guī)定了用于組建局域網(wǎng)的私有IP地址,這些地址不會出現(xiàn)在Internet上,如下表所示。
10.*,前8位是網(wǎng)絡(luò)號,共16,777,216個地址
172.16.*到172.31.*,前12位是網(wǎng)絡(luò)號,共1,048,576個地址
192.168.*,前16位是網(wǎng)絡(luò)號,共65,536個地址
使用私有IP地址的局域網(wǎng)主機(jī)雖然沒有Internet的IP地址,但也可以通過代理服務(wù)器或NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)等技術(shù)連到Internet上。
相關(guān)文章
- 本文將詳細(xì)介紹TCP為什么需要進(jìn)行三次握手,需要深入了解的朋友可以參考下2012-11-19
- 有internet協(xié)議版本(TCP/IPv4)及internet協(xié)議版本(TCP/IPv6),這些稱之為傳輸控制協(xié)議/網(wǎng)間協(xié)議,是一個工業(yè)標(biāo)準(zhǔn)的協(xié)議集,它是為廣域網(wǎng)(WAN)設(shè)計的2013-06-04
- 這篇文章主要為大家介紹了什么是tcp?tcp協(xié)議的基礎(chǔ)知識有哪些?與udp的區(qū)別在哪里?以下將詳細(xì)介紹tcp的基礎(chǔ)知識,需要的朋友可以參考下2014-09-16
- 本文來探討一下TCP協(xié)議方面的一些認(rèn)識及實踐2012-10-25
- 本文詳細(xì)來探討TCP建立拆除連接的知識2012-10-25
- 這篇文章主要為大家介紹了如何解決TCP窗口大小的調(diào)節(jié)與擁塞控制的辦法,有圖有步驟,很詳細(xì),需要的朋友可以參考下2014-09-17
- 這篇文章主要介紹了圖解TCP通信三次握手和四次分手,對正在學(xué)習(xí)TPC通信的同學(xué)會有些幫助,需要的朋友可以參考下2014-09-24
- 最常見的是TCP和UDP端口,這是用來在互聯(lián)網(wǎng)上的計算機(jī)之間的數(shù)據(jù)交換,3688/udp端口使用服務(wù)類型簡單的推- S- S簡單的推協(xié)議,基礎(chǔ)概念不是很了解的朋友可以參考下本文2013-11-20
網(wǎng)絡(luò)協(xié)議 TCP三次握手與四次斷開的詳細(xì)觀察
這篇文章主要為大家介紹了網(wǎng)絡(luò)協(xié)議之tcp協(xié)議,TCP三次握手與四次斷開是怎么的一種情況呢,下面我們來看看觀察TCP三次握手與四次斷開,需要的朋友可以參考下2015-04-29- 這篇文章主要介紹了圖解TCP/IP協(xié)議,幫助大家輕松學(xué)會TCP/IP協(xié)議,需要的朋友可以參考下2015-12-16