在局域網中一般情況下會用192.168.1.1作為網關設備和外網交互,首先說我今天的實驗:
第一:向網關的物理地址發送一幀TCP報文,TCP報文的IP地址是局域網中的另一臺機器,例如我發送端IP是192.168.1.114,接收端的IP是192,168.1.89,那么到了路由器之后他應該是做了這些工作計算對方的路由,獲取目標MAC,然后TTL減,最后轉發到目標,還有一點是他用自己的IP替換源IP,那么就變成了由192.168.1.1發到192.168.1.89的數據幀。
第二是如果此時89有服務器在偵聽那么89就會網關說受到,可是并不是網關和你建立連接啊,建立連接的是114,實時證明網關轉發了這個數據包,而且吧IP替換成89的發送到了114,這就完成了一次通信。
最后網關是怎么處理客戶端和服務器之間的聯系的呢,由上邊的關系不難看出,網關肯定是做了一個端口和一個IP地址的映射,要不然網關怎么會知道這個端口就是這個IP的呢?而我又沒有去刻意的設置路由器的端口映射,所以表明在局域網中這種通過網關的端口映射是自動的,他認為是合法的,這也就是在服務器端他不知道是誰發來的數據,只有個端口,而客戶端他知道要找誰他的端口是多少!之前做過UDP穿透,通過廣域網就要在路由器做端口映射,不符合的全部是不合法的,這也許就是原因吧!但愿我想的是對的!
|