Skip to main content

计网初探

Q1:

为什么网络采取分层的设计,是怎么划分的.OSI模型的七个层次是什么,谈谈你对这七个层次的理解

A1:

  • 标准化,便于兼容。
  • 便于故障排查。
  • 模块化,降低复杂度。

七层:

  1. 物理层:物理传输,光/电
  2. 数据链路层:把比特组合成帧,MAC寻址
  3. 网络层:选择路由
  4. 传输层:端到端通信
  5. 会话层:管理会话、维持和终止连接
  6. 表示层:数据表示、加密、压缩
  7. 应用层:对用户开放的协议,如HTTP、FTP、SMTP、DNS

Q2:

路由器交换机集线器都是什么,他们有什么区别,你手边有路由器吗,能否登录它的管理界面看看有哪些功能呢

A2:

  • 路由器 (Router):在网络层,根据IP地址和路由表决定转发路径,能连接不同网段
  • 交换机 (Switch):工作在数据链路层,根据MAC地址表转发帧
  • 集线器 (Hub):工作在物理层,收到信号就广播给所有端口,不能识别地址

Q3:

在打游戏等场景的时候会有时延,时延是怎么产生的,有什么办法优化时延吗

A3:

  • 处理时延:路由器/交换机解析包头
  • 排队时延:网络设备缓冲队列等待
  • 传输时延:将数据包的所有比特推向链路
  • 传播时延:光电在介质中传播

优化

  • 提高路由器/交换机性能
  • 提高传输/链路带宽
  • 不同地区部署服务器
  • 更换折射率更低光纤

Q4:

一个HTTP请求的响应过程是什么样子的,HTTP和HTTTPS有什么区别

A4:

  1. 浏览器输入URL,检查本地缓存和DNS缓存
  2. DNS解析域名获取服务器IP
  3. 建立TCP连接(三次握手)
  4. 浏览器发送HTTP请求报文
  5. 服务器处理请求,返回HTTP响应报文
  6. 浏览器渲染页面
  7. TCP四次挥手关闭连接

三次握手

  1. 客户端向服务器发送一个TCP报文段
  2. 服务器收到客户端的报文后,如果同意建立连接,会回复一个报文
  3. 客户端收到服务器的报文后,再发送一个确认报文

四次挥手

  1. 主动关闭方发送一个 TCP 报文段
  2. 被动关闭方收到后,发送一个确认报文
  3. 当被动关闭方也把所有的数据都发送完毕后,会发送一个报文给主动关闭方
  4. 主动关闭方收到被动关闭方报文后,发送一个最终的确认报文

HTTPS

在HTTP和TCP之间加了一层TLS/SSL


Q5:

DNS是什么,其有着怎样的层级结构,为什么用UDP不用TCP呢

A5:

domain name server,查询域名返回相应ip

层级结构

  1. 根域
  2. 顶级域
  3. 二级域
  4. 子域
  5. 主机

UDP

  • 无需连接建立,减少时延
  • 资源开销小

Q6:

什么叫ARP协议?他是如何工作的,在数据传输的过程中他扮演了一个什么样的角色?

A6:

IP到MAC的映射(Address Resolution Protocol)

流程

主机A要发包给同一局域网内的主机B,已知B的IP,但不知道B的MAC

A广播发送ARP请求

B收到后,返回自己的MAC地址的ARP应答