计算机网络基础面试知识(一)

总结一下计算机网络面试常考知识:
TCP (传输控制协议)

Tcp可靠:数据包校验,丢弃重复数据,超时重发,流量控制

TCP握手的三次流程

seq: 序号。

ack: 确认号。

TCP 的三次握手过程:主机 A 向
B 发送连接请求;主机 B 对收到的主机
A 的报文段进行确认;主机 A 再次对主机
B 的确认进行确认。

·
最初两端的TCP进程都处于CLOSE(关闭)状态。

上图中A主动打开连接,B被动打开连接。

·
B打开连接后处于LISTEN(监听状态),等待客户的连接请求。

·
A向B发送请求报文,SYN=1,ACK=0,选择一个初始序号seq=x。

·
B 收到连接请求报文,如果同意建立连接,则向 A 发送连接确认报文,SYN=1,ACK=1,确认号为ack= x+1,同时也选择一个初始的序号
seq=y。

·
A 收到
B 的连接确认报文后,还要向 B 发出确认,确认号为ack=
y+1,序号为 seq=x+1。

·
B 收到
A 的确认后,连接建立

TCP的四次挥手过程

·
A 发送连接释放报文,FIN=1。

·
B 收到之后发出确认,此时
TCP 属于半关闭状态,B 能向 A 发送数据但是 A 不能向 B 发送数据。

·
当 B 不再需要连接时,发送连接释放报文,FIN=1。

·
A 收到后发出确认,进入
TIME-WAIT 状态,等待 2 MSL(最大报文存活时间)后释放连接。

·
B 收到
A 的确认后释放连接。

UDP(用户数据报协议)

TCP和UDP的区别与联系

TCP面向连接,传输数据之前要需要建立会话。UDP是无连接的。

TCP提供可靠传输,保证数据不丢包、不重复且按顺序到达;UDP只尽努力交付,不保证可靠交付

TCP提供了拥塞控制;UDP不提供

TCP是面向字节流的;UDP面向报文。

TCP只支持点到点通信;UDP支持一对一、一对多、多对多的交互通信。

TCP(FTP文件传输协议, SMTP:定义了简单邮件传送协议, HTTP:从Web服务器传输超文本到本地浏览器的传送协议。)

UDP(DNS:用于域名解析服务, SNMP:简单网络管理协议)

Http和Https的区别

Http协议运行在TCP之上,明文传输,客户端与服务器端都无法验证对方的身份;Https是身披SSL(Secure
Socket Layer)外壳的Http,运行于SSL()上,SSL运行于TCP之上,是添加了加密和认证机制的HTTP。

HTTPS协议需要到CA(电子认证服务)申请证书。

HTTP是超文本传输协议,HTTPS是更安全的SSL加密传输协议。

使用完全不同的连接方式,端口也不同,HTTP使用80端口,而HTTPS使用443端口。

HTTP连接很简单,是无状态的;HTTPS是由SSL

  • HTTP构建的可进行加密传输、身份认证的更安全的网络协议

HTTP的报文段

1、请求方法

GET:请求获取Request——URL所标识的资源

POST:在Request——URL所标识的资源后附加资源

HEAD:请求获取由Request——URL所标识的资源的响应消息报头

PUT:请求服务器存储一个资源,由Request——URL作为其标识

DELETE:请求服务器删除由Request——URL所标识的资源

TRACE:请求服务器回送收到的请求信息(用于测试和诊断)

CONNECT:保留

OPTIONS:请求查询服务器性能

请求头部

Host:接受请求的服务器地址,可以是IP或者是域名

User-Agent:发送请求的应用名称

Connection:指定与连接相关的属性,例如(Keep_Alive,长连接)

Accept-Charset:通知服务器端可以发送的编码格式

Accept-Encoding:通知服务器端可以发送的数据压缩格式

Accept-Language:通知服务器端可以发送的语言

200:响应成功

302:跳转,重定向

400:客户端有语法错误

403:服务器拒绝提供服务

404:请求资源不存在

500:服务器内部错误

当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的 TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接要客户端和服务端都支持长连接。

页面被重置的原理

Y:0,这代表TCP连接被重置,用户便主动放弃了连接,提示连接失败。让用户误认为服务器拒绝连接,而主动放弃继续与服务器连接,自动阻断记录含有敏感词的网页

DNS解析

(递归查询):A问B,B问C,C问D,得到解释,回传

(迭代):A问B,A问C。。

对称加密与非对称加密

对称密钥加密是指加密和解密使用同一个密钥的方式,这种方式存在的最大问题就是密钥发送问题,即如何安全地将密钥发给对方;而非对称加密是指使用一对非对称密钥,即公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方接收到加密信息后,使用自己的私钥进行解密。

浏览器中输入一个网址它的运行过程

1、 查询DNS,获取域名对应的IP。

(1)
检查浏览器缓存、检查本地hosts文件是否有这个网址的映射

(2)
如果没有,则查找本地DNS解析器缓存是否有这个网址的映射,

(3)
首选DNS服务器,称为本地DNS服务器

2、 得到目标服务器的IP地址及端口号

应用层:客户端发送HTTP请求报文。

传输层:(加入源端口、目的端口)建立连接。

网络层:(加入IP头)路由寻址

数据链路层:(加入frame头)传输数据。

物理层:物理传输bit。

服务器端经过物理层→数据链路层→网络层→传输层→应用层,解析请求报文,发送HTTP响应报文。

关闭连接,TCP四次挥手。

客户端解析HTTP响应报文,浏览器开始显示HTML

get和 post区别

GET:从指定的资源请求数据。

POST:向指定的资源提交要被处理的数据。

由于HTTP的规定和浏览器/服务器的限制,导致它们在应用过程中体现出一些不同。

网际协议栈:

应用层:支持网络应用,报文传送。HTTP,FTP,SMTP,STTP

传输层:主机进程间数据段传送。TCP,UDP

网络层:主机(源目标节点)间分组传送。IP协议,路由协议

数据链路层:相邻网络节点间的数据帧传送。PPP,Ethernet,……

物理层:物理介质上的比特传送

TCP拥塞控制

“慢启动”(Slow Start)

“拥塞避免”(Congestion avoidance)

“快速重传 ”(Fast Retransmit)

“快速恢复”(Fast Recovery)

:( 1 )慢开始、拥塞避免(

慢开始算法的思路就是,不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。

快重传、快恢复

快重传要求接收方在收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方,可提高网络吞吐量约20%)而不要等到自己发送数据时捎带确认。快重传算法规定,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段,而不必继续等待设置的重传计时器时间到期。如下图:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值