计算机网络


网络基础概念

  • 计算机网络的定义:什么是计算机网络?
  • 网络分类
    • 按范围:局域网(LAN)、广域网(WAN)、城域网(MAN)。
    • 按拓扑结构:星型、环型、总线型、网状等。
  • 网络设备:路由器、交换机、网关、调制解调器等。

网络协议

OSI 七层模型与四层模型

OSI七层模型:为了使全世界不同体系结构的计算机能够互联,国际化标准组织ISO提出开放系统互联基本参考模型,简称OSI,即七层协议体系结构。

OSI七层模型是一个大而全的理论模型,而TCP/IP四层模型是由实际应用发展总结出来的,但从实质上讲,TCP/IP只有最上面三层,最下面一层没有具体内容,TCP/IP参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组。

OSI 七层模型


1. 物理层(Physical Layer)

  • 功能
    • 负责在物理介质上传输原始的比特流(0和1)。
    • 定义电气、机械、时序和接口标准,确保数据能够通过物理介质(如电缆、光纤、无线电波)传输。
    • 不关心数据的含义,只关注如何传输比特流。
  • 协议/技术
    • 以太网(Ethernet)、USB、蓝牙、Wi-Fi(IEEE 802.11)、光纤(Fiber Optic)、RS-232等。
  • 设备
    • 网卡(NIC)、集线器(Hub)、中继器(Repeater)、调制解调器(Modem)等。
  • 实际应用
    • 通过网线将电脑连接到路由器。
    • 通过Wi-Fi将手机连接到无线网络。

  • 功能
    • 提供节点到节点的数据传输(通常是同一局域网内的设备)。
    • 将比特流组织成帧(Frame),并进行错误检测和纠正。
    • 管理物理地址(MAC地址),确保数据帧发送到正确的设备。
  • 协议/技术
    • 以太网(Ethernet)、PPP(点对点协议)、HDLC(高级数据链路控制)、VLAN(虚拟局域网)等。
  • 设备
    • 交换机(Switch)、网桥(Bridge)等。
  • 实际应用
    • 交换机根据MAC地址将数据帧转发到目标设备。
    • 在局域网中,设备通过MAC地址相互通信。

3. 网络层(Network Layer)

  • 功能
    • 负责数据包的路由和转发,实现不同网络之间的通信。
    • 使用逻辑地址(如IP地址)来标识设备,并选择最佳路径将数据包从源设备传输到目标设备。
    • 处理拥塞控制、分段和重组。
  • 协议/技术
    • IP(Internet Protocol)、ICMP(Internet控制消息协议)、ARP(地址解析协议)、RIP(路由信息协议)、OSPF(开放最短路径优先)等。
  • 设备
    • 路由器(Router)、三层交换机(Layer 3 Switch)等。
  • 实际应用
    • 路由器根据IP地址将数据包从你的电脑发送到远程服务器。
    • 互联网中数据包通过多个路由器跳转到达目的地。

4. 传输层(Transport Layer)

  • 功能
    • 提供端到端的数据传输服务,确保数据的可靠性和完整性。
    • 负责流量控制、错误恢复和数据分段。
    • 提供两种主要服务:
      • 面向连接的服务(如TCP):确保数据可靠传输。
      • 无连接的服务(如UDP):提供高效但不保证可靠性的传输。
  • 协议/技术
    • TCP(传输控制协议)、UDP(用户数据报协议)、SCTP(流控制传输协议)等。
  • 实际应用
    • TCP用于网页浏览(HTTP)、文件传输(FTP)等需要可靠传输的场景。
    • UDP用于视频流、在线游戏等对实时性要求高的场景。

5. 会话层(Session Layer)

  • 功能
    • 管理应用程序之间的会话(Session),控制对话的建立、维护和终止。
    • 提供同步点,以便在通信中断时恢复会话。
    • 管理对话模式(全双工、半双工、单工)。
  • 协议/技术
    • NetBIOS、RPC(远程过程调用)、PPTP(点对点隧道协议)等。
  • 实际应用
    • 在视频会议中,会话层管理用户之间的连接和断开。
    • 在数据库访问中,会话层管理客户端与服务器之间的会话。

6. 表示层(Presentation Layer)

  • 功能
    • 负责数据的格式化、加密和解密,确保数据在不同系统间的兼容性。
    • 将应用层的数据转换为网络格式,或将网络格式转换为应用层数据。
    • 处理数据压缩、加密和字符编码转换。
  • 协议/技术
    • SSL/TLS(加密)、JPEG(图像格式)、MPEG(视频格式)、ASCII/Unicode(字符编码)等。
  • 实际应用
    • 在HTTPS通信中,表示层使用SSL/TLS对数据进行加密。
    • 在文件传输中,表示层将数据转换为适合网络传输的格式。

7. 应用层(Application Layer)

  • 功能
    • 提供用户接口和网络服务,支持应用程序之间的通信。
    • 直接为用户提供服务,如文件传输、电子邮件、网页浏览等。
  • 协议/技术
    • HTTP(网页浏览)、FTP(文件传输)、SMTP(电子邮件)、DNS(域名解析)、DHCP(动态主机配置协议)等。
  • 实际应用
    • 使用浏览器访问网页时,应用层使用HTTP协议与服务器通信。
    • 发送电子邮件时,应用层使用SMTP协议。

总结

OSI七层模型的核心思想是分层解耦,每一层只关注自己的功能,并通过标准接口与上下层交互。这种设计使得网络协议和设备的开发、维护和升级更加灵活和高效。

层级 名称 功能概述 协议示例 设备示例
7 应用层 提供用户接口和网络服务 HTTP、FTP、SMTP、DNS 应用程序
6 表示层 数据格式化、加密、压缩 SSL/TLS、JPEG、MPEG -
5 会话层 管理应用程序之间的会话 NetBIOS、RPC -
4 传输层 提供端到端的数据传输服务 TCP、UDP 网关
3 网络层 负责数据包的路由和转发 IP、ICMP、ARP 路由器
2 数据链路层 提供节点到节点的数据传输 以太网、PPP 交换机、网桥
1 物理层 在物理介质上传输原始比特流 以太网、Wi-Fi、USB 网卡、集线器

TCP/IP 四层模型

    • 网络接口层、网络层、传输层、应用层。
  • 常见协议
    • 网络层:IP(IPv4/IPv6)、ICMP、ARP。
    • 传输层:TCP、UDP。
    • 应用层:HTTP、HTTPS、FTP、DNS、SMTP、WebSocket 等。

IP 地址和子网划分

  • IP 地址
    • IPv4 和 IPv6 的区别。
    • 公有 IP 和私有 IP。
  • 子网划分
    • 子网掩码(Subnet Mask)。
    • CIDR(无类别域间路由)表示法。
  • NAT(网络地址转换):原理和作用。

传输层协议

  • TCP(传输控制协议)
    • 三次握手和四次挥手。
    • 可靠传输机制(确认、重传、流量控制、拥塞控制)。
  • UDP(用户数据报协议)
    • 无连接、不可靠传输。
    • 适用场景(如视频流、在线游戏)。

HTTP/HTTPS

  • HTTP 协议
    • 请求/响应模型。
    • 请求方法(GET、POST、PUT、DELETE 等)。
    • 状态码(1xx、2xx、3xx、4xx、5xx)。
    • Headers(如 Content-Type、Cache-Control、Authorization)。
  • HTTPS
    • SSL/TLS 加密机制。
    • 证书和 CA(证书颁发机构)。

DNS(域名系统)

  • DNS 的作用:将域名解析为 IP 地址。
  • DNS 查询过程:递归查询和迭代查询。
  • DNS 记录类型:A、CNAME、MX、TXT 等。

网络安全基础

  • 加密技术
    • 对称加密(如 AES)。
    • 非对称加密(如 RSA)。
  • 认证和授权
    • OAuth、JWT(JSON Web Token)。
  • 常见攻击与防御
    • DDoS 攻击、SQL 注入、XSS(跨站脚本攻击)、CSRF(跨站请求伪造)。

网络编程

  • Socket 编程
    • TCP Socket 和 UDP Socket。
    • 客户端-服务器模型。
  • RESTful API
    • 设计原则(如资源、HTTP 方法、状态码)。
    • 使用工具(如 Postman)测试 API。

网络工具

  • Ping:测试网络连通性。
  • Traceroute:追踪数据包路径。
  • Netstat:查看网络连接状态。
  • Wireshark:抓包分析工具。

云计算和网络

  • CDN(内容分发网络):加速内容分发。
  • 负载均衡:如 Nginx、HAProxy。
  • 云服务网络:如 AWS VPC、Azure Virtual Network。

实际应用场景

  • Web 开发:理解 HTTP/HTTPS 请求的生命周期。
  • 移动开发:处理网络请求和数据同步。
  • 微服务架构:服务间通信(如 gRPC、REST)。
  • 物联网(IoT):设备与服务器的通信。

计算机网络基础

作者

sonder

发布于

2025-02-07

更新于

2025-03-05

许可协议