首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TCP推送数据包不是从tun传递的

TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议,用于在网络中传输数据。它通过建立连接、数据分段、流量控制和拥塞控制等机制,确保数据的可靠传输。

tun(网络隧道)是一种网络设备,用于在网络中创建虚拟的点对点连接。它可以将数据包封装在另一个网络协议的数据包中进行传输,以实现不同网络之间的通信。

在TCP协议中,数据包的传输并不是通过tun设备进行的。TCP数据包是通过网络接口(如以太网卡)直接发送和接收的。当应用程序发送TCP数据时,数据被传递给操作系统的TCP协议栈,然后通过网络接口发送出去。接收端的TCP协议栈会接收数据包,并将数据传递给应用程序。

总结起来,TCP推送数据包不是通过tun传递的,而是通过网络接口进行传输。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux TunTap 介绍

在后种情况下,TUN/TAP设备向操作系统网络栈投递(或“注入”)数据包,从而模拟外部接受数据过程。...除了应用程序以外,操作系统也会根据TCP/IP协议栈处理向Tun/Tap接口发送IP数据包或者以太网数据包,例如ARP或者ICMP数据包。...Tun/Tap驱动程序会将Tun/Tap接口收到数据包原样写入到/dev/net/tun字符设备上,处理Tun/Tap数据应用程序如V**程序可以该设备上读取到数据包,以进行相应处理。...应用程序也可以通过/dev/net/tun字符设备写入数据包,这种情况下该字符设备上写入数据包会被发送到Tun/Tap虚拟接口上,进入操作系统TCP/IP协议栈进行相应处理,就像物理网卡进入操作系统数据一样...上图中隧道也可以采用Tap虚拟设备实现。使用Tap的话,隧道负载将是以太数据帧而不是IP数据包,而且还会传递ARP等广播数据包

2.5K10

CS 144 Lab Four 收尾 -- 网络交互全流程解析

Tun/Tap简介 关于Tun/Tap介绍可以参考: 虚拟设备之TUN和TAP Linux官方内核文档: Tun/Tap驱动程序说明 TUN/TAP提供了用户空间程序数据包接收和传输功能。...它可以被视为一个简单点对点或以太网设备,不是物理媒体接收数据包,而是用户空间程序接收数据包,并且不是通过物理媒体发送数据包,而是将数据包写入用户空间程序。...TUN 是一个虚拟网络设备,它模拟是一个三层设备,通过它可以处理来自网络层数据包,也就是 IP 数据包。...封装tun设备读取和写入IPV4数据报操作 // LossyTCPOverIPv4OverTunFdAdapter采用装饰器模式在前者基础上,增加写入时根据先前设置丢包率随机丢包功能...主线程中发生键盘输入事件,到输入内容通过socktpair创建双向通道传输到子线程,然后由子线程将数据最终通过tun设备发送出去,这中间结合了两个eventloop共同协作完成 当tun设备接收到网络数据包时候

22530

突破运营商 QoS 封锁,WireGuard 真有“一套”!

目前支持将 UDP 流量伪装成 TCP 流量主流工具是 udp2raw[1],相信很多小伙伴对这个工具都轻车熟路了,但是很遗憾,今天主角不是它,而是另一款比它更强大新工具:Phantun[2]。...需要申明是,Phantun 目标不是为了替代 udp2raw,从一开始 Phantun 就希望设计足够简单高效,所以 udp2raw 支持 ICMP 隧道,加密,防止重放等等功能 Phantun...Phantun 使用 TUN 接口来收发 3 层数据包,udp2raw 使用 Raw Socket + BFP 过滤器。个人感觉基于 TUN 实现要稍微优雅一点,而且跨平台移植也要更容易。...Phantun TCP 连接是按需创建,只启动 Client 不会主动去连接服务器,需要第一个数据包到达了后才会按需创建。每个 UDP 流都有自己独立 TCP 连接。...TCP 数据包传送给服务端。

13K21

OpenVPN原理及部署使用

网卡驱动把TCP/IP协议栈收到数据包结构skb放于tun设备读取队列,用户进程通过调用字符设备接口read获得完整IP数据包,字符驱动read函数功能是设备读取队列读取数据,将核心态...skb传递给用户;反过来字符驱动write函数给用户提供了把用户态数据写入核心态接口,write函数把用户数据写入核心空间并穿入TCP/IP协议栈。...skb表并完成数据包核心区到用户区复制,OpenVPN调用虚拟网卡字符处理程序tun_read(),读取到设备上数据包,对读取数据包使用SSL协议做封装处理后,通过socket系统调用发送出去...调用虚拟网卡字符处理程序tun_write()写入虚拟网卡字符设备,设备驱动程序完成数据用户区到核心区复制,并将数据写入skb链表,然后调用网卡netif_rx()接收程序,数据包再次进入系统TCP...在tun模式下,虚拟网卡上收到是不含物理帧头IP数据包,SSL处理模块对IP包进行SSL封装;在tap模式下,虚拟网卡上收到是包含物理帧头数据包,SSL处理模块对整个物理帧进行SSL封装。

40.4K4242

详解云计算网络底层技术——虚拟网络设备 taptun 原理解析

这两部分驱动程序分工不太一样,字符驱动负责数据包在内核空间和用户空间传送,网卡驱动负责数据包TCP/IP 网络协议栈上传输和处理。...当用户程序向文件 /dev/net/tun 或 /dev/tap0 写数据时,内核就可以对应 tunX 或 tapX 接口读到数据,反之,内核可以通过相反方式向用户程序发送数据。...协议栈根据数据包目的 IP 地址,匹配路由规则,发现要从 tun0 出去。 tun0 发现自己另一端被应用程序 B 打开了,于是将数据发给程序 B....协议栈再根据本地路由,将这个数据包 eth0 发出。 后续步骤,当 10.1.1.1 收到数据包后,会进行解封装,读取里面的原始数据包,继而转发给本地主机 192.168.1.1。...当接收回包时,也遵循同样流程。 在这个流程中,应用程序 B 作用其实是利用 tun0 对数据包做了一层隧道封装。其实 tun 设备最大用途就是用于隧道通信

4.4K50

【斯坦福计网CS144】Lab5终结笔记

他们可以通过模拟不同网络条件下数据传输、改变窗口大小或者引入数据包丢失来评估TCP协议性能。...2 在lab0、1、2、3、4中,我们编写了一个TCP实现,它可以成功地与使用TCP任何其他计算机交换TCP段。但是,这些TCP段是如何传递到对等TCP实体上?...我们代码将生成原始以太网帧,这些帧将通过一个称为TAP设备接口传递给Linux——TAP设备。类似于TUN设备,但更低级,因为它交换原始链路层帧而不是IP数据报。...第二种是TCP-in-IP,当用户将 IP 报文发送给 TUN 设备后,剩余以太网报头构造、发送以太网帧等操作均会由内核自动进行,无需用户干预。...总结 斯坦福大学CS144实验Lab0到Lab7涵盖了广泛网络系统和计算机网络主题。Lab0往往是介绍性,可能涉及设置实验环境和初步概念。

12210

CentOS下使用TUNTAP虚拟网卡基本教程

TAP 等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN模拟了网络层设备,操作第三层数据包比如IP数据封包。...操作系统通过TUN/TAP设备向绑定该设备用户空间程序发送数据,反之,用户空间程序也可以像操作硬件网络设备那样,通过TUN/TAP设备发送数据。...在后种情况下,TUN/TAP设备向操作系统网络栈投递(或“注入”)数据包,从而模拟外部接受数据过程。 服务器如果拥有TUN/TAP模块,就可以开启V**代理功能。...虚拟网卡TUN/TAP 驱动程序设计原理: tun/tap 驱动程序实现了虚拟网卡功能,tun表示虚拟是点对点设备,tap表示虚拟是以太网设备,这两种设备针对网络包实施不同封装。...利用tun/tap 驱动,可以将tcp/ip协议栈处理好网络分包传给任何一个使用tun/tap驱动进程,由进程重新处理后再发到物理链路中。

5.4K91

理解Linux IPIP隧道

# 简介 IPIP隧道是一种点对点隧道协议,用于在IPv4网络上传输IPv4或IPv6数据包。...IPIP隧道工作原理是将源主机IP数据包封装在一个新IP数据包中,新IP数据包目的地址是隧道另一端。在隧道另一端,接收方将解封装原始IP数据包,并将其传递到目标主机。...remote IP,然后再通过路由达到ens18网卡出去到Node2中。...Node2后,是一个两层IP数据包Node2ens18网卡出来后,解封数据包,发现内层目的IP是10.10.200.10也就是tun2地址,然后将数据包发到tun2设备。...tun2设备收到数据包后再根据上面相同步骤进行封装数据包回包给tun1,最终整个ping过程完成。 IPIP隧道是通过IP地址来标识网络设备,所以不需要使用MAC地址,直接通过IP地址即可。

49610

理解Linux IPIP隧道

# 简介 IPIP隧道是一种点对点隧道协议,用于在IPv4网络上传输IPv4或IPv6数据包。...IPIP隧道工作原理是将源主机IP数据包封装在一个新IP数据包中,新IP数据包目的地址是隧道另一端。在隧道另一端,接收方将解封装原始IP数据包,并将其传递到目标主机。...remote IP,然后再通过路由达到ens18网卡出去到Node2中。...Node2后,是一个两层IP数据包Node2ens18网卡出来后,解封数据包,发现内层目的IP是10.10.200.10也就是tun2地址,然后将数据包发到tun2设备。...tun2设备收到数据包后再根据上面相同步骤进行封装数据包回包给tun1,最终整个ping过程完成。 IPIP隧道是通过IP地址来标识网络设备,所以不需要使用MAC地址,直接通过IP地址即可。

26420

Rust pnet库使用

关于"eth0"和"tun3",这是两种不同类型网络接口,简言之,"eth0"是一种物理以太网接口,通常用于常规网络通信,而"tun3"是一种虚拟网络接口,通常用于建立安全隧道连接。...tun3: "tun3"是一种虚拟网络接口,通常用于建立虚拟私有网络(VPN)或隧道连接。 它是在操作系统内核中创建虚拟接口,可用于在公共网络上创建安全、私密通信通道。..."tun3"接口通过将数据包封装在其他协议中(如IPsec、OpenVPN等)来实现安全通信。 "tun3"通常用于远程访问、跨网络连接、保护敏感数据等场景。...如果是TCP协议数据包,则解析TCP头部,并打印源IP地址、源端口、目的IP地址和目的端口。 在main函数中,获取命令行参数中指定网络接口名称。...其实准确来说,是3.5层,ICMP协议报头IP报头第160位开始(IP首部20字节) ICMP是包含在IP数据包,但是对ICMP消息通常会特殊处理,会和一般IP数据包处理不同,而不是作为IP

45910

应用负载均衡之LVS(一):基本概念和三种模式

LVS是四层(传输层tcp/udp)、七层(应用层)负载均衡工具,只不过大众一般都使用它四层负载均衡功能ipvs,而七层内容分发负载工具ktcpvs(kernel tcp virtual server...realservertun接口上需要配置VIP地址,以便接收director转发过来数据包,以及作为响应报文源IP。...2.3 VS/DR模式 VS/TUN模式下,调度器对数据包处理是使用IP隧道技术进行二次封装。...在性能上,VS/DR和VS/TUN远高于VS/NAT,因为调度器只处于客户到服务器半连接中,按照半连接TCP有限状态机进行状态迁移,极大程度上减轻了调度器压力。...在HTTP协议(非持久)中,每次WEB服务器上获取资源都需要建立一个TCP连接,同一用户不同请求会被调度到不同服务器上,所以这种细粒度调度在一定程度上可以避免单个用户访问突发性引起服务器间负载不平衡

1.6K40

openshift pod对外访问网络解析

-m comment --comment "logging/logging-es:" -m tcp -j DNAT --to-destination 10.131.2.45:9200 pod中出来报文会传输到...ovs流表在处理时有如下规则: table 0: 根据输入端口(in_port)做入口分流,来自VXLAN隧道流量转到表10并将其VXLAN VNI 保存到 OVS 中供后续使用,tun0过阿里(...30去处理;如果不一致,即可能存在ARP/IP欺诈,则认为这样数据包是非法; table 30: 数据包目的(目的IP或ARP请求IP)做转发分流,分别转到table 40~70 去处理;...table 40: 本地ARP转发处理,根据ARP请求IP地址,对应端口(veth)发出; table 50: 远端ARP转发处理,根据ARP请求IP地址,设置VXLAN隧道远端IP,并从隧道发出...,将数据包tun0发出。

99210

大型网站架构系列:负载均衡详解

以上内容摘自网友发布文章,简单一句话是资源处理,直接通过内核层进行数据传递,避免了数据传递到应用层,应用层再传递到内核层开销。 目前高并发处理,一般都采用sendfile模式。...Real Server上,Real Server处理完该请求后,将结果数据包返回到其默认网关,即Director机器上,Director机器再改写数据包源地址,最后将其返回给外界。...3.1.2LVS/TUN方式负载均衡集群 TUN是指IP Tunneling,它转发流程是:Director机器收到外界请求,按相应调度算法,通过IP隧道发送到相应Real Server,Real...NFS在繁忙业务系统中,性能并不是很好,此时可以采用集群文件系统,例如Red hatGFS文件系统,oracle提供OCFS2文件系统等。...LVS功能,而FreeBSD作为 Director Server应用还不是很多,性能也不是很好。

66251

云原生虚拟网络 tuntap & veth-pair

veth 实际上不是一个设备,而是一对设备,因而也常被称作 Veth-Pair。...tun 设备是一个三层网络层设备, /dev/net/tun 字符设备上读取是 IP 数据包,写入也只能是 IP 数据包,因此常用于一些点对点IP隧道,例如OpenV**,IPSec等; tap...,经过路由决策后内核将数据网络协议栈写入 tun0 设备;然后 OpenV**字符设备文件中读取 tun0 设备数据,将数据请求发出去;内核网络协议栈根据路由决策将数据本机 eth0 接口流出发往...在 flannel 中 flannel0 是一个三层 tun 设备,用作在操作系统内核和用户应用程序之间传递 IP 包。...,负责处理 flannel0 发送过来数据包: flanneld 进程会根据目的 IP 地址匹配到对应子网, Etcd 中找到这个子网对应宿主机 Node2 IP 地址,然后将这个数据包直接封装在

1.5K20

DNS 隧道通信特征与检测

Backdoor.Win32.ClIEcker:允许恶意程序服务器接收随机类型DNS数据包,该木马没有逻辑上子协议,只有发送和接收数据包请求。...2004年Dan Kaminsky在Defcon大会上发布基于NSTXDNS隐蔽隧道工具 目前来看,基于DNS隧道木马分成两种类型 IP Over DNS(允许通过隐蔽隧道传输IP数据包...IP Over DNS通用使用TUN/TAP设备(操作系统内核中虚拟网络设备)将数据包重定向到指定虚拟网卡中来解决发送端数据分片和接受数据问题。...支持DNS协议KEY和TXT类型请求。使用此工具不需要额外安装TUN/TAP,可用性和实用性很强。 2.1 dns2tcp建立隧道流程 首先在vps上配置好dns2tcp。...使用了NULL类型传递 再通过ID查看它回应包 可以发现这个数据包里,iodine使用了NULL类型来回应,这里是我们传递加密数据 Iodine性能还是非常好,速度十分快

3.3K20

LVS内核原理与LVS十种调度算法

LVS负载均衡四种模型 原生只有3种模式(NAT,TUN,DR), fullnat工作模式默认不支持 LVS是四层负载均衡,也就是说建立在OSI模型第四层——传输层之上,传输层上有我们熟悉TCP/UDP...,LVS支持TCP/UDP负载均衡。...此时源IP地址为VIP,目标IP为CIP 响应报文最终送达至客户端 LVS DR模型特点: 特点1:保证前端路由将目标地址为VIP报文统统发给Director Server,而不是RS RS可以使用私有地址...,处理完成之后,通过lo接口送给eth0网卡,然后向外传递。...优点:实现lvs-tun模式时,LVS 调度器将TCP/IP请求进行重新封装并转发给后端服务器,由目标应用服务器直接回复用户。应用服务器之间是通过IP 隧道来进行转发,故两者可以存在于不同网段中。

2.9K10
领券