Title Loading...
- Time Loading...
- Wordcount Loading...
Catalogue
网络通信协议学习笔记(二) TCP/IP 模型及其协议簇
相关术语
TCP:Transmission Control Protocol
IP:Internet Protocol
ICMP:Internet Control Message Protocol
ARP:Address Resolution Protocol
RARP: Reverse Address Resolution Protocol
UDP:User Datagram Protocol
TCP/IP 分层模型
TCP/IP分层模型,是当今互联网中广泛使用的架构模型。它在OSI的七层模型的基础上做出了更符合实际需要的改变,因此成为了当今互联网事实上的标准。继上次学习OSI七层模型后,博主接着学习了TCP/IP的四层模型。
TCP/IP四层模型,从顶至下可以分为: 应用层、传输层、网络层、网络接口层。应用层对应OSI模型的应用层、表示层、会话层,传输层对应OSI的传输层、网络层对应OSI的网络层、而网络接口层则对应OSI的数据链路层和物理层。在TCP/IP的分层中,大多以具体的协议来进行每层的划分。
下面分别对TCP/IP分层模型的每一层进行释明。
第四层:应用层
面向用户的一层,具体应用有FTP、DNS等。
第三层:传输层
TCP协议便工作在这一层,此层的功能是根据端口号寻址,提供端到端的稳定(TCP)或者不稳定(UDP)的连接。在这一层中,数据被分段层一个一个的报文然后再传入下一层
第二层:网络层
IP协议工作在此层,此层负责的是通过ip地址进行寻址,还有路由选择。提供的是无连接、不稳定的通信。
第一层:网络接口层
此层包括OSI模型中的数据链路层和物理层。因此,此层具备将数据封装成帧、依据物理地址进行寻址等功能。并负责将数据以Bit流的形式送达对方主机。
TCP协议
TCP,即传输控制协议(Transmission Control Protocol)。此协议在TCP/IP分层模型中属于第二层,也就是传输层。谈到TCP,就绕不开其通信过程中的三次握手和四次挥手。
三次握手
第一次
假设网络中存在着两台主机A和B。若A想与B通信,首先,A主机向B主机发送一条想与B主机通信的消息消息1
,并请求B主机回应是否收到消息。
第二次
B主机在收到A主机发来的连接请求后,便向A主机发送一条消息消息2
,此消息告知A主机B主机已经收到A主机的连接请求、并询问A主机是否收到。
第三次
当A主机收到B主机的回复消息消息2
后,A主机便得知双方的通信是畅通的,但此时B主机并不知道A主机是否能收到消息,于是,A主机再次向B主机发送一条确认消息消息3
,告知B主机已经收到消息。当B主机收到A主机发来的消息3
,通信线路便建立起来了。
四次挥手
第一次
当A主机和B主机通过三次握手建立通信,若此时A主机已经没有需要发送给B主机的数据,此时A主机便发送一条消息告知B主机:我已经没有要发送的数据了,可以断开连接了。
第二次
当B主机收到A主机请求断开连接的消息 ,B主机则向A主机发送一条已收到断开请求的连接,并继续发送未发完的数据。当A主机收到B主机的确认消息后,此时连接便处于半断开的状态。
第三次
在B主机发送完剩余数据后,此时可以断开连接了,B主机便向A主机发送一条确认断开连接的消息。
第四次
当A主机收到B主机发来的确认断开连接的消息,通信便彻底终结了。
IP协议
IP,即互联网协议(Internet Protocol)。此协议在TCP/IP分层模型中属于第三层,也就是网络层。IP协议是无状态、无连接、不可靠的,其可靠性靠上层协议提供,比如说TCP协议。它还负责根据IP地址寻址和路由选择。
ICMP协议
ICMP,即互联网控制报文协议(Internet Control Message Protocol)。此协议也属于第三层。他的设计和使用是为了解决IP协议的缺陷。因为IP协议是无状态、无连接的,所以缺少差错报告和差错纠正机制,并且不能查询管理。ICMP基于IP协议,他的报文并不是单独的格式,而是以IP协议的报文格式为载体,而它的报文又可以分为查询和差错报文。它的具体功能可以通过它的报文分类得知。
- 回显请求
- 回显应答
差错报文
- 终点不可达
- 源站抑制
- 超时
- 路由重定向
ICMP的应用有Ping(回送请求)和Tracert(超时)。
ARP和RARP协议
ARP,即地址解析协议(Address Resolution Protocol),此协议在TCP/IP模型中属于网络层,而在OSI七层模型中则属于数据链路层,对应TCP/IP模型的网络接口层。之所以存在划分的冲突,是由于ARP协议的工作原理。ARP的作用是根据上层地址来获取目标主机的物理地址,也就是MAC地址。因为涉及到对物理地址的处理,所以存在划分的冲突。在以太网中,主机间的通信最终需要根据物理地址进行,当某台主机A想与局域网里的另外一台主机通信,但此时主机A只知道B主机的IP地址,此时便需要用到ARP协议了。ARP协议的工作流程大致如下:
当局域网内的主机A想与另一台主机B通信,但此时A主机只知道B主机的IP地址而不知道MAC地址,此时A主机便向整个局域网内广播消息:请问有谁知道IP地址为xxx.xxx.xxx.xxx的B主机的MAC地址吗,知道的话请告知我?当知道B主机MAC地址的某一主机(可能是路由器)收到这条广播后,便以单播的形式向A主机发送B主机的MAC地址。
而RARP,反向地址解析协议(Reverse Address Resolution Protocol),从名字我们便可以看出,它和ARP协议类似,不同的是RARP是通过物理地址寻找IP地址。
UDP协议
UDP,即用户数据报协议(User Datagram Protocol),此协议同TCP协议工作在同一层。此协议提供的是无连接、不可靠的传输服务,多用于流视频等对可靠要求低的应用场景。
以上就是TCP/IP分层模型及其协议簇的基本内容,不够深入,仍需不断学习。