1.数据包
1.1 TCP/IP协议
- 发送数据包的路由器从上到下一层一层增加头部,我们学习网络关注的就是Internet层和网络访问层。先加上去往目的地的ip地址,再加上目的地的mac地址。
- 接受数据包的路由器从下往上一层一层解开头部,判断是mac地址是自己吗,不是自己就丢弃,是自己的就继续向上解开,ip是自己吗,是自己的话就接受数据包查看上层的内容,不是自己的话,判断是否能够转发,能转发就转发,不能转发就丢弃他。
1.2 IP地址与MAC地址
- IP地址,表示路由器的地址,相当于一个人所在的地址。I
(1)P地址有 32位二进制组成。通常用192.168.0.1这样的方式表示每八个二进制为一组组成。地址也可以分类
(2)A-B-C用作普通的单播,D用作组播,E类地址没有实际用途。
- Mac地址,表示硬件设备编号,相当于一个人的身份证号。
- 通过Mac地址和IP地址就可以唯一确定一个网络设备。就好像快递上的地址和手机号码就可以唯一确定一个收货人。
1.3 网段与子网
- 网段,像A,B,C,D用于给ip地址分段。例如192.168.12.1是一个C类地址,他所在的网段就是192.168.12.0.
- 子网与子网掩码,为了细分网段,用ip地址和子网掩码组合的方式获得了新的网段。例如192.168.12.1 255.255.255.128,这个ip地址所在的网段就是192.168.12.0。192.168.12.129 255.255.255.128,这个ip地址所在的网段就是192.168.12.128.。
- 网段和子网的介绍 https://baike.baidu.com/item/子网掩码/100207?fr=aladdin
2.路由原理
以后用的eve环境+cisco的IOL设备
2.1 IP地址的配置命令
- ip配置命令。
en #进入特权模式
conf t #进入配置模式
int e0/0 #进入某个接口的配置
ip address 192.168.12.1 255.255.255.0 # 配置ip地址
ip address 192.168.12.2 255.255.255.0 secondary #配置网卡的第二个ip地址
- ping检查是否能够正常通信,通过ICMP(Internet Control Message Protocol)是一个传输层协议。
ping 192.168.12.1 发送五个ICMP的数据包。
ping 192.168.12.1 repeat 10 发送十次ICMP数据包
ping 192.168.12.1 source 192.168.12.2 从192.168.12.2发送ICMP数据包
!表示成功通信
. 表示自己在路由表里找不到,数据包发不出去,或者自己发出去了没有人回应
U表示数据包发出去了,另一个递归查找的路由器告诉我找不到这ip
- tracrotue追踪路由的经过的接口的ip
traceroute 192.168.12.1 追踪ICMP的数据包。
2.2 路由通信的查找过程
- ip配置
R1(config)#int e0/0
R1(config-if)#ip add 192.168.12.1 255.255.255.0
R1(config-if)#no sh
R2(config)#int e0/0
R2(config-if)#ip add 192.168.12.2 255.255.255.0
R2(config-if)#no sh
- 在R1上ping 192.168.12.2,查看成功情况,发现第一次丢包了,剩下都成功了。
R1#ping 192.168.12.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
- 这是由于第一次发送包的时候不知道目的地址的mac地址是多少,就需要先获得192.168.12.2对应的mac地址,这个过程叫做ARP(Address Resolution Protocol)解析。通过抓包可以发现R1发送广播询问192.168.12.2对应的mac地址是多少。
- 发送数据包的时候先根据路由表封装好ip层,再根据arp表找ip对应的mac地址封装好mac层。最后发出去。
2.3 路由表
1.显示路由表,通过路由表封装ip层。
命令
R1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is not set
192.168.12.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.12.0/24 is directly connected, Ethernet0/0
L 192.168.12.1/32 is directly connected, Ethernet0/0
2.路由表的组成:各个路由条目是由网段组成的,目的ip根据这些条目找到适合自己的出路。
路由条目的来源有三个
(1)直连接口ip所在的网段,例如上面的192.168.12.1 255.255.255.0后面的子网掩码的目的就是给路由表添加这个子网掩码对应ip地址的网段192.168.12.0/
(2)静态路由配置的网段,以后会学到。
(3)动态的路由协议获得ip,以后会学到
3.路由表一个条目的组成
(1)codes C表示直连,L表示本地的一个接口,S表示静态路由配置的,其他表示动态协议获得的条目。
(2)ip目的地。
(3)出接口或者下一跳。
2.4 arp表
1.显示arp表,通过arp表封装mac层。
arp解析前
R1#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.12.1 - aabb.cc00.1000 ARPA Ethernet0/0
arp解析后,arp解析就是增加路由条目的。
R1#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.12.1 - aabb.cc00.1000 ARPA Ethernet0/0
Internet 192.168.12.2 18 aabb.cc00.2000 ARPA Ethernet0/0