OSI七层模型和TCP/IP四层模型

OSI(Open System Interconnection),即开放系统互联。是ISO(国际标准化组织)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。

OSI七层模型结构

OSI七层模型和TCP/IP四层模型_第1张图片

物理层

为数据端设备提供原始的比特流的传输的通路。建立、维护、断开物理连接。
常见设备:网线、集线器、中继器、调制解调器。

数据链路层

在通信实体间建立数据链路连接、进行硬件地址(MAC地址)寻址、差错校验等。
常见设备:网卡、网桥、交换机
主要协议:ARP地址解析协议、RARP逆向地址解析协议。

网络层

为数据在结点之间传输创建逻辑链路,并分组转发数据。
常见设备:路由器
主要协议:ICMP(互联网控制信息协议)、IGMP(互联网和管理协议)、IP(IPv4、IPv6)(互联网协议)

传输层

提供应用进程之间的逻辑通信。定义传输数据的协议端口号,以及流控和差错校验。
主要协议:TCP传输控制协议*、UDP用户数据报协议*。

一些常见应用协议端口号:
OSI七层模型和TCP/IP四层模型_第2张图片

会话层

建立、管理和终止会话(session)。
主要协议:SSL(安全套接字层协议)、TLS(传输层安全协议)

表示层

对应用层数据编码,提供数据格式转换服务。
定义数据格式:JPEG、ASCII、EBCDIC、DES、GIF等。

应用层

提供应用接口,为用户直接提供各种网络服务。
主要协议:HTTP/HTTPS(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、TELNET(TCP/IP终端仿真协议)、DHCP(动态主机配置协议)、TFTP(简单文件传输协议)、SNMP(简单网络管理协议)
OSI七层模型和TCP/IP四层模型_第3张图片

TCP传输控制协议

TCP传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。

建立连接的三次握手过程

OSI七层模型和TCP/IP四层模型_第4张图片
1、客户端发送SYN(SEQ=x)报文给服务端,进入SYN_SENT状态,等待服务器确认。
2、服务端收到SYN报文,回应一个SYN(SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
3、客户端收到服务端的SYN报文,回应一个ACK(ACK=y+1)报文,进入ESTABLISHED状态。
三次握手完成,TCP客户端和服务端成功的建立连接,就可以开始传输数据了。

断开连接的四次挥手过程

OSI七层模型和TCP/IP四层模型_第5张图片1、TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。
2、服务器收到这个FIN,发回一个ACK,确认序号为收到的序号+1。
3、服务器关闭客户端的链接,发送一个FIN给客户端。
4、客户端发回ACK报文确认,并将确认的序号设置为收到序号+1。

UDP用户数据报协议

UDP用户数据报协议是一种无连接的、提供面向事务的简单不可靠的信息传送服务的传输层协议。

TCP协议与UDP协议的区别

1、TCP是可靠的传输协议,UDP是不可靠的传输协议。TCP协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认信息;发送方只用在接收到该确认信息后才继续传送其他信息,否则将一直等待直到收到确认信息为止。UDP协议并不提供数据传送的保证机制,如果在从发送方到接收方的传递过程中出现数据包的丢失,协议本身并不能作出任何检测或提示。
2、TCP是面向连接的传输控制协议,UDP是提供无连接的数据报服务。
3、UDP具有较好的实时性,工作效率较TCP协议高。
4、UDP段结构比TCP的段结构简单,因此网络开销较小。

TCP/IP四层模型结构

OSI七层模型和TCP/IP四层模型_第6张图片

网络接口层

实现了网卡接口的网络驱动程序,以处理数据在物理媒介(如以太网、令牌环等)上的传输。
这一层包含CSMA/CDCarrier Sense Multiple Access With Collision Detection)即载波侦听多路访问/冲突检测和CSMA/CA(Carrier Sense multipleAccess With Collision Avoidance),即载波监听多路访问/冲突避免,都是争用型的介质访问控制协议,位于数据链路层,前者用于有线网络而后者用于无线网络。

网际层(网络层)

本层主要包含IP协议、RIP路由信息协议,负责数据的包装、寻址和路由转发。同时还包含ICMP(互联网控制报文协议)用来提供网络诊断信息。本层还包含ARP地址解析协议RARP逆向地址解析协议。它们实现了IP地址和主机物理地址(通常是MAC地址,以太网、令牌环和802.11无线网络都使用MAC地址)之间的转换。

传输层

为两台主机上的应用程序提供端到端的通信。与网际层使用的逐跳通信不同,传输层只关心通信的起始端和目的端,而不在乎数据包的中转过程。
主要包括TCP协议提供可靠的数据流运输服务和UDP协议提供不可靠的数据报服务。

应用层

负责处理应用程序的逻辑。

你可能感兴趣的:(tcp/ip,网络,http)