TCP/IP四层模型简单介绍

本文介绍了TCP/IP四层模型,包括应用层、传输层、网络层和链路层的功能,并详细阐述了TCP/IP协议通信过程中的封装和分用概念,帮助读者深入理解数据在网络中的传输过程。
OSI七层参考模型

OSI(Open System Interconnection 开放系统互联)参考模型,是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。
OSI分为七层
应用层:为用户提供服务和协议
表示层:设备固有数据格式和网络标准数据格式的转换
会话层:通信的管理,负责建立和断开通信连接
传输层:管理两个节点之间的数据传输,负责数据的可靠传输
网络层:负责地址管理,路由选择
数据链路层:相邻设备之间的数据传输,差错控制等控制
物理层:关电信号的传递
OSI是一个理论上的网络通信模型,TCP/IP则是实际运行的网络协议。

TCP/IP四层模型

TCP/IP协议族分为四层,分别为应用层,传输层,网络层,链路层
应用层: 负责程序之间的数据沟通,应用层常用知名协议http超文本传输协议、Telnet网络远程访问协议、ftp文件传输协议、SMTP简单邮件传输协议,SNMP简单网络管理协议,同时可以自己定义协议。
传输层:为两台主机的应用程序之间提供端到端的数据传输,提供了两种不同的服务,面向连接,可靠的数据流TCP传输控制协议,和无连接,不可靠面向数据报传输的UDP用户数据报协议。
网络层:网络层主要提供地址管理,和路由选择,TCP/IP协议族中,网络层协议包括IP协议(网际协议)、ICMP (Internet控制报文协议),IGMP (Internet 组管理协议)。
链路层:链路层主要提供相邻设备之间的数据传输, 链路层主要实现三个目的:接受和发送ip数据包、接受发送ARP(地址解析协议)请求(获取目标主机的MAC地址) 、为发送RARP(逆地址解析协议,针对无盘机)请求和接收RARP应答,另外根据网络中硬件的不同,链路层有不同的协议,如以太网,令牌环网。

TCP/IP协议通信过程

局域网中ftp协议通信过程(忽略物理层光电信号的传输)
来自TCP/IP协议详解
发送端数据从应用层到链路层的过程为数据的封装,对端即接收端对数据进行分用

封装

应用程序需要传递信息时需要将传递的内容放入协议栈中,逐层添加每一层的控制信息,直到物理层转换比特流发送添加控制信息这个过程成为封装。
来自TCP/IP协议详解
tcp交给ip的数据包成为TCP报文段或者TCP段,IP递交给链入层的数据单元为IP数据报,链路层形成的数据单元为以太网桢。

分用

当主机拿到以太网桢进行解析的过程为分用,根据以太网帧的头部中协议类型可以判定是那个协议的数据包,另外以太网桢具有固定的头部和尾部大小,分离头部和尾部得到对应协议的数据包进行递交,假设为IP 协议,IP协议拿到数据包,根据IP数据报中头部中首部长度进行分离,同时根据服务类型判定上层协议类型进行递交,假设为TCP协议,当TCP协议拿到TCP报文段同样根据报文头中的首部长度进行分离,同时根据端口号进行数据的递交,应用层拿到数据通过自己定义的数据格式进行解析。这整个过程成为分用。另外这个过程还涉及到其他的将在后面解释协议时进行讲解如IP 分片,TCP 的可靠传输,TCP分组等很多其他过程。
来自TCP/IP协议详解

参考:《TCP/IP详解卷1:协议》 LawrenceBerkeley

### OSI七层模型与TCP/IP四层模型的结构及差异 OSI七层模型和TCP/IP四层模型是计算机网络中两种重要的分层模型,它们各自有不同的设计理念和应用场景。以下是两者在结构和功能上的主要区别和联系。 #### 1. 模型的起源与设计思想 OSI模型是由国际标准化组织(ISO)制定的一个理论框架,旨在提供一个通用的参考模型来描述网络通信过程[^2]。它先定义了服务、接口、协议等概念,并在此基础上构建了一个完整的七层结构。相比之下,TCP/IP模型是在实际应用需求驱动下发展起来的,其设计更加注重实用性,先有协议后有模型,且参考了OSI模型的设计思路[^1]。 #### 2. 层次结构的对比 OSI模型采用七层结构,从低到高依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP模型则简化为四层或五层结构,具体包括网络接口层、网络层、传输层和应用层[^3]。在TCP/IP模型中,OSI模型中的会话层和表示层的功能被合并到应用层中,同时将物理层和数据链路层的功能归入网络接口层。 #### 3. 各层功能的比较 - **网络接口层**:TCP/IP模型中的这一层对应于OSI模型中的物理层和数据链路层,负责管理硬件设备和物理媒介之间的通信,包括以太网、Wi-Fi等协议[^3]。 - **网络层**:两者的网络层功能基本一致,主要负责数据包的路由和转发,使用IP协议定义数据包的传输路径。 - **传输层**:OSI模型和TCP/IP模型的传输层都提供端到端的数据传输服务,支持可靠的TCP协议和简单的UDP协议[^3]。 - **应用层**:TCP/IP模型的应用层涵盖了OSI模型中的应用层、表示层和会话层的功能,负责处理用户与网络应用程序之间的通信,包括HTTP、FTP、SMTP等协议[^3]。 #### 4. 实际应用的差异 OSI模型虽然理论上非常完善,但由于其复杂性和开发周期较长,在实际应用中并未得到广泛推广,更多地存在于教科书中作为理论参考[^1]。而TCP/IP模型由于其实用性强、易于实现的特点,已经成为当前互联网的核心协议簇。 ```python # 示例代码:TCP/IP模型中的简单HTTP请求 import requests response = requests.get("http://example.com") print(response.text) ``` #### 5. 联系与总结 尽管OSI模型和TCP/IP模型在层次划分上存在差异,但它们的核心理念是一致的,即通过分层设计简化网络通信的复杂性。TCP/IP模型可以看作是对OSI模型的一种简化和优化,更符合实际应用的需求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值