计算机网络

  •  请你说一下TCP怎么保证可靠性,并且简述一下TCP建立连接和断开连接的过程

      tcp保证可靠性的操作:

  1.  序列号、确认应答、超时重传(超时重传时间为2*报文段往返时间+偏差值)
  2. 窗口控制(窗口大小就是无需等待确认而可以继续发送数据的最大值)与告诉重发控制(重复确认应答)
  3. 拥塞控制:慢开始、拥塞避免、快重传和快恢复

        这样可以达到:在TCP通信时,网络吞吐量呈现逐渐的上升,并且随着拥堵来降低吞吐量,再进入慢慢上升的过程,网络不会轻易的发生瘫痪。

      三次握手,四次挥手。

  • 搜 索baidu,会用到计算机网络中的什么层?每层是干什么的

      浏览器根据输入的URL通过DNS解析(UDP协议)为IP地址

      得到IP地址后,浏览器与服务器建立连接(HTTP协议)-

      HTTP生成报文传给TCP层处理(TCP协议)

      TCP数据包发送给IP层(IP协议)

      在网段内寻址通过(以太网协议/PPP/SLIP)

      直达物理地址(ARP协议)

  • 请你说说TCP/IP数据链路层的交互过程

网络层等到数据链层用mac地址作为通信目标,数据包到达网络等准备往数据链层发送的时候,首先会去自己的arp缓存表(存着ip-mac对应关系)去查找改目标ip的mac地址,如果查到了,就讲目标ip的mac地址封装到链路层数据包的包头。如果缓存中没有找到,会发起一个广播:who is ip XXX tell ip XXX,所有收到的广播的机器看这个ip是不是自己的,如果是自己的,则以单拨的形式将自己的mac地址回复给请求的机器。

  •  请你说一说TCP的模型,状态转移

  •  请回答一下HTTP和HTTPS(TCP/IP的应用层)的区别,以及HTTPS有什么缺点?

  1. HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协 议
  2. HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80后者是 443
  3. HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息)

       HTTPS的优点:安全性高、可以认证用户和服务器,确保数据发送到正确的用户和服务器

       HTTPS的缺点:握手阶段延时较高:在进行HTTP会话之前还需要进行SSL握手;

                                 HTTPS部署成本高:一方面HTTPS协议需要使用证书来验证自身的安全性,所以需要购买CA证书;另一方面由于采用HTTPS协议需要进行加解密的计算,占用CPU资源较多,需要的服务器配置或数目高

  • 请你说一说HTTP返回码

        请求报文结构四部分构成:请求行(请求方法字段URL(网络地址,www统一资源定为标志)字段)

                                                   请求头部 (指明请求类型GET  /POST)

                                                   空行 (告诉服务器请求头部到此为止)

                                                   请求数据(方法字段是GET,则此项为空,没有数据;POST,此处放置提交数据)

1xx:指示信息--表示请求已接收,继续处理。

2xx:成功--表示请求已被成功接收、理解、接受。

3xx:重定向--要完成请求必须进行更进一步的操作。

4xx:客户端错误--请求有语法错误或请求无法实现。

5xx:服务器端错误--服务器未能实现合法的请求。

常见状态代码、状态描述的详细说明如下。

200 OK:客户端请求成功。

206 partial content服务器已经正确处理部分GET请求,实现断点续传或同时分片下载,该请求必须包含Range请求头来指示客户端期望得到的范围

300 multiple choices(可选重定向):被请求的资源有一系列可供选择的反馈信息,由浏览器/用户自行选择其中一个。

301  moved permanently(永久重定向):该资源已被永久移动到新位置,将来任何对该资源的访问都要使用本响应返回的若干个URI之一。

302 move temporarily(临时重定向):请求的资源现在临时从不同的URI中获得,

304:not modified :如果客户端发送一个待条件的GET请求并且该请求以经被允许,而文档内容未被改变,则返回304,该响应不包含包体(即可直接使用缓存)。

403 Forbidden:服务器收到请求,但是拒绝提供服务。

t Found:请求资源不存在,举个例子:输入了错误的URL。

  • 请你说一说IP地址作用,以及MAC地址作用

        MAC地址是一个硬件地址,用来定义网络设备的位置,主要由数据链路层负责

        IP地址是IP协议提供的一种统一的地址格式为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

  •  请介绍一下操作系统中的中断

中断是指CPU对系统发生的某个事件做出的一种反应,CPU暂停正在执行的程序,保存现场后自动去执行相应的处理程序,处理完该事件后再返回中断处继续执行原来的程序。

中断一般三类:一种是由CPU外部引起的,如I/O中断、时钟中断;

                         一种是来自CPU内部事件或程序执行中引起的中断,例如程序非法操作,地址越界、浮点溢出;

                           一种是在程序中使用了系统调用引起的。

中断处理一般分为中断响应和中断处理两个步骤,中断响应由硬件实施,中断处理主要由软件实施。

  • 请你说说传递到IP层(网络层)怎么知道报文该给哪个应用程序,它怎么区分UDP报文还是TCP报文

       根据端口区分:看IP头汇总的协议标识字段,17是udp,6是tcp

  •  请问你有没有基于做过socket的开发?具体网络层的操作该怎么做?(其实也是问网络编程的基本步骤)

         Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面

         服务端创建socket,绑定IP和端口号设置监听端口;

         客户端创建socekt,设置IP和端口,发出连接请求;

         服务器Socket监听到客户端Socket发来的连接请求之后,被动打开,并调用Accept()函数接收请求,

         这样客户端和服务器之间的连接就建立好了;

         分别获取服务端和客户端的输入输出进行通信。

  • 请问server端监听端口,但还没有客户端连接进来,此时进程处于什么状态?

     阻塞状态。使用了epoll,select等这样的io复用情况下,处于运行状态

  • 请你来说一下数字证书是什么,里面都包含那些内容

       数字证书是数字证书在一个身份和该身份的持有者所拥有的公/私钥对之间建立了一种联系

  • 请你来介绍一下udp的connect函数

  • 请你说一下阻塞,非阻塞,同步,异步

阻塞和非阻塞:调用者在事件没有发生的时候,一直在等待事件发生,不能去处理别的任务这是阻塞。

                         调用者在事件没有发生的时候,可以去处理别的任务这是非阻塞。

同步和异步: 调用者必须循环自去查看事件有没有发生,这种情况是同步。

                      调用者不用自己去查看事件有没有发生,而是等待着注册在事件上的回调函数通知自己,这种情况是异步

  • 请你来说一下GET和POST的区别

对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值