TCP/IP的分层

本文解析了TCP/IP模型中的网络层与传输层的功能差异。网络层提供逐跳服务,如IP协议,实现不可靠的数据包投递;而传输层如TCP协议,则在此基础上提供端到端的可靠服务,确保数据传输的准确性。
        TCP/IP由下至上分为四层:链路层,网络层,运输层和应用层。链路层和应用层的作用很好理解,但是网络层和运输层看似可以合并到一起,为何要将其分开来对待呢。这里我们用网络层和运输层的IP和TCP协议做代表看。
        在应用层和运输层都是采用端到端的协议,但是在网络层提供的是逐跳协议,端系统(两端的主机)和路由都要是使用它。在TCP/IP协议族中,网络层IP提供的只是一种不可靠的服务,它只是尽可能快的把数据分组从源结点发送到目标结点。而运输层的TCP协议则在IP层的基础上提供了一种可靠的服务,为了提供这种服务,它采取了超时重发、发送和接受端到端的确认分组等机制。可见,网络层和运输层提供的是不同的服务。
        总之,IP协议更接近与硬件,它能够基于不同的硬件底层,完成数据的发送功能。而TCP协议才是和应用层连接更紧密,通过更多的机制来确保IP层的数据发送和确认。通过这样,让应用层与物理细节之间的屏蔽更好,更利于不同硬件的网络之间的连接。


 
### TCP/IP协议分层模型各层功能详解 #### 三层:网络接口层 网络接口层对应于OSI模型的数据链路层和物理层。这一层主要负责接收来自互联网层的IP数据报并通过特定的物理网络传送出去,或者从物理网络上接收帧并传送给互联网层。该层定义了如何使用硬件来寻址、传输数据以及检测错误。 #### 二层:互联网层 互联网层的主要职责在于处理分组在网络间的转发问题[^4]。此层的关键协议是IP(Internet Protocol),它提供了无连接的服务用于在不同网络之间传递信息。除了基本的数据包传输外,还涉及路由选择算法以决定最佳路径让消息到达目的地。其他重要成员包括ICMP(因特网控制报文协议)、ARP(地址解析协议)等辅助工具。 #### 一层:传输层 传输层位于TCP/IP架构中的第三级位置,其核心作用是在源端与目的端主机的应用程序间建立逻辑通信信道,并确保可靠地发送字节流。这里有两个重要的协议——TCP(Transmission Control Protocol) 和 UDP(User Datagram Protocol)[^2]。前者提供面向连接、可靠的双向字节流传送机制;后者则是基于尽力而为的原则工作,不保证顺序性和可靠性但是效率更高。 #### 零层:应用层 最顶层即为应用层,它是直接面对用户的部分,包含了大量高层应用程序和服务接口。这些软件组件利用下层所提供的能力完成具体的业务需求,比如文件传输FTP、电子邮件SMTP、网页浏览HTTP(S)等等。此外,在某些情况下也需要考虑会话管理和数据表示等问题,这涉及到类似于OSI模型中提到的会话层和表示层的功能。 ```python import socket # 创建一个TCP/IP套接字对象 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定到本地地址和端口 server_address = ('localhost', 10000) print('starting up on {} port {}'.format(*server_address)) sock.bind(server_address) # 开始监听进入的连接请求 sock.listen(1) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值