Skip to content

计算机网络基础

TCP/IP 网络模型

OSI七层协议和TCP/IP协议对应关系

  • 物理层
    • 无没有对应关系,
    • 但是是必须的,如光纤
  • 数据链路层
    • 链路层
    • 在IP数据包前加上MAC头部封装成数据帧发送到网络上。
    • MAC用于区分同一个设备上不同的网卡等信息
  • 网络层
    • 网络层
    • 实际的传输功能实现,IP用网络号和主机号区分设备
    • IP 协议的寻址作用是告诉我们去往下一个目的地该朝哪个方向走,路由则是根据「下一个目的地」选择路径。
    • IP 报文大小超过 MTU(以太网中一般为 1500 字节)就会再次进行分片
    • 常见协议:
      • IP:
      • ARP:
      • ICMP:
      • NAT:
  • 传输层
    • 传输层
    • 应用层的数据包会传给传输层,传输层Transport Layer)是为应用层提供网络支持的。TCP和UDP,用端口区分不同应用的数据
  • 会话层
    • 没有对应层(由传输和应用层来共同实现)
    • 管理主机间的会话
  • 表示层
    • 没有对应层(由应用层解决)
    • 数据的格式化和编码转换
  • 应用层
    • 应用层
    • 应用软件实现层,专注于给用户提供应用功能,如HTTP、FTP、DNS、SMTP,POP3
      • 基于 TCP:
        • HTTP、WebSocket
        • SMTP(Simple Mail Transfer Protocol,简单邮件传输(发送)协议),只负责邮件发送,可以用来判定邮箱是否存在。
        • POP3/IMAP:负责邮件的接收,IMAP更新,现在最常用的。
        • FTP(File Transfer Protocol,邮件传输协议):客户端和服务器建立两个连接,一个控制连接,一个控制数据。注意:这个协议传输数据不会进行加密。
        • SFTP:基于 SSH 协议,对数据加密
        • SCP
        • SSH(Secure Shell):远程登录、隧道、端口映射等
          • 端口 22
        • Telnet:终端登录协议,相较于 SSH,是明文传输,现在很少用。
      • 基于 UDP
        • DNS(Domain Name System,域名管理系统):
    • 应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态

输入网址到网页显示流程

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

推荐几个在线邮箱是否有效检测工具:

  1. https://verify-email.org/
  2. http://tool.chacuo.net/mailverify
  3. https://www.emailcamel.com/

img

网络接口层的传输单位是帧(frame),IP 层的传输单位是包(packet),TCP 层的传输单位是段(segment),HTTP 的传输单位则是消息或报文(message)。但这些名词并没有什么本质的区分,可以统称为数据包。


正在精进