目录
前言
分层模型:
我们对这个世界的认识往往只是冰山一角,大部分的. 真相”都掩藏在海平面以下,网络世界更是如此。平时在家里访问各种网页或聊QQ时,我们的操作无外乎双击图标,打几个字而已,但对于计算机和网络中转设备来说,这是一一个相当复杂的过程。就好像邮寄一份礼物给 远方的朋友.我们需要做的只是将这份礼物交给邮局并注明正确的地址,如果不出意外, 这位友人将在一两周后收到,但是这份礼物中间经历了哪些复杂的过程,传递礼物的双方就不得而知了。对于网络的最终用户,了解到这个层次已经足够了,但如果想成为一名网络专业人员,就必须对这个过程了如指掌,这样才能分析排查网络的常见故障。
1.OSI参考模型和TCP/IP协议簇
在网络环境中常用的分层模型有两种:OSI和TCP/IP参考模型
1.1 OSI参考模型
由于各个计算机厂商都采用私有的网络模型,因此给通信带来了诸多麻烦,ISO于1984年颁布了OSI参考模型。OSI 参考模型是一个开放式体系结构,它规定将网络分为七层,从下往上依次是物理层、数据链路层、网络层,传输层、会话层、表示层和应用层
1.1.1 OSI七层参考模型表
分层 | 功能 |
应用层 | 网络服务与最终用户的一个接口 |
表示层 | 数据的表示,安全,压缩 |
会话层 | 建立,管理,终止会话 |
传输层 | 定义传输数据的端口号,以及流量控制和差错校验 |
网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 |
数据链路层 | 进行逻辑链接,进行硬件地址寻址,差错校验等功能 |
物理层 | 建立,维护,断开物理连接 |
1.2 TCP/IP参考模型
另外一个模型是TCP/P 模型。TCP/IP 是传输控制协议/网际协议(Transmission ControlProtocol/Intermet Protocol)的简称。早期的TCP/IP模型是一个四层结构,从下往上依次是网络接口层、互联网层、传输层和应用层。在后来的使用过程中,借鉴OSI的七层参考模型,将网络接口层划分为物理层和数据链路层,形成了一个新的五层结构。TCP/IP 是一系列协议的集合,所以严格的称呼应该是TCP/IP协议簇。
TCP/IP协议簇的前四层与OSI参考模型的前四层相对应,其功能也非常类似,而应用层则与0SI参考模型的最高三层相对应。
1.2.1 TCP/IP与OSI对应关系图
TCP/IP四层参考模型 | TCP/IP五层参考模型 | OSI七层参考模型 |
应用层 | 应用层 | 应用层 |
表示层 | ||
会话层 | ||
传输层 | 传输层 | 传输层 |
互联网层 | 网络层 | 网络层 |
网络接口层 | 数据链路层 | 数据链路层 |
物理层 | 物理层 |
1.2.2 TCP/IP五层模型对应的协议
数据链路层和物理层由底层网络定义的协议
网络层:
ICMP协议:Internet控制报文协议,是错误侦测与回馈机制
作用:测试网络的连通性,并给予一定的反馈
组成:ping ,tracert/traceroute命令
IGMP协议:组播协议
IP:IP协议
作用:定义IP地址
ARP协议:正向解析协议
作用:数据传输通讯地址,源IP,源mac,目标IP,目标mac
使用场景:已知目标IP,未知目标mac时使用。
工作原理:pc1已知pc2的IP地址,位置pc2的mac时使用。pc1发送ARP广播给二层交换机,二层交换机收到ARP广播消息后无条件泛洪处理,链接到二层交换机下的所有pc都将收到此消息,每台pc都会把自己的IP地址和目标IP对比,若一致,间接收此广播消息,并回数据包给pc1,pc1接收到返回的数据包后会记下pc2的IP和mac地址,记录到arp缓存表中,若不一致,则会丢弃处理
RARP协议:反向解析协议
适用场合:一直目标mac,未知目标IP
传输层:
TCP传输控制协议:协议号为6,面向连接的可靠的传输层协议。三次握手,四次断开,分段重传滑动窗口机制,保证数据传输的可靠性
缺点:这些机制需要耗费大量时间,因此效率较低
UDP用户数据报协议:协议号为17,面向无连接的不可靠的传输层协议,优点是没有机制保证数据传输的可靠性,但效率更高
缺点是可靠性不高
数据需要根据耗费流量大小以及传输效率去选择那些适合TCP,那些适合UDP
常见的语音,视频等这些需要耗费很多流量并且需要效率更高,这样的场合适合用UDP而一些应用服务对网络流量宽带要求并不高的,可靠性要求较高的这些场合适合用TCP
应用层:
HTTP:超文本传输协议 TCP-80 主要用于web页面的内容传输
FTP:文件传输协议:TPC-20/21
21:控制层面,控制用户是否在权限内登录,并且登录后的权限内容。
20:数据层面;主要用来传输数据的
FTTP:简单的文件传输协议 UDP-69,主要用于上传和下载小文件,常用于路由器交换机ISO系统升级或更新
SMTP:简单的邮件传输协议 TCP-25主要用于邮件的发送
POP3:邮局协议 TCP-110主要用于查看邮件
SNMP:简单的网络管理协议 UDP-161主要用于监控网络设备
DHCP:动态主机配置协议UDP-67,68。主要用于给用户分配IP
DNS:域名解析协议TCP/UDP-53、主要用于将域名解析成IP地址或者将IP地址解析成域名
总结
为什么要分层:为了将复杂的流程分解为几个功能相对单一的子过程
分层作用:是整个流程更加清晰,复杂问题简单化,更容易发现问题,并针对性的解决问题