网络知识整理
- 网络拓扑
- 网关
- 默认网关
- 数据传输
- 拓扑结构层面
- 协议层面
网络拓扑
网关
连接两个不同的网络的设备都可以叫网关设备,网关的作用就是实现两个网络之间进行通讯与控制。
网关设备可以是交换机(三层及以上才能跨网络) 、路由器、启用了路由协议的服务器、代理服务器、防火墙等。
网关地址就是网关设备的IP地址。
默认网关
默认网关是一个用于TCP/IP 协议的配置项,是在IP路由表中创建一个默认路径,是一个可直接到达的 IP 路由器的 IP 地址。
配置默认网关可以在 IP 路由表中创建一个默认路径, 一台主机可以有多个网关,默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。
现在主机使用的网关,一般指的是默认网关。
数据传输
拓扑结构层面
源主机A:192.168.0.1,目标主机F:192.168.5.100
-
A通过ARP协议在同一个子网内查询F的mac地址,没有查到
-
A查询自己网络配置中的默认网关(路由器R1)的IP地址,并使用ARP协议查询到默认网关的mac地址,将数据包发往R1,目标mac地址为R1的mac地址
-
R1收到数据包后,根据数据包的目标IP和子网掩码等信息得到该数据包的目标网络地址,发现不在自己所在的网络内,根据自己的路由表信息确定下一跳路由R2,并将数据包中的原mac地址修改为自己的mac地址,目标mac地址修改为R2的mac地址,把数据包转发给路由器R2。
-
在数据从R2->R3->R4的过程中,路由都会根据目标IP确定下一跳的mac,然后将目标mac修改为下一跳的mac
-
当数据包到达和F在同一网络的路由时,R4路由器通过ARP查询就可以得到F的mac地址了,然后将数据包的mac地址修改为F的mac地址,数据包就可以直接送达F了
-
过程中,数据包的IP地址没有变化,mac地址在每通过一台路由器时就会修改一次,直到找到目标主机
协议层面
在计算机网络中,数据从一台计算机跨网络被发送到目标计算机的过程大概如下:
-
应用层:应用程序将数据发送到传输层,经常是通过发送socket调用来完成。
-
传输层:传输层将消息分割成适合网络传输的数据包,然后添加源和目标端口信息(用于标识发送和接收进程)。
-
网络层:网络层将传输层数据包封装成网络数据包,并添加源和目标 IP 地址(用于标识发送和接收计算机)。
-
数据链路层:数据链路层将网络层数据包转化为数据帧,并添加 MAC 地址(用于标识本地物理网络中的设备)。
-
物理层:物理层将数据信号转化为电信号,通过电缆、光纤或者无线信号发送到网络上的其他设备。
-
在目标计算机上,物理层接收到传输的数据信号并将其转化为电信号,发送到数据链路层。
-
数据链路层检查数据的完整性,并将接收到的数据帧传递到网络层。
-
网络层检查数据包的完整性,并检查目标 IP 地址是否为本地设备地址。如果是,则将数据包传递到传输层;否则将其传递到下一个路由器。
-
传输层接收数据包,并将其重新组装为原始数据。
-
应用层接收网络层传递的数据,完成一次数据传输。