首页 > 其他分享 >面试4.11

面试4.11

时间:2023-04-11 21:35:02浏览次数:39  
标签:4.11 协议 udp UDP tcp 面试 TCP 连接

# 1 tcp 三次握手和四次挥手
# 2 osi七层协议,哪七层,每层有哪些
# 3 tcp和udp的区别?
	udp用在哪里了?
tcp 三次握手和四次挥手
tcp的三次握手和四次挥手实质就是tcp通信的连接和断开

三次握手:为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所接收到的数据量而确认数据发送、接收完毕后何时撤消联系,并建立虚连接。

四次挥手:即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。
可靠传输,只要得不到认可,就重新发送数据报,直到得到对方的确认为止
1.三次握手建连接:
    建立双向通道
  问题:洪水攻击
  解决的办法:同时让大量的客户端朝服务端发送建立TCP连接的请求

2.四次挥手
  断开双向通道(中间的两步不能合并,需要有检查的时间)
注意:基于TCP协议传输的数据非常安全,因为有双向通道,基于TCP传输数据,数据不容易丢失,原因在于二次确认机制,每次发送数据都需要返回确认消息,否则在一定时间会反复发送。达到一定次数的发送,若得不到确认则删除数据。

img

img

osi七层协议,哪七层,每层有哪些
应、表、会、传、网、数、物
应用层,表示层,会话层,传输层,网络层,数据链路层,物理连接层

应用层提供各种各样的应用层协议,这些协议嵌入我们使用的各种应用程序中,主要是程序员自己采用什么样的策略和协议,常见的协议有:HTTP,HTTPS,FTP....

表示层:数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层),格式有,JPEG、ASCll、EBCDIC、加密格式等。

会话层:建立、管理、终止会话。(在五层模型里面已经合并到了应用层),对应主机进程,指本地主机与远程主机正在进行的会话。

传输层: 定义传输数据的协议端口号,以及流控和差错校验。协议有:TCP、UDP,数据包一旦离开网卡即进入网络传输层。
	TCP与UDP协议都是用来规定通信方式的

 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。协议有:ICMP、IGMP、IP(IPV4、IPV6)。
	IP协议:规定了所有接入互联网的计算机必须有一个IP地址,类似于我们的身份证
  
数据链路层:规定了电信号的分组方式(有12-16位,前6是产商编号,后6是生产流水线号),该数字也叫以太网地址

物理连接层:确保计算机之间的物理连接介质(光缆,电缆等),接收的数据为bytes类型


img

tcp和udp的区别?

1.连接
tcp是面向连接的传输层通信协议,传输数据前要先建立连接
udp是不需要连接,即可传输协议

2.服务对象
tcp是一对一服务,即一条连接只有两个端点
udp是支持一对一,一对多,多对多的交互通信

3.可靠性
tcp是可靠交付数据,数据可以无差错,不丢失,不重复,按需到达
udp是尽最大努力交付,不保证可靠交付数据

4.拥塞控制、流量控制
tcp有拥塞控制、流量控制机制,保证数据传输的安全性
udp没有,即使网络非常拥挤,也不会影响udp的发送速率

# TCP是面向连接的,而UDP是无连接的协议。

# TCP对于传输有用的数据非常可靠,因为它需要确认发送的信息。而在UDP的情况下,如果数据包丢失,它不会请求重新传输,因此,UDP 是一种不可靠的协议。
# TCP速度较慢,因为TCP在传输数据之前建立连接,并确保数据包的正确传递。UDP更快,更简单,更高效,因此通常用于发送音频和视频文件。TCP和UDP对于数据传输都是必不可少的。

udp的应用场景:
1.包总量较少的通信,如DNS,SNMP
2.视频、音频等多媒体通信
3.广播通信

标签:4.11,协议,udp,UDP,tcp,面试,TCP,连接
From: https://www.cnblogs.com/zx0524/p/17307818.html

相关文章

  • 4.11每日总结
    今天做了什么:完成了Python的安装和配置,并且可以在pycharm运行代码,学习了sqlserver数据库的调试器,完成了记账app的总金额传参遇到了哪些问题:python导入外部拓展库受到网速制约导入失败,更换网络后成功明天打算做什么:对记账app的图片识别返回结果进行优化,自动获取有用的信息,并且尝......
  • 锁屏面试题百日百刷-kafk篇(一)
    锁屏面试题百日百刷,每个工作日坚持更新面试题。请看到最后就能获取你想要的,接下来的是今日的面试题:1.请说明什么是ApacheKafka?ApacheKafka是由Apache开发的一种发布订阅消息系统,它是一个分布式的、分区的和重复的日志服务。2.请说明什么是传统的消息传递方法?传统的消息传递......
  • 4.11总结
    一、构造器定义在类中的,可以用于初始化一个类的对象,并返回对象地址。Carr=newCar();——即构造器构造器的格式:修饰符类名(形参列表){...}如:类变量名称=new构造器();二、this关键字1.作用:可以用于指定访问当前对象的成员变量、成员方法。三、封装封装的原则:对......
  • 软件测试综合面试题
    项目中会对接第三方系统吗,哪些系统在项目中对接第三方系统是非常常见的。常见的对接的第三方系统包括但不限于以下几种:1.支付系统:例如支付宝、微信支付、银联支付等。如果项目需要接入支付功能,就需要对接相应的支付系统。2.物流系统:例如顺丰、圆通、中通等。如果项目中需要使......
  • 一文读懂面试官都在问的Log4J2漏洞
    CVE-2021-44228漏洞简介ApacheLog4j2是一个基于Java的日志记录工具,当前被广泛应用于业务系统开发,开发者可以利用该工具将程序的输入输出信息进行日志记录。2021年11月24日,阿里云安全团队向Apache官方报告了ApacheLog4j2远程代码执行漏洞。该漏洞是由于ApacheLog4j2某些功......
  • Go面试题——逃逸分析
    Go面试题——逃逸分析一个变量是在堆分配,还是在栈上分配,是经过编译器的逃逸分析之后得出的"结论"。一、逃逸分析是什么?在C语言中,可以使用malloc和free手动在堆上分配和回收内存。在Go语言中,堆内存是通过垃圾回收机制自动管理的,无需开发者指定。那么,Go编译器......
  • 2023.04.11 定时测试随笔 T1
    T1数列分段SectionII传送门:洛谷P1182题意:把\(n\)个数分成\(m\)段,使\(m\)段和的最大值最小,求这个值;题解:因为题目要求最大值的最小值,很明显的一道二分答案的板子题,我们二分这个最大值,因为是区间和,我们用前缀和来维护,二分区间就是[\(sum[1]\),\(sum[n]\)]:......
  • .NET开发工程师面试题
     一个网友参加了某公司的.NET开发工程师面试。该公司正在招聘一位薪资水平在20K-25k之间的优秀.NET开发工程师。为了帮助大家更好地了解.NET开发领域的要求和应试技巧,小编将与大家分享这个职位的面试题目。题目如下,大家先自己模拟回答一下,然后再看后面的答案。题目请简述.NET......
  • 面试技巧
    Q:这份工作经常加班/出差,你能接受吗?A:从我投递该岗位的那一刻起,我已经做好加班/出差的打算了。而且,我刚刚毕业,很多东西都需要时间去学习,去吸收,提升自己。用2-3年的时间,为自己的职业生涯打好基础。家人方面不必担心,我父亲常说人生就是要先苦后甜,如果看到我那么努力工作,让......
  • js相关面试题
    1.js的基础类型有什么?基础类型有:null,NaN,string,number,boolean,bigint,symbol,undefine引用类型有:object,Array,function2.tyopef和instanceof的区别:1.typeof可以识别所有的值类型,识别函数,能区分是否是引用类型consta="str" console.log(typeofa)  //stringconstb=999 c......