当前位置: 首页 > news >正文

IP数据报发送和转发的过程

1. 发送端准备数据

  • 应用程序(比如浏览器)要发送数据,比如访问一个网站。

  • 应用层(HTTP) → 传输层(TCP/UDP) → 网络层(IP)。

  • IP层负责把数据包打包,加上必要的信息,比如:

    • 源IP地址(发件人地址)

    • 目的IP地址(收件人地址)

  • 最后形成一个完整的IP数据报


2. 判断目标 IP 地址是内网还是外网

  • 设备检查目的 IP 地址:

    • 如果目标 IP 是同一个局域网(比如同一个家里的电脑),就直接发;

    • 如果目标 IP 不在本局域网(比如访问外部网站),就交给默认网关(通常是路由器)。


3. 通过链路层打包并发送

  • IP数据报交给链路层(比如以太网协议)。

  • 链路层加上本机的 MAC 地址和目的地的 MAC 地址,封装成以太网帧。

  • 最后通过网卡发送出去(比如用网线或WiFi)。


4. 路由器收到数据包,开始转发

  • 路由器收到数据包后,解开外面的链路层包,看里面的 IP数据报。

  • 路由器查路由表

    • 路由表记录了不同 IP 网段应该往哪个方向走(比如哪个接口转发)。

  • 根据目的 IP 地址,决定下一跳(下一站)发给谁。


5. 转发过程中,逐跳处理

  • 每经过一个路由器,都会进行一次类似的操作:

    • 解封链路层,查看 IP 头部。

    • 路由表,决定下一跳。

    • 重新封装链路层包,继续发送。

  • 每次转发,IP数据报本身一般不会被修改,只有TTL(生存时间)字段减1,防止数据包永远在网络里循环。

    • 如果TTL减到0,路由器就会丢弃数据包,并通知源设备。


6. 到达目标子网

  • 当数据包抵达目标局域网(比如你访问的服务器所在的网络):

    • 路由器把数据包发给具体的目标设备(根据目标 IP)。


7. 接收端处理数据

  • 目标设备收到数据包。

  • 拆开链路层、IP层封装,交给传输层(TCP/UDP)。

  • 最后交给应用程序(比如网页浏览器)。

默认网关

默认网关通常就是你家路由器在局域网内的地址

举个实际的小例子:

假设你家网络情况是这样的:

  • 路由器 LAN口 IP 地址是 192.168.1.1

  • 你的电脑 IP 地址是 192.168.1.100

  • 手机 IP 地址是 192.168.1.101

那么:

  • 你的电脑和手机的默认网关设置的就是 192.168.1.1

  • 也就是:有出门需求(访问外网)时,都先交给路由器处理。

http://www.xdnf.cn/news/153469.html

相关文章:

  • 腾讯云物联网平台
  • Win7 SSL证书问题
  • 小程序Npm package entry file not found?
  • 总账主数据——Part 2 科目-2
  • 【落羽的落羽 C++】vector
  • 算法习题-力扣446周赛题解
  • 通过门店销售明细表用Python Pandas得到每月每个门店的销冠和按月的同比环比数据
  • 搜广推校招面经八十二
  • Springboot集成SSE实现消息推送+RabbitMQ解决集群环境下SSE通道跨节点事件推送问题
  • 计算机网络 | Chapter1 计算机网络和因特网
  • CANape与MATLAB数据接口技术详解
  • Java进阶--面向对象设计原则
  • 基于html-css-js的尚有选页面源码详细
  • 如何解决IDE项目启动报错 error:0308010C:digital envelope routines::unsupported 问题
  • 图论---LCA(倍增法)
  • 从新手到高手:小程序开发进阶技巧分享
  • SQL 查询进阶:WHERE 子句与连接查询详解
  • Myweb项目——面试题总结
  • 多模态大语言模型arxiv论文略读(四十二)
  • ZYNQ笔记(十四):基于 BRAM 的 PS、PL 数据交互
  • Pygame字体与UI:打造游戏菜单和HUD界面
  • 【含文档+PPT+源码】基于Django的新闻推荐系统的设计与实现
  • 第八部分:缓解 RAG 中的幻觉
  • 认识哈希以及哈希表的模拟实现
  • 嵌入式硬件开发工具---万用表---示波器---仿真器
  • 解构与重构:“整体部分”视角下的软件开发思维范式
  • Dify框架面试内容整理-Dify框架
  • 学习设计模式《六》——抽象工厂方法模式
  • 大数据模型现状分析
  • 4.25test