首页
社区
课程
招聘
[旧帖] 路由器转发数据包到局域网问题 0.00雪花
发表于: 2013-1-22 10:48 12535

[旧帖] 路由器转发数据包到局域网问题 0.00雪花

2013-1-22 10:48
12535
路由器是通过什么规则来转发广域网的数据包到本地局域网上的。
     是通过的 局域网IP:端口 -> 路由器:端口这种映射来转发的吗? 但是如果只是工作在网络层的数据包,那应该是怎么转发的呢?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
作为NAT设备使用的路由器可以将内网IP和端口映射为外网IP和端口,这样就可以完成数据的完整传输。
对于网络层的数据,举例ICMP包来说,NAT实际上将IP协议封装后的ICMP部分中“TYPE+CODE”字段解释为内网端口,“Identifier”字段解释为外网端口,这样也就构成了一个完整的五元组,这样网络层数据包也能够像TCP报文一样正常的传输。其他网络层的协议可能还有其他的转换方式。
如果有不对的地方,还望看雪大神们多多指教!!
2013-1-22 16:11
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
ip/txp协议吗? 建议去看看CCNA的教程   具体是物理层实现的。
2013-1-26 20:37
0
雪    币: 1313
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
路由器会把进出网络的包都广播到本地的所有计算机组,修改目的MAC地址为广播地址即可,默认网卡是接受广播包和目的地址是本机MAC的包。

与网络层无关,与是否路由到外网有关,只要出入路由器,都会广播包。
2013-3-8 23:20
0
雪    币: 183
活跃值: (1178)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
谢谢。
只要是进路由的包,路由都会广播这些包到局域网,所以会出现局域网嗅探。
2013-3-10 10:09
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
路由器里面有路由表(分静态的和动态的2种),通过路由协议存储转发包而已
2013-3-12 15:27
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
通过:
1、static arp table
2、dynamics arp table
2013-4-8 14:21
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
路由器不会广播所有的包,只有一些特定的包会广播,比如ARP,DNS这些包.楼主是想问端口方面的问题吧.如果只是网络层的包,路由器是回发送到目的主机的.主机的网卡也会收到这些包.端口是用来标识进程,如果包没有标明端口,就没有进程从网卡获取这些包.想收到这些包就需要把编程实现对IP包进行处理。或者可以用嗅探软件来获取.或者WINPCAP.
2013-4-16 15:38
0
雪    币: 183
活跃值: (1178)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
其实就想问,路由器是怎么转发 一个没有带端口的数据包给本地局域网机器的。不是通过广播,那是通过什么手段,你说的编程来处理接收到的数据包都是后话了。
2013-4-16 16:29
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我大概了解你要问什么。
要回答你的问题,首先要了解路由器是如何把局域网的包发送到广域网去的。
假如机器A发送广域网请求,那么他会发送包到网关(路由器),这个包其中有以下数据.A的IP,A的端口,A的目的IP,A的目的端口。路由器接收到A的数据后,分析A的目的IP是否是局域网,不是就往外发。往外发的时候做如下改动源IP为路由器的广域网IP->B,源端口改为路由器的一个未使用的端口C。广域网上目的IP上的机器收到这个包后会认为是由IP为B端口为C发出来的包。下面的内容就是你关注的了。广域网IP上的机器返回消息到局域网时,先返回包到B,端口C。也就是先把这个包返回给了路由器。路由器发现这个包后,把目的地址IP、端口改为A,发送就可以了。这次路由发现IP是局域网内的,就把包发回局域网了
2013-4-18 15:28
0
雪    币: 183
活跃值: (1178)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
网路层的包 是没端口的概念的。端口是应用层上面的了, 比如 一个PING 命令, 这个数据包传输的时候就没带端口的。
2013-4-18 15:40
0
雪    币: 42
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不知道对不对,ping传送用的端口好像是1.毕竟ping也是通过协议发送的,如果你将端口deny是无法发送ping的.
2013-4-19 09:58
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
  路由器工作在网络层,是倒数第三层,端口是倒数第四层,因此路由器只对IP网段感兴趣(IP地址和子网掩码,在路由器设置中定义的),路由表中的数据只是涉及的有限域中网络段的数据。没有具体的IP地址。路由器只在网段间转发信息,该路由器表中没有的网段,将直接转交至上级路由器,直至跳数用尽,丢弃信息。
  另外在路由器中如果使用到了端口,则是指的某个或某些端口负责连接哪个网段(的交换机)在路由表中的条目中包含该参数,但此处的端口和“IP地址:端口”不是一个含义,仅是只物理设备上的端口(Interface)。路由表结构一般是:Type→Destination IP→Next hop→Interface→Distance→Metric→Status
  交换机工作在二层,其交换表中是IP地址和相对应的MAC地址。只有表中不存在对应关系的才会进行广播(广播地址除外)。
  HUB工作在二层,但只会广播,不进行交换。
 因此在HUB中网络嗅探得到的信息远多于在交换机中进行嗅探的信息。
2013-4-19 14:10
0
游客
登录 | 注册 方可回帖
返回
//