您的位置 首页 综合知识

tcp/ip协议包含哪几层(TCP/IP模型分为哪四层)

王海军老师:学习过TCP/IP的同学应该知道,我们通常说的TCP/IP模型一般是四层,也有的书上网上说是五层,但是多数同意四层的说法,争议的焦点在TCP/IP第一层,四层说法OSI七层的第1,2两层是对应TCP/IP四层的数据链路层或网络接入(接口)层,第5,6,7对应四层的应用层;五层说法是第1,2两层保持不变,还是原来两层,第5,6,7对应四层的应用层。

一、TCP/IP参考模型(四层or五层)

TCP/IP参考模型是 计算机网络的祖父ARPANET和其后继的因特网使用的 参考模型。

1、四层模型:

应用层:对应OSI中的应用层、表示层、会话层

数据链路层:对应OSI中的数据链路层、物理层(也有叫网络接口层)

tcp/ip协议包含哪几层(TCP/IP模型分为哪四层)

tcp/ip协议包含哪几层(TCP/IP模型分为哪四层)

七层对四层

2、五层模型:

应用层:对应OSI中的应用层、表示层、会话层

数据链路层:对应OSI中的数据链路层、物理层(也有叫网络接口层)

物理层层:对应OSI中的物理层

tcp/ip协议包含哪几层(TCP/IP模型分为哪四层)

tcp/ip协议包含哪几层(TCP/IP模型分为哪四层)

七层对五层

在每一层都工作着不同的设备,比如我们常用的交换机就工作在数据链路层的,一般的路由器是工作在网络层的。

在每一层实现的协议也各不同,即每一层的服务也不同.下图列出了每层主要的协议。其中每层中具体的协议,我会在后面的逐一学习。

3、四层,五层,七层对比:

二、TCP数据格式和IP数据格式

TCP数据报文

IP数据报文

决定上层协议

三、TCP协议三次握手和四次挥手

TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6。

原则上任何数据传输都无法确保绝对可靠,三次握手只是确保可靠的基本需要。

三次握手

TCP的连接的拆除需要发送四个包,因此称为四次挥手。客户端或服务器均可主动发起挥手动作,在SOCKET编程中,任何一方执行close()操作即可产生挥手操作。

简单确认

TCP窗口

所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发。

FAQ

为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?

这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的连接请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可能未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。

….

关于作者: yun

tcp/ip协议包含哪几层(TCP/IP模型分为哪四层)的热门文章