网络知识整理

网络知识整理

网络拓扑

网关

连接两个不同的网络的设备都可以叫网关设备,网关的作用就是实现两个网络之间进行通讯与控制。

网关设备可以是交换机(三层及以上才能跨网络) 、路由器、启用了路由协议的服务器、代理服务器、防火墙等。

网关地址就是网关设备的IP地址。

默认网关

默认网关是一个用于TCP/IP 协议的配置项,是在IP路由表中创建一个默认路径,是一个可直接到达的 IP 路由器的 IP 地址。

配置默认网关可以在 IP 路由表中创建一个默认路径, 一台主机可以有多个网关,默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。

现在主机使用的网关,一般指的是默认网关。

数据传输

拓扑结构层面

源主机A:192.168.0.1,目标主机F:192.168.5.100

  1. A通过ARP协议在同一个子网内查询F的mac地址,没有查到

  2. A查询自己网络配置中的默认网关(路由器R1)的IP地址,并使用ARP协议查询到默认网关的mac地址,将数据包发往R1,目标mac地址为R1的mac地址

  3. R1收到数据包后,根据数据包的目标IP和子网掩码等信息得到该数据包的目标网络地址,发现不在自己所在的网络内,根据自己的路由表信息确定下一跳路由R2,并将数据包中的原mac地址修改为自己的mac地址,目标mac地址修改为R2的mac地址,把数据包转发给路由器R2。

  4. 在数据从R2->R3->R4的过程中,路由都会根据目标IP确定下一跳的mac,然后将目标mac修改为下一跳的mac

  5. 当数据包到达和F在同一网络的路由时,R4路由器通过ARP查询就可以得到F的mac地址了,然后将数据包的mac地址修改为F的mac地址,数据包就可以直接送达F了

  6. 过程中,数据包的IP地址没有变化,mac地址在每通过一台路由器时就会修改一次,直到找到目标主机

协议层面

在计算机网络中,数据从一台计算机跨网络被发送到目标计算机的过程大概如下:

  1. 应用层:应用程序将数据发送到传输层,经常是通过发送socket调用来完成。

  2. 传输层:传输层将消息分割成适合网络传输的数据包,然后添加源和目标端口信息(用于标识发送和接收进程)。

  3. 网络层:网络层将传输层数据包封装成网络数据包,并添加源和目标 IP 地址(用于标识发送和接收计算机)。

  4. 数据链路层:数据链路层将网络层数据包转化为数据帧,并添加 MAC 地址(用于标识本地物理网络中的设备)。

  5. 物理层:物理层将数据信号转化为电信号,通过电缆、光纤或者无线信号发送到网络上的其他设备。

  6. 在目标计算机上,物理层接收到传输的数据信号并将其转化为电信号,发送到数据链路层。

  7. 数据链路层检查数据的完整性,并将接收到的数据帧传递到网络层。

  8. 网络层检查数据包的完整性,并检查目标 IP 地址是否为本地设备地址。如果是,则将数据包传递到传输层;否则将其传递到下一个路由器。

  9. 传输层接收数据包,并将其重新组装为原始数据。

  10. 应用层接收网络层传递的数据,完成一次数据传输。

相关推荐
网络安全-杰克1 小时前
网络安全概论
网络·web安全·php
怀澈1221 小时前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
耗同学一米八1 小时前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题二
运维·网络·mariadb
skywalk81632 小时前
树莓派2 安装raspberry os 并修改成固定ip
linux·服务器·网络·debian·树莓派·raspberry
C++忠实粉丝2 小时前
计算机网络socket编程(3)_UDP网络编程实现简单聊天室
linux·网络·c++·网络协议·计算机网络·udp
黑客Ela2 小时前
网络安全中常用浏览器插件、拓展
网络·安全·web安全·网络安全·php
qdprobot2 小时前
ESP32桌面天气摆件加文心一言AI大模型对话Mixly图形化编程STEAM创客教育
网络·人工智能·百度·文心一言·arduino
hakesashou4 小时前
Python中常用的函数介绍
java·网络·python
C++忠实粉丝4 小时前
计算机网络socket编程(4)_TCP socket API 详解
网络·数据结构·c++·网络协议·tcp/ip·计算机网络·算法
九州ip动态4 小时前
做网络推广及游戏注册为什么要换IP
网络·tcp/ip·游戏