浏览器访问一个地址的过程
来源:优易学  2010-1-15 14:44:27   【优易学:中国教育考试门户网】   资料下载   IT书店

 

  扯远一点。默认情况下,windows机器不会充当路由器的功能,它不会转发(forward)自己接受到的但是目的地址不是自己的包。但是这是可以设置的,通过开启路由转发功能,就能充当一个路由器了。这样,局域网中另一台机器就可以把默认网关设置为你的ip,然后他的所有到外网的包都先交给你,然后你再路由转发出去。貌似多次一举,但是这样你的机器可以控制别人的上网功能。譬如一个家里,老爸把他儿子的机器的默认网关设置为自己的机器的,当这个狡猾的老爸不想让儿子上网的时候,就关闭自己机器的路由转发功能,可怜的儿子就上不了网了,而且不知道为什么。-_-!!

  譬如XP下可以修改注册表项:HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Tcpip \Parameters 中的 IPEnableRouter=1。

  顺便说说命令“route -f”,它可以删除路由表中涉及默认网关的项。我曾经使用该命令删除掉中间那条,结果访问外网就不行了,实际错误就是找不到路由项。

  和同宿舍一个哥们讨论该问题,当他发现“route -f”可以让机器不能上外网时,立马说可以用这个搞恶作剧啊,让人上不了网,估计没几个人能找出问题来,只有重启机器。我汗-_-!!

  所以ip地址转换到mac地址的过程就更清晰了:

  ------------------------

  1、首先得到ip包需要送达的目的地址 ip-des ;

  2、查路由表,根据匹配 ip-des 的路由表项得到下一跳(next hop)的中间目的地址 ip-next (可以保证 ip-next 是局域网中的地址);

  3、在arp缓存中查找 ip-next 对应的mac地址,如果缓存中没有,再到局域网中使用arp协议进行询问;

  4、得到了mac地址,一切就好办了----将mac地址放到帧头,发送数据。

  ------------------------

  由此看出绝不是仅仅arp那么简单。

  几个有用的命令(注意linux下需要root权限):

  ------------------------

  查看本地路由表:

  windows: route print

  linux: route

  查看本地arp缓存:

  windows: arp -a

  linux: arp

  ------------------------

上一页  [1] [2] [3] [4] 

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训