IP地址的格式
IP地址由32位二进制数组成,主要分为两个部分:网络部分和主机部分。目前internet上使用最多的IP地址是A/B/C三类;
A类地址:1~126,0网段保留,127网段本地测试,组成格式为网络部分+主机部分+主机部分+主机部分。
B类地址:128~191,组成格式为网络部分+网络部分+主机部分+主机部分。
C类地址:192~223,组成格式为网络部分+网络部分+网络部分+主机部分。
而从ACB这三类地址中有划分出一部分供企业内部使用,这部分ip称之为私有地址,我们个人常用的就是192.168.0.0网段。
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
子网掩码
子网掩码与IP地址密切相关,在网络中主机之间通信分为两种情况:同一个网段中两台主机之间相互通信;不同网段中两台主机之间相互通信。
A类默认掩码:255.0.0.0
B类默认掩码:255.255.0.0
C类默认掩码:255.255.255.0
路由器基本原理与配置
实验环境中,如果一段时间没有对路由器配置,就会回到初始界面,需要重新输入密码才能继续配置。下面就解决这个问题。line con 0表示针对console配置(exec-timeout 0 0,第一个0表示分钟,第二个0表示秒钟,都设为零表示永不超时)
1. Router>en 2. Router#conf t 3. Router(config)#line con 0 4. Router(config-line)#exec-timeout 0 0
有时控制台会显示一些信息,甚至会打断我们输入的命令,就很烦对吧。下面就是解决方法。
Router(config-line)#logging synchronous
如果在普通模式或特权模式输入了错误的命令,它就会一位输入的是一个域名,它就会通过广播的方式执行DNS查询,直到查询失败才会停止,过程较长 。为了避免这种情况,可以禁止DNS查找。
Router(config)#no ip domain-lookup
配置前不必要每次都敲一次,可以复制下面的文档。
1. en 2. conf t 3. no ip domain-lookup 4. line con 0 5. logg syn 6. exec-timeout 0 0 7. exit
配置IP地址通信
下面就来一个实例来看看,交换机和路由器之间如何配置IP地址。打开一台路由器和一台交换机连接,路由器的物理接口默认是关闭的,所以下面的连接节点是红色的。
先来看看路由器怎么配置ip,当开启路由器的物理接口,查看模拟器中的连接节点是什么颜色。
1. Router#conf t 2. Router(config)#int f0/0 3. Router(config-if)#ip add 192.168.1.1 255.255.255.0 4. Router(config-if)#no sh
no sh:全部命令是no shutdown,表示开启路由器的接口。
再来看看交换机怎么配置ip,交换机的ip不像路由器的接口是配置在物理接口上的,而是配置在虚拟接口,vlan1是每台设备都有的默认虚拟接口。工作环境中出于安全考虑,不是应vlan1接口,可以创建多个vlan,如vlan2、vlan3...等。
1. Switch#conf t 2. Enter configuration commands, one per line. End with CNTL/Z. 3. Switch(config)#int vlan1 4. Switch(config-if)#ip add 192.168.1.2 255.255.255.0 5. Switch(config-if)#no sh
这样两台设备的ip就配置成功了,那它们之间是否能够访问呢?来吧,测试一下就知道了。下面我直接使用交换机测试了,可以看到下面的符号"".!!!!",表示通信成功。"."表示不通,"!"表示通。至于为什么有一个"."这个就问题就得讲到路由协议了,这个后面再讲。
1. Switch(config-if)#end 2. Switch#ping 192.168.1.1 3. 4. Type escape sequence to abort. 5. Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds: 6. .!!!! 7. Success rate is 80 percent (4/5), round-trip min/avg/max = 0/0/0 ms
ARP协议和ICMP协议
ARP协议的作用:可以查出擅自更改IP地址主机的MAC地址。
单播:一对一发送
广播:一对多发送
广播和广播域的概念
广播:将广播地址作为目的地址的数据帧。
广播域:网络中能接收到同一个广播的所有节点的集合。
1.1. MAC地址广播
MAC地址广播地址为FF-FF-FF-FF-FF-FF,交换机转发MAC广播,路由器会阻挡MAC地址广播。
1.2. IP地址广播
IP网段的最后一个地址为广播地址,在数据帧中,目的MAC地址是FF-FF-FF-FF-FF-FF,目的IP地址是IP网段的广播地址。
ARP协议
ARP(Address Resolution Protocol,地址解析协议)的基本功能是负责将一个已知的IP地址解析成MAC地址,以便在交换机上通过MAC地址通信。
2.1. ARP命令
1)查看ARP缓存表
1. Router#show arp 2. Protocol Address Age (min) Hardware Addr Type Interface 3. Internet 192.168.1.1 - 00D0.58A3.2601 ARPA FastEthernet0/0 4. Internet 192.168.1.2 21 000A.4104.528A ARPA FastEthernet0/0
2)清除ARP表
clear arp-cache
ICMP协议
ICMP(Internet Control Message Protocol,internet控制消息协议),主要是用于IP网络中发送控制消息,提供可能发生在通信环境中的各种问题的反馈。ICMP协议的使用是靠各种命令来实现的,ping命令就是icmp协议。
3.1. ping命令参数
格式如下:
ping [-t] [-a] [-l] 目标主机IP或DNS
-t:默认情况是发送4个ping包,如果加入-t参数,就会不停的ping下去。
-a:返回对方主机的主机名。
-l:ping包默认大小是32字节,可以修改ping包字节数。
静态路由和默认路由
路由原理
在只有一个网段的网络中,数据包可以很容易地从源主机到达目标主机。但是如果一台计算机要和非本网段的计算机进行通信,数据包可能就要经过很多路由器了。如果A主机访问B主机有很多条线路可以选择,但是某一时刻总会有最佳线路,这时就需要路由选择最佳线路,以便提高网络访问速度。
路由器的工作原理
在路由器中,有一份“地图”,而这个地图在路由器中称为路由表。在这个路由表中,包含路由器掌握的所有目的网络地址,以及通过此路由器到达这些网络的最佳路径,这个最佳路径指的是路由器的某个接口或吓一跳路由器的地址。有了路由表的存在,路由器才可以高效地进行数据包的转发。
静态路由
静态路由是由管理员在路由器中手动配置的固定路由,除非管理员干预,否则静态路由不会发生变化。静态路由是单向的,也就是说,希望双方通信,需要配置双向的静态路由。而静态路由的不足之处就是缺乏灵活性。
默认路由
默认路由是一种特殊的静态路由,默认路由一般配置在末梢网络(边界路由器),如果没有默认路由,目的地址在路由表中没有匹配到时,数据包将被丢弃。适当的使用默认路由可以减小路由表的大小。
配置命令
1.静态路由命令格式
Router(config)#ip route network mask { address | interface }
参数如下:
注:下一跳表示当前路由器的对端ip或接口
network:目的网络地址,指定你最终的目的地址是哪。
mask:子网掩码。
address:下一跳路由器的接口地址。
interface:下一跳的网络本地接口。
2.默认路由命令格式
默认路由和静态路由格式相同,但是在网络部分不同。
Router(config)#ip route 0.0.0.0 0.0.0.0 address
参数如下:
0.0.0.0 0.0.0.0 :表示任何网络,也就是说任何数据包都转发出去。
address:下一跳路由器的接口地址。
配置实例
多说无益,万恶的理论知识不如实操来的真实,你只需要记住上面的两个命令格式就行了。下面看拓扑图,两台PC机分别是1网段和2网段,上面四台路由器正好可以实现静态和默认两种模式。
上面说的末梢网络,指的就是最左和最又两台路由器,现在想一下该怎么配置呢?
1、先给两台pc机按照要求配置上ip。
单击pc机,Desktop→IP Configuration→默认是static(静态)即可,输入ip和mask,后面我给的网络是1.0.0.1,一会配置时就用这个网关了。pc2操作方法一样。
2、从左边开始,配置第一台路由器,先配置ip。网段IP我们实行左一右二的原则,这边0/0接口设置为10.0.0.1
1. Router>en 2. Router#conf t 3. Router(config)#int f0/1 4. Router(config-if)#ip add 1.0.0.1 255.0.0.0 5. Router(config-if)#no sh 6. Router(config-if)#int f0/0 7. Router(config-if)#ip add 10.0.0.1 255.0.0.0 8. Router(config-if)#no sh
2.1、ip已经通了,现在配置默认路由。默认路由的下一跳是对端ip,也就是10.0.0.2(这里对端ip还没配置,但是不影响)。
1. Router(config-if)#exit 2. Router(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.2
3、配置第二台路由,依旧是先配置ip,让接口先打开。
1. Router>en 2. Router#conf t 3. Enter configuration commands, one per line. End with CNTL/Z. 4. Router(config)#int f0/0 5. Router(config-if)#ip add 10.0.0.2 255.0.0.0 6. Router(config-if)#no sh 7. Router(config-if)#int f0/1 8. Router(config-if)#ip add 20.0.0.1 255.0.0.0 9. Router(config-if)#no sh
3.1、第二台路由器就不能配置默认路由了,这时候需要配置静态路由。还记得吗,上面说到静态路由是单向的,如果让两台pc机通信,就需要配置双向路由。如果不理解,看看下面的命令,简单来说,给路由器一份地图,如果我去1.0.0.0 网段,就走10.0.0.1方向,如果去2.0.0.0 网段,我就走20.0.0.2方向。
1. Router(config-if)#exit 2. Router(config)#ip route 1.0.0.0 255.0.0.0 10.0.0.1 3. Router(config)#ip route 2.0.0.0 255.0.0.0 20.0.0.2
4、配置第三台路由器。
1. Router>en 2. Router#conf t 3. Router(config)#int f0/0 4. Router(config-if)#ip add 20.0.0.2 255.0.0.0 5. Router(config-if)#no sh 6. Router(config-if)#int f0/1 7. Router(config-if)#ip add 30.0.0.1 255.0.0.0 8. Router(config-if)#no sh
4.1、这里也是配置静态路由
1. Router(config-if)#exit 2. Router(config)#ip route 1.0.0.0 255.0.0.0 20.0.0.1 3. Router(config)#ip route 2.0.0.0 255.0.0.0 30.0.0.2
5、配置第四台路由器
1. Router>en 2. Router#conf t 3. Router(config)#int f0/0 4. Router(config-if)#ip add 30.0.0.2 255.0.0.0 5. Router(config-if)#no sh 6. Router(config-if)#int f0/1 7. Router(config-if)#ip add 2.0.0.1 255.0.0.0 8. Router(config-if)#no sh
5.1、配置默认路由,因为这里也是边界路由器,所以这里也配置默认即可。
1. Router(config-if)#exit 2. Router(config)#ip route 0.0.0.0 0.0.0.0 30.0.0.1
6、最后测试,单击pc→Desktop→Command Prompt,使用ping命令测试对端ip是否正常通信。然后ping后发现不通,想想到底是哪出错了,还是少了什么步骤吗?最后在ping一次,发现可以ping通了,这是为什么?思考一下,原因写在后面,看看和你想的一样吗。
解释:其实我们上面的配置没有问题,至于为什么丢了四个包,看下拓扑图。路由器默认会丢弃数据包,经过路由器时,发现找的不是它,它会丢弃数据包,而配置了静态路由后,它会告诉你,你要去的目的地址在另一台路由上,让你去另外一个路由器查找。