一.计算机网络分层

一般结合OSI和TCP/IP分层的优点整合成一个5层协议
image.png
简述OSI七层模型

  1. 应用层(数据):为用户提供网络服务与应用
  2. 表示层(数据):实现用户信息和网络信息的相互转化
  3. 会话层(数据):会话的管理(断开与连接)
  4. 传输层(段):实现不同主机间进程的通信
  5. 网络层(包):通过IP地址实现端与端的通信
  6. 数据链路层(帧):利用MAC地址交换数据
  7. 物理层(比特流):设备之间的比特流传输

底层将上层数据进行封装
上层将底层数据进行解析

二.物理层

三.链路层

1.APR协议

功能:提供IP地址到MAC地址的映射 每一个主机都包含一个ARP高速缓存
原理:
首先主机查询ARP缓存表(IP地址->MAC地址),有就返回,没有就发出广播
源主机广播ARP请求,当目标主机识别到后,将自己mac地址返回给源主及,源主机保存在ARP缓存表中。

ARP字段(硬件-协议-发送者-目标)

  • 硬件类型
  • 协议类型
  • 硬件长度
  • 协议长度
  • 操作类型 1 ARP请求 2 ARP回复 3 RARP请求 4 RARP回复
  • 发送者硬件地址
  • 发送者IP地址
  • 目标硬件地址
  • 目标IP地址
  • CRC校验

image.png

ARP的弱点

  1. 广播ARP可能造成伪应答
  2. 可以在不接受到请求发送应答包

ARP代理返回

四.网络层

1.IP协议

特性:无连接,不可靠
不可靠:不能保证数据报成功到达目的地。发生错误后,发送ICMP到信号源端
无连接:IP数据可以不按顺序发送或接收(路由选择不同)

IP报文格式

  1. 版本号
  2. 首部长度
  3. 服务类型
  4. 总长度(数据链路需要填充数据达到最小长度)
  5. 标识字段
  6. 标志
  7. 段偏移:与分片有关
  8. 生存时间
  9. 上层协议
  10. 首部校验和(仅校验首部)(算法同TCP一致,不过只计算首部,TCP需要校验所有数据)
  11. 源地址
  12. 目标地址

image.png

路由器与主机区别
路由负责把数据从一个接口转发到另一个接口,主机不负责转发接口

路由寻址原则
根据最长匹配原则进行选址,否则返回主机不可达

路由特性
1.逐跳性:不知道完整路径,只提供下一跳的地址
2.每个网络一个路由器:减少路由表规模

路由表搜索过程
1.搜索匹配主机地址
2.搜索匹配网络地址
3.默认路由地址

IP地址=网络号+主机号
ABCDE类网络地址
通过子网掩码识别

2.ICMP

ICMP分类=查询报文+差错报文
image.png

什么情况发生主机不可达**
路由器寻址时未找到响应的路径

ping命令依赖ICMP实现

五.传输层

由TCP和UDP(用户数据报)两个协议组成
多个应用服务可以通过同一个传输协议传输,由于多个进程同时执行,传输层提供复用或分用

六.应用层

1.DNS协议

域名系统
功能:可以根据域名解析出访问主机的IP,方便用户不去记忆复杂的IP地址
实现:通过分布式数据库服务器实现,一般是逆向解析(com->baidu->www)

2.SMTP协议

电子邮件协议

3.HTTP协议

超文本传输协议