拥塞控制

计算机网络高频面试题解析(含书籍推荐)

三世轮回 提交于 2020-02-03 21:14:18
网络原理是工程师的必须了解的计算机基础知识,先推荐下两本好书,《图解HTTP》和《图解TCP/IP》。 《图解TCP/IP》讲解网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,《图解HTTP》对HTTP协议进行了全面系统的介绍,这两本书的特点都是在讲解的同时,配上了大量漫画通信图例,读起来比较轻松。 高频面试题解析 1、OSI七层网络模型的结构与功能 OSI是一个开放性的通信系统互连参考模型,OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。 OSI是一个定义得非常好的协议规范,但是比较复杂所以一般使用TCP/IP 的四层模型来描述。 就目前来说,TCP/IP 的四层模型更受广泛认可,在计算机网络中,大家更多喜欢使用 TCP/IP 模型来进行划分和理解。因为表示层、会话层以及应用层之间的界限在实际应用中并不清晰,让人不好区分。 2、TCP/IP四层协议有哪些结构与功能 TCP/IP 参考模型是一个包含了不同网络层次的一系列网络协议的集合。一般 TCP/IP 参考考模型分为四层,从下到上分别是,数据链路层、网络层、传输层和应用层。 也有将它分为五层的,也就是加上物理层,不过对于大部分的计算机网络应用,软件工程师一般都是不关心物理层。 应用层提供了不同应用数据包的处理协议

tcp拥塞控制(摘自维基百科)

我的梦境 提交于 2020-02-01 03:19:13
TCP使用多种拥塞控制策略来避免雪崩式拥塞。TCP会为每条连接维护一个“拥塞窗口”来限制可能在端对端间传输的未确认分组总数量。这类似TCP流量控制机制中使用的滑动窗口。TCP在一个连接初始化或超时后使用一种“慢启动”机制来增加拥塞窗口的大小。[6]它的起始值一般为最大分段大小(Maximum segment size,MSS)的两倍,虽然名为“慢启动”,初始值也相当低,但其增长极快:当每个分段得到确认时,拥塞窗口会增加一个MSS,使得在每次往返时间(round-trip time,RTT)内拥塞窗口能高效地双倍增长。 当拥塞窗口超过慢启动阈值(ssthresh)时,算法就会进入一个名为“拥塞避免”的阶段。[注 1]在拥塞避免阶段,只要未收到重复确认,拥塞窗口则在每次往返时间内线性增加一个MSS大小。 在TCP中,拥塞窗口(congestion window)是任何时刻内确定能被发送出去的字节数的控制因素之一,是阻止发送方至接收方之间的链路变得拥塞的手段。他是由发送方维护,通过估计链路的拥塞程度计算出来的,与由接收方维护的接收窗口大小并不冲突。 当一条连接创建后,每个主机独立维护一个拥塞窗口并设置值为连接所能承受的MSS的最小倍数,之后的变化依靠线增积减机制来控制,这意味如果所有分段到达接收方和确认包准时地回到发送方,拥塞窗口会增加一定数量。该窗口会保持指数增大

TCP/IP基础04:拥塞控制

我与影子孤独终老i 提交于 2020-01-31 05:42:02
文章目录 1 拥塞 1.1 什么是拥塞? 1.2 解决方法 2 拥塞处理 2.1 拥塞处理流程 Q:SS阈值怎么设定? 1 拥塞 1.1 什么是拥塞?    拥塞是一种持续过载的网络状态,此时用户对网络资源(包括链路带宽、存储空间和处理器处理能力等)的需求超过了固有的容量。一句话说就是,接收方一口气收到了太多的数据,处理不了了。 1.2 解决方法   限制发送方的发送窗口。   而发送方的发送窗口是由两方面决定的。1、接收方的接受窗口。2、网络影响。 2 拥塞处理 2.1 拥塞处理流程   1、刚开始时,对于网络状况一无所知,所以需要把初始值设置的比较小。RFC建议2-4个MSS。   2、如果发出去的包都得到了确认,表明没有达到拥塞点,可以增大拥塞窗口。如果初始值为2的话,那么每次收到2个ACK,那么发送窗口就会增大2。 1-2这个过程被称为慢启动过程。   3、当窗口的值达到ss阈值之后,如果继续,传输速度比较快,那么拥塞的概率就会变大。此时RFC建议每一个RTT窗口加1。 这一个过程称为拥塞避免。 如果没有发生拥塞的话就可以和最大接受窗口相同。   4.1、当发生网络拥塞时,会出现重传,如果发生超时重传,那么发送窗口会初始值开始,重新开始慢启动。此时不但慢启动耗时,而且还会等待RTO的时间。影响网络的传输。 图片引用自:https://blog.csdn.net/rock

Linux 内核优化

烈酒焚心 提交于 2020-01-26 16:45:22
声明:本文档来自互联网整理部份加自已实验部份所得: TCP 相关部份 经常使用名词说明: retries( 再试 ) 、 TCP server <---> client通信状态 SYN----------------> <--------------SYN,ACK ACK---------------> 建立连接 Data1----------------> <---------------Data1,ACK Data2----------------> <--------------- 未回复 Data2----------------> 重传 [ 序列參数 tcp_sack, tcp_fack ] [ 重传次数參数 : tcp_retries1,tcp_retries2, tcp_orphan_retries ] 传输数据 FIN------------------> <-----------------FIN,ACK( 有时候 FIN,ACK 分两次 ) ACK-----------------> 断开连接 . 主动关闭 FIN------------------> <-----------------CLOSE_WAIT SYN 表示建立连接, RTT(Round-Trip Time): 往返时延 FIN 表示关闭连接, RTO ( Retransmission

UCloud高性能RoCE网络设计

╄→尐↘猪︶ㄣ 提交于 2020-01-17 19:16:32
电商、直播等业务要求以非常快的速度完成请求应答,计算和存储的飞速提高也在推动HPC、分布式训练集群、超融合等新应用的普及,网络变成制约性能的主要因素之一。为此,我们设计了低开销高性能的RoCE网络,构建了低时延、无损的大型以太网数据中心,作为RDMA等技术的底层基石,也为UCloud未来的物理网络建设打下了良好基础。 一、低开销高性能的无损网络选型 普通的内网进行数据包交互时,通常会使用系统级的TCP/IP协议栈或者是DPDK技术,这两种方案都是依靠软件进行协议栈解封装的,对系统的CPU有不少消耗。而有一种方案: RDMA ,可以直接使用网卡进行协议栈解封装,无需消耗系统CPU,能有效降低数据处理的延时。 RDMA并没有规定全部的协议栈,比如物理链路层、网络层、传输层每个字段长什么样,如何使用,但对无损网络有相当高的要求: – 不轻易丢包,重传带来的延时非常大。 – 吞吐量巨大,跑满最好。 – 延时越低越好,100us都嫌长。 依据上述要求,主流的网络方案有三种: 图:主流的RDMA网络方案 ① InfiniBand: 该方案重新设计了物理链路层、网络层、传输层,是RDMA最初的部署方案,所以要使用专用的InfiniBand交换机做物理隔离的专网,成本较大,但性能表现最优; ② iWARP: 该方案的目的是让主流的以太网支持RDMA,将InfiniBand移植到TCP/IP协议栈

传输层

别等时光非礼了梦想. 提交于 2020-01-16 16:27:37
一、OSI和DoD模型 传输层最大数据包是65535字节,而网络层数据最大只有1480字节。所以需要分段,但是只要分段,就有可能丢包,因为网络层不负责可靠传输。所以要求服务器和客户端保持会话,直到数据传输完成。 二、传输层协议和应用层协议的关系 (1)TCP和UDP协议和不同的端口即可对应一个应用层的协议。 (2)熟知数值一般为0-1023,登记端口号数值1024-49151,客户端口号数值为49152-65535. (3)常用的应用层协议使用的端口(号): http = TCP + 80 Https = TCP + 443 RDP = TCP + 3389 ftp = TCP + 21 共享文件夹 = TCP + 445 SMTP = TCP + 25 POP3 = TCP + 110 telnet = TCP + 23 SQL = TCP + 1433 DNS = UDP + 53 三、TCP协议与UDP协议 1.TCP(Transmission Control Protocol)传输控制协议 应用场景:需要将要传输的文件分段传输时;就需要TCP协议来建立会话实现可靠传输;同时也有流量控制功能。(例如QQ传文件) 查看会话 netstat -n 查看建立会话的进程 netstat -nb 2.UDP(User Data Protocol)用户数据报协议 应用场景

计算机网络常见面试题

混江龙づ霸主 提交于 2020-01-16 16:06:08
一 OSI与TCP/IP各层的结构与功能,都有哪些协议? 小说网 m.198200.com 学习计算机网络时我们一般采用折中的办法,也就是中和 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。 结合互联网的情况,自上而下地,非常简要的介绍一下各层的作用。 1.1 应用层 应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统DNS,支持万维网应用的 HTTP协议,支持电子邮件的 SMTP协议等等。我们把应用层交互的数据单元称为报文。 域名系统 域名系统(Domain Name System缩写 DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。(百度百科)例如:一个公司的 Web 网站可看作是它在网上的门户,而域名就相当于其门牌地址,通常域名都使用该公司的名称或简称。例如上面提到的微软公司的域名,类似的还有:IBM 公司的域名是 www.ibm.com、Oracle 公司的域名是 www.oracle.com

【计算机网络】二十七. 传输层--TCP协议的拥塞控制

不问归期 提交于 2020-01-11 14:09:25
TCP协议的拥塞控制 目录 一、流量控制与拥塞控制的区别 二、拥塞控制的方法 (1)慢启动算法 (2)拥塞避免算法 注:转载请标明原文出处链接: https://lvxiaowen.blog.csdn.net/article/details/103934671 一、流量控制与拥塞控制的区别 一条数据链路经过非常多的设备,数据链路中各个部分都有可能成为网路传输的瓶颈。 流量控制考虑点对点的通信量的控制。 拥塞控制考虑整个网络,是全局性的考虑,报文超时则认为是拥塞。 二、拥塞控制的方法 (1) 慢启动算法 由小到大逐渐增加发送数据量,每收到一个报文确认,就加一。 (2)拥塞避免算法 维护一个拥塞窗口的变量,只要网络不拥塞,就试探着拥塞窗口调大。 参考资料: [1] https://coding.imooc.com/class/355.html 来源: CSDN 作者: 口口lv 链接: https://blog.csdn.net/lxw234lxw/article/details/103934671

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

人盡茶涼 提交于 2020-01-10 23:08:15
33. 在OSI 参考模型中,自下而上第一个提供端到端服务的层次是______。 A.数据链路层  B.传输层  C.会话层  D.应用层 答案:B 考查OSI 模型中传输层的功能。 传输层提供应用进程间的逻辑通信,即端到端的通信。而网络层提供点到点的逻辑通信。因此选 B。 34. 在无噪声情况下,若某通信链路的带宽为3kHz,采用4 个相位,每个相位具有4 种振幅的QAM 调制技术, 则该通信链路的最大数据传输速率是______。 A.12kbps   B.24 kbps   C.48 kbps   D.96 kbps 答案:B 考查奈氏准则和香农定理。 采用 4 个相位,每个相位有4 种幅度的QAM 调制方法,每个信号可以有16 种变化,传输4bit 的数 据。根据奈奎斯特定理,信息的最大传输速率为2×3K×4=24Kbps。 35. 数据链路层采用后退N 帧(GBN)协议,发送方已经发送了编号为0~7 的帧。当计时器超时时,若发送方 只收到0、2、3 号帧的确认,则发送方需要重发的帧数是______。 A.2   B.3   C.4   D.5 答案:C 考查后退N 帧协议的工作原理。 在后退 N 帧协议中,发送方可以连续发送若干个数据帧,如果收到接收方的确认帧则可以继续发送。 若某个帧出错,接收方只是简单的丢弃该帧及其后所有的后续帧,发送方超时后需重传该数据帧及其后

QOS-QOS(服务质量)概述

泄露秘密 提交于 2020-01-08 10:27:54
QOS-QOS(服务质量)概述 2018年7月7日 20:29 概述及背景: 1. 引入: 传统IP网络仅提供“尽力而为”的传输服务,网络有可用资源就转发,资源不足时就丢弃 新一代IP网络承载了 语音、视频等实时互动信息,要求网络能提供有保证的服务质量 QOS允许用户在丢包、延迟、抖动和 带宽等方面获得可预期的服务水平 2.网络性能衡量的参数: 带宽: 是链路上单位时间所能通过的最大数据流量,其单位为bps 在一条端到端的链路中,最大 可用带宽等于路径上带宽最低的链路的带宽 延迟:是标识数据包穿越网络所用时间的指标 处理延迟 交换延迟:路由器查表时 排队延迟:数据包在出接口排队的延迟 传播延迟:数据在链路上传播的时间 抖动: 是指数据包穿越网络时延迟的变化,是衡量网络延迟稳定性的指标 是由于延迟的随机性造成的,主要原因是数据包排队延迟的不确定性 丢包率: 丢包是指数据包扎传输过程中的丢失,是衡量网络可靠性的重要指标 丢包的主要原因: 网络拥塞时,当队列满了后,后续的报文将由于无法入队而被丢弃 流量超过限制时,设备对其进行丢弃 丢包以丢包率作为衡量指标 丢包率=被丢包报文数量/全部报文数量 注意: 语音需要低带宽,低延时,低抖动的网络 数据流量需要高带宽,低丢包率的网络 视频流量需要高带宽,低延时,低抖动的网络 QOS不能参加先有的带宽,只能将现有的带宽优化。 3