计算机网络(1):基础

1 协议栈

2 协议分层

image.png|450

应用层,负责给应用程序提供统一的接口;表示层,负责把数据转换成兼容另一个系统能识别的格式;会话层,负责建立、管理和终止表示层实体之间的通信会话;传输层,负责端到端的数据传输;网络层,负责数据的路由、转发、分片;数据链路层,负责数据的封帧和差错检测,以及 MAC 寻址;物理层,负责在物理网络中传输数据帧

3 TCP/IP四层模型

20210717222451.PNG

image.png|525

  • MTU:一个网络包的最大长度,以太网中一般为 1500 字节。

  • MSS:除去 IP 和 TCP 头部之后,一个网络包所能容纳的 TCP 数据的最大长度。
    image.png

应用层:应用层位于传输层之上,主要提供两个终端设备上的应用程序之间信息交换的服务,它定义了信息交换的格式,消息会交给下一层传输层来传输。
传输层:传输层的主要任务就是负责向两台终端设备进程之间的通信提供通用的数据传输服务。
网络层:网络层负责为分组交换网上的不同主机提供通信服务。

[!question] 访问网页过程

  1. 在浏览器中输入指定网页的 URL,解析URL地址,确定Web服务器和请求的文件名
  2. 浏览器通过 DNS 协议,获取域名对应的 IP 地址。(DNS查找过程:浏览器缓存、路由器缓存、DNS缓存)
  3. 浏览器根据 IP 地址和端口号,向目标服务器发起一个 TCP 连接请求。
  4. 浏览器在 TCP 连接上,向服务器发送一个 HTTP 请求报文,请求获取网页的内容。
  5. 服务器收到 HTTP 请求报文后,处理请求,并返回 HTTP 响应报文给浏览器。
  6. 浏览器收到 HTTP 响应报文后,解析响应体中的 HTML 代码,渲染网页的结构和样式,同时根据 HTML 中的其他资源的 URL(如图片、CSS、JS 等),再次发起 HTTP 请求,获取这些资源的内容,直到网页完全加载显示。
  7. 浏览器在不需要和服务器通信时,可以主动关闭 TCP 连接,或者等待服务器的关闭请求。

直接在浏览器输入IP地址:访问不到

4 网络攻击

4.1 DDos

  • SYN泛洪攻击

  • TCP劫持攻击

  • 中间人攻击

计算机网络面试题 | 小林coding (xiaolincoding.com)

4.2 SQL注入

4.3 DNS劫持