计算机网络基础知识1

1、tcp三次握手?

SYN,标志位,用于建立TCP连接的握手过程中的标志位。

ACK,确认位,用于说明整个包是确认报文。

TCP/IP协议是传输层的一个面向连接提供可靠安全的传输协议。第一次握手有客户端发起,客户端向服务端发送一个报文,在报文里面,将SYN置为1,随机生成一个序列号x,当服务端收到这个报文后指导客户端要和我建立一个tcp连接,于是向客户端发送一个确认包,报文里面设置,SYN=1,ACK=1,ack=x+1,再随机生成一个序列号sep=y。基于上面两次握手,作为客户端我知道自己能发送消息和接收消息,对于服务端我可以收到消息,客户端能不能收到我发的消息我不知道,于是需要三次握手,第三次报文就是当客户端收到服务端发送的确认响应报文之后,还要继续给服务端进行回应,报文内容:seq=y+1,ACK=1,经过三次握手之后,这个连接就被安全的建立了。

2、四次挥手?

有客户端首先发起,第一次挥手客户端发送一个报文,在报文里面将FIN=1,根据之前发送报文生成的序列号这里将seq=x,当服务端收到这个报文后就知道了客户端想断开连接,但是此事服务端可能在发送数据导致不能立刻断开连接,服务端需要继续发送数据,服务端只进行一次消息queren(第二次挥手)报文内容ACK=1,ack=x+1,即告诉客户端我知道你要和我断开连接,但我没做好准备,你需要等我消息。服务端没有消息发送时,给客户端发送一个报文(第三次挥手),报文内容:seq=y,FIN=1。当这个报文到达客户端时,客户端需要给服务端发送一个消息确认报文(第四次挥手),报文内容:ACK=1,ack=y+1,经过四次挥手,双方都准备好了断开连接的准备,由此TCP/IP断开连接。

3、http和https的区别?

http是超文本传输协议,信息是明文传输,存在安全风险隐患,https在tcp和http的网络层加入了SSL/TLS安全协议,使得报文能够加密传输。

TCP三次握手之后就能进行HTTP的报文传输,而HTTPS在TCP三次握手之后,还需要进行SSL/TLS的握手过程,才可进行加密的报文传输。

HTTP的默认端口是80,HTTPS的默认端口上443。

HTTPS协议需要向CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的,一般需要收费。

4、加密算法有哪些?

对称加密:加密和解密采用相同的密钥,是可逆的。例如:AES、DES

优点:加密速度快。

缺点:密钥容易泄露。

非对称加密:加密和解密的密钥是不一样的,使用公钥加密私钥解密。例如:RSA、DSA。

RSA:将两个大数相乘很容易,但是想要对乘积进行因式分解很难,可以将其乘积公开作为加密密钥。

优点:安全性高。

缺点:速度慢。

5、输入URL后的一系列变化?

a、首先进行DNS域名解析,得到域名对应的IP地址;

b、浏览器与服务器建立TCP连接;

c、向服务器发送请求;

d、服务器处理请求,并返回响应;

e、浏览器根据响应进行页面渲染;

f、浏览器端开和服务器的连接。

6、POST请求和GET请求的区别?

a、post请求是向服务器发送数据,get请求是向服务器请求数据;

b、get请求传输数据是通过url传输的,参数拼接在url地址栏上,post请求将字段和对应的值保存在请求体中,对用户是可不见的;

c、get请求传输数据量是有限的,因为url的长度是有限的,post请求可以传输大量数据;

d、get请求只能支持ascii,向服务器传输中文会出现乱码现象,中文要经过特殊处理比如经过url编码转换为16进制,post请求可以支持标准字符集;

e、get请求不安全,url可见,容易被cache缓存,还会被保存在浏览器记录中,post请求不会被cache缓存也不会出现在浏览器记录中。

7、拥塞控制的四个算法:

慢启动、拥塞避免、用色发生、快速恢复

慢启动:指数增长;

拥塞避免:当拥塞窗口cwnd超过慢启动门限ssthresh,就会进入拥塞避免;

超时重传:ssthresh=cwnd/2,cwnd=1,在执行慢启动;

快重传:收到三个ACK确认包,发送端就进行快重传。cwnd=cwnd/2,ssthresh=cwnd,然后进入快恢复;

快恢复:拥塞窗口cwnd=ssthresh+3(3个数据包已收到),直接进入到拥塞避免算法。

相关推荐
nice_evil1 小时前
华为Openeuler/Linux/CentOs 网络配置及故障排查/远程连接设置ssh/ibmc等问题及解决方案合集
linux·网络·centos·openeuler·网络配置与激活
风清再凯2 小时前
docker 网络
网络·docker·容器
沐土Arvin2 小时前
三次握手建立连接,四次挥手释放连接——TCP协议的核心机制
java·网络·tcp/ip
Amy.Wang3 小时前
常见的网络协议有哪些
网络·网络协议
Mountain and sea3 小时前
ABB RobotStudio 和 S7-PLCSIM Advanced V5.0 搭建虚拟通信环境,实现 PLC 对机器人布尔量、数字量和模拟量的控制。
网络·机器人
freyazzr4 小时前
TCP/IP 网络编程 | Reactor事件处理模式
开发语言·网络·c++·网络协议·tcp/ip
AI风老师4 小时前
通信网络基础概念
开发语言·网络·php
边啵儿5 小时前
如何确定某个路由器的路由表?(计算机网络)
网络·计算机网络
勤奋的小王同学~5 小时前
(功能测试Charles)如何抓取手机http的报文
网络·网络协议·http
chao_7895 小时前
HTTP 响应状态码
网络·网络协议·http