Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1194
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 250
  • 用 户 组: 普通用户
  • 注册时间: 2018-03-18 14:10
个人简介

10+从业经验,3CCIE、HCIE、红帽RHCA、VCP。获取Linux资料,可+v:glab-mary

文章分类
文章存档

2025年(7)

2024年(17)

我的朋友
最近访客

分类: 系统运维

2024-11-26 13:39:59

现实中不都是:终端-交换机-路由器-互联网-路由器-交换机-终端。


交换机是数据链路层设备,路由器是网络层设备。

“那为什么先去在路由器封装IP再到交换机封装MAC呢?”


题主可能以为,终端(host)封装好7层(http),再用4层(TCP)封装http,成为TCP + http包裹。然后把(TCP + http)包裹扔给3层路由设备,路由设备生成IP + TCP + http Packet。再然后,路由设备再将Packet扔给二层交换机,封装成 Ethernet + IP + TCP + http Frame。{BANNED}最佳后,从交换机端口的物理层以PAM调制模式发出。

这显然是认识误区!

每个通信终端(host)独立自主实现了OSI七层功能,用户数据离开主机(Write)的过程。

http---tcp---IP

到达IP层的时候,如果主机有多个物理接口,都可以到达目的地IP。根据物理接口对应的路由优先级选择{BANNED}最佳优物理接口,可以让Packet离开。

1. 如果以太网接口{BANNED}最佳优,扔给它处理,PAM调制,添加Preabmle + SFD 物理层同步信号,离开物理接口的样子是这样的;

http--tcp--IP--Ethernet--SFD--Preabmle

2. 如果以Wi-Fi接口{BANNED}最佳优,扔给它处理,QPSK调制,添加STF+ LTF +Signal物理层同步信号+训练符,离开物理接口的样子是这样的;

http--tcp--IP--802.11 -- Signal--LTF--STF

3. 如果光纤接口{BANNED}最佳优,扔给它处理,QAM调制,添加Preabmle + SFD 物理层同步信号

离开物理接口的样子是这样的;

http--tcp--IP--Ethernet--SFD--Preabmle

已经从上文3个物理接口离开了主机的数据包裹,以不同的形式在传输介质(medium)传播,但信号总要的落地的。换句话说,总要有一台设备需要读取(Read)上文的包裹。

如果读取上文包裹的是目的主机,即目的IP == 主机本身IP的情况。

为了读取1,那么需要实现:

Preabmle--SFD--Ethernet--IP--tcp--http

神奇的一幕发生了。

如果把

http--tcp--IP--Ethernet--SFD--Preabmle

比喻成从7楼下到1楼的下楼过程,那么

Preabmle--SFD--Ethernet--IP--tcp--http

就是从1楼上到7楼的爬楼过程。

完全相逆的!


至于为何要用7层来完成这个通信过程,而不是2层,直接将用户的数据写入物理层可以吗?

当然可以。

但是,如果接收主机(Destination Host)距离源主机(Source Host)距离非常遥远,远远超出上文3种传输介质的传输距离,怎么办?

采用信号中继(Relay),每隔一端距离将衰减信号采样出来,功率放大,再调制发送出去。通过N次的中继接力,可以将信号传输到地球上的每一个角落。这不就是海底光缆的工作原理吗?

可是,如果光缆的一端仅仅连接一台主机,一条海底光缆耗费几百亿美元就为了2台主机玩对战游戏,马斯克也会觉得这是极大的资源浪费!

为了共享以上稀缺的传输介质,需要有各种各样的中继设备,中继设备的存在才使得互联网(Internet)成为可能。

依据中继设备工作楼层,大体可以分为:

物理层中继(Layer 1 Relay )

光纤中继、早期的以太网Hub, 主要为了信号跑得更远。

链路层中继(Layer 2 Relay )

二层交换机、AP、光猫、桥接模式的家庭路由器、桥接模式防火墙,一方面可以信号传输的更远,但主要是为了提供更多物理接口、虚拟接口,无限扩展Internet的势力范围。

网络层中继(Layer 3 Relay)

三层交换机、路由器、路由模式防火墙、具有路由能力的服务器。一方面可以信号传输的更远,但{BANNED}最佳{BANNED}最佳主要的是为了进行过滤(Filter)、访问控制(Access List)。

{BANNED}最佳后再回到题主的问题:“现实中不都是:终端-交换机-路由器-互联网-路由器-交换机-终端。”

这个问题描述完全正确,通过上文对各种中继设备的对比你会发现。之所以终端(Host)不直接连接路由器,而是先连二层交换机。是因为交换机有更多的端口供终端连接

比如,一台带扩展板卡的交换机拥有512个端口,可以连接512个终端。

比如,一个无线AP,{BANNED}最佳大可以提供256个虚拟端口,{BANNED}最佳大支持连接256个终端。

而通常路由器、路由模式的防火墙就4个接口,可能扩展到8个,理论上{BANNED}最佳大可以连接8个终端。一台几万美元的路由器/防火墙就为了连接8个终端?

嗯哼!

但是,一旦直连路由器/防火墙,那么这条直连网段上只有路由器、主机,意味着在这个直连网段上主机只能与路由器通信!

神奇再次出现!

一台三层交换机充当网关,即VLAN 子接口配置IP地址充当网关。终端都没有办法直连(Direct-Connected)网关!

为什么?

因为网关是虚拟的,是软件的形式存在的!

主机的一端是硬件的接口,网关是软件形式的,自然无法直连!

怎么办?

只要终端(Host)连接该网关所在的VLAN的交换机二层端口,就可以与网关通信了。

如果一个局域网属于VLAN 10的一共2048个端口,意味着连接这2048个端口的主机,都可以与网关(VLAN 10)进行直连通信。

且,2048个主机之间也可以直连通信,无需网关的介入。

当然,如果交换机在VLAN 10开启了端口隔离(Port Isolation),那么2048个主机还能通信吗?

不能了!

在VLAN 10这个网段,2048个主机可以和谁通信?

只能和网关通信。

以上说的你都明白了吗?



阅读(48) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~