【CCNP】第一章 局域网通信过程

第一节 局域网内通信过程

局域网是一种私有网络,是指由某一个小范围地区形成的区域网络,在网络中表现为:同一局域网内的设备接口的IP地址属于同一个网络号。如下图R1的E0/0、R2的E0/1都位于一个局域网中,属于192.168.1.0/24网络

1.局域网内通信过程配置:

图中,R1、R2用于模拟网络中的PC,并与交换机SW相连,启动设备并打开CLI进行配置。

第一步:配置IP地址

为R1的E0/0和R2的E0/1接口配置IP地址,交换机作为交换设备可不进行配置

R1#conf t
•    R1(config)#int e0/0
•    R1(config-if)#ip add 192.168.1.100 255.255.255.0
•    R1(config-if)#no sh
•    R1(config-if)#end
R1#wr
R2#conf t
•    R2(config)#int e0/0
•    R2(config-if)#ip add 192.168.1.101 255.255.255.0
•    R2(config-if)#no sh
•    R2(config-if)#end
R2#wr

第二步:对R1、R2做进一步配置

因为此时R1、R2均为路由器,而为了使其充当成PC,我们需要输入以下命令即可:

R1#conf t
•    R1(config)#no ip routing  //关闭路由功能
​
R2#conf t
•    R2(config)#no ip routing

第三步:在R1的E0/0和SWE0/0之间的链路上选择设备右击,选择caputre,选择接口编号(如e0/0),此时会自动打开Wireshark,通过Wireshark,我们可以观察到流经该链路的数据包(也就是我们常说的抓包)

第四步:打开R1,通过ping命令,测试与LAN内192.168.1.101的连通性。

R1#ping 192.168.1.101

第五步:在Wireshark中观察敲完ping命令后回显的数据包

2.局域网内通信过程分析:

要实现网络通信,其步骤大体可以分为以下几步:

第一步:发送数据包的设备构造其要发送的数据包。一个数据包的组成必须具备以下四个地址:

第二步:数据包构造完成后,设备根据目的IP地址查找路由表,决定数据包从哪个接口发送出去。

第三步:等待该数据包的回包响应(如果需要)。

以上面的实验为例,当R1(192.168.1.100/24)第一次向R2(192.168.1.101/24)发送数据包时,R1构造要发送的数据包,此时R1具备如下条件:

  源MAC:R1 E0/0接口MAC
  源IP:R1 E0/0接口IP地址192.168.1.100
  目的MAC地址:?
  目的IP:R2 E0/1接口IP地址192.168.1.101

可以发现,唯独缺少一段目的MAC地址,这就会导致数据包无法构造完成,因此R1在正式发送数据包之前,会先进行一个操作:向整个局域网内询问192.168.1.101的MAC地址是多少。这个操作是通过ARP(Address Resolution Protocol,地址解析协议)来完成的。

ARP数据包的详细结构如下图。由于不知道目的MAC地址,因此用FFFF:FFFF:FFFF代替,这是一个广播MAC地址,交换机收到目的MAC地址为全F的广播帧时,会从除了收到该数据帧的接口外的其他所有接口转发出去。因此,R2的E0/1能收到这个数据包。同时,在ARP报文中有Target IP Address字段,表示该ARP报文要请求该字段中的IP地址对应的MAC地址。R2收到后,发现Target IP Address字段中的IP地址存在于本地(即自己的地址和Target IP Address字段中的IP地址一致),因此进行响应,填入E0/1接口的MAC地址并源目对调后回复。此时,R1收到回复后知道了192.168.1.101对应的MAC地址,数据包能够正常构造并被发送。

R1将构造好的数据包通过E0/0接口发送出去,SW收到后转发至E0/1接口发给R2,R2收到后再进行回复。

接下来探讨交换机是如何确定数据帧该从哪个接口转发:

交换机工作在OSI第二层,即数据链路层,因此也常被称为二层交换机,二层交换机转发数据帧的依据是MAC地址表,可以通过命令 show mac-address-table查看,如图所示。

MAC-Address-Table中有四列信息,分别对应着:所属VLAN、MAC地址、获取方式和出接口。该表是通过自动学习得来的,即获取方式中的Dynamic(动态获取),自动学习的实现过程是:当交换机收到一个数据帧后,提取该数据帧中的源MAC地址并与收到该数据帧的接口进行绑定,这样就自动学习到了一条MAC地址表项。自动学习MAC地址是交换机的基本功能之一,无法关闭。

当交换机拥有了MAC地址表后,交换机再收到数据帧时,只需要提取出目的MAC地址,在MAC地址表中找到对应的出接口进行转发即可。

至此,局域网内的通信过程就算是结束了。

第二节 局域网间通信过程

局域网间通信,也就意味着数据包需要跨网络传输,那在局域网中必须有三层设备,如路由器、三层交换机,因为在跨网络传输时,需要根据路由表决定数据包的去向。在第一节实验的基础上,对拓扑进行适当修改,在该图中,R3为192.168.1.0/24和192.168.2.0/24的网关设备

什么是网关:gateway,是一个网络通向其它网络必须经过的三层设备称之为网关,即一个网络的关口

1.局域网间通信过程配置:

图中,R1、R2用于模拟网络中的PC,并与网关设备(路由器R3)相连,启动设备并打开CLI进行配置。

第一步:配置IP地址

为R1的E0/0和R2的E0/1接口配置IP地址,交换机作为交换设备可不进行配置

R1#conf t
        R1(config)#int e0/0
        R1(config-if)#ip add 192.168.1.100 255.255.255.0
        R1(config-if)#no sh
        R1(config-if)#end
R1#wr
R2#conf t
        R2(config)#int e0/0
        R2(config-if)#ip add 192.168.2.100 255.255.255.0
        R2(config-if)#no sh
        R2(config-if)#end
R2#wr
R3#conf t
        R3(config)#int e0/0
        R3(config-if)#ip add 192.168.1.1 255.255.255.0
        R3(config-if)#no sh
        R3(config-if)#exit
        R3(config)#int e0/1
        R3(config-if)#ip add 192.168.2.1 255.255.255.0
        R3(config-if)#no sh
        R3(config-if)#end
R3#wr

第二步:对R1、R2做进一步配置

因为此时R1、R2均为路由器,而为了使其充当成PC,我们需要输入以下命令即可:

Tips:相比于局域网内通信,局域网间通信加入了网关的概念,因此对于终端设备来说,如果想要跨网络通信就必须有网关,这里我们可以手动指定网关。

R1#conf t
•    R1(config)#no ip routing  //关闭路由功能
•    R1(config)#ip default-gateway 192.168.1.1 #指定网关地址为192.168.1.1
R2#conf t
•    R2(config)#no ip routing
•    R1(config)#ip default-gateway 192.168.2.1 # 指定网关地址为192.168.2.1

第三步:在R1的E0/0和SWE0/0之间的链路上选择设备右击,选择caputre,选择接口编号(如e0/0),此时会自动打开Wireshark,通过Wireshark,我们可以观察到流经该链路的数据包。

第四步:打开R1,通过ping命令,测试与LAN内192.168.1.101的连通性。

R1#ping 192.168.2.100

第五步:在Wireshark中观察敲完ping命令后回显的数据包

2.局域网间通信过程分析:

当R1要ping192.168.2.100时,由于目标地址和自己不在同一网络,同时也配置了默认网关,因此R1会直接将该数据包发送给网关,希望网关设备能够帮助自己转发数据包。此时R1是不知道192.168.2.100的MAC地址的,所以直接将向网关设备发送ARP请求,将网关的MAC地址作为将来数据包的目的MAC字段填入。

ping包的IMCP报文如下:

当网关收到这个数据包时,首先查看有没有目的IP地址的路由,发现是其E0/1接口下的直连路由,此时网关设备会对该数据包进行重封装。

网关设备对数据包进行重封装时,源目IP地址不变,目的MAC地址改为192.168.2.100对应的MAC地址,同时源MAC地址改为该数据包出接口的MAC地址,即E0/1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iknow181

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值