面试准备——计网中的高频面试题

输入一个url到显示页面的过程

  • 1、输入网址
  • 2、DNS解析
  • 3、三次握手建立可靠的TCP连接
  • 4、客户端发送HTTP请求
  • 5、服务器处理请求
  • 6、服务器响应请求返回HTTP报文
  • 7、浏览器解析渲染页面

DNS的查询是一个递归的过程,首先在本地域名服务器中查找,如果没找到,就到根域名服务器进行请求,根域名系统不存在。本地域名系统就向com顶级域名系统发送请求。
但是在进行这个查找过程前,DNS会先在浏览器缓存,系统缓存,路由器缓存等去查找。

在这个过程中使用了那些协议

  • 应用层:
    DNS协议,查找对应的域名IP
    HTTP,超文本传输协议,在TCP建立连接以后就使用HTTP协议访问网页
  • 传输控制层
    TCP协议通过三次握手,建立可靠的传输协议.
  • 网络层:
    IP协议:建立TCP协议时,需要发送数据,发送数据在网络层使用IP协议
  • 数据链路层:
    ARP:地址解析协议
    RARP:逆向地址解析协议
    在路由器上IP数据报的发送使用的是OPSF协议

TCP的三次握手和四次挥手

  1. 三次握手过程
  • 首先,客户端发送一个SYN标志数据包给服务端进行第一次握手。
  • 服务端返回一个SYN+ACK标志的数据包给客户端进行第二次握手。
  • 最后客户端返回一个ACK标志数据报给服务端。建立可靠连接
  1. 为什么进行三次握手,进行两次可以吗?.

答:进行两次是不可以的。进行三次的目的是为了建立可靠的连接,三次连接的建立可以使服务端,客户端都确认自己的发送和接收是正常的。而如果只进行两次,缺少最后的客户端返回ACK标志的数据包给服务端,服务端就不知道自己的接收是否正常。

  1. 四次挥手的过程
  • 客户端发送一个FIN,用于关闭客户端到服务端的数据传送
  • 服务端收到FIN,回复一个ACK,告诉客户端我知道了(确认序号为收到序号+1。)
  • 服务端关闭了了客户端的连接后,发给一个FIN给客户端
  • 客户端发送ACK报文确认
  1. 为什么要四次挥手
    首先各端发出第一个通知的时候,都进入的是半关闭状态,防止还有数据漏发。然后收到对方的确认以后在进行断开连接。

TCP和UDP协议的区别

TCP是面向连接的可靠连接。而UDP是不面向连接的不可靠连接。
TCP采用的是字节流进行传输,而UDP是采用数据报文进行传输。
由于TCP的需要保证可靠,因此传输效率慢,需要资源多。而UDP则更快,需要资源更少。
TCP的首部是20-60个字节而UDP是8个字节

UDP的不可靠和效率高的原因

UDP传输之前不需要建立连接,远程主机收到UDP报文以后,不需要进行任何确认。但是UDP即时通讯中作用很大特别是不在意丢包率的场景中。

TCP如何保证传输可靠

  1. TCP会将其分成适合发送的大小的数据块。并且每次发包都要进行编号,因此在上传给应用程时也是传输的有序的数据。
  2. TCP会在端到端的过程中检验首部和数据。如果发生缺失,就会丢弃和不确认收到了这个报文段。发送端没收到接收端的接收确认信息就会重新发。
  3. 流量控制:TCP传输的每一个端都有固定大小的缓冲空间,保证及时接收数据。当接收方不能及时处理的时候就会提示发送端降低发送速率,防止丢包。TCP是使用可变大小的滑动窗口实现的流量控制。
  4. 拥塞控制:发送方发完一个就等待接收方的确认消息,收到了才会继续,否则进行重传。
  5. 超时重传,发送到不仅没有收到确认消息会重传,在定时器超过时间也会自行传输。

滑动窗口和流量控制

TCP利用滑动窗口实现流量控制。流量控制是为了控制发送方发送速率,保证接收方来得及接收。接收方的报文字段可以用来控制发送方窗口的大小,从而影响发送方的发送速率。将窗口字段设置为0,则发送方不能发送数据。

拥塞控制

拥塞控制是为了防止数据过多的注入网络当

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值