一.分层思想
1.分层背景
OSI(Open Systems Interconnection,开放式系统互联)是国际标准化组织(ISO)在20世纪80年代制定的一种通信协议的通信模型,主要用于计算机网络中,规定了计算机系统之间通信的标准方法和协议。
2.分层优点
-
各层之间相互独立,每一层只实现一种相对独立的功能,使问题复杂程度降低,利于针对解决问题
-
灵活性好,各层内部的操作不会影响其他层
-
结构上可分割开,各层之间都可以采用最合适的技术来实现
-
易于实现和维护,因为整个系统已被分解成相对独立的子系统
-
能促进标准化工作,因为每一层的功能及其提供的服务都有了精确的说明
二.OSI参考模型
互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分为七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。OSI模型分为七层,从上到下依次为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
1.应用层:输入高级语言指令,人与程序之间的一个交流平台(例如:微信输入聊天的话语)
2.表示层:将人类使用的高级语言翻译成二进制语言。
3.会话层:管理多个会话,保证消息正确到达指令主机。
4.传输层:确定传输的协议,在网络传输中,通过端口号的不同,来区分应用程序(数据段)
tcp:传输数据的时候慢,但是很稳定。例如:web
udp:传输数据的时候很快,但是不稳定。例如:直播
协议的意思是协商、议定。发送数据时按照某种格式发,对面收的时候,也以某种格式接收。如果涉及到数据的传输,A与B之间靠端口号确定。在单体电脑中靠PID。
5.网络层:选择数据的最佳传输路线(IP地址)(数据包)
6.数据链路层:二次确认,数据是否正确到达,mac地址(全球唯一的)(数据帧)
7.物理层:将二进制数据转换成电信号,传输出去(例如:插上网线,定义了一些物理接口的标准)
层次模型 | 作用 | 数据单元 | 主要设备 |
---|---|---|---|
物理层 | 建立、维护、断开物理连接 | 比特流 | 网卡 |
数据链路层 | 进行硬件地址寻址,差错校验等功能 | 数据帧 | 交换机 |
网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 | 数据包 | 路由器 |
传输层 | 定义传输数据的协议端口号,以及流量和差错校验 | 数据段 | |
会话层 | 建立、管理、中止会话 | message | |
表示层 | 数据的表示、压缩、格式化、加密 | message | |
应用层 | 网络服务与最终用户的一个接口 | message |
应用层、表示层、会话层为高三层,是面向用户的;
网络层、数据链路层、物理层为低三层,是面向硬件的。
网络层及以下的通信为点到点通信(主机与主机);
传输层的通信为端到端(端口到端口)。
三.TCP/IP参考模型
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
1.OSI参考模型与TCP/IP参考模型的对应关系
- TCP/IP 4层模型(思科)从下往上依次为:网络接口层、网络层、传输层、应用层
- TCP/IP 5层模型(华为)从下往上依次为:物理层、数据链路层、网络层、传输层、应用层
2.设备与层的对应关系
应用层:PC(控制真实数据转发文件)
(7层协议)
传输层:防火墙 (根据协议和端口号转发数据)
(4层原理)
网络层:路由器(根据IP地址转发数据)
(3层原理)
数据链路层:交换机(根据mac地址转发数据)
(2层原理)
物理层:网卡(集成信息数据)
(1层原理)
四.TCP/IP协议族的组成
网际协议群
模型层 | 协议 |
---|---|
物理层 | IEEE802.3有线局域网(以太网) IEEE802.11无线局域网标准 |
数据链路层 | Point-to-Point Protocol |
网络层 | IP (ICMP IGMP ARP RARP) |
传输层 | TCP UDP |
应用层 | HTTP FTP TFTP SMTP SNMP DNS |
物理层:
- IEEE802.3有线局域网(以太网)
- IEEE802.11无线局域网标准
数据链路层:
- 点对点协议(Point-to-Point Protocol) PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。
网络层:
IP协议:(Internet Protocol,网际协议),而 IP 又由四个支撑协议 组成:
-
ARP(地址解析协议): 是将IP地址转换成物理mac地址 的协议
-
RARP(逆地址解析协议): 是根据物理mac地址转换成IP地址的协议
-
ICMP(网际控制报文协议):ping 网络连通性检测 检测网络连通性
-
IGMP(网际组管理协议):一个组播协议,该协议运行在主机和组播路由器之间
单播:1对1发消息 私聊
组播:只对一部分人发消息 全班中的某 一组
广播:对所有人发消息 全班
传输层:
- TCP :传输控制协议 可靠协议 (安全性高,速度慢)
- UDP:用户数据报协议 不可靠协议(安全性不高,速度快)
应用层:
- HTTP(超文本传输协议):是一个简单的请求-响应协议,现在主要的场景是web服务,就是网页的传输,默认使用tcp的80端口 http
- HTTPs:是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,默认使用tcp的443端口 当当买书,
- FTP文件传输协议:FTP( File Transfer Protocol)提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限,默认使用tcp的20,21端口
- TFTP简单文件传输协议:是一个小而易于实现的文件传送协议,TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别,默认使用udp的69端口
- SNMP简单网络管理协议:是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,默认使用udp的161端口
- SMTP简单邮件传输协议:一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式,用于邮件的发送,默认使用tcp的25端口
- POP3邮局协议版本3:用于邮件的接收,默认使用tcp的110端口
- telnet远程登陆协议:一种字符模式的终端服务,可以使用户通过网络进入远程主机或网络设备,然后对远程主机或设备进行操作,默认使用tcp的23端口
- ssh安全的远程登陆协议,默认使用tcp的22端口ssh
- DNS 域名解析系统:将域名和IP地址相互映射,默认使用tcp和udp的53端口
- DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,默认使用udp的67和68端口。
五、数据封装与解封装过程
1、数据封装过程
数据从源主机传输到目标主机要进行数据封装和数据拆包的过程被称为数据封装过程。数据封装的传输过程中,在每一层要加入首部信息,有时还要增加尾部信息。数据单元在传输层被称为段(segment),在网络层被称为包(package),在链路层被称为帧(frame)。
应用层:将用户信息转换为二进制数据,并将数据进行分片 ;
传输层:将二进制数据分割成小的数据段 ,在数据前封装TCP报文头部(数据段)
(TCP头部的关键信息–端口号) ;
网络层:接收上一层的数据段,在数据段前封装IP头部(数据包)
(IP头部的关键信息–IP地址);
数据链路层:接收上一层的数据包,在数据包前加入MAC头部(数据帧)
(MAC头部的关键信息–MAC地址) ;
物理层: 二进制数据组成的比特流转化为电信号在网络中传输 。(比特流)
2、数据解封装过程
物理层:将电信号转化为二进制数据,并将其送至数据链路层;
数据链路层:查看目标MAC地址,判断其是否与自己的MAC地址吻合。若吻合,则拆掉MAC头部,将剩余数据传输至上一层;若不吻合,则丢弃数据;
网络层:查看目标IP地址,地址是自己的,就拆掉IP头部,继续传输至上一层;地址不是自己的,就丢弃数据;
传输层:根据TCP头部判断数据段送往哪里,之后将被分组的数据段重组,传送至应用层;
应用层:将二进制数据还原成原始信息。