一、
TCP/IP协议是Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础。以下是关于TCP/IP协议的简要介绍:
定义与功能:
TCP/IP协议定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。
它由网络层的IP协议和传输层的TCP协议组成,还包括了其他如UDP、ARP、ICMP、IGMP、DNS等协议。
层级结构:
TCP/IP协议采用了4层的层级结构,包括网络接口层、网络层、传输层和应用层。
每一层都使用其下一层所提供的协议来完成自己的需求。
关键协议:
IP协议:负责为因特网的每一台联网设备规定一个地址,并在源地址和目的地址之间传送数据包。
TCP协议:是一种面向连接的协议,提供可靠的数据传输。它通过三次握手建立连接,并在通讯完成时拆除连接。TCP还采用重传机制、滑动窗口流量控制等方式确保数据的可靠传输。
UDP协议:是一种无连接协议,提供快速但不可靠的数据传输。它适用于对速度要求高但对可靠性要求低的场景。
特点:
TCP/IP协议具有高度的灵活性和可扩展性,适用于多种网络环境和设备。
它是一种开放标准,不属于任何一个组织,因此适用于所有操作系统、网络和硬件。
应用:
TCP/IP协议是现代互联网的基础,广泛应用于各种网络设备和应用程序中,如网页浏览、电子邮件、文件传输等。
TCP/IP协议簇还包括许多其他重要协议,如:
ICMP协议(Internet Control Message Protocol):用于在IP主机、路由器之间传递控制消息,如目的地不可达、时间超过等。
ARP协议(Address Resolution Protocol):实现将网络层地址解析为链路层地址,即IP地址到MAC地址的映射。
应用层协议:如HTTP(用于网页浏览)、FTP(用于文件传输)、SMTP(用于电子邮件传输)等,它们定义了应用程序如何使用网络资源进行通信。
以上协议共同构成了TCP/IP协议簇,实现了互联网上的数据传输和通信功能。
二、
IP属于网络层,负责将数据从一个电脑传输到另一个电脑
TCP、UDP、DHCP属于传输层,负责将数据传输到具体的应用程序
UDP速度快,但容易丢失
TCP速度慢,但可靠,支持重传
DHCP常用在边缘节点上,用于车辆对外通信时(如云端)获取IP地址,速度慢
分片
一般一帧以太网报文总长为1460字节(含头尾),如果需要传输更多,则需要分片
IP层分片:
MCU一般不用,因为MCU一般资源比较紧缺
TCP层分片:
更可靠,因为TCP有重传机制
报文类型
ARP格式
通信时给人看的是IP地址,给机器看的是MAC地址,如何建立IP与MAC之间的联系——ARP
1:通过ARP的格式发送广播报文,发送自己的IP和MAC信息,并询问每一个主机
2:对方发现需求的IP即自己的IP,发送响应报文ARP response,回复自己的MAC地址
3:下次通信则不必再发广播报文
ICMP格式(ping)
验证以太网通信是否建立
IGMP格式(SOMEIP/SD前提)
实现多播、组播
SOMEIP有应用,因为需要广播报文,如果没有组播,会造成网络风暴(抑制网络风暴的另一种方法即VLAN,通常两者搭配实现,可以减少VLAN的号码量)
端口、套接字
端口,port:应用程序的入口,目的是为了寻址
套接字,socket:IP地址与端口号的组合,如xxx.xxx.xxx.xxx:cccc
UDP拓扑信息
用于网络管理和广播报文
伪首部:12字节
源IP,4B
目标IP,4B
0,1B
17,1B
UDP长度,2B
UDP首部
源端口,2B
目标端口,2B
UDP长度,2B
校验和,2B
UDP数据
IP首部
IP数据部分
TCP拓扑信息
源端口号,16b
目标端口号,16b
序号,32b
确认序号,32b
首部长度,4b
预留,6b
URG、ACK、PSH、RST、SYN、FIN,6b
窗口大小,16b
校验和,16b
紧急指针,16b
选项
数据部分
TCP的握手、传输、挥手
TCP的滑动窗口
传一次回复一次效率低,预先设定窗口大小,比如10,传10次,若收到回复6,则窗口滑动6,空出新的6个空位可以传输;若一个回复也没收到,则发送10次后,窗口空余为0,不发送新数据