华为认证HCIA篇--网络参考模型及应用层、传输层协议
大家好呀!我是reload。今天来带大家学习一下华为认证ia篇的网络参考模型部分,应用层、传输层及其对应的协议。重点是tcp协议的工作流程,如三次握手、四次挥手,也是一道非常经典的求职面试题。
一、应用和数据
应用,如我们平常使用的微信、QQ,以及其他各种各样的软件。
数据,以微信聊天为例,我们每天聊天的文本消息,发送的图片、视频等都是数据。
应用与数据的关系?应用产生数据
数据在网络设备之间是如何传递的?通过网络参考模型进行数据的封装﹐再由网络介质实现数据的传递
二、网络参考模型与标准协议
什么是网络参考模型?数据进行标准化封装的流程
1、网络参考模型的分类
1.1 OSI 参考模型
1)概述
OSI 模型,由国际化标准组织ISO 收录在ISO 7489标准中并于1984年发布。
OSI参考模型又称为七层模型
,每层及其功能如下:
注:这7个层次都是在一台电脑或设备上处理的。每一个网络设备上(如手机、电脑)都会有这些模型层次。比如微信聊天,发送一段文本给好友,在发送这些数据之前,就经过了这几层模型的处理,非常快就已经做了这些数据的信息处理。
2)对上三层的理解
为了更方便理解,从我们生活中举例,如下:
应用层:对接app,对接应用
,如微信。
表示层:如A通过微信发消息给好友B,B只能通过微信接收信息,而不是QQ。
会话层:如微信点开一个好友聊天页面,只能与该好友互通信息,点开过程中就建立了双方的会话连接。
3) 其余四层的理解
以现实生活中买卖双方之间的交易为例。有A、B买卖双方,如下
1.2 TCP/IP参考模型
1)概述
由于OSI协议栈比较复杂,且TCP和IP两大协议在业界被广泛使用,所以TCP/IP参考模型成为了互联网的主流参考模型
。
TCP/IP参考模型分为TCP/IP对等模型
和TCP/IP标准模型
两类。
2)分层模型有什么好处?
①各个层次之间分工、界限明确
,有助于各个部件的开发、设计和故障排除。
②通过定义在模型的每一层实现什么功能,鼓励产业的标准化
。
③通过提供接口的方式,使得各种类型的网络硬件和软件能够相互通信,提高兼容性
。
3)TCP/IP常见协议
HTTP(Hypertext Transfer Protocol,超文本传输协议)
:用来访问在网页服务器上的各种页面。
FTP(File Transfer Protocol,文件传输协议)
:为文件传输提供了途径,它允许数据从一台主机传送到另一台主机上。
DNS(Domain Name Service,域名解析服务)
:用于实现从主机域名到IP地址之间的转换。
TCP (Transmission Control Protocol,传输控制协议)
:为应用程序提供可靠
的面向连接
的通信服务。目前,许多流行的应用程序都使用TCP
。
UDP(User Datagram Protocol,用户数据报协议)
:提供了无连接通信,且不对传送数据包进行可靠性的保证(无连接,不可靠
)。
IP(Internet Protocol,互联网协议)
:将传输层的数据封装成数据包并完成源站点到目的站点的转发,提供无连接、不可靠
的服务。
PPP(Point-to-Point Protocol,点对点协议)
:一种点对点模式
的数据链路层协议,多用于广域网
。
Ethernet(以太网协议)
:一种多路访问
广播型数据链路层协议,是当前应用最为广泛的局域网技术
。
注:更完整的可参考协议地图,如下
2、应用层、传输层及其协议
2.1 应用层
1)应用层产生的数据称为Data
(数据)。
2)每种协议类型(如http、telnet)产生不同的数据。
3)不同类型的协议用端口号
做区分。
2.2 传输层
1)传输层产生的数据称为Segment
(数据段)。
2)TCP报文格式
bit,是数据存储的最小单位。1 Byte = 8 bit
1个bit可以描述 0/1(2^1), 2个bit可以描述 00/01/10/11(2^2)
端口的取值范围 0~65535(2^16=65536)
0~1023是知名端口,一般当作目标端口使用;1024-65535 是随机端口,一般当作源端口使用。
3、tcp协议工作流程
3.1 TCP三次握手机制
1)概述
任何基于TCP的应用,在发送数据之前,都需要由TCP进行“三次握手
”建立连接。
过程整理如下图所示,重点看图中注释:
2)seq和ack的值
seq:前两次,seq随机;第三次,seq=上一个报文的ack
ack:第一次,ack=0;后两次,ack=上一个报文的seq+1
置位:将bit设置为1。不置位:将bit设置为0
3.2 TCP数据交互机制
三次握手只是建立连接,不携带数据。
理解三次握手机制后,数据交互无非是携带数据进行传送
,即多了一个携带的数据大小。过程整理如下图:
3.3 TCP滑动窗口机制
TCP通过滑动窗口机制
来控制数据的传输速率
。
1)TCP是一种有序的、可靠的
报文交互,存在seq和 ack号。
2)TCP具备重传机制
。
3)TCP根据网络质量调节数据传输
。
4)TCP存在window字段,表明了可以接收的数据大小
。
案例如下:
再来看一个案例:
注:窗口值可以自动调节每次发送报文的大小。
3.4 TCP四次挥手机制
当数据传输完成后,通过“四次挥手
”机制断开TCP连接,释放系统资源
。
关键是两个标志位FIN和ACK,两端都要将数据传输完成,才认为是数据交互完毕。当数据交互完毕后就会触发四次挥手机制
。