面试-计算机网络

考点

  • 传输层的作用
  • 传输层复用/分用的含义
  • 传输层和网络层的区别
  • UDP协议特点
  • UDP协议的报文结构
  • TCP协议特点
  • TCP协议的报文结构
  • TCP三次握手过程
  • TCP四次挥手过程
  • TCP怎么实现可靠传输
  • 停止等待协议
  • 滑动窗口协议
  • TCP流量控制
  • TCP拥塞控制
  • HTTP协议
    • HTTP工作流程
    • HTTP请求格式
    • HTTP1.1中8种请求方式
    • HTTP响应格式
    • HTTP中重要的请求头和相应头字段
    • HTTP常用状态码和意义
  • HTTPS协议
    • HTTPS协议与HTTP协议的区别
    • HTTPS协议的工作流程

知识点

传输层

  • 作用: 传输层为应用层提供通信服务
  • 在OSI七层模型中,传输层是面向通信的最高层,也是用户功能的最底层
  • 两大功能: 复用分用
    • 复用: 在发送端,多个应用进程公用一个传输层
    • 分用: 在接受端,传输层会根据不同端口号将数据派分给不同进程
  • 与网络层的区别:
    • 网络层为不同主机提供通信服务,传输层为不同主机的不同应用提供通信服务
    • 网络层只对报文头部进行差错检测,传输层对整个报文进行差错检测

UDP(用户数据报协议)

  • 只在IP数据报服务基础上增加少量功能: 复用和分用, 对整个报文的差错检测
  • 无连接
  • 不可靠
  • 面向报文: 传输单位是报文,不会进行拆分和拼接
  • 没有拥塞控制: 不会根据网络拥塞情况控制传输速率
  • 支持一对一,一对多,多对多,多对一(TCP只支持一对一)
  • 头部开销小只有8字节
    UDP头部

TCP(传输控制协议)

  • 面向连接
  • 可靠的
  • 面向字节流: 以字节为单位传输
  • 提供全双工通信: 即可作为发送端,也可作为接受端
  • TCP连接 = (发送端套接字, 接受端套接字) = (IP:端口, IP:端口)
    TCP头部
    三次握手
  • 客户端发送SYN=1,ACK=0,seq=x,进入SYN-SENT状态
  • 服务器接收后发送SYN=1,ACK=1,seq=y,ack=x+1,进入SYN-RCVD状态
  • 客户端收到应答后发送ACK=1,seq=x+1,ack=y+1,进入ESTABLISHED状态.服务器端接到报文也进入此状态
    • 为什么是三次而不是二次?
      防止失效的连接请求报文被服务端接受(第一次握手延迟导致客户端进行二次发送,这样会产生2个连接而服务器都进入ESTABLISHED状态,但实际上只使用了一次连接)

四次挥手
- 客户端发送FIN=1,seq=u,进入FIN-WAIT1状态(不再发送)
- 服务器接受并发送ACK=1,seq=v,ack=u+1,进入CLOSE-WAIT状态(不再接受)
- 服务器将所有数据发送完毕后,发送请求FIN=1,seq=w,ack=u+1,进入LAST-ACK状态(不再发送)
- 客户端接受并返回ACK=1,seq=u+1,ack=w+1,进入TIME-WAIT状态(等待2MSL时间后进入CLOSED状态),服务器接受进入CLOSED状态

TCP可靠传输的实现
无错的(全报文的差错检测),有序的(序列号),无丢失(延时重发)
使用的技术:流量控制,拥塞控制,连续ARQ

ARQ协议(停止等待协议)(Automatic Repeat reQuest自动重传请求)

  • 是滑动窗口协议的简化版
  • 发送者有超时计时器,发送的报文会保存到确认接受为止
  • 接受端接受的报文出现差错(传输时产生意外)直接丢弃

滑动窗口协议

  • 连续ARQ协议: 非堵塞(不必等待上一个报文的确认)
  • 累计确认: 接受者有接受窗口, 统一返回应答

流量控制

  • 控制发送者发送速率,防止接受者来不及接受
  • 根本目的: 防止报文丢失
  • 由滑动窗口协议实现
  • 死锁: 接受端发送一个0的报文,发送端等待下一个报文(但在传输中丢失),接受段也只有等待.从而产生死锁
  • 怎么解决死锁: 持续计时器

拥塞控制

  • 防止过多数据注入网络,从而缓解网络压力
  • 发送发维护一个慢开始门限
    • 发送窗口 < 慢开始门限 : 慢开始算法
    • 发送窗口 = 慢开始门限 : 慢开始/拥塞避免算法
    • 发送窗口 > 慢开始门限 : 拥塞避免算法

摘自 https://blog.csdn.net/u010425776/article/details/55006347

HTTP工作流程

  • DNS地址解析:根据URL得到主机IP地址
  • 封装HTTP请求数据包
  • 封装成TCP包,建立TCP连接
  • 客户机发送请求命令: URL + 协议版本号 + MIME信息(请求修饰符,客户机信息,内容)
  • 服务器响应: 状态行 + 协议版本号 + 成功/错误代码 + MIME信息(服务器信息,实体信息)
  • -

HTTPS工作流程

  • 客户端发起HTTPS请求
  • 服务端的配置: 证书的配置
  • 传送证书
  • 客户端解析证书: 确认后产生随机值(私钥)
  • 传送加密信息: 传输随机值
  • 服务端解密信息
  • 传输加密后的信息
  • 客户端解密信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值