如果我做对了,TCP和IP数据包通常是由内核中运行的软件创建的。因此,当我作为用户打开TCP/IP类型的套接字并发送消息时,内核将处理所有这些协议的细节,如将消息拆分为数据包、预先设置TCP和IP报头等。
现在,如果我正确理解,第二层帧是特定于技术的-所以如果您使用以太网、WiFi或任何其他第二层技术,一个帧看起来就会有所不同。所以我的问题是:这是否意味着第二层协议头由NIC设备驱动程序生成和处理?
发布于 2021-09-09 03:01:15
或多或少,是的。应用程序只需将其数据传递到堆栈中即可。这取决于后续层将消息分解为数据包,对下一层有足够的了解,以避免不可能。(也就是说,TCP数据包可以是64k,但是以太网接口的MTU是1500,所以不要给它更多。)每一层都将添加其协议所需的内容。
(一些第二层协议并不真正关心所传递的内容。例如,ATM将把有效载荷分解成尽可能多的信元。)
https://networkengineering.stackexchange.com/questions/76151
复制相似问题