家里路由器如何共享同一个ip
曾經(jīng)學過計算機網(wǎng)絡(luò),也知道Mac地址,IP 地址,路由轉(zhuǎn)發(fā),路由算法。 同時也理解IP是4個字節(jié),分為A、 B 、C 類型網(wǎng),還有D廣播 E保留,表示的網(wǎng)絡(luò)數(shù)量和機器是有限的。隨著計算機日益增加,需要越來越多的ip,已有的ip地址已經(jīng)不足表示這么多網(wǎng)絡(luò)和機器。 書中也有各種方法去解決擴展子網(wǎng), 比如 Classless And subnet Address Extension (CIDR) ---來自于Douglas E.Commer 經(jīng)典書 Internetworking with TCP I ---中講的Subnet Addressing,這些都是擴展局域網(wǎng)地址,但是本質(zhì)上沒有增加表示的機器數(shù)量。現(xiàn)實中 ,自己用的電信的ADSL,申請一個IP,接上一個Modem,連接一個路由,然后就可以接好4臺電腦,同時上網(wǎng)。? 換句話說,也就是這4臺電腦其實同時用一個ip 上網(wǎng)。怎么做的呢?
感覺,這個才是一個真正擴展IP,其路由器連接的若干臺機器所在的局域網(wǎng),只有一個ip地址。 所有機器上網(wǎng),所有的請求都是通過路由器轉(zhuǎn)發(fā)出去。 曾以為請求就是這樣,局域網(wǎng)中某一個機器,發(fā)送一個請求,該請求被封裝成為若干個ip包,對于每一個ip包路由器將其自己共有網(wǎng)的地址加在改ip包上,然后轉(zhuǎn)發(fā)出去在外網(wǎng)上層層轉(zhuǎn)發(fā)達到目的地址。
但是再想,好像不對。如果該請求被對方服務(wù)器接受,那么該服務(wù)器如何區(qū)分改共有IP(路由器的ip,從電信那分配過來的)還有其私有IP(局域網(wǎng)的ip)?對方服務(wù)器如何響應(yīng)請求? 如果是基于socket 程序,如果得到對方那么多ip地址? 如果即使得到,那么客戶程序不是就得重新變化?? 更何況如果該包被以這種方式轉(zhuǎn)發(fā)多次,那么該ip包就有好多個ip,那問題不是復(fù)雜多。
感覺猜想不對。這種方式共享ip的局域網(wǎng),肯定不是這樣組成一個ip鏈來轉(zhuǎn)發(fā)消息的。 那應(yīng)該是什么?
回顧一個整個過程:不同機器發(fā)給ip包給了路由器, 路由器只是把ip包ip轉(zhuǎn)換一下,把私有ip轉(zhuǎn)換為共有ip,即路由器的ip。(可以通過tracert來查看第一個出去的ip,就是ISP分配過來的IP),再由路由器統(tǒng)一發(fā)出去。 那么該局域網(wǎng)中不同機器,發(fā)出去的請求都是經(jīng)過路由器,那么其轉(zhuǎn)換后的IP都是一樣的。 那么對于路由器接受到的來自外面的相應(yīng),如何轉(zhuǎn)發(fā)到指定的局域網(wǎng)的某一臺機器?
可以看到路由器就是一個轉(zhuǎn)發(fā)站,將出去的請求轉(zhuǎn)發(fā)到外面,同時將外面的相應(yīng)轉(zhuǎn)發(fā)回來。肯定需要這么一表,如何將來自局域網(wǎng)的請求轉(zhuǎn)發(fā)出去,同時將外面請求根據(jù)該表來轉(zhuǎn)發(fā)回來。 感覺是端口了。路由器就是用端口轉(zhuǎn)發(fā)的。
對于一個來自與于內(nèi)部的請求包,路由器記下來來自于那個機器,并用指定端口發(fā)出去。 對于外面的回來的相應(yīng),根據(jù)端口號,查表,修改ip包,轉(zhuǎn)發(fā)到指定的機器上。 如此一般。
查一下資料好像就是NATP原理。
但是NATP 也有問題,比如說FTP協(xié)議,它有兩個連接,一個是控制連接,另外一個是數(shù)據(jù)連接。 先有FTP客戶端建立一個TCP連接去連接服務(wù)器,然后在有數(shù)據(jù)傳輸時,需要客戶端需申請一個新連接。 創(chuàng)建一個新的socket,??那么服務(wù)器怎么知道客戶端對方的端口號? 這需要客戶端已經(jīng)建立的控制連接,將新生成的Socket的端口,轉(zhuǎn)換為ASCII 碼,然后由控制連接傳給對方,對方再根據(jù)端口建立數(shù)據(jù)連接,來傳送文件。 問題出來,如果一個用NATP方式,用戶的端口是本地的端口,路由器如果不解析該IP包并將其映射為本地端口,否則客戶端的port 對于?服務(wù)器來說是無效的。?
大膽假設(shè),小心求證。
轉(zhuǎn)載于:https://www.cnblogs.com/zhyg6516/archive/2011/01/09/1931171.html
總結(jié)
以上是生活随笔為你收集整理的家里路由器如何共享同一个ip的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 47、Windows驱动程序模型笔记(五
- 下一篇: 白盒测试职位