计网与操作系统基础知识整理

1. 在浏览器输入网址的执行过程

1网址解析:在输入网址后,通过将URL解析为IP地址,解析的过程成为DNS解析,其根据URL的类型递归查询:

         本地域名服务器查询->本地域名服务器向根服务器发送请求->本地域名服务器向.com顶级服务器发送请求->本地域名服务器向要求的xxx.com域名服务器发送请求,找到域名,将对应的IP返回给本地域名服务器。

拿到IP地址后建立TCP连接,通过3次握手:

客户端向服务器发出连接请求->服务器回复客户端确认连接请求->客户端回复服务器确认连接请求。连接建立。三次握手是为了防止已经是失效的报文请求字段发送给服务器,浪费服务器资源。

本地客户端构建HTTP请求报文,讲所需要请求内容发送给服务器。

服务器解析报文后将相应的内容发回给客户端

客户端解析报文后,在本地浏览器中渲染。呈现结果 

返回结果后,若客户端无另外的请求,则可以向服务器发出断开连接的请求。

服务器发回给客户端,已经收到断开连接的请求,但还没有准备好,或者准备好

服务器在完成发送资源后,可以发送客户端断开连接的请求,告诉客户端,已经准备好

客户端发送服务器断开,服务器关闭连接。

为什么需要4次挥手,而不是3次或者5次?

 在断开连接的时候,可能会有资源没有发完,因此不能将FIN与ACK同时发送,将原本的3次拆成了4次。

https://blog.csdn.net/guorui_java/category_10308503.html

2. 多线程的安全问题?如何同时访问同一个变量?线程之间的通信方式是怎样的?

在操作系统中,有并行与并发两个概念,其中并行为同时多个任务在进行,而并发则在一个时段内多个事件交替发生,

线程安全为多线程同时调用该资源时,调用资源过程中数据的安全。解决方案有两个,一个是线程同步,线程1完成了对该资源的操作后,对于其数值的变化同步到其余线程。第二个是锁,在线程1访问该资源过程中对数据上锁,其余数据不允许对其修改调用,保证了数据变化的单一性,避免两个线程同时处理出现脏数据。

线程之间通信方式有两种:共享内存和信息传递。

不同进程之间的采用进程之间通信,同一个进程中采用共享内存,

3. HTTP协议与HTTPS协议之间的区别?

  1. http传输数据明文传输,https传输数据加密传输,安全性更高
  2. http免费,https需要认证证书,付费
  3. http应用于小型网站,https大网站
  4. http连接无状态,端口为80,https是ssl与http协议构建的加密传输,端口为443

4. TCP建立连接的过程?其可靠性传输如何保证?

建立连接过程为3次握手的过程。见下图

 

TCP的可靠性:TCP相比于UDP是基于连接的传输协议,为一对一的传输协议,建立过程通过以上的3次握手,确保连接建立。基于连接保证了其数据的传输安全,时序的准确以及数据的可达性。无差错、不丢失、不重复、并且按序到达。 其包括如下两个协议特点:

1. 停止等待协议:按组发送数据,每次发送一组数据,停止等待对方确认,收到确认后再发送下一个分组。

实现可靠性传输主要通过:

  • 校验和,校验发送的数据与接受的数据之间的差别
  • 序列号,每一条数据都有特定的序列号,且分组机制,发送一组数据后,需要收到来自己另一方的确认收到后,才能继续发送后续消息。
  • 超时重传机制,当确认ACK过了一段时间没有收到的话就会采用超时重传
  • 滑动窗口控制,超时重传机制的升级版本,因为每组数据都需要确认的话会降低效率,因此,采用滑动窗口控制,使用大量的缓冲区,通过多个段进行确认应答的。将几组数据合并,利用3次重复确认应答作为重传的评判标准,提高传输效率

5. 计算机网络的七层模型,简要概述其作用?TCP与UDP协议之间的差别?

OSI(Open System interconnect):物理层,物理链路层,网络层,传输层,会话层,表示层,应用层。

TCP概念模型:链路层,网络层,传输层,应用层。 

 TCP:基于连接,面向字节流,一对一,传输可靠,效率低

UDP:无连接,面向报文,一对一,多对一,一对多,多对多,传输不可靠,传输效率高

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值