编程必备基础 - 面试笔试考点总结 - 计算机网络 (3)传输层(2)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

2)连续ARQ协议

4. TCP协议的可靠传输

5. TCP协议的流量控制

6. TCP的拥塞控制机制

1)慢启动算法

2)拥塞避免算法

7. TCP的建立(三次握手)

8. TCP连接的释放(四次挥手)

9. 套接字与套接字编程

10. TCP协议的四个定时器

1)超时定时器

2)坚持定时器

3)时间等待计时器

4)保活计时器

面试题


一、概述

========

传输层主要进为应用层提供服务,是用户功能的最底层

端到端通信连接,进程与进程的通信。

传输层使用端口(Port)来标记不同的网络进程;  端口(Port)使用16比特位表示(0~65535)

传输层协议:TCP, UDP

二、UDP协议详解

=============

UDP(User Datagram Protocol: 用户数据报协议)是一个非常简单的协议

1. 数据报

数据报是应用层传输过来的完整的数据

UDP对于数据报:不拆分、不合并,直接封装传输。

2. UDP的特点

(1)UDP是无连接协议(不用提前建立连接)

(2) UDP不能保证可靠的交付数据(“想发就发”,“无法保证数据在网络中是否丢失”)

(3)UDP是面向报文传输的(不做修改直接发送)

(4)UDP没有拥塞控制(不会感知网络拥塞,无论任何情况都会持续发送数据)

(5)UDP的首部开销很小

三、TCP协议详解

=============

TCP(Transmission Control Protocol: 传输控制协议)是计算机网络中非常复杂的一个协议

1. TCP协议的特点


(1)TCP是面向连接的协议

(2)TCP的一个连接有两端(点对点通信)

(3)TCP提供可靠的传输服务

(4)TCP协议提供全双工的通信(两者可以同时可以接收和发送数据)

(5)TCP是面向字节流的协议

2. TCP头部


(1)序号:0~2^32-1;一个字节一个序号;数据首字节序号

(2)确认号:一个字节一个序号;期望收到数据的首字节序号(确认号为N:则表示N-1序号的数据都已经收到)

(3)TCP标记:占6位,每位各有不同意义

(4)窗口:占16位:0~2^16-1;窗口指明允许对方发送的数据量

(5)紧急指针:紧急数据(URG=1);指定紧急数据在报文的位置

3. 可靠传输的基本原理


1)停止等待协议

发送一个消息后,就停止发送,等待,确认之后载发送下一个消息。

停止等待协议是最简单的可靠传输协议; 停止等待协议对信道的利用效率不高。

超时重传(三种情况)

(1)发送的消息在路上丢失了

(2)确认的消息在路上丢失了

(3)确认的消息很久才到

超时定时器:每发送一个消息,都需要设置一个定时器

2)连续ARQ协议

ARQ(Automatic Repeat reQuest:自动重传请求)

既然单个发送和确认效率低, 可不可以批量发送和确认?使用滑动窗口,可以提高信道利用率。

4. TCP协议的可靠传输


TCP的可靠传输基于连续ARQ协议; TCP的滑动窗口以字节为单位

选择重传需要指定需要重传的字节; 每一个字节都有唯一的32位序号

5. TCP协议的流量控制


流量控制指让发送方发送速率不要太快

流量控制是使用滑动窗口来实现的

例子:发送方发送消息seq=1两次,共发送200字节;接收方发送确认消息,表示还可以发送300字节;

但是消息丢失会引起等待(死锁)— 但是不会重传怎么办?

**坚持定时器:**解决上述死锁问题。

当接收到窗口为0的消息,则启动坚持定时器;坚持定时器每隔一段时间发送一个窗口探测报文

6. TCP的拥塞控制机制


一条数据链路经过非常多的设备;数据链路中各个部分都有可能成为网路传输的瓶颈;

网络对硬件设备的性能要求大于可用资源,因此会导致拥塞。

流量控制考虑点对点的通信量的控制;拥塞控制考虑整个网络,是全局性的考虑

报文超时则认为是拥塞;

1)慢启动算法

由小到大逐渐增加发送数据量; 每收到一个报文确认,就加一

2)拥塞避免算法

维护一个拥塞窗口的变量; 只要网络不拥塞,就试探着拥塞窗口调大

7. TCP的建立(三次握手)


(1)第一次握手:连接请求报文,seq=x

(2)第二次握手:接收方 SYN=1连接请求,ACK=1 对序列号确认,ack确认号,希望收到x+1的序列号的值,同时报文也会携带自己的序列号y

(3)第三次握手: 发送方ACK=1 报文的确认号是有用,是y+1希望收到y+1的数据,并且同步自己的序列号为x+1

最后

中年危机是真实存在的,即便有技术傍身,还是难免对自己的生存能力产生质疑和焦虑,这些年职业发展,一直在寻求消除焦虑的依靠。

  • 技术要深入到什么程度?

  • 做久了技术总要转型管理?

  • 我能做什么,我想做什么?

  • 一技之长,就是深耕你的专业技能,你的专业技术。(重点)

  • 独立做事,当你的一技之长达到一定深度的时候,需要开始思考如何独立做事。(创业)

  • 拥有事业,选择一份使命,带领团队实现它。(创业)

一技之长分五个层次

  • 栈内技术 - 是指你的前端专业领域技术

  • 栈外技术 - 是指栈内技术的上下游,领域外的相关专业知识

  • 工程经验 - 是建设专业技术体系的“解决方案”

  • 带人做事 - 是对团队协作能力的要求

  • 业界发声 - 工作经验总结对外分享,与他人交流

永远不要放弃一技之长,它值得你长期信仰持有

主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 工作经验总结对外分享,与他人交流

永远不要放弃一技之长,它值得你长期信仰持有

主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-I8QDQwPn-1713094933874)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值