网络协议面试

  • TCP的三次握手和四次挥手
    •   http://www.cnblogs.com/Kobe10/p/5770585.html

  • Tcp和Udp的区别
    •   TCP:TCP是面向连接的,进行的是全双工通信(两个方向同时进行通信),提供可靠的服务,面向字节流的
    •   UDP:UDP不是面向连接的,提供不可靠的交付,它传输的是报文段,首部开销较小没有拥塞控制

  • TCP怎样提供可靠传输的?
    •   ARQ(超时重传协议),流量控制,数据校检,拥塞控制
    •   超时重传:三种情况(传送丢失,接收丢失,重复传输)。当一个TCP发出一个请求的时候,会设置一个定时器,如果过了一段时间没有接收到确认信息,就会重新发送一个请求出去。
      •   三种情况:收到重复的丢弃,有差错的丢弃,超时的重传
    •   数据校检:当一个客户端收到另一端的数据,它会过一会再发送一个确认信息给另一端(因为过一会是需要进行数据检测的)
    •   流量控制:滑动窗口机制。
    •   拥塞控制:

  • 协议
      •   物理层:没啥协议,但是
      •   数据链路层:局域网(封装成帧,透明传输,差错检测),CMSA/CD协议,ARP,RARP
        •   封装成帧:将网络层传下来的数据报加上桢首部和桢尾部,封装成桢,加上桢界定符
        •   透明传输,差错检测。冗余检测算法。
        •   CMSA/CD:多点接入载波监听碰撞检测。载波监听是指:不管在发送前还是发送中,每一个站都要不停的检测信道。如果有其他存在的话,就不准发送信道。碰撞检测是指:发送中检测信道,及时检测以免发生碰撞。
        •   ARP地址解析协议:实现,广播发送一组ARP请求,所有用户接收,如果找到返回确认信息,没有不返回信息。
      •   网络层
        •   ip协议,ICMP协议,igmp协议,NAT,
        •   ICMP协议:主要是用于在路由器和用户主机之间的协议,用来报告错误,交换信息,状态等。(比如PING命令就用到了ICMP协议)
      •   运输层
        •   TCP和UDP
      •   会话层和表示层没有协议,
      •   应用层HTTP,FTP,SMTP,DNS,Telente

      •   DNS:通过主机名,得到该主机的IP地址的协议。采用的是客户服务器方式(域名解析协议)
      •   FTP:文件传输协议。FTP使用的也是客户服务器模式,它是利用了TCP的可靠连接。一个FTP服务器可以对应多个客户端。进行文件传输的时候,FTP和客户端会建立两个TCP链接,一个是用于控制连接,一个数用于传输连接(文件传输)(21)
      •   HTTP:超文本传输协议。它使用的是TCP的可靠连接。它是一个标准的客户端服务器端的应答。(TCP)(端口80)
      •   SMTP:简单邮件传输协议。它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式(25)


    •   TCP/IP协议的内容
      •   网际层:
      •   网路层:
      •   传输层:
      •   应用层:


  • 网络层有什么协议
    •   ARP:根据ip地址找到对方的物理地址。ARP协议原理:①每一个主机都有一个ARP缓冲,用来存放ip地址和物理地址。当主机要发送一个ARP请求时,首先查找自己的ARP缓冲中有没有这样的ip地址,如果有直接发送到对应的硬件地址,如果没有主机广播发出一个ip地址,每一个目的主机都会去判断是不是自己的ip地址,如果是就返回一个信息,里面包含它的物理地址,如果没有就不做出回应。
    •   RARP
    •   ICMP:网际控制协议。
      •   作用:当转发IP数据报出现错误时,给出原因。(Ping命令:用来对两个主机之间进行连通检测的。)
      • 怎么发送数据:以IP数据报为载体发送。
    •   IGMP

  • TCP怎么保证错误重传(超时重传)?
    •   接收方收到错误的报文段,直接丢弃,不做任何措施(TCP会自动重传)
    •   发送方在规定的时间内没有收到确认信息,就自动重传。为了知道是哪个分组出了问题,给分组进行编号。

  • TCP确认丢失和确认迟到保证
    •   确认丢失:当发送一个请求,然后很久没收到确认信息,确认丢失了;丢掉这个发送的请求分组,重新发送一个请求
    •   确认迟到:确认迟到了之后丢弃重复的确认即可。

  • IP协议,UDP协议,TCP协议的检测
    •   IP
      •   检测数据报的首部,不检测数据部分,每经过一个路由器检测一次,错误直接丢弃。
    •   UDP
      •   检测首部加上数据部分,由目的主机检测,发现错误直接丢弃
    •   TCP
      •   检测首部加上数据部分,由目的主机检测,发现错误直接丢弃
原文地址:https://www.cnblogs.com/Kobe10/p/5795103.html