首页 > 其他分享 >计算机网络八股整理(四)

计算机网络八股整理(四)

时间:2024-11-29 14:59:36浏览次数:8  
标签:八股 窗口 地址 tcp 计算机网络 mac 拥塞 整理 数据包

目录

八股整理(四)

应用层

1:怎么解决tcp粘包?

因为tcp的传输方式,导致在传输过程中,多个小的数据包会合并成一个数据包,且包的边界不明确,造成粘包;

粘包的原因:

1:nagle算法:

在网络拥堵时,nagle算法会将多个小的数据包合并成一个数据包,从而减少网络中数据包的数量;

2:tcp流量控制,和拥塞控制:

如果网络或者接收端处理速度较慢,就会将多个数据包合并成一个;

如何解决:

1:固定长度:所有的数据包都是固定的长度,接收端根据固定长度来读取每个数据包,但是这种无法适用于动态长度的情况;

2:分隔符:每个包都使用特殊的分隔符来区分包的边界,接收端通过识别分隔符来区分每个数据包;这种的话要注意对消息中的特殊分隔符进行转义,防止错误解析;

3:头部长度字段:每个数据包的头部都添加数据包长度的字段,接受端根据头部指定的长度来区分每个数据包;

2:tcp的拥塞控制介绍一下?

在网络拥塞的时候,发送的数据包往往会丢失,而tcp协议中包丢失后会进行重传,这样就导致网络更加拥塞。

于是tcp就使用拥塞控制机制避免,拥塞控制,是在网络拥塞的时候控制包发送的频率;

控制发送要使用拥塞窗口,拥塞窗口指定了发送端发送数据的量。当网络良好时,拥塞窗口会变大,当网络拥塞时,拥塞窗口会变小;

拥塞控制的算法有四种:分别是慢开始,拥塞避免,拥塞发生,快速恢复:

1:慢开始:

从发送的初始量开始,每接收到一个ack,拥塞窗口就会加一。

也就是会呈指数增长;

2:拥塞避免:

当拥塞窗口的大小到达了设定的满开始门阀后会进入拥塞避免算法;

拥塞避免算法是每接收一个ack,窗口的大小就会加窗口大小分之一,所以是呈线性增长的;

3:拥塞发生:

当发生拥塞时,也就是数据包重传时会使用拥塞发生算法:

重传的方式有两种:

1:超时重传:

发生超时重传后会使用拥塞发生算法:

首先:满开始门限变为此时的拥塞窗口的二分之一;

然后拥塞窗口变为初始值;

2:快速重传:

拥塞窗口变为原来的二分只一;

满开始门限变为此时的拥塞窗口然后进入快恢复算法;

3:快恢复:

快恢复算法往往结合着快重传算法一起;

首先拥塞窗口变为满开始门限加三:

然后重传数据,收到一个ack拥塞窗口加一;

接收到新数据的ack后,拥塞窗口变为满开始门限的大小,然后开始拥塞避免算法;

网络场景

1:描述一下打开百度首页后发生的网络过程?

1:解析url:首先分析url的协议和请求的资源路径。如果请求的协议或者是资源路径是不合法的,那么就会将输入栏中的内容交给搜索引擎。如果是合法的,会先将url中的非法字符转义,然后进入下一过程

2:缓存判断:解析完url后,判断请求的资源缓存中释放存在,如果存在直接返回,如果不存在就发生请求获取资源;

3:dns解析:如果缓存不在本地,就要进行dns解析。首先会发给本地dns服务器进行域名解析,然后逐级解析获取到目标ip地址;

4:获取mac地址:在传输层会获取本地ip地址,还有目标ip地址,然后传递给网络层,然后会发送给数据链路层,数据链路层通信需要加入双方的mac地址,以本机的mac地址作为源mac地址,然后去获取目标mac地址,目标mac地址的获取有两种情况:

1:通过目标IP地址与本机的子网掩码做与运算判断目标服务器和本机是否在同一子网下,如果是那么就通过arp协议获取到目标的mac地址;

2:如果不在同一子网下,就应该把请求发送给网关由网关转发,同样也需要使用arp协议获取网关的mac地址,此时的目标mac地址就是网关的mac地址;

5:建立tcp连接:通过tcp三次握手建立连接;

6:如果是https请求还需要ttl四次握手;

7:发送http请求;

8:获得响应,解析数据;

2:网页非常慢转圈圈的时候需要从哪些方面考虑问题?

主要检查网络是否正常,网络设置是否正确,dns是否正确解析ip地址,tcp三次握手有没有三次握手,http的响应码是什么?

3:server a和server b如何判断两个服务器是否正常连接?

tcp有保活机制,如果两个连接之间长时间没有活动那么就会触发保活机制,每隔一段时间就会发送一个探测报文,如果多个探测报文都没有回应,那么就说明当前的tcp连接已经死亡,就会断开连接;

一般linux内核中有触发保活机制的时间:2小时,探测报文发送的间隔时间:75秒,探测次数:9词;

而tcp保活机制需要的时间太长,我们可以在应用层实现类似的心跳机制:

web服务软件一般都会提供keepalive-timeout,即http长连接的超时时间,如果在超时时间内没有任何活动就会断开连接;

4:服务器ping不通但是http请求能请求成功,会出现这种情况吗?为社么?

会出现这种情况:ping是基于icmp协议,而http请求是基于tcp协议;

有的服务器的防火墙可能会禁止icmp协议,但是tcp协议是正常的,所以就会出现,服务器ping不通但是http请求能成功;

网络攻击

1:什么是dns劫持?

用户查询dns服务器时,劫持响应数据篡改结果,导致发送错误的映射,使用户错误的认为访问的是正确的网址;

2:sql注入的问题是什么?

sql注入是当用户的输入被应用程序当成sql语句的一部分是会发生;

如何解决:

1:进行验证和转义:在将用户输入当做sql语句之前,先进行sql的验证和转义。确保符合预定的格式。防止输入可能作为sql注入的特殊字符;

2:使用参数化查询:用预先设定好的参数来接收用户的输入,然后将用户的输入发送给数据库引擎执行;

3:设置权限,设置用户的数据库权限;

4:使用输入过滤;

标签:八股,窗口,地址,tcp,计算机网络,mac,拥塞,整理,数据包
From: https://blog.csdn.net/2301_79748665/article/details/144137665

相关文章

  • 软件测试技术面试题及参考答案整理
    一、什么是兼容性测试?兼容性测试侧重哪些方面?参考答案:兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。兼容测试的重点是,对兼容环境的......
  • 《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(7)-Wireshark的TCP包详解-上
    1.简介上一篇中通过宏哥的介绍和讲解,小伙伴或者童鞋们应该知道宏哥今天要讲解和介绍的内容在哪里了吧,没错就是介绍那个OSI七层模型的传输层。因为只有它建立主机端到端的连接如:TCP、UDP。2.TCP是什么?tcp是工作在传输层,也就是网络层上一层的协议。它是面向连接的,可靠的,基于字......
  • 从“整理”到“思考”:文档管理工具的新角色
    在信息爆炸的时代,文档管理的核心挑战已不再是存储,而是高效组织和提取知识。传统文档管理工具通常以文件夹和标签为基础,这种层级化结构容易造成知识孤岛。然而,语义网络的引入为知识管理开辟了新的路径:它不再以孤立的文档为单元,而是基于内容、上下文和关联性建立知识图谱,使信息真正......
  • SSM框架测试题整理(上)
    仅供个人学习使用目录1.何为SpringBean容器?SpringBean容器与SpringIOC容器有什么不同吗?2.SpringIOC如何理解?3.SpringDI如何理解?4.Spring中基于注解如何配置对象作用域?以及如何配置延迟加载机制?5.Spring工厂底层构建Bean对象借助什么机制?当对象不使用了要......
  • Trick 不完全整理
    读题读题再读题,观察观察再观察,手模手模再手模别怕麻烦,遗漏关键性质会悔恨终生退一步有时能够更好的进一步杂项一定按着某一标准划分阶段/部分来讨论,不要怕麻烦否则更容易走弯路只要求部分“格式相同”的信息都可以用例如哈希/离散化的技巧将信息一般化后统一处理注意......
  • 数字化转型背景下,高职院校计算机网络应用的革新策略
     在当今信息化时代,计算机网络已经成为高职院校教育不可或缺的一部分,它不仅极大地丰富了教育资源,提高了交流的便捷性,还催生了多样化的教学模式。对于高职院校来说,加强计算机网络应用的建设不仅是顺应时代潮流的必然选择,更是提升学生信息素养、培养未来技能的关键步骤。随着......
  • 【完整本信息安全整理】信息安全各类解决方案,网络安全检查, 网络风险评估,网络等级保护
    网络攻击检查表检查项(excel)检查大类:1.互联网攻击入口2.内部网络横向攻击3.集权类系统风险和要求具体检查项:【应用安全漏洞】:检查应用程序中是否存在如SQL注入、XSS、CSRF等常见漏洞,确保应用的安全性。【弱口令与默认口令】:强调用户账户的安全性,检查是否存在使用弱口令......
  • 计算机网络复习数据链路层(第三章)
    数据链路层基本情况主要功能:负责相邻节点间数据帧的传输使用通道:(1)点对点通道即一对一通信(2)广播信道即一对多,也称点对多点连路与数据链路的关系:三个基本问题数据链路层协议有许多种,但有三个基本问题则是共同的。分别为:封装成帧、透明传输和差错检测。分装成帧封装成帧就......
  • ssm计算机网络课程试卷生成器的设计与实现(10256)
     有需要的同学,源代码和配套文档领取,加文章最下方的名片哦一、项目演示项目演示视频二、资料介绍完整源代码(前后端源代码+SQL脚本)配套文档(LW+PPT+开题报告)远程调试控屏包运行三、技术介绍Java语言SSM框架SpringBoot框架Vue框架JSP页面Mysql数据库IDEA/Eclipse开发......
  • Java 面试八股文——java框架篇
    1、说出Spring或者SpringMVC中常用的5个注解   难度系数:⭐1.@RequestMapping:用于处理请求url映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。2.@RequestBody:注解实现接收http请求的json数据,将json转换为java对......