( 该图由我使用 AI 绘制 )
目录
每个包都是独立传输的
防止网线中的信号衰减很重要
“双绞”是为了抑制噪声
集线器将信号发往所有线路
每个包都是独立传输的
从计算机发送出来的网络包会通过集线器
、
路由器等设备被转发
,
最
终到达目的地
转发设备会根据
包头部中的控制信息
,
在转发设备内部一个写有转发规则的表中进行查询
,
以此来判断包的目的地
,
然后将包朝目的地的方向进行转发
HTTP
请求的方法
,
TCP
的确认响应和序号
,
客户端和服务器之间的关系
,
这一
切都与包的传输无关
。
因此
,
所有的包在传输到目的地的过程中都是独立
的
,
相互之间没有任何关联
。
这里我们假设客户端计算机连接的局域网结构是像图
这样的
网络包从客户端计算机发出之后
,
要经过集线器
、
交换机
和路由器最终进入互联网 。 实际上 , 我们家里用的路由器已经集成了
和路由器最终进入互联网 。 实际上 , 我们家里用的路由器已经集成了
集线器和交换机的功能
,
像图上这样使用独立设备的情况很少见
防止网线中的信号衰减很重要
从信号流出网卡进入网线开始
网卡中的
PHY
(
MAU
)
模
块
负责将包转换成电信号 , 信号通过 RJ-45 接口进入双绞线 , 这部分的放
负责将包转换成电信号 , 信号通过 RJ-45 接口进入双绞线 , 这部分的放
大图如图的右侧部分所示。
以太网信号的本质是正负变化的电压
,
大
家可以认为网卡的
PHY
(
MAU
)
模块就是一个从正负两个信号端子输出信
号的电路
。
网卡的
PHY
(
MAU)模块直接连接图右侧中的 RJ-45
接口
,
信号
从这个接口中的
1
号和
2
号针脚流入网线
。
然后
,
信号会通过网线到达集
线器的接口
,
这个过程就是单纯地传输电信号而已
。
但是
,
信号到达集线器的时候并不是跟刚发送出去的时候一模一样
。
集线器收到的信号有时会出现衰减
。
信号在网线的传输过程中
,
能量会逐渐损失
。
网线越长
,
信号衰减就越严重
即便线路条件很好
,
没有噪声
,
信号在传输过程中依然会发生失真
,
如果再加上噪声的影响
,
失真就会更厉害
。
噪声根据强度和类型会产生不
同的影响
,
无法一概而论
,
但如果本来就已经衰减的信号再进一步失真
,
就会出现对
0
和
1
的误判
,
这就是产生通信错误的原因
。
“双绞”是为了抑制噪声
局域网网线使用的是双绞线
,
其中
“
双绞
”
的意思就是以两根信号线
为一组缠绕在一起
,
这种拧麻花一样的设计是为了抑制噪声的影响
那么双绞线为什么能够抑制噪声呢?
首先
,
我们来看看噪声是如何产
生的
。
产生噪声的原因是网线周围的电磁波
,
当电磁波接触到金属等导体
时
,
在其中就会产生电流
。
因此
,
如果网线周围存在电磁波
,
就会在网线
中产生和原本的信号不同的电流
。
由于信号本身也是一种带有电压变化的
电流
,
其本质和噪声产生的电流是一样的
,
所以信号和噪声的电流就会混
杂在一起
,
导致信号的波形发生失真
,
这就是噪声的影响
。
集线器将信号发往所有线路
当信号到达集线器后
,
会被广播到整个网络中
。
以太网的基本架构
就
是将包发到所有的设备
,
然后由设备根据接收方
MAC
地址来判断应该接
收哪些包
,
而集线器就是这一架构的忠实体现
,
它就是负责按照以太网的
基本架构将信号广播出去
。
下面来看看它的工作方式
。
首先
,
在每个接口的后面
装有和网卡中的
PHY
(
MAU
)
功能相同的模块
,
但如果它们像网卡端一样
采用直连式接线
,
是无法正常接收信号的
。
要正常接收信号
,
必须将
“
发
送线路
”
和
“
接收线路
”
连接起来才行。在图中,
集线器中的
PHY
(
MAU
)
模块与接口之间采用交叉接线的原因正是在于此
集线器将信号发送给所有连接在它上面的线路
由于集线器只是原封不动地将信号广播出去
,
所以即便信号受到噪声
的干扰发生了失真
,
也会原样发送到目的地
。
这时
,
接收信号的设备
,
也
就是交换机
、
路由器
、
服务器等
,
会在将信号转换成数字信息后通过
FCS
校验发现错误
,
并将出错的包丢弃
。
当然
,
丢弃包并不会影响数据的传输
,
因为丢弃的包不会触发确认响应
。
因此协议栈的
TCP
模块会检测到丢包
,
并对该包进行重传
。