欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

不同IP地址的主機之間是如何互相尋址

傅智翔2年前20瀏覽0評論

不同IP地址的主機之間是如何互相尋址?

假設(shè)這兩臺IP地址不同的主機分別為A和B。

A主機中如果使用名稱訪問B主機必須先使用DNS,將B的名稱解析為IP,然后A主機一以自己的IP為源地址,B的IP為目標地址封裝IP數(shù)據(jù)包,同時使用A自己的網(wǎng)卡接口的子網(wǎng)掩碼和B的IP進行與運算,如果B和自己在相同網(wǎng)絡(luò)機載接口直接發(fā)送出去。

但接口在發(fā)送時還需要將IP數(shù)據(jù)包封裝成數(shù)據(jù)幀,這需要兩臺主機的MAC地址。如果A知道B的MAC,則直接使用B 的MAC作為數(shù)據(jù)幀中的目的地址,如果不知道則向網(wǎng)絡(luò)中發(fā)送ARP廣播,將B的IP解析為MAC。

得到B的MAC地址后完成數(shù)據(jù)幀的封裝,將數(shù)據(jù)幀用高低不同的電平值表示發(fā)送到物理線路中就可以了。這是同一子網(wǎng)中A向B的單向通信過程。

不同子網(wǎng)的通信過程中,DNS的名稱解析是一樣的。在數(shù)據(jù)包當中封裝的源IP是A,目標IP是B,這個也一樣。但是當A主機使用接口掩碼和B的IP進行與運算后會發(fā)現(xiàn)兩個IP不在同一子網(wǎng),這是A會將這個數(shù)據(jù)包發(fā)送給本網(wǎng)絡(luò)的網(wǎng)關(guān)(通常是本網(wǎng)的路由器),由網(wǎng)關(guān)來轉(zhuǎn)發(fā)。

另外,在封裝數(shù)據(jù)幀時,主機需要知道B的MAC地址,向外廣播要求解析B的MAC,但B不在本網(wǎng)絡(luò),所以只能有網(wǎng)關(guān)的ARP代理功能實現(xiàn),但A主機得到的并不是B的MAC地址,而是網(wǎng)關(guān)的MAC地址,所以A在數(shù)據(jù)幀中封裝目的地址為本地網(wǎng)關(guān)。接下來從接口發(fā)送出去,當數(shù)據(jù)到達網(wǎng)關(guān),網(wǎng)關(guān)會讀取數(shù)據(jù)包中的目的IP,并根據(jù)目的IP進行轉(zhuǎn)發(fā),在轉(zhuǎn)發(fā)時數(shù)據(jù)包中的目的IP不變,但數(shù)據(jù)幀中的源MAC地址和目的MAC地址都會發(fā)生變化。源MAC地址變?yōu)榫W(wǎng)關(guān)的發(fā)送接口的MAC地址,而目的地址可能是B主機的MAC或是下一個路由器的接口MAC。這就是不同子網(wǎng)的單向通信過程。B向A的通信和此過程是一樣的。

java解析ip數(shù)據(jù)包,不同IP地址的主機之間是如何互相尋址