计算机网络

  1. 计算机网络的各层协议及作用?
    计算机网络体系可以大致分为以下三种: OSI七层模型,TCP/IP四层模型和五层模型
    ○ OSI七层模型:大而全,但是比较复杂,而且是先有理论模型。没有实际应用
    ○ TCP/IP四层模型:是有实际应用发展总结出来的,从实质上讲,TCP/IP只有最上面三层,最下面一层没有没事具体内容,TCP/IP参考模型没有真正描述这一层的实现
    ○ 五层模型:五层模型只出现在计算机网络教学过程中,这是对七层模型和四层模型的一个折中,既简洁又能将概念阐述清楚。

    ○ 七层网络体系结构各层的主要功能:
    ■ 应用层:为应用程序提供交互服务。在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等
    ■ 表示层:主要负责数据格式的转换,如加密解密,转换翻译,压缩解压缩等
    ■ 会话层:负责在网络中的两节点之间建立,维持和终止通信,如服务器验证用户登陆便是由会话层完成的
    ■ 运输层:有时也翻译为传输层,向主机进程提供通用的数据传输服务。该层主要有一下两种协议:
    ● TCP:提供面向连接的,可靠的数据传输服务
    ● UDP:提供无连接的,尽最大努力的数据传输服务,但不保证数据传输的可靠性
    ■ 网络层:选择合适的路由和交换结点,确保数据数据及时传送。主要包括IP协议
    ■ 数据链路层:数据链路层通常简称为链路层。将网络层传下来的IP数据包组装成帧,并再相邻节点的链路上传送帧
    ■ 物理层:实现相邻节点间比特流的透明传输,尽可能屏蔽传输介质和通信手段的差异
  2. TCP和UDP的区别:
    a. 对比如下:
    b. UDP 无连接 不可靠传输 不使用流量控制和拥塞控制 无序 快 支持一对一,一对多,多对一 多对多的交互通信 面向报文 首部开销小仅8个字节 适用于实时(IP电话,视频会议,直播等)
    c. TCP 面向连接 可靠传输 使用流量控制和拥塞控制 有序,消息在传输过程中可能会乱序,TCP会重新排序 慢 只能一对一通信 面向字节流 首部最小20字节,最大60字节 适用于要求可靠传输的应用 ,例如文件传输
    总结:TCP用于在传输层有必要实现可靠传输的情况,UDP用于对高速传输和实时性有较高要求的通信。TCP和UDP应该根据应用目的按需使用
  3. UDP和TCP对应的应用场景是什么?
    TCP是面向连接,能保证数据的可靠性交付,因此经常用于:
    ○ FTP文件传输
    ○ HTTP/HTTPS
    UDP面向无连接,它可以随时发送数据,再加上UDP本身的处理既简单又高效因此经常用于:
    ○ 包量较少的通信 如DNS,SNMP等
    ○ 视频,音频等多媒体通信
    ○ 广播通信
  4. 详细介绍一下TCP的三次握手机制
    a. 三次握手机制:
    ■ 第一次握手:客户端请求建立连接,向服务端发送一个同步报文(SYN=1),同时选择一个随机数seq = x 作为初始序列号,并进入SYN_SENT 状态,等待服务器确认。
    ■ 第二次握手:服务器收到请求报文后,如果同意建立连接,则向客户端发送同步确认报文(SYN=1,ACK=1),确认号为ack = x+1,同时选择一个随机数seq = y 作为初始序列号,此时服务器进入SYN_RECV 状态
    ■ 第三次握手:客户端收到服务端的确认之后,向服务端发送一个确认报文(ACK = 1),确认号为ack = y+1,序列号为seq = x+1,客户端和服务器进入ESTABLISHED状态,完成三次握手
    理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP连接都将被一直保持下去

你可能感兴趣的:(计算机网络)