对网络架构进行分层的思想:
将复杂的流程分解为几个功能相对单一的子过程
- 使得整个流程更加清晰,复杂问题简单化;
- 更易发现问题并针对性的解决问题。
第一个网络模型:
开放系统互连参考模型(OSI):一个开放式体系结构,将架构分为七层。
层 | 功能 | 对应设备 |
---|---|---|
应用层 | 网络服务一最终用户的一个借口 | 计算机 |
表示层 | 数据的表示,安全,压缩 | 计算机 |
会话层 | (打开网页、应用时)建立管理中止会话 | 计算机 |
传输层 | 定义传输数据的协议端口号(面向用户),流控和差错校验(面向硬件),承上启下 | 计算机 |
网络层 | 进行逻辑(IP)地址寻址,实现不同网络之间的路径选择 | 路由器 |
数据链路层 | 建立逻辑连接,进行物理(MAC)地址寻址,差错校验 | 交换机 |
物理层 | 建立、维护、断开物理连接(外观接口等) | 网卡 |
- 高三层面向的是用户,低三层面向的是硬件。
- 端到端与点到点通信区别在于:端口与节点,前者是传输层的通信,后者是网络层面(IP)通信。
OSI模型对比TCP/IP模型
- 思科用的是四层模型,华为用的是五层模型。
- TCP/IP 协议族的组成:
- 应用层协议(各种服务协议,面向用户):
HTTP(网页)、FTP(文件传输)、TFTP(小文件)、SMTP(发邮件)、SNMP(网络管理)、DSN(域名解析,将网址翻译成IP地址)
- 传输层协议:
TCP(传输可靠、速度慢)、UDP(用户数据报协议,不可靠,快)
- 网络层协议:
ICMP(网际控制报文协议)、IGMP(网际组管理协议)、IP、ARP(地址解析协议)、RARP(逆地址解析协议)
- 数据链路层协议:
IEEE 802.3(局域网)、IEEE 802.11(无线局域网)
- 物理层:无
ARP 工作原理:
①ARP请求:主机A的ARP缓存表中不存在主机C的MAC地址,所以主机A会发送ARP Request报文来获取目的MAC地址。ARP Request报文封装在以太帧里。帧头中的源MAC地址为发送端主机A的MAC地址。此时,由于主机A不知道主机C的MAC地址,所以目的MAC地址为广播地址FF-FF-FF-FF-FF-FF。ARP Request报文中包含源IP地址、目的IP地址、源MAC地址、目的MAC地址,其中目的MAC地址的值为0。ARP Request报文会在整个网络上传播,该网络中所有主机包括网关都会接收到此 ARP Request报文。网关将会阻止该报文发送到其他网络上。
②ARP响应:所有的主机接收到该ARP Request报文后,都会检查它的目的协议地址字段与自身的IP地址是否匹配。如果不匹配,则该主机将不会响应该 ARP Request报文。如果匹配,则该主机会将ARP报文中的源MAC地址和源IP地址信息记录到自己的ARP缓存表中,然后通过ARP Reply报文进行响应。ARP Reply报文中的源协议地址是主机C自己的IP地址,目标协议地址是主机A的IP地址,目的MAC地址是主机 A 的 MAC 地址,源 MAC 地址是自己的 MAC 地址,同时Operation Code被设置为Reply。ARP Reply报文通过单播传送。
③ARP缓存:主机A收到ARP Reply以后,会检查ARP报文中目的MAC地址是否与自己的MAC匹配。如果匹配,ARP报文中的源MAC地址和源IP地址会被记录到主机A的ARP缓存表中。
ICMP 协议:
- ping协议:
测试源设备与目的设备之间的端到端连通性。
- traceroute协议:
追踪源设备与目的设备之间的路由
数据包在传输过程中每经一个路由器称为一跳。
Traceroute显示沿途的每一跳,以及每一跳所花的时间。
如果发生问题,便可利用所显示的时间以及数据包经过的
路由来判断数据包是在何处丢失或延迟的。
数据封装与解封装过程
应用层产生的数据叫上层数据,往下走,在传输层加上TCP头部,打包后在网络层再加上IP头部,打包后在数据链路层再加上MAC头部,打包后在物理层封装成信号发出去。传输到了目标主机,目标主机通过网口接收到信号,再进行解封装,一步一步的去掉相应的头部,最后得到上层数据即有效的数据。
自上而下封装,解封装即自下而上。
PDU 协议数据单元
代表不同层对应的单位:
应用层:消息(massage)
传输层数据段(segment)
网络层:数据包(packet)
数据链路层数据帧(frame)
物理层 比特流(bits)