作者wst2080 (wst2080)
看板Network
标题Re: [问题] 网路遮罩问题
时间Sun May 9 23:34:38 2010
※ 引述《EvilBrave (今天的我没有极限)》之铭言:
: : 若对方超出范围~ 封包送到闸道转送~ 这部份就没问题...
: : 假设 10.0.0.0/255.0.0.0
: : 而你要连线的是 11.11.11.11 的话,那麽这部份就没问题.... 因为超出范围...
: : 若是10.0.0.10 /255.0.0.0
: : 一台机器是这样的设定~ 另一台的机器是 10.0.20.10 / 255.255.255.0
: : 则这样就会发生你所谓的连线问题~
: : 假设从 10.0.0.10 它会拿 10.0.20.10 这个IP来跟自己的 255.0.0.0 这个遮罩做比对
: : 比对下来的结果判定是同一个网段~ 则会将封包直接丢出去而并不会丢给闸道...
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 首先感谢您的回答~~~~~~
: 不过我想再请教这一点 请问"封包送的出去"吗?
应该是说 Frame 的部份... L2 通常是叫做 Frame ~
这样看起来你的基础还不够稳~ 我看应该是要来说个清楚
我先回答好了~
发是一定发的出去!!! 这没有什麽特别的...
只不过对方能不能接收到就是另一回事了... XD
: 因为 10.0.20.10这台 不在此网段内
: 因此我的想法是
: 封包在 Data-link layer 这层 arp table 找不到 10.0.20.10 这台的 mac address
: 所以封包发不出去?
: 还是 arp table找不到会有其他处理方式 ?
应该是说~ 由於刚刚的案例已经说到
10.0.0.10/255.0.0.0 发送封包给 10.0.20.10/255.255.255.0
这时候封包一比较~ 属於同网段~ 所以这个封包并不会丢给闸道来进行转递
而是直接在区网广播的方式~
然而 10.0.20.10/255.255.255.0 当然不会收到这个封包~ 因为没有交给闸道来帮忙转递
OK~ 这样说或许蛮模糊的~
我说一下电脑网路转发的方法好了~ 稍微解释一下~ 我想你再回头看就应该知道怎麽去
思考了~ 这样也比较实际啊...
OK
就用192.168.1.0/255.255.255.0 这个举例好了...
192.168.1.0/255.255.255.0 这个网路范围为 192.168.1.0~255
假设 192.168.1.100 要传送资料给 192.168.1.200 (而各自的遮罩均为255.255.255.0)
那麽 192.168.1.100这台机器会拿 192.168.1.200 这个IP 来跟 自己的 255.255.255.0
的遮罩进行比对~ 发现是属於同网段~ 於是封包不会转递给闸道(路由器)
所以会在区网内进行广播~
封包表头如下:
目的MAC: ff:ff:ff:ff:ff:ff (广播)
来源MAC: 11:22:33:44:55:66 (192.168.1.100自己的 MAC Address)
目的IP : 192.168.1.200
来源IP : 192.168.1.100
於是有广播的部份,当192.168.1.200收到192.168.1.100的来源封包之後,就会接收该封包
并且添加於自己的 ARP Table 的 MAC 清单当中
标记为 192.168.1.100 的 MAC 为 11:22:33:44:55:66
然後回送一个封包给 192.168.1.100
封包表图如下:
目的MAC: 11:22:33:44:55:66 (192.168.1.100 的 MAC)
来源MAC: 22:33:44:55:66:77 (192.168.1.200 自己的 MAC Address)
目的IP : 192.168.1.100
来源IP : 192.168.1.200
当 192.168.1.100 收到 192.168.1.200 的封包後~
就会在自己的 ARP Table 添加 192.168.1.200 的 MAC Address
而ARP Table当中就会有一笔纪录为
192.168.1.200 的 MAC Address 为 22:33:44:55:66:77
之後 192.168.1.100 要传递资料给 192.168.1.200 就不需要进行ARP广播了...
透过ARP Table当中的纪录~ 於是这样就构成了区网构连~~~
-------------------> OK 上头融会贯通之後~ 接下来再举一个简单的案例~
假设环境跟上面一样~ 不过添加了闸道与不属於该区网的设备~ 而区网内的设备要对
外部网路的设备进行连线~ 那麽~ 就会透过闸道~ 那怎麽运行的呢? 其实跟上头差不多.
(这个部分我就不说明路由协定~假设路由协定是已经设定好或者运行正常)
假设区网的电脑为 192.168.1.50 处在 255.255.255.0 这个遮罩的网段范围内
而该网段的闸道为~ 192.168.1.254
而有个外部网路的电脑为 172.16.1.100 / 255.255.255.0
假设架构为:
192.168.1.50 ---- 192.168.1.254 (闸道) 172.16.1.254 ---- 172.16.1.100
^
66:66:66:66:66:66 ^11:11:11:11:11:11
^
33:33:33:33:33:33 ^
77:77:77:77:77:77
那麽就是区网电脑 192.168.1.50 要连线到 172.16.1.100 这个部份~
开始讲解流程
当192.168.1.50这台电脑会拿 172.16.1.100 来比对自己的网路遮罩 255.255.255.0
比对下来 发现并不是相同的区网~
所以 192.168.1.50 会将目标为172.16.1.100的封包丢给闸道进行处理~
首次连线为... 找出闸道所对应的MAC 位置~
目的MAC: ff:ff:ff:ff:ff:ff (广播)
来源MAC: 33:33:33:33:33:33 (192.168.1.50 自己的 MAC Address)
目的IP : 192.168.1.254
来源IP : 192.168.1.50
192.168.1.254收到後 会回应给192.168.1.50
同时会将 192.168.1.50 的 MAC 纪录在 闸道的ARP 表当中
目的MAC: 33:33:33:33:33:33 (192.168.1.50 的 MAC)
来源MAC: 66:66:66:66:66:66 (192.168.1.254 自己与192.168.1.50界面的MAC Address)
目的IP : 192.168.1.50
来源IP : 192.168.1.254
这样就构成闸道与192.168.1.50之间的构联了(当然 192.168.1.50的ARP表会有闸道的MAC)
然後就 192.168.1.50 开始把封包传递给 172.16.1.100 (经过闸道)
目的MAC: 66:66:66:66:66:66 (192.168.1.254 与192.168.1.50 的介面 MAC)
来源MAC: 33:33:33:33:33:33 (192.168.1.50 自己的 MAC Address)
目的IP : 172.16.1.100
来源IP : 192.168.1.50
当闸道收到这个封包的时候~ 就会比对自己的路由表~来进行封包的转发~
这时候~ 闸道的另一个接口 就会发出ARP广播的封包
目的MAC: FF:FF:FF:FF:FF:FF (广播)
来源MAC: 77:77:77:77:77:77 (172.16.1.254 自己与172.16.1.100的介面 MAC Address)
目的IP : 172.16.1.100
来源IP : 172.16.1.254
这时候另一端 172.16.1.100 也收到封包後 回应给 172.16.1.254
并且把闸道的MAC记录在ARP Table里头 (172.16.1.254 → 77:77:77:77:77:77)
目的MAC: 77:77:77:77:77:77 (172.16.1.254 的 MAC)
来源MAC: 11:11:11:11:11:11 (172.16.1.100 自己的 MAC Address)
目的IP : 172.16.1.254
来源IP : 172.16.1.100
然後闸道再将 192.168.1.50的封包送给 172.16.1.100
目的MAC: 77:77:77:77:77:77 (172.16.1.254 的 MAC)
来源MAC: 11:11:11:11:11:11 (172.16.1.100 自己的 MAC Address)
目的IP : 172.16.1.100
来源IP : 192.168.1.50
然後 172.16.1.100 收到封包後~ 就会返回给 192.168.1.50 (途中经过闸道)
目的MAC: 11:11:11:11:11:11 (172.16.1.100 的 MAC)
来源MAC: 77:77:77:77:77:77 (172.16.1.254 自己的 MAC Address)
目的IP : 192.168.1.50
来源IP : 172.16.1.100
这时候路由器收到後~ 会进行转发~
目的MAC: 33:33:33:33:33:33 (192.168.1.50 的 MAC)
来源MAC: 66:66:66:66:66:66 (192.168.1.254 自己的 MAC Address)
目的IP : 192.168.1.50
来源IP : 172.16.1.100
这样就达到构联的状况了!!!
以上就是ARP与封包转发的过程简介.... (还没有说到路由协定~不过这是基础篇的部份)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.248.253
1F:→ wst2080:忘记说了若ARP没有回应~ 则封包会区网流窜到TTL(存活时间) 05/09 23:35
2F:→ wst2080:时间结束为止... 然後就会被舍弃掉... 05/09 23:35
3F:推 guteres:专业推 05/09 23:57
4F:→ godchueh:发送封包前会先广播ARP~可是因为以为目的在相同区段内 05/10 00:18
5F:→ godchueh:所以ARP没有人回应,这样的话原本要发送的封包会送出吗? 05/10 00:18
6F:→ wst2080:一样会发送啊...不管怎麽样 都会发送啊... 05/10 05:18
7F:→ wst2080:若ARP没有机器回应,通常就是到了封包存活时间就会舍弃掉了 05/10 05:19
8F:推 stator:我也来推WST大。很专业 05/10 22:44
9F:推 guteres:封包会发出去,但对方收不收得到是另外一回事 ,是吧XD 05/10 23:46