1. 网际层协议

IP协议(Internet Protocol)

IP协议是网络层的核心协议,负责逻辑寻址和数据包的路由转发。

  • IP地址:逻辑地址,用于标识网络中的主机
  • IPv4:32位地址,通常用点分十进制表示
  • IPv6:128位地址,解决IPv4地址耗尽问题

ARP协议(Address Resolution Protocol)

ARP协议用于将IP地址解析为物理地址(MAC地址)

  • 物理地址 = MAC地址
  • 逻辑地址 = IP地址

2. 传输层协议

TCP(Transmission Control Protocol)

TCP是面向连接的、可靠的传输层协议。

特点

  • 面向连接:通信前需要建立连接(三次握手)
  • 可靠传输:通过确认机制、重传机制保证数据可靠到达
  • 流量控制:采用可变大小的滑动窗口协议
  • 拥塞控制:防止网络拥塞
  • 差错校验和重传
  • 端口寻址

三次握手建立连接

  1. 客户端发送 SYN 包
  2. 服务器回复 SYN+ACK 包
  3. 客户端发送 ACK 包

TCP首部

  • TCP首部大小:20字节

UDP(User Datagram Protocol)

UDP是无连接的、不可靠的传输层协议。

特点

  • 无连接:不需要建立连接
  • 不可靠:不保证数据到达
  • 开销小:首部仅8字节(相比TCP的20字节)
  • 速度快:适用于实时应用

典型应用

  • VoIP(网络电话)
  • 视频流媒体
  • 在线游戏
  • DNS查询

TCP与UDP对比

特性 TCP UDP
连接方式 面向连接 无连接
可靠性 可靠 不可靠
首部大小 20字节 8字节
流量控制 有(滑动窗口)
拥塞控制
适用场景 文件传输、网页浏览 实时音视频、DNS

3. 应用层协议

DHCP(Dynamic Host Configuration Protocol)

DHCP是动态主机配置协议,用于自动分配IP地址。

功能

  • 集中的管理、分配IP地址
  • 使网络环境中的主机动态获得:
    • 本机IP地址
    • DNS服务器地址
    • DHCP服务器地址
    • 默认网关地址

无效地址

  • Windows无效地址:169.254.X.X
  • Linux无效地址:0.0.0.0

169.254.X.X 是Windows系统在DHCP信息租用失败时自动给客户机分配的IP地址。

DNS(Domain Name System)

DNS是域名系统,用于将域名解析为IP地址。

层次型主机域名的组成

主机名.域名.域名后缀.域名分类

电子邮件服务

SMTP(Simple Mail Transfer Protocol)

  • 功能:发送邮件协议
  • 端口号:25
  • 特点:只能传输ASCII码文本和文字附件
  • 扩展:可使用 MIME(邮件扩充协议)添加其他类型附件

POP3(Post Office Protocol v3)

  • 功能:接收邮件协议
  • 端口号:110
  • 模式:基于C/S(Client/Server)模式

共同点

  • SMTP和POP3都使用 TCP端口 传输和接收邮件

URL格式

协议名://主机名.域名.域名后缀.域名分类/目录/网页文件

scheme 指定服务连接的方式(协议)。


4. 网络设备详解

物理层设备

设备 说明
中继器 放大和再生信号,延长传输距离
集线器(Hub) 多端口中继器,将信号广播到所有端口

数据链路层设备

设备 说明
网桥 连接两个局域网,根据MAC地址转发帧
交换机(Switch) 多端口的网桥,根据MAC地址智能转发

网络层设备

设备 说明
路由器 根据IP地址进行路由选择和数据包转发

应用层设备

设备 说明
网关 连接不同网络协议的网络,进行协议转换

5. 路由

路由查找顺序

当Windows服务器收到一个IP数据包时,按以下顺序查找路由:

  1. 主机路由
  2. 网络路由(直连网络和远程网络)
  3. 默认路由

6. 无线网络

蓝牙

  • 覆盖范围最小
  • 通信距离最短

7. Windows网络命令

命令 含义
ipconfig 显示所有网络适配器的IP地址、子网掩码和缺省网关值
ipconfig/all 显示所有网络适配器的完整TCP/IP配置信息
ipconfig/release DHCP客户端手工释放IP地址
ipconfig/renew DHCP客户端手工向服务器刷新请求(重新申请IP地址)
ipconfig/flushdns 清除本地DNS缓存内容
ipconfig/displaydns 显示本地DNS内容
ipconfig/registerdns DNS客户端手工向服务器进行注册