解释
IP属于网络层,负责将数据从一个电脑传输到另一个电脑
TCP、UDP、DHCP属于传输层,负责将数据传输到具体的应用程序
UDP速度快,但容易丢失
TCP速度慢,但可靠,支持重传
DHCP常用在边缘节点上,用于车辆对外通信时(如云端)获取IP地址,速度慢
分片
一般一帧以太网报文总长为1460字节(含头尾),如果需要传输更多,则需要分片
IP层分片:
MCU一般不用,因为MCU一般资源比较紧缺
TCP层分片:
更可靠,因为TCP有重传机制
报文类型
ARP格式
通信时给人看的是IP地址,给机器看的是MAC地址,如何建立IP与MAC之间的联系——ARP
- 通过ARP的格式发送广播报文,发送自己的IP和MAC信息,并询问每一个主机
- 对方发现需求的IP即自己的IP,发送响应报文ARP response,回复自己的MAC地址
- 下次通信则不必再发广播报文
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,不发送新数据