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

63 网络交互的过程中目标设备的选择

前言

这里主要是 调研一下 发送网络数据包的过程中 选择网络设备 

比如 向本机发送信息, 走的是 lo 

向局域网其他主机发送信息, 走无线网卡 或者 有线网卡 

 

 

基于 linux 的调试

这里主要是基于 ping 192.168.1.2 的调试 

skb->dev 的初始化是在 

 

skb->_skb_refdst 初始化实在 skb 初始化的时候 

 

rt->dst 来自于 cork->dst, 如下是 cork->dst 初始化的地方 

 

rt 主要是根据上下文信息 去路由表查询

 

查找 fib 路由转发表的时候, 路由转发类型是 LOCAL 类型 

 

如果是 LOCAL 路由, 直接使用设备 net->loopback_dev

 

 

sock 的来由

socket 是来自于 fd 对应的 file 的 private 

上面的过程中的 fd 对应的这个 file->private 是当前是 socket 本身 

 

 socket 来自于 socketfs 中创建的当前 fd 对应的 socket_alloc 对象创建时分配的一个 socket

 

socket_alloc 是在 socket 系统调用的时候分配的一个 socket_alloc 对象 里面包含了一个 socket 对象用于处理当前网络请求

这里是分配空间, 以及初始化 

 

sock->__sk_common->skc_net 来自于 socket 系统调用传入的 net, 为 current->ns_proxy->net_ns

 

 

 

 

 

相关文章:

  • cartographer官方指导文件说明---第3章 cartographer前端算法流程介绍
  • Docker 容器技术入门与环境部署
  • ECK 简化:在 GCP GKE Autopilot 上部署 Elasticsearch
  • vite+vue3+uniapp引入uview-plus 无效 报警告
  • 无人机低空经济十大前沿创新应用探索-具体做无人机什么呢?优雅草卓伊凡
  • Vuex(一) —— 集中式的状态管理仓库
  • C++ 11 std::unique_ptr 自定义删除器
  • 利用 Python 爬虫获得微店商品详情
  • 游戏架构中的第三方SDK集成艺术:构建安全高效的接入体系
  • C语言:实现杨辉三角的种方法
  • 二分查找----1.搜索插入位置
  • 基于Spring+MyBatis+MySQL实现的监考安排与查询系统设计与实现(附源码+数据库)推荐!
  • OCCT基础类库介绍:Modeling Algorithm - Sewing
  • 使用docker-compose安装kafka
  • FramePack 安装指南(中文)
  • Java八股文——数据结构「排序算法篇」
  • Power Apps - 尝试一下PowerApps中的Plan功能
  • 电子电气诊断架构 --- HPC车载诊断
  • 分布式系统中的 Kafka:流量削峰与异步解耦(二)
  • Ubuntu 22.04LTS下安装D435i深度相机的驱动
  • 网站开发周期是什么意思/网络链接推广
  • 做网站需要注意的/广告关键词排名
  • 怎么查询网站备案/千部小黄油资源百度云
  • 大连做网站哪家好/焦作网站seo
  • 中国建筑网官网查询资质/合肥优化推广公司
  • 网站做有偿广告需要什么有序/百度网站官网入口