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

创建网站怎么弄房屋装修效果图卧室

创建网站怎么弄,房屋装修效果图卧室,网站如何生成二维码,音响 东莞网站建设技术支持每日八股-7.1 网络1.能说说 TCP 报文头部都包含哪些关键字段吗?2.TCP 是如何确保数据传输的可靠性的?你能详细谈谈吗?3.你能解释一下 TCP 滑动窗口是如何设计的?它主要解决了什么问题?4.TCP 协议的拥塞控制是如何实现的…

每日八股-7.1

  • 网络
    • 1.能说说 TCP 报文头部都包含哪些关键字段吗?
    • 2.TCP 是如何确保数据传输的可靠性的?你能详细谈谈吗?
    • 3.你能解释一下 TCP 滑动窗口是如何设计的?它主要解决了什么问题?
    • 4.TCP 协议的拥塞控制是如何实现的?你能详细说说它的过程吗?
    • 5.在 IP 地址 10.100.122.2/24 中,斜杠后面的数字 24 代表什么意思?
    • 6.什么是 SQL 注入攻击?应该如何避免?

网络

1.能说说 TCP 报文头部都包含哪些关键字段吗?

在这里插入图片描述

TCP 头部包含了不少重要的字段。主要有源端口号和目的端口号,它们都是 16 位的,用来标识发送方和接收方的应用程序。然后是 32 位的序列号和 32 位的确认应答号,这两个字段对于保证数据的可靠性和顺序性非常关键。还有一些 控制位,比如 SYN 用于发起连接,ACK 用于确认,FIN 用于关闭连接,RST 用于重置连接等等。此外,头部还包括 4 位的首部长度,16 位的窗口大小用于流量控制,16 位的校验和用于数据完整性校验,以及一些可选字段。

2.TCP 是如何确保数据传输的可靠性的?你能详细谈谈吗?

TCP 为了保证数据传输的可靠性,采取了一系列关键措施。首先,在连接建立阶段,TCP 通过三次握手来确保双方都具备正常的发送和接收能力,并且能够防止旧的连接请求被误用。其次,在数据传输阶段,每个 TCP 报文都会被分配一个序列号,接收方可以根据序列号对乱序到达的数据包进行排序。同时,接收方会发送确认应答(ACK)来告知发送方已经成功接收到了哪些数据。

如果发送方在一定时间内没有收到某个数据包的确认应答,就会触发超时重传机制,重新发送丢失的数据包。另外,如果发送方连续收到三个相同的确认应答(冗余 ACK),发送方会立即进行快速重传,而无需等待超时。为了避免发送方发送过快导致接收方处理不过来,TCP 引入了流量控制机制,通过滑动窗口来限制发送方发送数据的速率。最后,为了避免网络出现拥塞,TCP 还实现了拥塞控制机制,通过慢启动、拥塞避免、拥塞发生和快速恢复等算法来动态调整发送速率,确保网络不会过载,从而保证数据的可靠传输。

3.你能解释一下 TCP 滑动窗口是如何设计的?它主要解决了什么问题?

TCP 的滑动窗口机制在发送方和接收方的内核中都维护着一个缓冲区,并且在这个缓冲区上定义了一个窗口。对于发送方来说,发送窗口的大小决定了在没有收到确认应答之前,可以连续发送的最大数据量。有了发送窗口,发送方就不需要每发送一个数据包就等待确认,可以批量发送,从而大大提高了发送效率。

对于接收方来说,接收窗口的大小表示了接收缓冲区当前可用的空间大小。接收方会将这个接收窗口的大小通过 ACK 报文告知发送方。这样,发送方就知道接收方的接收能力,从而可以根据接收方的窗口大小来调整自己的发送速率,避免发送过多的数据导致接收方处理不过来而丢包,这就是流量控制。总的来说,滑动窗口机制主要解决了串行发送-确认方式效率低下的问题,并实现了流量控制,保证了数据传输的可靠性。

4.TCP 协议的拥塞控制是如何实现的?你能详细说说它的过程吗?

TCP 的拥塞控制是通过一系列算法来实现的,主要包括慢启动、拥塞避免、拥塞发生时的处理(超时重传和快速重传)以及快速恢复。

  1. 慢启动: 连接建立初期,发送方以较低的速率发送数据,逐步探测网络的承载能力,指数级地增加发送窗口。

  2. 拥塞避免: 当发送窗口达到慢启动阈值后,发送窗口以线性方式缓慢增长,避免过快地填满网络。

  3. 当网络发生拥塞,可能会出现丢包。TCP 通过两种方式检测丢包:

    • 一是超时重传,这种重传方式系统默认网络已经出现了严重阻塞,如果发送方在一定时间内没有收到 ACK,就会认为发生了拥塞,此时会将慢启动门限设置为当前拥塞窗口的一半,并将拥塞窗口重置为1,然后重新开始慢启动。
    • 二是快速重传,这种方式系统默认网络出现了轻微阻塞,因为接收方还可以发送包,并且发送方还可以接收到;当发送方连续收到三个重复的 ACK 时,会认为发生了丢包,会立即重传丢失的报文,并进入快速恢复阶段。在快速恢复阶段,拥塞窗口会减半,然后每收到一个重复的 ACK,拥塞窗口会增加一个 MSS,当收到被重传的报文的 ACK 后,拥塞窗口会设置为当前的慢启动门限,然后进入拥塞避免阶段,继续线性增长。

这些机制使得 TCP 能够根据网络状况动态调整发送速率,避免网络过载。

5.在 IP 地址 10.100.122.2/24 中,斜杠后面的数字 24 代表什么意思?

在 IP 地址 10.100.122.2/24 中,斜杠后面的数字 24 表示的是子网掩码的位数。在 CIDR(Classless Inter-Domain Routing)表示法中,这个数字说明了子网掩码中前面有多少个连续的“1”。对于 /24 来说,它对应的子网掩码是 255.255.255.0,换算成二进制就是前 24 位是 1,后 8 位是 0。这个子网掩码的作用是用来划分 IP 地址中的网络部分和主机部分。前 24 位(10.100.122)是网络号,用于标识一个特定的网络,而后 8 位(2)是主机号,用于标识该网络中的一个特定设备。通过将 IP 地址和子网掩码进行与运算,就可以得到该 IP 地址所属的网络号。

6.什么是 SQL 注入攻击?应该如何避免?

SQL 注入攻击是指攻击者通过在 HTTP 请求中插入恶意的 SQL 代码,使得后端服务器在构建和执行 SQL 查询语句时,将这些恶意代码也当作正常的 SQL 命令来执行,从而达到窃取数据、修改数据甚至控制服务器的目的。

举个简单的例子,如果一个查询用户信息的接口通过拼接字符串的方式构建 SQL 语句,攻击者可以在传入的用户 ID 参数中加入恶意的 SQL 代码,比如 0 OR 1=1,这样就会导致查询返回所有用户的信息,造成数据泄露。更严重的,攻击者甚至可以注入 DROP TABLE 这样的语句来删除整个数据库。

为了预防 SQL 注入攻击,我认为可以采取以下几个关键措施:

最重要也是最有效的方法是 使用参数化查询或者预编译语句。这种方式会将 SQL 语句的结构和参数分开处理,用户输入的数据会作为参数传递给 SQL 语句,而不是直接拼接在 SQL 语句中。这样可以防止恶意代码被当作 SQL 命令来执行。
其次,需要对 用户输入的数据进行严格的验证和过滤。在后端接收到前端传递的参数后,要对其进行检查,确保输入的数据符合预期的格式和类型,并且移除任何可能包含恶意代码的部分。可以使用白名单机制来限制允许输入的内容。
最后,应该 遵循最小权限原则。在数据库中,应用程序使用的账户应该只被授予完成其工作所需的最小权限。这样即使发生了 SQL 注入攻击,攻击者能够进行的操作也会受到限制,从而减少损失。
总而言之,使用参数化查询或者预编译语句是防止 SQL 注入攻击最根本和最有效的方法。

http://www.dtcms.com/wzjs/787068.html

相关文章:

  • 做网站需注重的几点福田欧曼服务站
  • 燕郊个人做网站站长之家psd
  • 在那可以做公司网站青海公路工程建设总公司网站
  • 宁波网站推广方法wordpress禁止百度转码
  • 免费美食网站源码建站平台塔山双喜
  • 重庆市建设工程造价管理总网站erp软件多少钱
  • 网站建设案例好么asp网站开发的背景与环境
  • wordpress站点标题字数wordpress单击右键提示
  • 如何免费做网站推广网站国外推广
  • 做网站哪里买空间好网站模块建设中
  • 茶山网站建设公司南昌网站建设怎么样
  • 网站开发最新流程静态网站开发课程
  • 肇庆市网站建设中国做室内设计的网站
  • 无锡市无锡市住房和城乡建设局网站学习做网站是什么专业
  • 企业门户网站布局特征wordpress数据清除缓存
  • 网站排行页面设计背景图片
  • 接网站建设的平台昆明建个网站哪家便宜
  • 做交互的网站建设设计院网站
  • 深圳网站建设信科便宜WordPress上下拖动效果
  • 网站首页效果图怎么设计关于化妆品的网页设计
  • 外包公司做网站多少wordpress 算数验证码
  • wordpress cms 制作优化关键词方法
  • 网站建设费用预算表格营销型企业网站的策划方案
  • 婴儿衣服做的网站wordpress解压后怎么安装
  • wordpress网站破解做网站 就上凡科建站
  • 广西建设安全员证查询网站网站建设包含哪些建设阶段
  • 烟台网站公司网站推广目标计划
  • 四川住房和城乡建设部官方网站品牌市场营销策略
  • 上海外贸网站建设公司下列关于网站制作的
  • 传统网站设计的缺点网站做闪电电磁