首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在局域网内抢带宽

如何在局域网内抢带宽

作者头像
四火
发布于 2022-07-15 12:41:08
发布于 2022-07-15 12:41:08
1.7K0
举报
文章被收录于专栏:四火的唠叨四火的唠叨

事情的起因是最近家里买了一台 60 寸的智能电视,支持点播(VOD)功能,家里的网络带宽理论上只有 4M,在播放的时候,就会占用大量网络带宽,导致我同时上网浏览网页都很困难。

有没有办法给限制局域网内某台主机的流量?首先,还是得从 TCP 的原理说起。

TCP 拥塞控制

TCP 是个君子协议,在拥塞控制的设计(RFC 2851)中包括慢开始、拥塞避免、快重传和快恢复 4 种算法。

拥塞窗口(cwnd)和接收端窗口(rwnd)二者的最小值确定了发送窗口的上限值,而实际上对于现今的网卡,接收端窗口的大小是可以很大的,也就是说,拥塞主要寄希望于拥塞窗口来控制,拥塞窗口直接决定了传输的速率。从上面这张图可以看到:

  1. 慢开始增加到门限初始值的这段过程中,拥塞窗口的增长是比较快的。
  2. 之后的增长由指数式变成了保持线性缓慢增长,直到出现网络拥塞超时。
  3. 超时以后重新慢开始的过程,但是门限值发生了改变,变成了拥塞发生值的一半大小。

为了改进上述拥塞控制算法的弊端,又加入了快重传和快恢复算法。快重传指的是:

  1. 对于 msg1 和 msg2,接收端收到以后,就分别回复 ack2 和 ack3,但是这时候 msg3 丢失了(或者由于网络原因很久还未到达);
  2. 接收端又收到了 msg4,那就可以接收下 msg4,但是依然回复 ack3(ack3 依旧是意味着告诉发送端只收到了 msg1 和 msg2);
  3. 发送端继续发送 msg5 和 msg6,可是接收端依然回复 ack3;
  4. 但是发送端只要发现一连 3 个重复的 ack3,就知道估计 msg3 丢失了,得重传 msg3 了。

而快恢复算法是为了解决在发生网络拥塞时,拥塞窗口一下子跌到谷底(为 1),导致不能很快恢复网络正常通信流量状态,所以做了一个改进——

  1. 在拥塞发生的时候,只是把拥塞窗口置为 ssthresh+n×MSS(其中 n 表示收到重复的 ack 报文的个数,MSS 指的是最长报文段);
  2. 同时,这以后当收到新的 ack 报文时,就将拥塞窗口置为 ssthresh 的值。

TCP 协议在这样的拥塞控制机制下保证了对质量较差的网络也有较好的适应性,但是 UDP 协议就不具备这种拥塞控制机制(除非你在协议之上的应用中自己设计),而流媒体往往是基于 UDP 来实现的,因为它更快、无连接,而且偶尔丢帧也可以接受。在这种争夺带宽的场景下,君子 TCP 就没有办法争夺到较好的流量了。

多端口多连接

这是迅雷的主要做法之一,开启多个端口,建立多个连接,靠这种简单粗暴的方式来占取带宽。

ARP 欺骗

Google 搜索局域网抢带宽以后,映入眼帘的是 P2P 终结者这样的“ 杀器”,它的原理就是基于 ARP 欺骗,即是说,通过 ARP 攻击等使局域网内其它机器产生大量本地盲包,减少对公用网络资源的占用。

ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个 TCP/IP 协议。某节点的 IP 地址的 ARP 请求被广播到网络上后,这个节点会收到确认其物理地址的应答,这样的数据包才能被传送出去。也就是说,在这个过程中,发送方用目标 IP 地址去换取了接收方的 MAC 地址,之后 MAC 地址存放到本地的缓存中(在一定的生存期时间内)。

由于在局域网中是使用 MAC 地址进行传输的,因此 P2P 终结者就伪造这样的一个 ARP 应答,把 P2P 终结者所在的机器 A 的 MAC 地址告诉目标机 B(目标机 B 在任意时候都可以接收 ARP 请求的应答),让目标机以为本机才是网关,这样 B 接收后就会更新本地缓存,以后所有本该走到网关去的包都会从机器 A 走,这就是一个简单的 ARP 欺骗的原理。

ARP 欺骗是黑客常用的攻击手段之一,ARP 欺骗分为二种,一种是对路由器 ARP 表的欺骗;另一种是对内网 PC 的网关欺骗。

MSS

在 TCP 的选项字段中,有一个是最大报文长度(MSS),在 TCP 建立连接的时候,双方就要约定好这个数值,每一个报文段都希望尽可能大,这样在带宽有限的情况下,相同数量的报文段可以承载更多的信息,但是 MSS 是有限制的,限制的值=MTU-IP 头长度-TCP 头长度,所以对于以太网来说就是 1500-20-20=1460。

文章未经特殊标明皆为本人原创,未经许可不得用于任何商业用途,转载请保持完整性并注明来源链接 《四火的唠叨》

×Scan to share with WeChat

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
计算机网络基础知识整理「建议收藏」
公共电话网(PSTN网)和移动网(包括GSM和CDMA网)采用的都是电路交换技术,它的基本特点是采用面向连接的方式,在双方进行通信之前,需要为通信双方分配一条具有固定宽带的通信电路,通信双方在通信过程中一直占用所分配的资源,直到通信结束,并且在电路的建立和释放过程中都需要利用相关的信令协议。这种方式的优点是在通信过程中可以保证为用户提供足够的带宽,并且实时性强,时延小,交换设备成本低,但同时带来的缺点是信道利用率低,一旦电路被建立不管通信双方是否处于通话状态分配的电路一直被占用。
全栈程序员站长
2022/08/01
3.6K0
计算机网络基础知识整理「建议收藏」
计算机网络知识点全面总结(有这一篇就够了!!!)
一、计算机网络概述 1.1 计算机网络的分类 按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN); 按照网络使用者:公用网络、专用网络。 1.2 计算机网络的层次结构 TCP/IP四层模型与OSI体系结构对比: 1.3 层次结构设计的基本原则 各层之间是相互独立的; 每一层需要有足够的灵活性; 各层之间完全解耦。 1.4 计算机网络的性能指标 速率:bps=bit/s 时延:发送时延、传播时延、排队时延、处理时延 往返时间RTT:数据报文在端到端通信中的来回一次的时间。
刘盼
2022/03/04
5.2K0
计算机网络的 89 个核心概念
Hey guys,这里是 cxuan,欢迎你阅读我最新一期的文章,大家知道,我连载计算机网络已经有一定时间了,当我每了解一个新技术或者新框架的时候,我都想要先把名字概念弄懂是什么,可见概念对于我们的帮助非常大。计算机网络中的概念也是非常庞杂,理解起来比较困难,所以这里,我给大家汇总了计算机网络中 89 个常见的概念,希望对你有所帮助。
cxuan
2021/07/12
6270
计算机网络的 89 个核心概念
计算机网络知识点全面总结
原文:https://blog.csdn.net/Royalic/article/details/119985591
入门笔记
2022/06/02
5430
计算机网络知识点全面总结
八股文!!
在发送数据包时,首先确认IP包中的目的IP地址,再从路由控制表中找到与该地址具有相同网络地址的记录,将包转发给该记录对应的路由器。如果路由控制表中有多条相同网络地址的记录,利用贪心法选择最优匹配项,如果没有匹配项,转发到默认路由后再进行选路。例如:目标地址172.20.100.52
千羽
2021/12/29
1.2K0
八股文!!
TCP 流量控制和拥塞控制
方式1 的问题就是流量控制问题TCP,采用了滑动窗口解决 方式2 的问题说的是拥塞控制问题。
王小明_HIT
2021/04/30
3.1K0
TCP 流量控制和拥塞控制
TCP/IP协议簇中必知必会的十大问题!
TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。
通往ICT之路
2024/04/25
1790
TCP/IP协议簇中必知必会的十大问题!
【编程者必会系列】:TCP/IP之传输层
计算机网络是计算机基础知识的重点,不管你是C++还是JAVA,安卓还是IOS,都必须要会的基础知识。今天学习的就是TCP/IP的传输层知识点总结,很多知识点将来面试中都会问到,值得学习!
张拭心 shixinzhang
2022/11/30
4170
面试专场之「计算机网络」知识
本文经 CyC2018 大佬授权发表,更多技术内容请前往 https://github.com/CyC2018/CS-Notes 查看。
五分钟学算法
2019/03/15
8140
面试专场之「计算机网络」知识
传输层协议TCP与UDP
主机是用IP地址来标识的,而要标识主机中的进程,就需要使用端口号。TCP/IP协议族中,端口号占16 bit,用0~65535之间的整数标识。TCP和UDP是两个独立的软件模块,因此各自的端口号也相互独立。·端口号只具有本地意义,不同计算机的相同端口号是没有联系的。
十二惊惶
2024/02/28
7170
传输层协议TCP与UDP
这次,终于学会了 TCP
这是一篇详细介绍 TCP 各种特点的文章,内容主要包括 TCP 三次握手和四次挥手细节问题、TCP 状态之间的转换、TCP 超时和重传、关于 TCP 包失序和重复问题、TCP 的数据流与窗口管理、TCP 的拥塞控制,思维导图如下。
cxuan
2021/07/12
8680
这次,终于学会了 TCP
TCP/IP第四层--传输层TCP和TPC数据报文详解
与UDP不同的是,TCP提供了一种面向连接的、可靠的字节流服务。TCP是如何实现可靠连接?
黄规速
2022/04/14
3.7K0
TCP/IP第四层--传输层TCP和TPC数据报文详解
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
本文对于计算机面试、笔试过程中经常被问到的计算机网络类问题,做一个梳理总结,方便自己查看学习,同时也希望为其他找工作、学习的伙伴提供一个参考。
寻求出路的程序媛
2024/11/06
3090
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
一文总结计算机网络
它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。 现在的 TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。
小二三不乌
2018/08/02
6920
一文总结计算机网络
计算机网络期末复习提纲
47 导引型(同轴,双绞线抗干扰能力,带宽最大抗感染能力)和非导引型 (短波微波)短波电离层反射 微波卫星,地面 通信不受环境影响,保密性差
风骨散人Chiam
2021/09/06
3730
TCP/IP中你不得不知的十大秘密
这段时间 有一点心很浮躁,不过希望自己马上要矫正过来。好好学习编程!这段时间我想好好地研究一下TCP/IP协议和网络传输这块!加油 一、TCP/IP模型 TCP/IP协议模型(Transmission
用户1195962
2018/01/18
1K0
TCP/IP中你不得不知的十大秘密
TCP三次握手和四次挥手?TCP如何保证可靠性?什么是TCP滑动窗口?
应用数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同,应用程序产生的数据报长度将保持不变。
一个会写诗的程序员
2020/04/24
8080
TCP三次握手和四次挥手?TCP如何保证可靠性?什么是TCP滑动窗口?
图解TCP,UDP,流量控制,拥塞控制,一次看懂
TCP 发送方的发送窗口大小 = Math.min(自身拥塞窗口大小, TCP 接收方的接收窗口大小)
入门笔记
2022/11/14
6860
图解TCP,UDP,流量控制,拥塞控制,一次看懂
3-传输层
传输层是整个TCP/IP协议栈核心之一,位于网络层之上,应用层之下。利用网络层的服务,为上层应用层提供服务。与网络层类似,传输层也拥有面向连接的服务与无连接的服务两种,用途在于提供高效的可靠的,性价比高的数据传输
Ywrby
2022/10/27
1.4K0
3-传输层
【Linux】:数据链路层(以太网 & 局域网通信 & ARP协议 & ARP 欺骗 & DDos 攻击)
数据链路层 位于物理层和网络层之间,其作用是将源自物理层来的数据可靠地传输到相邻节点的目标主机的网络层,主要通过物理介质(如以太网,Wi-Fi等)将数据分割成帧,并在相邻节点之间进行传输。
IsLand1314
2025/03/02
4610
【Linux】:数据链路层(以太网 & 局域网通信 & ARP协议 & ARP 欺骗 & DDos 攻击)
相关推荐
计算机网络基础知识整理「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档