一.计算机网络分层
一般结合OSI和TCP/IP分层的优点整合成一个5层协议
简述OSI七层模型
- 应用层(数据):为用户提供网络服务与应用
- 表示层(数据):实现用户信息和网络信息的相互转化
- 会话层(数据):会话的管理(断开与连接)
- 传输层(段):实现不同主机间进程的通信
- 网络层(包):通过IP地址实现端与端的通信
- 数据链路层(帧):利用MAC地址交换数据
- 物理层(比特流):设备之间的比特流传输
二.物理层
三.链路层
1.APR协议
功能:提供IP地址到MAC地址的映射 每一个主机都包含一个ARP高速缓存
原理:
首先主机查询ARP缓存表(IP地址->MAC地址),有就返回,没有就发出广播
源主机广播ARP请求,当目标主机识别到后,将自己mac地址返回给源主及,源主机保存在ARP缓存表中。
ARP字段(硬件-协议-发送者-目标)
- 硬件类型
- 协议类型
- 硬件长度
- 协议长度
- 操作类型 1 ARP请求 2 ARP回复 3 RARP请求 4 RARP回复
- 发送者硬件地址
- 发送者IP地址
- 目标硬件地址
- 目标IP地址
- CRC校验
ARP的弱点
- 广播ARP可能造成伪应答
- 可以在不接受到请求发送应答包
四.网络层
1.IP协议
特性:无连接,不可靠
不可靠:不能保证数据报成功到达目的地。发生错误后,发送ICMP到信号源端
无连接:IP数据可以不按顺序发送或接收(路由选择不同)
IP报文格式
- 版本号
- 首部长度
- 服务类型
- 总长度(数据链路需要填充数据达到最小长度)
- 标识字段
- 标志
- 段偏移:与分片有关
- 生存时间
- 上层协议
- 首部校验和(仅校验首部)(算法同TCP一致,不过只计算首部,TCP需要校验所有数据)
- 源地址
- 目标地址
路由器与主机区别
路由负责把数据从一个接口转发到另一个接口,主机不负责转发接口
路由寻址原则
根据最长匹配原则进行选址,否则返回主机不可达
路由特性
1.逐跳性:不知道完整路径,只提供下一跳的地址
2.每个网络一个路由器:减少路由表规模
路由表搜索过程
1.搜索匹配主机地址
2.搜索匹配网络地址
3.默认路由地址
IP地址=网络号+主机号
ABCDE类网络地址
通过子网掩码识别
2.ICMP
ICMP分类=查询报文+差错报文
什么情况发生主机不可达**
路由器寻址时未找到响应的路径
五.传输层
由TCP和UDP(用户数据报)两个协议组成
多个应用服务可以通过同一个传输协议传输,由于多个进程同时执行,传输层提供复用或分用
六.应用层
1.DNS协议
域名系统
功能:可以根据域名解析出访问主机的IP,方便用户不去记忆复杂的IP地址
实现:通过分布式数据库服务器实现,一般是逆向解析(com->baidu->www)
2.SMTP协议
3.HTTP协议
超文本传输协议