赞
踩
本文是对TCP/IP协议的简要介绍,为后续介绍LWIP做铺垫。LWIP是嵌入式中最常用的TCP/IP协议栈,对其进行介绍和使用前需要对计算机体系结构有大致的理解。
首先需要理解协议的含义,网络协议是计算机网络中的一种规则和约定,它们定义了数据通信的方式和数据交换的规则,以确保不同计算机和设备之间可以有效地通信和协作。
网络协议主要由三元素组成:
计算机网络各层协议的集合就是网络的体系结构,体系结构的抽象的。网络分层后每一层都是相互独立的,某一层无须关心下一层的视线,只需要知道层间的接口服务,这样的设计使得整个结构灵活可变易于维护,并且各层能使用最适合的技术进行实现。
TCP/IP的体系结构分为4层:应用层,运输层,网络层,网络接口层
当设备的网卡接收到某个数据包后,它会将其放置在网卡的接收缓存中,并告知TCP/IP内核。然后TCP/IP内核就开始工作了,它会将数据包从接收缓存中取出,并逐层解析数据包中的协议首部信息,并最终将数据交给某个应用程序。数据的接收过程与发送过程正好相反,可以概括为TCP/IP的各层协议对数据进行解析的过程。
TCP/IP协议栈各层的报文封装
TCP/IP可以为各种各样的应用提供服务,但无论是针对什么样的服务和接口运输层和网络层的TCP/UDP和IP协议都是不变的,接下来将详细介绍TCP/UDP协议。
TCP(Transmission Control Protocol,传输控制协议)是计算机网络中的一种通信协议,它属于TCP/IP协议套件的一部分,用于在网络上可靠地传输数据。TCP是一种可靠的协议,它确保数据从发送方到接收方的可靠传输。
1.可靠性:TCP是一种可靠的协议,它确保数据从发送方到接收方的可靠传输。为了实现这一点,TCP使用了以下机制:
2 . 面向连接:TCP是一种面向连接的协议,通信双方在传输数据之前需要建立连接,这包括三次握手过程,用于初始化连接参数。连接建立后,数据的传输是可靠的,连接终止时还需要进行四次挥手来优雅地关闭连接。
3. 全双工通信:TCP支持全双工通信,允许双方同时发送和接收数据。这使得TCP非常适合用于需要双向通信的应用,例如Web浏览器和Web服务器之间的通信。
4. 面向字节流:TCP是面向字节流的协议,它不关心应用程序发送的消息边界,而是将数据视为连续的字节流进行传输。这允许应用程序以灵活的方式发送和接收数据。
5. 拥塞控制:TCP还具有拥塞控制机制,用于避免网络拥塞和过度负载。通过监测网络的拥塞情况,TCP可以动态调整发送速率,以降低拥塞的可能性。
前20个字节是固定的,后面有4n个字节是根据需而增加的选项,所以TCP首部最小长度为20字节。TCP是根据对方给出的窗口值和当前网络拥塞的程度去决定一个报文段应该包含多少字节。
TCP头部的一些常用字段。
TCP建立连接的过程称为握手,握手需要在客户端和服务器之间交换三个TCP报文段。
三次报文握手
四次报文握手
为什么需要等待计时器?
UDP的首部只有8个字节,源端口号、目的端口号、长度和校验和各两个字节。UDP发送的报文长度是由应用进程给出的。
TCP与UDP有什么区别
《计算机网络(第七版)》谢希仁
UDP传输
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。