%3Cp%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%90%8C%E6%97%B6%E6%8B%A5%E6%9C%89%20Wi-Fi%20%E5%92%8C%E8%9C%82%E7%AA%9D%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5%EF%BC%8C%E4%B8%BA%E4%BD%95%E4%B8%8D%E8%83%BD%E5%90%8C%E6%97%B6%E5%88%A9%E7%94%A8%E4%B8%A4%E6%9D%A1%E9%93%BE%E8%B7%AF%E4%BC%A0%E8%BE%93%E4%B8%80%E4%BB%BD%E6%95%B0%E6%8D%AE%EF%BC%9F%E8%BF%99%E6%98%AF%20Multi-Path%20TCP%EF%BC%88MPTCP%EF%BC%89%E8%AF%95%E5%9B%BE%E8%A7%A3%E5%86%B3%E7%9A%84%E6%A0%B8%E5%BF%83%E9%97%AE%E9%A2%98%E3%80%82IETF%20%E6%A0%87%E5%87%86%E5%B7%A5%E4%BD%9C%E7%BB%84%E5%8E%86%E7%BB%8F%E5%A4%9A%E5%B9%B4%E6%BC%94%E8%BF%9B%EF%BC%8C%E6%9C%80%E7%BB%88%E5%B0%86%20MPTCP%20v1%20%E6%A0%87%E5%87%86%E5%8C%96%E4%B8%BA%20RFC%208684%EF%BC%8C%E8%80%8C%20Linux%20%E5%86%85%E6%A0%B8%E8%87%AA%205.6%20%E7%89%88%E6%9C%AC%E8%B5%B7%E5%B7%B2%E5%B0%86%20MPTCP%20%E5%90%88%E5%85%A5%E4%B8%BB%E7%BA%BF%E2%80%94%E2%80%94%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%22%E5%A4%9A%E8%B7%AF%E5%BE%84%E4%BC%A0%E8%BE%93%22%E4%B8%8D%E5%86%8D%E6%98%AF%E5%AD%A6%E6%9C%AF%E6%A6%82%E5%BF%B5%EF%BC%8C%E8%80%8C%E6%98%AF%E4%BB%BB%E4%BD%95%E4%B8%80%E5%8F%B0%20Linux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8D%B3%E5%8F%AF%E5%90%AF%E7%94%A8%E7%9A%84%E5%AE%9E%E7%94%A8%E6%8A%80%E6%9C%AF%E3%80%82%3C/p%3E%0A%3Cp%3E%E6%9C%AC%E6%96%87%E5%B0%86%E4%BB%8E%E5%8D%8F%E8%AE%AE%E6%9E%B6%E6%9E%84%E3%80%81%E5%86%85%E6%A0%B8%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E3%80%81%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%E7%AD%96%E7%95%A5%E3%80%81%E8%B0%83%E5%BA%A6%E7%AE%97%E6%B3%95%E3%80%81%E7%94%9F%E4%BA%A7%E9%83%A8%E7%BD%B2%E5%92%8C%E6%8E%92%E9%9A%9C%E4%BA%94%E4%B8%AA%E7%BB%B4%E5%BA%A6%E5%B1%95%E5%BC%80%EF%BC%8C%E5%B8%A6%E4%BD%A0%E8%B5%B0%E5%AE%8C%E4%BB%8E%E5%8E%9F%E7%90%86%E5%88%B0%E5%AE%9E%E6%88%98%E7%9A%84%E5%AE%8C%E6%95%B4%E9%93%BE%E8%B7%AF%E3%80%82%3C/p%3E%0A%3Chr/%3E%0A%3Ch2%3E%E4%B8%80%E3%80%81%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E5%A4%9A%E8%B7%AF%E5%BE%84%E4%BC%A0%E8%BE%93%EF%BC%9F%3C/h2%3E%0A%3Cp%3E%E4%BC%A0%E7%BB%9F%20TCP%20%E8%BF%9E%E6%8E%A5%E7%94%B1%E4%B8%80%E4%B8%AA%E5%9B%9B%E5%85%83%E7%BB%84%EF%BC%88%E6%BA%90%20IP%E3%80%81%E6%BA%90%E7%AB%AF%E5%8F%A3%E3%80%81%E7%9B%AE%E7%9A%84%20IP%E3%80%81%E7%9B%AE%E7%9A%84%E7%AB%AF%E5%8F%A3%EF%BC%89%E5%94%AF%E4%B8%80%E6%A0%87%E8%AF%86%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%9A%3C/p%3E%0A%3Cul%3E%0A%3Cli%3E%3Cstrong%3E%E5%8D%95%E4%B8%80%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E7%BB%91%E5%AE%9A%3C/strong%3E%EF%BC%9A%E4%B8%80%E4%B8%AA%20TCP%20%E8%BF%9E%E6%8E%A5%E5%8F%AA%E8%83%BD%E9%80%9A%E8%BF%87%E4%B8%80%E5%BC%A0%E7%BD%91%E5%8D%A1%E5%8F%91%E9%80%81%3C/li%3E%0A%3Cli%3E%3Cstrong%3E%E7%BD%91%E7%BB%9C%E8%BF%81%E7%A7%BB%E6%96%AD%E8%BF%9E%3C/strong%3E%EF%BC%9A%E6%89%8B%E6%9C%BA%E4%BB%8E%20Wi-Fi%20%E5%88%87%E6%8D%A2%E5%88%B0%E8%9C%82%E7%AA%9D%E7%BD%91%E7%BB%9C%E6%97%B6%EF%BC%8CIP%20%E5%8F%98%E5%8C%96%E5%AF%BC%E8%87%B4%20TCP%20%E8%BF%9E%E6%8E%A5%E5%BF%85%E9%A1%BB%E9%87%8D%E5%BB%BA%3C/li%3E%0A%3Cli%3E%3Cstrong%3E%E9%93%BE%E8%B7%AF%E5%B8%A6%E5%AE%BD%E5%8F%97%E9%99%90%3C/strong%3E%EF%BC%9A%E5%8D%B3%E4%BD%BF%E8%AE%BE%E5%A4%87%E6%9C%89%E5%A4%9A%E4%B8%AA%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%EF%BC%8C%E5%90%8C%E4%B8%80%E8%BF%9E%E6%8E%A5%E4%B9%9F%E5%8F%AA%E8%83%BD%E5%88%A9%E7%94%A8%E4%B8%80%E6%9D%A1%E9%93%BE%E8%B7%AF%3C/li%3E%0A%3C/ul%3E%0A%3Cp%3EMPTCP%20%E7%9A%84%E6%A0%B8%E5%BF%83%E6%80%9D%E8%B7%AF%E6%98%AF%EF%BC%9A%3Cstrong%3E%E5%B0%86%E4%B8%80%E6%9D%A1%E9%80%BB%E8%BE%91%20MPTCP%20%E8%BF%9E%E6%8E%A5%E6%8B%86%E5%88%86%E4%B8%BA%E5%A4%9A%E4%B8%AA%E5%AD%90%E6%B5%81%EF%BC%88Subflow%EF%BC%89%EF%BC%8C%E6%AF%8F%E4%B8%AA%E5%AD%90%E6%B5%81%E6%98%AF%E7%8B%AC%E7%AB%8B%E7%9A%84%E6%A0%87%E5%87%86%20TCP%20%E8%BF%9E%E6%8E%A5%EF%BC%8C%E6%95%B0%E6%8D%AE%E5%9C%A8%E5%8F%91%E9%80%81%E7%AB%AF%E6%8B%86%E5%88%86%E5%88%B0%E5%90%84%E5%AD%90%E6%B5%81%E5%B9%B6%E8%A1%8C%E4%BC%A0%E8%BE%93%EF%BC%8C%E5%9C%A8%E6%8E%A5%E6%94%B6%E7%AB%AF%E9%87%8D%E6%96%B0%E8%81%9A%E5%90%88%3C/strong%3E%E3%80%82%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-%22%3E%E2%94%8C%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%90%0A%E2%94%82%20%20%20%20%20%20%20%20%20MPTCP%20Connection%20%28Logical%29%20%20%20%20%20%20%20%20%20%20%E2%94%82%0A%E2%94%82%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E2%94%82%0A%E2%94%82%20%20%20Data%20Sequence%20Mapping%20%28DSN%29%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E2%94%82%0A%E2%94%82%20%20%20%E2%94%8C%E2%94%80%E2%94%80%E2%94%80%E2%94%AC%E2%94%80%E2%94%80%E2%94%80%E2%94%AC%E2%94%80%E2%94%80%E2%94%80%E2%94%AC%E2%94%80%E2%94%80%E2%94%80%E2%94%AC%E2%94%80%E2%94%80%E2%94%80%E2%94%AC%E2%94%80%E2%94%80%E2%94%80%E2%94%AC%E2%94%80%E2%94%80%E2%94%80%E2%94%AC%E2%94%80%E2%94%80%E2%94%80%E2%94%90%20%20%20%20%20%20%20%20%E2%94%82%0A%E2%94%82%20%20%20%E2%94%82%200%20%E2%94%82%201%20%E2%94%82%202%20%E2%94%82%203%20%E2%94%82%204%20%E2%94%82%205%20%E2%94%82%206%20%E2%94%82%207%20%E2%94%82%20%20%20%20%20%20%20%20%E2%94%82%0A%E2%94%82%20%20%20%E2%94%94%E2%94%80%E2%94%80%E2%94%80%E2%94%B4%E2%94%80%E2%94%AC%E2%94%80%E2%94%B4%E2%94%80%E2%94%80%E2%94%80%E2%94%B4%E2%94%80%E2%94%AC%E2%94%80%E2%94%B4%E2%94%80%E2%94%80%E2%94%80%E2%94%B4%E2%94%80%E2%94%AC%E2%94%80%E2%94%B4%E2%94%80%E2%94%80%E2%94%80%E2%94%B4%E2%94%80%E2%94%80%E2%94%80%E2%94%98%20%20%20%20%20%20%20%20%E2%94%82%0A%E2%94%94%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%BC%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%BC%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%BC%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%98%0A%20%20%20%20%20%20%20%20%20%20%E2%94%82%20%20%20%20%20%20%20%E2%94%82%20%20%20%20%20%20%20%E2%94%82%0A%20%20%20%20%E2%94%8C%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%96%BC%E2%94%80%E2%94%80%E2%94%80%E2%94%90%20%E2%94%8C%E2%94%80%E2%96%BC%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%90%20%E2%94%8C%E2%96%BC%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%90%0A%20%20%20%20%E2%94%82%20Subflow%20%E2%94%82%20%E2%94%82Subflow%E2%94%82%20%E2%94%82%20%20Subflow%20%20%20%E2%94%82%0A%20%20%20%20%E2%94%82%20%20TCP%201%20%20%E2%94%82%20%E2%94%82%20TCP%202%20%E2%94%82%20%E2%94%82%20%20%20TCP%203%20%20%20%20%E2%94%82%0A%20%20%20%20%E2%94%82Wi-Fi%20%20%20%20%E2%94%82%20%E2%94%82Cellular%E2%94%82%20%E2%94%82%20%20Ethernet%20%20%E2%94%82%0A%20%20%20%20%E2%94%94%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%98%20%E2%94%94%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%98%20%E2%94%94%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%98%3C/code%3E%3C/pre%3E%0A%3Cp%3E%E6%9C%80%E7%BB%88%E7%94%A8%E6%88%B7%E6%84%9F%E7%9F%A5%E5%88%B0%E7%9A%84%E6%98%AF%22%E4%B8%80%E6%9D%A1%E6%9B%B4%E5%BF%AB%E3%80%81%E6%9B%B4%E5%8F%AF%E9%9D%A0%E7%9A%84%E8%BF%9E%E6%8E%A5%22%EF%BC%8C%E8%80%8C%E5%BA%95%E5%B1%82%E5%8F%AF%E4%BB%A5%E7%81%B5%E6%B4%BB%E5%88%A9%E7%94%A8%E6%89%80%E6%9C%89%E5%8F%AF%E7%94%A8%E9%93%BE%E8%B7%AF%E3%80%82%3C/p%3E%0A%3Chr/%3E%0A%3Ch2%3E%E4%BA%8C%E3%80%81%E5%8D%8F%E8%AE%AE%E6%9E%B6%E6%9E%84%E8%AF%A6%E8%A7%A3%3C/h2%3E%0A%3Ch3%3E2.1%20%E5%85%B3%E9%94%AE%E6%A6%82%E5%BF%B5%E5%88%86%E5%B1%82%3C/h3%3E%0A%3Cp%3EMPTCP%20%E7%9A%84%E8%AE%BE%E8%AE%A1%E5%93%B2%E5%AD%A6%E6%98%AF%3Cstrong%3E%E4%B8%8D%E4%BF%AE%E6%94%B9%20TCP%20%E5%A4%B4%E9%83%A8%E7%BB%93%E6%9E%84%3C/strong%3E%EF%BC%8C%E8%80%8C%E6%98%AF%E9%80%9A%E8%BF%87%20TCP%20%E9%80%89%E9%A1%B9%E5%AD%97%E6%AE%B5%EF%BC%88Kind%3D30%EF%BC%8CMPTCP%20%E7%A7%81%E6%9C%89%E9%80%89%E9%A1%B9%EF%BC%89%E6%90%BA%E5%B8%A6%E5%A4%9A%E5%8D%8F%E8%AE%AE%E6%8E%A7%E5%88%B6%E4%BF%A1%E6%81%AF%EF%BC%9A%3C/p%3E%0A%3Ctable%3E%3Cthead%3E%3Ctr%3E%0A%3Cth%3E%E5%8D%8F%E8%AE%AE%E5%B1%82%3C/th%3E%0A%3Cth%3E%E8%81%8C%E8%B4%A3%3C/th%3E%0A%3Cth%3E%E6%A0%87%E8%AF%86%3C/th%3E%0A%3C/tr%3E%3C/thead%3E%3Ctbody%3E%0A%3Ctr%3E%0A%3Ctd%3EMPTCP%20%E5%B1%82%3C/td%3E%0A%3Ctd%3E%E5%A4%9A%E5%AD%90%E6%B5%81%E7%AE%A1%E7%90%86%E3%80%81%E6%95%B0%E6%8D%AE%E9%87%8D%E6%8E%92%E3%80%81%E6%95%B4%E4%BD%93%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86%3C/td%3E%0A%3Ctd%3EConnection%20Token%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3ESubflow%20%E5%B1%82%3C/td%3E%0A%3Ctd%3E%E6%AF%8F%E4%B8%AA%E7%8B%AC%E7%AB%8B%20TCP%20%E8%BF%9E%E6%8E%A5%E7%9A%84%E6%A0%87%E5%87%86%E5%9B%9B%E5%85%83%E7%BB%84%3C/td%3E%0A%3Ctd%3E%28src_ip%2C%20src_port%2C%20dst_ip%2C%20dst_port%29%3C/td%3E%0A%3C/tr%3E%0A%3C/tbody%3E%3C/table%3E%0A%3Ch3%3E2.2%20%E8%BF%9E%E6%8E%A5%E5%BB%BA%E7%AB%8B%E6%B5%81%E7%A8%8B%3C/h3%3E%0A%3Cp%3EMPTCP%20%E8%BF%9E%E6%8E%A5%E5%BB%BA%E7%AB%8B%E7%9A%84%E5%85%B3%E9%94%AE%E5%9C%A8%E4%BA%8E%E4%B8%89%E4%B8%AA%E7%89%B9%E6%AE%8A%E7%9A%84%20TCP%20%E9%80%89%E9%A1%B9%E5%AD%90%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-%22%3EClient%20%28A1%2C%20A2%29%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Server%20%28B%29%0A%20%20%20%20%E2%94%82%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E2%94%82%0A%20%20%20%20%E2%94%82%E2%94%80%E2%94%80%E2%94%80%E2%94%80%20SYN%20%28MP_CAPABLE%29%20%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%86%92%E2%94%82%20%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%80%9A%E5%91%8A%E6%94%AF%E6%8C%81%20MPTCP%0A%20%20%20%20%E2%94%82%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E2%94%82%20%20%E5%8F%8C%E6%96%B9%E4%BA%A4%E6%8D%A2%E5%AF%86%E9%92%A5%E7%94%A8%E4%BA%8E%E5%90%8E%E7%BB%AD%E8%AE%A4%E8%AF%81%0A%20%20%20%20%E2%94%82%E2%86%90%E2%94%80%E2%94%80%E2%94%80%20SYN/ACK%20%28MP_CAPABLE%29%20%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%82%20%20%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%A1%AE%E8%AE%A4%E6%94%AF%E6%8C%81%E5%B9%B6%E8%BF%94%E5%9B%9E%E8%87%AA%E8%BA%AB%E5%AF%86%E9%92%A5%0A%20%20%20%20%E2%94%82%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E2%94%82%0A%20%20%20%20%E2%94%82%E2%94%80%E2%94%80%E2%94%80%E2%94%80%20ACK%20%28MP_CAPABLE%29%20%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%86%92%E2%94%82%20%20%E7%A1%AE%E8%AE%A4%E5%8F%8C%E6%96%B9%E5%AF%86%E9%92%A5%EF%BC%8C%E4%B8%BB%E8%BF%9E%E6%8E%A5%E5%BB%BA%E7%AB%8B%0A%20%20%20%20%E2%94%82%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E2%94%82%0A%20%20%20%20%E2%94%82%E2%94%80%E2%94%80%E2%94%80%E2%94%80%20SYN%20%28MP_JOIN%2C%20Token%3Dxyz%29%20%E2%94%80%E2%94%80%E2%94%80%E2%86%92%E2%94%82%20%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%80%9A%E8%BF%87%E6%96%B0%E6%8E%A5%E5%8F%A3%E5%BB%BA%E7%AB%8B%E5%AD%90%E6%B5%81%0A%20%20%20%20%E2%94%82%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E2%94%82%20%20Token%20%E5%85%B3%E8%81%94%E5%88%B0%E5%B7%B2%E5%BB%BA%E7%AB%8B%E7%9A%84%20MPTCP%20%E8%BF%9E%E6%8E%A5%0A%20%20%20%20%E2%94%82%E2%86%90%E2%94%80%E2%94%80%E2%94%80%20SYN/ACK%20%28MP_JOIN%29%20%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%82%0A%20%20%20%20%E2%94%82%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E2%94%82%0A%20%20%20%20%E2%94%82%E2%94%80%E2%94%80%E2%94%80%E2%94%80%20DATA%2BSEQ%20%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%86%92%20%20%E2%86%90%E2%94%80%E2%94%80%20DATA%20%E2%94%80%E2%94%80%E2%86%92%E2%94%82%20%20%E6%95%B0%E6%8D%AE%E5%8F%AF%E4%BB%A5%E8%B5%B0%E4%BB%BB%E6%84%8F%E5%AD%90%E6%B5%81%3C/code%3E%3C/pre%3E%0A%3Cp%3E%3Cstrong%3EMP_CAPABLE%3C/strong%3E%EF%BC%9A%E5%8D%8F%E5%95%86%20MPTCP%20%E8%83%BD%E5%8A%9B%E5%B9%B6%E4%BA%A4%E6%8D%A2%E5%AF%86%E9%92%A5%E3%80%82%3C/p%3E%0A%3Cp%3E%3Cstrong%3EMP_JOIN%3C/strong%3E%EF%BC%9A%E5%9C%A8%E5%B7%B2%E6%9C%89%20MPTCP%20%E8%BF%9E%E6%8E%A5%E4%B8%8A%E6%96%B0%E5%A2%9E%E5%AD%90%E6%B5%81%EF%BC%8C%E9%80%9A%E8%BF%87%20Token%20%E5%AE%9E%E7%8E%B0%E8%B7%A8%E5%9B%9B%E5%85%83%E7%BB%84%E7%9A%84%E8%BF%9E%E6%8E%A5%E8%AF%86%E5%88%AB%E3%80%82%3C/p%3E%0A%3Ch3%3E2.3%20%E6%95%B0%E6%8D%AE%E5%BA%8F%E5%88%97%E6%98%A0%E5%B0%84%EF%BC%88Data%20Sequence%20Mapping%EF%BC%89%3C/h3%3E%0A%3Cp%3E%E8%BF%99%E6%98%AF%20MPTCP%20%E6%9C%80%E7%B2%BE%E5%A6%99%E7%9A%84%E8%AE%BE%E8%AE%A1%E2%80%94%E2%80%94%E8%A7%A3%E5%86%B3%22%E4%BB%8E%E5%A4%9A%E4%B8%AA%20TCP%20%E5%AD%90%E6%B5%81%E6%94%B6%E5%88%B0%E7%9A%84%E6%95%B0%E6%8D%AE%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E9%87%8D%E6%8E%92%22%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82%3C/p%3E%0A%3Cp%3E%E6%AF%8F%E6%9D%A1%20MPTCP%20%E8%BF%9E%E6%8E%A5%E7%BB%B4%E6%8A%A4%E4%B8%A4%E5%A5%97%E5%BA%8F%E5%88%97%E5%8F%B7%EF%BC%9A%3C/p%3E%0A%3Cp%20style%3D%22margin-left%3A20px%3B%22%3E%26%238226%3B%20%3Cstrong%3E%E5%AD%90%E6%B5%81%E5%BA%8F%E5%88%97%E5%8F%B7%EF%BC%88SSN%2C%20Subflow%20Sequence%20Number%EF%BC%89%3C/strong%3E%EF%BC%9A%E5%90%84%20TCP%20%E5%AD%90%E6%B5%81%E8%87%AA%E8%BA%AB%E7%9A%84%E5%BA%8F%E5%88%97%E5%8F%B7%EF%BC%8C%E4%B8%8E%E6%A0%87%E5%87%86%20TCP%20%E4%B8%80%E8%87%B4%3C/p%3E%0A%3Cp%20style%3D%22margin-left%3A20px%3B%22%3E%26%238226%3B%20%3Cstrong%3E%E6%95%B0%E6%8D%AE%E5%BA%8F%E5%88%97%E5%8F%B7%EF%BC%88DSN%2C%20Data%20Sequence%20Number%EF%BC%89%3C/strong%3E%EF%BC%9A%E5%85%A8%E5%B1%80%E9%80%BB%E8%BE%91%E5%BA%8F%E5%88%97%E5%8F%B7%EF%BC%8C%E6%A0%87%E8%AF%86%E5%BA%94%E7%94%A8%E5%B1%82%E5%AD%97%E8%8A%82%E5%81%8F%E7%A7%BB%3C/p%3E%0A%3Cp%3E%E5%8F%91%E9%80%81%E7%AB%AF%E5%9C%A8%E5%8F%91%E9%80%81%E6%95%B0%E6%8D%AE%E6%97%B6%E6%90%BA%E5%B8%A6%20%3Ccode%3EDATA_FIN%3C/code%3E%20%E6%88%96%20%3Ccode%3EData%20ACK%20%2B%20DSN%3C/code%3E%20%E6%98%A0%E5%B0%84%E9%80%89%E9%A1%B9%EF%BC%8C%E5%91%8A%E8%AF%89%E6%8E%A5%E6%94%B6%E7%AB%AF%22%E5%AD%90%E6%B5%81%E5%BA%8F%E5%88%97%E5%8F%B7%20X%20%E5%AF%B9%E5%BA%94%E5%85%A8%E5%B1%80%E5%81%8F%E7%A7%BB%20Y%22%E3%80%82%E6%8E%A5%E6%94%B6%E7%AB%AF%E6%A0%B9%E6%8D%AE%20DSN%20%E9%87%8D%E6%8E%92%E5%90%8E%E4%BA%A4%E4%BB%98%E7%BB%99%E5%BA%94%E7%94%A8%E5%B1%82%E3%80%82%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-c%22%3E//%20MPTCP%20%E5%85%B3%E9%94%AE%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%EF%BC%88Linux%20%E5%86%85%E6%A0%B8%E7%AE%80%E5%8C%96%E7%89%88%EF%BC%89%0Astruct%20mptcp_sock%20%7B%0A%20%20%20%20struct%20inet_sock%20%20%20%20inet%3B%20%20%20%20%20%20%20%20%20%20//%20%E5%9F%BA%E7%A1%80%20TCP%20socket%0A%20%20%20%20struct%20sock%20%20%20%20%20%20%20%20%2Amsk%3B%20%20%20%20%20%20%20%20%20%20%20//%20%E5%BD%93%E5%89%8D%E4%B8%BB%20socket%0A%20%20%20%20struct%20list_head%20%20%20%20conn_list%3B%20%20%20%20%20%20//%20%E5%AD%90%E6%B5%81%E9%93%BE%E8%A1%A8%0A%20%20%20%20u64%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20local_key%3B%20%20%20%20%20//%20%E6%9C%AC%E5%9C%B0%E8%BF%9E%E6%8E%A5%E5%AF%86%E9%92%A5%0A%20%20%20%20u64%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20remote_key%3B%20%20%20%20//%20%E8%BF%9C%E7%AB%AF%E8%BF%9E%E6%8E%A5%E5%AF%86%E9%92%A5%0A%20%20%20%20u16%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20remote_token%3B%20%20//%20%E8%BF%9C%E7%AB%AF%E8%BF%9E%E6%8E%A5%20Token%0A%20%20%20%20%0A%20%20%20%20//%20%E6%95%B0%E6%8D%AE%E5%BA%8F%E5%88%97%E5%8F%B7%E7%AE%A1%E7%90%86%0A%20%20%20%20u64%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20write_sn%3B%20%20%20%20%20%20//%20%E5%8F%91%E9%80%81%E6%95%B0%E6%8D%AE%E5%BA%8F%E5%88%97%E5%8F%B7%0A%20%20%20%20u64%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20data_ack%3B%20%20%20%20%20%20//%20%E6%8E%A5%E6%94%B6%E7%A1%AE%E8%AE%A4%E5%BA%8F%E5%88%97%E5%8F%B7%20%20%0A%20%20%20%20u64%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20data_fin_seq%3B%20%20//%20%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9D%9F%E5%BA%8F%E5%88%97%E5%8F%B7%0A%20%20%20%20%0A%20%20%20%20//%20%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%0A%20%20%20%20struct%20mptcp_pm_data%20pm%3B%20%20%20%20%20%20%20%20%20%20%20//%20%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%E6%95%B0%E6%8D%AE%0A%7D%3B%3C/code%3E%3C/pre%3E%0A%3Ch3%3E2.4%20%E4%BC%98%E9%9B%85%E5%85%B3%E9%97%AD%EF%BC%88Graceful%20Shutdown%EF%BC%89%3C/h3%3E%0A%3Cp%3EMPTCP%20%E7%9A%84%E5%85%B3%E9%97%AD%E9%9C%80%E8%A6%81%E4%B8%A4%E4%B8%AA%E9%98%B6%E6%AE%B5%EF%BC%8C%E7%A1%AE%E4%BF%9D%E6%89%80%E6%9C%89%E5%AD%90%E6%B5%81%E6%95%B0%E6%8D%AE%E9%83%BD%E5%B7%B2%E5%AE%8C%E6%88%90%E9%87%8D%E6%8E%92%EF%BC%9A%3C/p%3E%0A%3Cp%20style%3D%22margin-left%3A20px%3B%22%3E%26%238226%3B%20%3Cstrong%3EDATA_FIN%EF%BC%88Data-level%20FIN%EF%BC%89%3C/strong%3E%EF%BC%9A%E5%9C%A8%E6%9F%90%E4%B8%AA%E5%AD%90%E6%B5%81%E4%B8%8A%E5%8F%91%E9%80%81%20%3Ccode%3EDATA_FIN%3C/code%3E%EF%BC%8C%E8%A1%A8%E7%A4%BA%22%E5%85%A8%E5%B1%80%E6%95%B0%E6%8D%AE%E6%B5%81%E7%BB%93%E6%9D%9F%22%E3%80%82%E6%8E%A5%E6%94%B6%E7%AB%AF%E6%94%B6%E5%88%B0%E5%90%8E%E7%AD%89%E5%BE%85%E6%89%80%E6%9C%89%E5%AD%90%E6%B5%81%E6%95%B0%E6%8D%AE%E6%8C%89%20DSN%20%E9%87%8D%E6%8E%92%E5%AE%8C%E6%AF%95%EF%BC%8C%E5%86%8D%E5%90%91%E4%B8%8A%E5%B1%82%E4%BA%A4%E4%BB%98%20EOF%3C/p%3E%0A%3Cp%20style%3D%22margin-left%3A20px%3B%22%3E%26%238226%3B%20%3Cstrong%3EMP_CLOSE%20/%20TCP%20FIN%3C/strong%3E%EF%BC%9A%E5%90%84%E5%AD%90%E6%B5%81%E5%8F%AF%E4%BB%A5%E7%8B%AC%E7%AB%8B%E5%85%B3%E9%97%AD%E3%80%82MPTCP%20%E5%BF%85%E9%A1%BB%E7%AD%89%E6%89%80%E6%9C%89%E5%AD%90%E6%B5%81%E9%83%BD%E7%A1%AE%E8%AE%A4%E5%85%B3%E9%97%AD%E5%90%8E%E6%89%8D%E9%87%8A%E6%94%BE%E8%BF%9E%E6%8E%A5%E8%B5%84%E6%BA%90%3C/p%3E%0A%3Cp%3E%E8%BF%99%E8%A7%A3%E5%86%B3%E4%BA%86%E5%85%B3%E9%94%AE%E9%97%AE%E9%A2%98%EF%BC%9A%E5%A6%82%E6%9E%9C%E4%BB%85%E6%9F%90%E4%B8%AA%E5%AD%90%E6%B5%81%E6%94%B6%E5%88%B0%20TCP%20FIN%EF%BC%8C%E8%AF%A5%E5%AD%90%E6%B5%81%E4%B8%8A%E6%9C%AA%E6%94%B6%E5%AE%8C%E7%9A%84%E6%95%B0%E6%8D%AE%E4%B8%8D%E4%BC%9A%E4%B8%A2%E5%A4%B1%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%85%B6%E4%BB%96%E5%AD%90%E6%B5%81%E6%8C%81%E6%9C%89%E7%9B%B8%E5%90%8C%E6%95%B0%E6%8D%AE%E3%80%82%3C/p%3E%0A%3Chr/%3E%0A%3Ch2%3E%E4%B8%89%E3%80%81Linux%20%E5%86%85%E6%A0%B8%E5%AE%9E%E7%8E%B0%E5%89%96%E6%9E%90%3C/h2%3E%0A%3Cp%3ELinux%20MPTCP%20%E5%8F%82%E8%80%83%E5%AE%9E%E7%8E%B0%EF%BC%88mptcp-net/mptcp-net-next%EF%BC%89%E7%BB%8F%E8%BF%87%E5%A4%9A%E5%B9%B4%E6%BC%94%E5%8F%98%E5%90%8E%E5%90%88%E5%85%A5%E4%B8%BB%E7%BA%BF%E5%86%85%E6%A0%B8%EF%BC%885.6%2B%EF%BC%89%EF%BC%8C%E6%88%91%E4%BB%AC%E4%BB%A5%205.15%2B%20%E7%9A%84%E7%A8%B3%E5%AE%9A%E5%AE%9E%E7%8E%B0%E6%9D%A5%E5%88%86%E6%9E%90%E3%80%82%3C/p%3E%0A%3Ch3%3E3.1%20%E6%A0%B8%E5%BF%83%E6%96%87%E4%BB%B6%E7%BB%93%E6%9E%84%3C/h3%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-%22%3Enet/mptcp/%0A%E2%94%9C%E2%94%80%E2%94%80%20protocol.h%20%20%20%20%20%20%20--%20%E6%A0%B8%E5%BF%83%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8C%E5%B8%B8%E9%87%8F%E5%AE%9A%E4%B9%89%0A%E2%94%9C%E2%94%80%E2%94%80%20protocol.c%20%20%20%20%20%20%20--%20MPTCP%20%E9%80%89%E9%A1%B9%E8%A7%A3%E6%9E%90%E3%80%81DSN%20%E6%98%A0%E5%B0%84%E6%A0%B8%E5%BF%83%E9%80%BB%E8%BE%91%0A%E2%94%9C%E2%94%80%E2%94%80%20subflow.c%20%20%20%20%20%20%20%20--%20%E5%AD%90%E6%B5%81%E5%BB%BA%E7%AB%8B%E3%80%81%E7%AE%A1%E7%90%86%E3%80%81%E5%8A%A0%E5%85%A5/%E7%A7%BB%E9%99%A4%0A%E2%94%9C%E2%94%80%E2%94%80%20options.c%20%20%20%20%20%20%20%20--%20TCP%20%E9%80%89%E9%A1%B9%E7%BC%96%E7%A0%81/%E8%A7%A3%E7%A0%81%0A%E2%94%9C%E2%94%80%E2%94%80%20pm.c%20%20%20%20%20%20%20%20%20%20%20%20%20--%20%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%E6%A1%86%E6%9E%B6%E5%85%A5%E5%8F%A3%0A%E2%94%9C%E2%94%80%E2%94%80%20pm_netlink.c%20%20%20%20%20--%20Netlink%20%E6%8E%A5%E5%8F%A3%E9%85%8D%E7%BD%AE%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%0A%E2%94%9C%E2%94%80%E2%94%80%20scheduler.c%20%20%20%20%20%20--%20%E6%95%B0%E6%8D%AE%E5%8F%91%E9%80%81%E8%B0%83%E5%BA%A6%E7%AE%97%E6%B3%95%0A%E2%94%9C%E2%94%80%E2%94%80%20crypto.c%20%20%20%20%20%20%20%20%20--%20HMAC-SHA256%20%E5%AF%86%E9%92%A5%E6%B4%BE%E7%94%9F%0A%E2%94%9C%E2%94%80%E2%94%80%20ctrl.c%20%20%20%20%20%20%20%20%20%20%20--%20%E6%8E%A7%E5%88%B6%E8%B7%AF%E5%BE%84%EF%BC%88MP_PRIO%E3%80%81%E8%BF%9E%E6%8E%A5%E7%AE%A1%E7%90%86%EF%BC%89%0A%E2%94%94%E2%94%80%E2%94%80%20diag.c%20%20%20%20%20%20%20%20%20%20%20--%20ss%20%E5%91%BD%E4%BB%A4%E8%AF%8A%E6%96%AD%E6%8E%A5%E5%8F%A3%3C/code%3E%3C/pre%3E%0A%3Ch3%3E3.2%20%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%E5%99%A8%EF%BC%88Path%20Manager%EF%BC%89%3C/h3%3E%0A%3Cp%3E%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%E5%99%A8%E5%86%B3%E5%AE%9A%20MPTCP%20%E5%A6%82%E4%BD%95%E5%88%A9%E7%94%A8%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%EF%BC%8C%E6%98%AF%20MPTCP%20%E7%81%B5%E6%B4%BB%E6%80%A7%E7%9A%84%E5%85%B3%E9%94%AE%E3%80%82Linux%20%E5%86%85%E6%A0%B8%E5%AE%9E%E7%8E%B0%E4%BA%86%E4%B8%89%E7%A7%8D%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%E5%99%A8%EF%BC%9A%3C/p%3E%0A%3Ctable%3E%3Cthead%3E%3Ctr%3E%0A%3Cth%3E%E7%B1%BB%E5%9E%8B%3C/th%3E%0A%3Cth%3E%E9%BB%98%E8%AE%A4%E8%A1%8C%E4%B8%BA%3C/th%3E%0A%3Cth%3E%E9%80%82%E7%94%A8%E5%9C%BA%E6%99%AF%3C/th%3E%0A%3C/tr%3E%3C/thead%3E%3Ctbody%3E%0A%3Ctr%3E%0A%3Ctd%3Edefault%3C/td%3E%0A%3Ctd%3E%E4%BB%85%E4%BD%BF%E7%94%A8%E5%BB%BA%E7%AB%8B%20MPTCP%20%E8%BF%9E%E6%8E%A5%E6%97%B6%E7%9A%84%E9%82%A3%E4%B8%AA%E5%AD%90%E6%B5%81%3C/td%3E%0A%3Ctd%3E%E4%BF%9D%E5%AE%88%E5%9C%BA%E6%99%AF%EF%BC%8C%E9%99%8D%E7%BA%A7%E4%B8%BA%E5%8D%95%E8%B7%AF%E5%BE%84%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3Endiffport%3C/td%3E%0A%3Ctd%3E%E6%BA%90%E7%AB%AF%E5%8F%A3%E4%B8%8D%E5%90%8C%E4%BD%86%20IP%20%E7%9B%B8%E5%90%8C%EF%BC%8C%E5%88%9B%E5%BB%BA%E5%A4%9A%E6%9D%A1%E5%AD%90%E6%B5%81%3C/td%3E%0A%3Ctd%3E%E5%90%8C%E4%B8%80%E7%BD%91%E7%BB%9C%E8%AE%BE%E5%A4%87%E5%A4%9A%E7%AB%AF%E5%8F%A3%E7%BB%91%E5%AE%9A%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3Efullmesh%3C/td%3E%0A%3Ctd%3E%E5%9C%A8%E6%89%80%E6%9C%89%E6%9C%AC%E5%9C%B0%E5%9C%B0%E5%9D%80%E5%92%8C%E8%BF%9C%E7%AB%AF%E5%9C%B0%E5%9D%80%E4%B9%8B%E9%97%B4%E5%85%A8%E8%BF%9E%E6%8E%A5%E5%88%9B%E5%BB%BA%E5%AD%90%E6%B5%81%3C/td%3E%0A%3Ctd%3E%E6%9C%80%E5%A4%A7%E5%8C%96%E5%88%A9%E7%94%A8%E6%89%80%E6%9C%89%E9%93%BE%E8%B7%AF%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3Enetlink%3C/td%3E%0A%3Ctd%3E%E7%94%A8%E6%88%B7%E6%80%81%E9%80%9A%E8%BF%87%20Netlink%20%E5%8A%A8%E6%80%81%E7%AE%A1%E7%90%86%E5%AD%90%E6%B5%81%E5%9C%B0%E5%9D%80%3C/td%3E%0A%3Ctd%3E%E4%BA%91%E5%8E%9F%E7%94%9F%E3%80%81SDN%E3%80%81%E8%87%AA%E5%AE%9A%E4%B9%89%E7%AD%96%E7%95%A5%3C/td%3E%0A%3C/tr%3E%0A%3C/tbody%3E%3C/table%3E%0A%3Cp%3E%E5%8A%A8%E6%80%81%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8D%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%E5%99%A8%EF%BC%9A%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20%E6%9F%A5%E7%9C%8B%20MPTCP%20%E7%AB%AF%E7%82%B9%EF%BC%88%E5%8F%AF%E7%94%A8%E5%9C%B0%E5%9D%80%EF%BC%89%0Aip%20mptcp%20endpoint%20show%0A%0A%23%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E7%AB%AF%E7%82%B9%EF%BC%88netlink%20%E6%A8%A1%E5%BC%8F%E4%B8%8B%EF%BC%89%0Aip%20mptcp%20endpoint%20add%20192.168.1.100%20dev%20eth0%20signal%0A%0A%23%20%E6%B7%BB%E5%8A%A0%E5%AD%90%E6%B5%81%E7%AB%AF%E7%82%B9%EF%BC%88%E7%94%A8%E4%BA%8E%E5%BB%BA%E7%AB%8B%E5%AD%90%E6%B5%81%EF%BC%89%0Aip%20mptcp%20endpoint%20add%2010.0.0.1%20dev%20wlan0%20subflow%0A%0A%23%20%E8%AE%BE%E7%BD%AE%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%E5%99%A8%E7%B1%BB%E5%9E%8B%0Aip%20mptcp%20limits%20set%20subflow_limit%208%20add_addr_accepted%204%3C/code%3E%3C/pre%3E%0A%3Cp%3E%3Cstrong%3E%E5%85%B3%E9%94%AE%E4%BF%A1%E5%8F%B7%E7%B1%BB%E5%9E%8B%3C/strong%3E%EF%BC%9A%3C/p%3E%0A%3Cul%3E%0A%3Cli%3E%3Ccode%3Esignal%3C/code%3E%EF%BC%9A%E9%80%9A%E8%BF%87%20ADD_ADDR%20%E9%80%89%E9%A1%B9%E9%80%9A%E5%91%8A%E5%9C%B0%E5%9D%80%EF%BC%8C%E8%BF%9C%E7%AB%AF%E6%8D%AE%E6%AD%A4%E4%B8%BB%E5%8A%A8%E5%88%9B%E5%BB%BA%E5%AD%90%E6%B5%81%3C/li%3E%0A%3Cli%3E%3Ccode%3Esubflow%3C/code%3E%EF%BC%9A%E6%9C%AC%E6%9C%BA%E4%B8%BB%E5%8A%A8%E5%BB%BA%E7%AB%8B%E5%88%B0%E6%AD%A4%E5%9C%B0%E5%9D%80%E7%9A%84%E5%AD%90%E6%B5%81%3C/li%3E%0A%3C/ul%3E%0A%3Ch3%3E3.3%20%E8%B0%83%E5%BA%A6%E5%99%A8%EF%BC%88Scheduler%EF%BC%89%3C/h3%3E%0A%3Cp%3E%E8%B0%83%E5%BA%A6%E5%99%A8%E5%86%B3%E5%AE%9A%3Cstrong%3E%E5%B0%86%E4%B8%8B%E4%B8%80%E5%9D%97%E6%95%B0%E6%8D%AE%E5%8F%91%E9%80%81%E5%88%B0%E5%93%AA%E4%B8%AA%E5%AD%90%E6%B5%81%3C/strong%3E%E3%80%82Linux%20%E5%86%85%E6%A0%B8%E5%AE%9E%E7%8E%B0%E4%BA%86%E4%B8%89%E7%A7%8D%E8%B0%83%E5%BA%A6%E5%99%A8%EF%BC%9A%3C/p%3E%0A%3Ctable%3E%3Cthead%3E%3Ctr%3E%0A%3Cth%3E%E8%B0%83%E5%BA%A6%E5%99%A8%3C/th%3E%0A%3Cth%3E%E7%AE%97%E6%B3%95%3C/th%3E%0A%3Cth%3E%E7%89%B9%E7%82%B9%3C/th%3E%0A%3C/tr%3E%3C/thead%3E%3Ctbody%3E%0A%3Ctr%3E%0A%3Ctd%3Edefault%3C/td%3E%0A%3Ctd%3ERTT%20%E6%95%8F%E6%84%9F%E9%80%89%E6%8B%A9%3C/td%3E%0A%3Ctd%3E%E9%80%89%E6%8B%A9%20RTT%20%E6%9C%80%E4%BD%8E%E3%80%81%E6%8B%A5%E5%A1%9E%E7%AA%97%E5%8F%A3%E6%9C%AA%E5%A1%AB%E6%BB%A1%E7%9A%84%E5%AD%90%E6%B5%81%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3Eroundrobin%3C/td%3E%0A%3Ctd%3E%E8%BD%AE%E8%AF%A2%E5%88%86%E9%85%8D%3C/td%3E%0A%3Ctd%3E%E6%AF%8F%E4%B8%AA%E5%AD%90%E6%B5%81%E5%88%86%E9%85%8D%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E6%AE%B5%EF%BC%88data%20size%EF%BC%89%EF%BC%8C%E8%BD%AE%E8%BD%AC%E5%8F%91%E9%80%81%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3Eredundant%3C/td%3E%0A%3Ctd%3E%E5%86%97%E4%BD%99%E5%8F%91%E9%80%81%3C/td%3E%0A%3Ctd%3E%E5%90%8C%E4%B8%80%E6%95%B0%E6%8D%AE%E5%9C%A8%E6%89%80%E6%9C%89%E5%AD%90%E6%B5%81%E9%87%8D%E5%A4%8D%E5%8F%91%E9%80%81%EF%BC%8C%E7%89%BA%E7%89%B2%E5%B8%A6%E5%AE%BD%E6%8D%A2%E5%8F%96%E6%9C%80%E4%BD%8E%E5%BB%B6%E8%BF%9F%3C/td%3E%0A%3C/tr%3E%0A%3C/tbody%3E%3C/table%3E%0A%3Cp%3E%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%AE%9A%E4%B9%89%E8%B0%83%E5%BA%A6%E5%99%A8%E7%9A%84%E5%85%B3%E9%94%AE%E6%8E%A5%E5%8F%A3%EF%BC%9A%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-c%22%3E//%20MPTCP%20%E8%B0%83%E5%BA%A6%E5%99%A8%E6%93%8D%E4%BD%9C%E7%BB%93%E6%9E%84%E4%BD%93%EF%BC%88%E8%87%AA%E5%AE%9A%E4%B9%89%E8%B0%83%E5%BA%A6%E5%99%A8%E5%AE%9E%E7%8E%B0%EF%BC%89%0Astatic%20struct%20mptcp_sched_ops%20my_sched%20%3D%20%7B%0A%20%20%20%20.get_subflow%20%3D%20my_get_subflow%2C%20%20%20%20%20//%20%E9%80%89%E6%8B%A9%E4%B8%8B%E4%B8%80%E4%B8%AA%E5%8F%91%E9%80%81%E7%9A%84%E5%AD%90%E6%B5%81%0A%20%20%20%20.name%20%20%20%20%20%20%20%20%3D%20%22custom%22%2C%0A%20%20%20%20.owner%20%20%20%20%20%20%20%3D%20THIS_MODULE%2C%0A%7D%3B%3C/code%3E%3C/pre%3E%0A%3Cp%3E%3Cstrong%3E%E7%94%9F%E4%BA%A7%E5%BB%BA%E8%AE%AE%3C/strong%3E%EF%BC%9A%E5%AF%B9%E4%BA%8E%E5%A4%A7%E6%96%87%E4%BB%B6%E4%BC%A0%E8%BE%93%EF%BC%8C%3Ccode%3Edefault%3C/code%3E%20%E8%B0%83%E5%BA%A6%E5%99%A8%E9%80%9A%E5%B8%B8%E8%A1%A8%E7%8E%B0%E6%9C%80%E4%BD%B3%EF%BC%9B%E5%AF%B9%E4%BA%8E%E5%BB%B6%E8%BF%9F%E6%95%8F%E6%84%9F%E7%9A%84%E5%AE%9E%E6%97%B6%E9%9F%B3%E8%A7%86%E9%A2%91%EF%BC%8C%3Ccode%3Eroundrobin%3C/code%3E%20%E5%8F%AF%E4%BB%A5%E5%9C%A8%E5%A4%9A%E9%93%BE%E8%B7%AF%E9%97%B4%E5%9D%87%E8%A1%A1%E8%B4%9F%E8%BD%BD%EF%BC%9B%E5%AF%B9%E6%9E%81%E7%AB%AF%E4%BD%8E%E5%BB%B6%E8%BF%9F%E5%9C%BA%E6%99%AF%EF%BC%8C%3Ccode%3Eredundant%3C/code%3E%20%E7%89%BA%E7%89%B2%E5%B8%A6%E5%AE%BD%E6%B6%88%E9%99%A4%E4%B8%A2%E5%8C%85%E9%87%8D%E4%BC%A0%E5%BB%B6%E8%BF%9F%E6%8A%96%E5%8A%A8%E3%80%82%3C/p%3E%0A%3Ch3%3E3.4%20%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6%E7%9A%84%E8%80%A6%E5%90%88%E9%9A%BE%E9%A2%98%3C/h3%3E%0A%3Cp%3E%E6%AF%8F%E4%B8%AA%E5%AD%90%E6%B5%81%E6%9C%89%E7%8B%AC%E7%AB%8B%E7%9A%84%20TCP%20%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6%E7%8A%B6%E6%80%81%E3%80%82MPTCP%20%E9%9C%80%E8%A6%81%E5%8D%8F%E8%B0%83%E5%90%84%E5%AD%90%E6%B5%81%E7%9A%84%E6%8B%A5%E5%A1%9E%E7%AA%97%E5%8F%A3%E4%BB%A5%E9%81%BF%E5%85%8D%E5%AF%B9%E5%8D%95%E8%B7%AF%E5%BE%84%20TCP%20%E9%80%A0%E6%88%90%E4%B8%8D%E5%85%AC%E5%B9%B3%E3%80%82Linux%20MPTCP%20%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20%3Cstrong%3ELIA%EF%BC%88Linked%20Increase%20Algorithm%EF%BC%8CRFC%206356%EF%BC%89%3C/strong%3E%EF%BC%9A%3C/p%3E%0A%3Cul%3E%0A%3Cli%3E%E5%BD%93%E4%B8%80%E4%B8%AA%E5%AD%90%E6%B5%81%E6%94%B6%E5%88%B0%20ACK%20%E6%97%B6%EF%BC%8C%E5%AE%83%E7%9A%84%E6%8B%A5%E5%A1%9E%E7%AA%97%E5%8F%A3%E5%A2%9E%E5%8A%A0%E9%87%8F%E4%B8%8D%E4%BB%85%E5%8F%96%E5%86%B3%E4%BA%8E%E8%87%AA%E8%BA%AB%20RTT%EF%BC%8C%E8%BF%98%E5%8F%97%E5%88%B0%E5%85%B6%E4%BB%96%E5%AD%90%E6%B5%81%E4%B8%A2%E5%8C%85%E7%8E%87%E7%9A%84%E5%BD%B1%E5%93%8D%3C/li%3E%0A%3Cli%3E%E5%A6%82%E6%9E%9C%E4%BB%BB%E4%BD%95%E4%B8%80%E4%B8%AA%E5%AD%90%E6%B5%81%E6%A3%80%E6%B5%8B%E5%88%B0%E4%B8%A2%E5%8C%85%EF%BC%8C%E6%89%80%E6%9C%89%E5%85%B6%E4%BB%96%E5%AD%90%E6%B5%81%E7%9A%84%E7%AA%97%E5%8F%A3%E5%A2%9E%E9%95%BF%E9%83%BD%E4%BC%9A%E5%87%8F%E7%BC%93%3C/li%3E%0A%3C/ul%3E%0A%3Cp%3E%E6%9B%BF%E4%BB%A3%E6%96%B9%E6%A1%88%EF%BC%9A%3C/p%3E%0A%3Cul%3E%0A%3Cli%3E%3Cstrong%3Eolia%3C/strong%3E%EF%BC%88%20Opportunistic%20LIA%EF%BC%89%EF%BC%9A%E6%9B%B4%E5%B9%B3%E6%BB%91%E7%9A%84%E7%AA%97%E5%8F%A3%E8%B0%83%E6%95%B4%EF%BC%8C%E9%81%BF%E5%85%8D%E6%8C%AF%E8%8D%A1%3C/li%3E%0A%3Cli%3E%3Cstrong%3Ebalia%3C/strong%3E%EF%BC%88Balanced%20LIA%EF%BC%89%EF%BC%9A%E5%AF%B9%E7%9F%AD%E6%B5%81%E6%9B%B4%E5%8F%8B%E5%A5%BD%EF%BC%8C%E5%87%8F%E5%B0%91%E7%A9%BA%E9%97%B2%E5%AD%90%E6%B5%81%E7%9A%84%E5%BD%B1%E5%93%8D%3C/li%3E%0A%3Cli%3E%3Cstrong%3Ewvegas%3C/strong%3E%EF%BC%88Delay-based%EF%BC%89%EF%BC%9A%E5%9F%BA%E4%BA%8E%E5%BB%B6%E8%BF%9F%E7%9A%84%E7%AA%97%E5%8F%A3%E8%B0%83%E6%95%B4%EF%BC%8C%E9%80%82%E5%90%88%E9%AB%98%E5%B8%A6%E5%AE%BD%E5%BB%B6%E8%BF%9F%E7%A7%AF%E9%93%BE%E8%B7%AF%3C/li%3E%0A%3C/ul%3E%0A%3Cp%3E%E6%9F%A5%E7%9C%8B%E5%92%8C%E9%80%89%E6%8B%A9%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6%EF%BC%9A%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8D%20TCP%20%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6%0Acat%20/proc/sys/net/ipv4/tcp_congestion_control%0A%0A%23%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%20BBR%EF%BC%88%E9%85%8D%E5%90%88%20MPTCP%20%E4%BD%BF%E7%94%A8%E7%9A%84%E5%AD%90%E6%B5%81%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6%EF%BC%89%0Asysctl%20-w%20net.ipv4.tcp_congestion_control%3Dbbr%0A%0A%23%20MPTCP%20%E8%81%94%E9%82%A6%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6%0Asysctl%20-w%20net.mptcp.scheduler%3Ddefault%3C/code%3E%3C/pre%3E%0A%3Chr/%3E%0A%3Ch2%3E%E5%9B%9B%E3%80%81MP-QUIC%EF%BC%9A%E5%A4%9A%E8%B7%AF%E5%BE%84%E4%BC%A0%E8%BE%93%E7%9A%84%E6%96%B0%E6%88%98%E5%9C%BA%3C/h2%3E%0A%3Cp%3EQUIC%EF%BC%88HTTP/3%20%E5%BA%95%E5%B1%82%E5%8D%8F%E8%AE%AE%EF%BC%89%E8%87%AA%E8%AE%BE%E8%AE%A1%E8%B5%B7%E5%B0%B1%E6%94%AF%E6%8C%81%E8%BF%9E%E6%8E%A5%E8%BF%81%E7%A7%BB%EF%BC%8CIETF%20%E5%B7%A5%E4%BD%9C%E7%BB%84%E4%B9%9F%E5%9C%A8%E7%A0%94%E5%8F%91%20%3Cstrong%3EMP-QUIC%EF%BC%88Multipath%20QUIC%EF%BC%89%3C/strong%3E%EF%BC%8CRFC%209297%20%E5%B7%B2%E6%A0%87%E5%87%86%E5%8C%96%E6%A0%B8%E5%BF%83%E6%9C%BA%E5%88%B6%E3%80%82%3C/p%3E%0A%3Cp%3EMPTCP%20%E5%92%8C%20MP-QUIC%20%E7%9A%84%E5%AF%B9%E6%AF%94%EF%BC%9A%3C/p%3E%0A%3Ctable%3E%3Cthead%3E%3Ctr%3E%0A%3Cth%3E%E7%BB%B4%E5%BA%A6%3C/th%3E%0A%3Cth%3EMPTCP%3C/th%3E%0A%3Cth%3EMP-QUIC%3C/th%3E%0A%3C/tr%3E%3C/thead%3E%3Ctbody%3E%0A%3Ctr%3E%0A%3Ctd%3E%E4%BC%A0%E8%BE%93%E5%B1%82%3C/td%3E%0A%3Ctd%3ETCP%EF%BC%88%E5%86%85%E6%A0%B8%E6%80%81%EF%BC%89%3C/td%3E%0A%3Ctd%3EUDP%EF%BC%88%E7%94%A8%E6%88%B7%E6%80%81%EF%BC%89%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3ENAT/LB%20%E5%8F%8B%E5%A5%BD%E5%BA%A6%3C/td%3E%0A%3Ctd%3E%E5%B7%AE%EF%BC%88NAT%20%E7%BB%91%E5%AE%9A%E5%9B%9B%E5%85%83%E7%BB%84%EF%BC%8C%E4%B8%AD%E9%97%B4%E7%9B%92%E5%8F%AF%E8%83%BD%E4%B8%A2%E5%BC%83%20MPTCP%20%E9%80%89%E9%A1%B9%EF%BC%89%3C/td%3E%0A%3Ctd%3E%E5%A5%BD%EF%BC%88%E6%A0%87%E5%87%86%20UDP%EF%BC%8C%E8%BF%9E%E6%8E%A5%20ID%20%E4%B8%8D%E4%BE%9D%E8%B5%96%20IP%EF%BC%89%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3E%E5%BA%94%E7%94%A8%E6%84%9F%E7%9F%A5%3C/td%3E%0A%3Ctd%3E%E5%AE%8C%E5%85%A8%E9%80%8F%E6%98%8E%EF%BC%88%E5%BA%94%E7%94%A8%E6%97%A0%E6%84%9F%E7%9F%A5%EF%BC%89%3C/td%3E%0A%3Ctd%3E%E9%9C%80%E8%A6%81%E6%98%BE%E5%BC%8F%E6%94%AF%E6%8C%81%EF%BC%88%E5%A6%82%E4%BD%BF%E7%94%A8%20quiche%E3%80%81lsquic%20%E5%BA%93%EF%BC%89%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3E%E5%A4%B4%E9%83%A8%E5%BC%80%E9%94%80%3C/td%3E%0A%3Ctd%3E%E8%BE%83%E4%BD%8E%EF%BC%88MPTCP%20%E9%80%89%E9%A1%B9%E7%BA%A6%2020%20%E5%AD%97%E8%8A%82%EF%BC%89%3C/td%3E%0A%3Ctd%3E%E8%BE%83%E9%AB%98%EF%BC%88QUIC%20%E5%8C%85%E6%A0%BC%E5%BC%8F%20%2B%20%E5%A4%9A%E8%B7%AF%E5%BE%84%E6%89%A9%E5%B1%95%EF%BC%89%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3E%E5%8A%A0%E5%AF%86%3C/td%3E%0A%3Ctd%3E%E6%97%A0%E8%87%AA%E5%B8%A6%E5%8A%A0%E5%AF%86%EF%BC%88%E4%BE%9D%E8%B5%96%20TLS%20%E4%B8%8A%E5%B1%82%EF%BC%89%3C/td%3E%0A%3Ctd%3E%E8%87%AA%E5%B8%A6%20TLS%201.3%20%E5%8A%A0%E5%AF%86%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3E%E4%B8%A2%E5%8C%85%E6%81%A2%E5%A4%8D%3C/td%3E%0A%3Ctd%3E%E5%90%84%E5%AD%90%E6%B5%81%E7%8B%AC%E7%AB%8B%E9%87%8D%E4%BC%A0%3C/td%3E%0A%3Ctd%3E%E5%85%A8%E5%B1%80%E7%BB%9F%E4%B8%80%E4%B8%A2%E5%8C%85%E6%81%A2%E5%A4%8D%EF%BC%88%E8%BF%9E%E6%8E%A5%E7%BA%A7%E9%87%8D%E4%BC%A0%EF%BC%89%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3E%E8%BF%9E%E6%8E%A5%E8%BF%81%E7%A7%BB%3C/td%3E%0A%3Ctd%3E%E9%9C%80%E8%A6%81%E5%A4%9A%20IP%3C/td%3E%0A%3Ctd%3E%E6%94%AF%E6%8C%81%E5%8D%95%20IP%20%E5%9C%BA%E6%99%AF%E7%9A%84%E8%BF%9E%E6%8E%A5%E8%BF%81%E7%A7%BB%3C/td%3E%0A%3C/tr%3E%0A%3Ctr%3E%0A%3Ctd%3E%E4%B8%AD%E9%97%B4%E7%9B%92%E5%85%BC%E5%AE%B9%E6%80%A7%3C/td%3E%0A%3Ctd%3E~50%25%20%E4%B8%AD%E9%97%B4%E7%9B%92%E4%BC%9A%E5%89%A5%E7%A6%BB%20MPTCP%20%E9%80%89%E9%A1%B9%3C/td%3E%0A%3Ctd%3E%E5%8F%96%E5%86%B3%E4%BA%8E%20UDP%20%E7%A9%BF%E8%B6%8A%E8%83%BD%E5%8A%9B%3C/td%3E%0A%3C/tr%3E%0A%3C/tbody%3E%3C/table%3E%0A%3Cp%3E%3Cstrong%3E%E5%85%B3%E9%94%AE%E5%B7%AE%E5%BC%82%3C/strong%3E%EF%BC%9AMPTCP%20%E7%94%B1%E4%BA%8E%E5%B7%A5%E4%BD%9C%E5%9C%A8%20TCP%20%E5%B1%82%EF%BC%8CNAT%E3%80%81%E9%98%B2%E7%81%AB%E5%A2%99%E5%92%8C%E4%B8%AD%E9%97%B4%E7%9B%92%E5%8F%AF%E8%83%BD%E4%BC%9A%E4%B8%A2%E5%BC%83%E5%8C%85%E5%90%AB%20MPTCP%20%E9%80%89%E9%A1%B9%E7%9A%84%20TCP%20%E6%AE%B5%EF%BC%8C%E8%BF%99%E6%98%AF%20MPTCP%20%E5%9C%A8%E7%94%9F%E4%BA%A7%E9%83%A8%E7%BD%B2%E4%B8%AD%E9%9D%A2%E4%B8%B4%E7%9A%84%E6%9C%80%E5%A4%A7%E6%8C%91%E6%88%98%E3%80%82%E4%B8%BA%E4%BA%86%E8%A7%A3%E5%86%B3%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%EF%BC%8CApple%20%E5%9C%A8%20iOS%20%E4%B8%8A%E9%87%87%E7%94%A8%E4%BA%86%22%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%8F%A1%E6%89%8B%E6%A3%80%E6%B5%8B%20MPTCP%20%E6%94%AF%E6%8C%81%20%E2%86%92%20%E9%99%8D%E7%BA%A7%E5%9B%9E%E9%80%80%E6%A0%87%E5%87%86%20TCP%22%E7%9A%84%E5%85%BC%E5%AE%B9%E6%96%B9%E6%A1%88%E3%80%82%3C/p%3E%0A%3Chr/%3E%0A%3Ch2%3E%E4%BA%94%E3%80%81%E7%94%9F%E4%BA%A7%E9%83%A8%E7%BD%B2%E5%AE%9E%E6%88%98%3C/h2%3E%0A%3Ch3%3E5.1%20%E7%B3%BB%E7%BB%9F%E9%85%8D%E7%BD%AE%3C/h3%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20%E6%A3%80%E6%9F%A5%E5%86%85%E6%A0%B8%E6%98%AF%E5%90%A6%E6%94%AF%E6%8C%81%20MPTCP%0Auname%20-r%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E9%9C%80%E8%A6%81%20%26gt%3B%3D%205.6%0Als%20/proc/net/mptcp%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20MPTCP%20%E7%BD%91%E7%BB%9C%E8%AF%8A%E6%96%AD%E6%8E%A5%E5%8F%A3%0Asysctl%20net.mptcp.enabled%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E5%BA%94%E8%AF%A5%E4%B8%BA%201%0A%0A%23%20%E5%90%AF%E7%94%A8%20MPTCP%EF%BC%88%E5%A6%82%E6%9C%AA%E5%90%AF%E7%94%A8%EF%BC%89%0Asysctl%20-w%20net.mptcp.enabled%3D1%0A%0A%23%20%E6%8C%81%E4%B9%85%E5%8C%96%E9%85%8D%E7%BD%AE%0Acat%20%26gt%3B%26gt%3B%20/etc/sysctl.d/99-mptcp.conf%20%26lt%3B%26lt%3B%20%27EOF%27%0Anet.mptcp.enabled%3D1%0Anet.mptcp.checksum_enabled%3D0%20%20%20%20%20%20%20%20%20%20%23%20%E5%85%B3%E9%97%AD%20MPTCP%20%E7%BA%A7%E6%A0%A1%E9%AA%8C%E5%92%8C%EF%BC%8C%E5%87%8F%E8%BD%BB%20CPU%20%E5%8E%8B%E5%8A%9B%0Anet.ipv4.tcp_congestion_control%3Dbbr%20%20%20%23%20%E5%AD%90%E6%B5%81%E4%BD%BF%E7%94%A8%20BBR%0Anet.core.rmem_max%3D8388608%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E8%B0%83%E4%BC%98%E7%BC%93%E5%86%B2%E5%8C%BA%0Anet.core.wmem_max%3D8388608%0AEOF%0Asysctl%20-p%20/etc/sysctl.d/99-mptcp.conf%3C/code%3E%3C/pre%3E%0A%3Ch3%3E5.2%20%E6%9C%8D%E5%8A%A1%E7%AB%AF%E9%83%A8%E7%BD%B2%EF%BC%88%E4%BB%A5%20Nginx%20%E4%B8%BA%E4%BE%8B%EF%BC%89%3C/h3%3E%0A%3Cp%3ENginx%20%E4%BB%8E%201.25%20%E7%89%88%E6%9C%AC%E8%B5%B7%E5%8E%9F%E7%94%9F%E6%94%AF%E6%8C%81%20MPTCP%EF%BC%9A%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-nginx%22%3Eserver%20%7B%0A%20%20%20%20listen%20443%20ssl%20mptcp%3B%0A%20%20%20%20server_name%20example.com%3B%0A%20%20%20%20%0A%20%20%20%20ssl_certificate%20%20%20%20%20/etc/ssl/certs/server.pem%3B%0A%20%20%20%20ssl_certificate_key%20/etc/ssl/private/server.pem%3B%0A%20%20%20%20%0A%20%20%20%20location%20/%20%7B%0A%20%20%20%20%20%20%20%20proxy_pass%20http%3A//backend%3B%0A%20%20%20%20%7D%0A%7D%3C/code%3E%3C/pre%3E%0A%3Ch3%3E5.3%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%BF%9E%E6%8E%A5%3C/h3%3E%0A%3Cp%3E%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%9C%80%E8%A6%81%20Linux%205.16%2B%20%E5%86%85%E6%A0%B8%E6%94%AF%E6%8C%81%20%3Ccode%3EIPPROTO_MPTCP%3C/code%3E%EF%BC%9A%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-c%22%3E//%20C%20%E8%AF%AD%E8%A8%80%E7%A4%BA%E4%BE%8B%EF%BC%9A%E5%88%9B%E5%BB%BA%20MPTCP%20%E5%AE%A2%E6%88%B7%E7%AB%AF%0A%23include%20%26lt%3Bsys/socket.h%26gt%3B%0A%23include%20%26lt%3Bnetinet/in.h%26gt%3B%0A%0Aint%20fd%20%3D%20socket%28AF_INET%2C%20SOCK_STREAM%2C%20IPPROTO_MPTCP%29%3B%0Aif%20%28fd%20%26lt%3B%200%29%20%7B%0A%20%20%20%20perror%28%22MPTCP%20socket%20creation%20failed%20%28kernel%20too%20old%3F%29%22%29%3B%0A%20%20%20%20//%20%E5%9B%9E%E9%80%80%E5%88%B0%E6%A0%87%E5%87%86%20TCP%0A%20%20%20%20fd%20%3D%20socket%28AF_INET%2C%20SOCK_STREAM%2C%20IPPROTO_TCP%29%3B%0A%7D%0A%0Astruct%20sockaddr_in%20addr%20%3D%20%7B%0A%20%20%20%20.sin_family%20%3D%20AF_INET%2C%0A%20%20%20%20.sin_port%20%3D%20htons%28443%29%2C%0A%20%20%20%20.sin_addr%20%3D%20%7B.s_addr%20%3D%20inet_addr%28%2293.184.216.34%22%29%7D%0A%7D%3B%0A%0Aconnect%28fd%2C%20%28struct%20sockaddr%2A%29%26addr%2C%20sizeof%28addr%29%29%3B%0A//%20%E6%AD%A4%E5%90%8E%20connect%20%E4%BC%9A%E8%87%AA%E5%8A%A8%E5%8D%8F%E5%95%86%20MPTCP%EF%BC%8C%E8%8B%A5%E8%BF%9C%E7%AB%AF%E4%B8%8D%E6%94%AF%E6%8C%81%E5%88%99%E9%99%8D%E7%BA%A7%E4%B8%BA%20TCP%3C/code%3E%3C/pre%3E%0A%3Cp%3E%E4%B9%9F%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E8%AE%A9%20curl%20%E8%87%AA%E5%8A%A8%E4%BD%BF%E7%94%A8%20MPTCP%EF%BC%9A%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20curl%208.3%2B%20%E6%94%AF%E6%8C%81%20MPTCP%0Acurl%20--mptcp%20https%3A//example.com%3C/code%3E%3C/pre%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20Go%201.21%2B%20%E7%9A%84%20net%20%E5%8C%85%E6%94%AF%E6%8C%81%20MPTCP%0A//%20Go%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E5%90%AF%E7%94%A8%20MPTCP%0Adialer%20%3A%3D%20%26net.Dialer%7B%0A%20%20%20%20Control%3A%20func%28network%2C%20address%20string%2C%20c%20syscall.RawConn%29%20error%20%7B%0A%20%20%20%20%20%20%20%20return%20c.Control%28func%28fd%20uintptr%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20syscall.SetsockoptInt%28int%28fd%29%2C%20syscall.SOL_TCP%2C%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20syscall.MPTCP_ENABLED%2C%201%29%0A%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%7D%2C%0A%7D%3C/code%3E%3C/pre%3E%0A%3Ch3%3E5.4%20%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98%E5%8F%82%E6%95%B0%3C/h3%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20%E5%AD%90%E6%B5%81%E6%95%B0%E9%87%8F%E9%99%90%E5%88%B6%EF%BC%88%E9%98%B2%E6%AD%A2%E8%BF%87%E5%A4%9A%E8%BF%9E%E6%8E%A5%E5%8D%A0%E7%94%A8%E8%B5%84%E6%BA%90%EF%BC%89%0Asysctl%20-w%20net.mptcp.subflow_limit%3D8%0A%0A%23%20%E5%9C%B0%E5%9D%80%E9%80%9A%E5%91%8A%E6%95%B0%E9%99%90%E5%88%B6%0Asysctl%20-w%20net.mptcp.add_addr_accepted%3D4%0A%0A%23%20%E6%AF%8F%E4%B8%AA%E8%BF%9E%E6%8E%A5%E7%9A%84%E6%9C%80%E5%A4%A7%E5%AD%90%E6%B5%81%E6%95%B0%0Aip%20mptcp%20limits%20set%20subflow_limit%204%0A%0A%23%20%E7%9B%91%E6%8E%A7%20MPTCP%20%E8%BF%9E%E6%8E%A5%E7%8A%B6%E6%80%81%0Ass%20-Mtni%20state%20established%20dport%20%3D%20%3A443%0A%23%20%E8%BE%93%E5%87%BA%E7%A4%BA%E4%BE%8B%EF%BC%9A%0A%23%20Recv-Q%20%20Send-Q%20%20Local%20Address%3APort%20%20Peer%20Address%3APort%0A%23%200%20%20%20%20%20%20%200%20%20%20%20%20%20%20192.168.1.10%3A52134%20%2093.184.216.34%3A443%0A%23%20%20%20subflows%3A2%20%20ssthresh%3A65535%20%20rtt%3A23ms%3C/code%3E%3C/pre%3E%0A%3Chr/%3E%0A%3Ch2%3E%E5%85%AD%E3%80%81%E7%9B%91%E6%8E%A7%E4%B8%8E%E6%8E%92%E9%9A%9C%3C/h2%3E%0A%3Ch3%3E6.1%20%E8%AF%8A%E6%96%AD%E5%B7%A5%E5%85%B7%E5%92%8C%E5%91%BD%E4%BB%A4%3C/h3%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8D%E6%B4%BB%E5%8A%A8%E7%9A%84%20MPTCP%20%E8%BF%9E%E6%8E%A5%E5%92%8C%E5%AD%90%E6%B5%81%E7%BB%9F%E8%AE%A1%0Acat%20/proc/net/mptcp_net%0A%23%20%E6%88%96%0Ass%20-Mtni%0A%0A%23%20%E6%9F%A5%E7%9C%8B%20MPTCP%20%E7%AB%AF%E7%82%B9%E9%85%8D%E7%BD%AE%0Aip%20mptcp%20endpoint%20show%0A%0A%23%20%E6%9F%A5%E7%9C%8B%E8%BF%9E%E6%8E%A5%E7%BA%A7%E7%BB%9F%E8%AE%A1%EF%BC%88%E6%AF%8F%E4%B8%AA%E5%AD%90%E6%B5%81%E7%9A%84%E7%8B%AC%E7%AB%8B%E7%9A%84%20RTT%E3%80%81cwnd%E3%80%81%E9%87%8D%E4%BC%A0%EF%BC%89%0Acat%20/proc/net/mptcp%3C/code%3E%3C/pre%3E%0A%3Ch3%3E6.2%20%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5%3C/h3%3E%0A%3Cp%3E%3Cstrong%3E%E9%97%AE%E9%A2%98%201%EF%BC%9A%E8%BF%9E%E6%8E%A5%E5%9B%9E%E9%80%80%E5%88%B0%E6%A0%87%E5%87%86%20TCP%3C/strong%3E%3C/p%3E%0A%3Cp%3E%E7%8E%B0%E8%B1%A1%EF%BC%9A%3Ccode%3Ess%20-M%3C/code%3E%20%E6%98%BE%E7%A4%BA%E7%9A%84%E8%BF%9E%E6%8E%A5%20%3Ccode%3Esubflows%3A1%3C/code%3E%20%E4%B8%94%20%3Ccode%3EMPTCP_FAIL%3C/code%3E%20%E8%AE%A1%E6%95%B0%E5%99%A8%E5%A2%9E%E5%8A%A0%E3%80%82%3C/p%3E%0A%3Cp%3E%E5%8F%AF%E8%83%BD%E5%8E%9F%E5%9B%A0%EF%BC%9A%3C/p%3E%0A%3Cul%3E%0A%3Cli%3E%E4%B8%AD%E9%97%B4%E7%9B%92%EF%BC%88%E9%98%B2%E7%81%AB%E5%A2%99%E3%80%81%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%99%A8%EF%BC%89%E5%89%A5%E7%A6%BB%E4%BA%86%20MPTCP%20%E9%80%89%E9%A1%B9%3C/li%3E%0A%3Cli%3E%E8%BF%9C%E7%AB%AF%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8D%E6%94%AF%E6%8C%81%20MPTCP%3C/li%3E%0A%3Cli%3E%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%9A%84%E5%86%85%E6%A0%B8%E6%9C%AA%E5%90%AF%E7%94%A8%20MPTCP%3C/li%3E%0A%3C/ul%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20%E6%8A%93%E5%8C%85%E7%A1%AE%E8%AE%A4%20MPTCP%20%E9%80%89%E9%A1%B9%E6%98%AF%E5%90%A6%E8%A2%AB%E5%89%A5%E7%A6%BB%0Atcpdump%20-i%20eth0%20%27tcp%5Btcpflags%5D%20%26%20%28tcp-syn%29%20%21%3D%200%27%20-vv%20%7C%20grep%20-i%20mptcp%0A%0A%23%20%E6%A3%80%E6%9F%A5%E5%86%85%E6%A0%B8%E6%97%A5%E5%BF%97%0Admesg%20%7C%20grep%20-i%20mptcp%0Acat%20/var/log/kern.log%20%7C%20grep%20mptcp%3C/code%3E%3C/pre%3E%0A%3Cp%3E%3Cstrong%3E%E9%97%AE%E9%A2%98%202%EF%BC%9A%E5%AD%90%E6%B5%81%E5%88%9B%E5%BB%BA%E5%A4%B1%E8%B4%A5%3C/strong%3E%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20%E6%A3%80%E6%9F%A5%20Netlink%20%E6%9D%83%E9%99%90%0Aip%20mptcp%20endpoint%20show%20%20%20%20%20%20%20%20%20%20%23%20%E7%A1%AE%E8%AE%A4%E7%AB%AF%E7%82%B9%E5%B7%B2%E9%85%8D%E7%BD%AE%0Aip%20mptcp%20limits%20show%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E6%A3%80%E6%9F%A5%E6%98%AF%E5%90%A6%E8%BE%BE%E5%88%B0%E5%AD%90%E6%B5%81%E6%95%B0%E4%B8%8A%E9%99%90%0A%0A%23%20%E6%9F%A5%E7%9C%8B%E5%86%85%E6%A0%B8%E6%A8%A1%E5%9D%97%E6%98%AF%E5%90%A6%E5%8A%A0%E8%BD%BD%0Alsmod%20%7C%20grep%20mptcp%0Amodprobe%20mptcp%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E5%A6%82%E6%9C%AA%E5%8A%A0%E8%BD%BD%3C/code%3E%3C/pre%3E%0A%3Cp%3E%3Cstrong%3E%E9%97%AE%E9%A2%98%203%EF%BC%9A%E4%BC%A0%E8%BE%93%E6%9C%AA%E5%88%A9%E7%94%A8%E5%A4%9A%E9%93%BE%E8%B7%AF%3C/strong%3E%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20%E6%A3%80%E6%9F%A5%E6%98%AF%E5%90%A6%E5%8F%AA%E6%9C%89%E9%BB%98%E8%AE%A4%E5%AD%90%E6%B5%81%0Ass%20-Mtni%20%7C%20grep%20-c%20%22subflows%3A1%22%20%20%23%20%E6%95%B0%E9%87%8F%20%26gt%3B%201%20%E8%AF%B4%E6%98%8E%E5%A4%9A%E8%B7%AF%E5%BE%84%E7%94%9F%E6%95%88%0A%0A%23%20%E6%9F%A5%E7%9C%8B%E8%B0%83%E5%BA%A6%E5%99%A8%E9%80%89%E6%8B%A9%0Acat%20/sys/module/mptcp/parameters/scheduler%0A%0A%23%20%E4%BD%BF%E7%94%A8%20eBPF%20%E8%B7%9F%E8%B8%AA%20MPTCP%20%E4%BA%8B%E4%BB%B6%0Abpftrace%20-e%20%27kprobe%3Amptcp_sched_get_send%20%7B%20printf%28%22MPTCP%20sched%20get%20send%5Cn%22%29%3B%20%7D%27%3C/code%3E%3C/pre%3E%0A%3Ch3%3E6.3%20eBPF%20%E6%B4%9E%E5%AF%9F%3C/h3%3E%0A%3Cp%3E%E9%80%9A%E8%BF%87%20eBPF%20%E5%8F%AF%E4%BB%A5%E5%AE%9E%E6%97%B6%E7%9B%91%E6%8E%A7%20MPTCP%20%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-c%22%3E//%20eBPF%20%E7%A8%8B%E5%BA%8F%EF%BC%9A%E8%B7%9F%E8%B8%AA%20MPTCP%20%E6%95%B0%E6%8D%AE%E5%88%86%E7%89%87%E9%80%89%E6%8B%A9%E5%AD%90%E6%B5%81%0ASEC%28%22kprobe/mptcp_sched_get_send%22%29%0Aint%20trace_mptcp_sched%28struct%20pt_regs%20%2Actx%29%20%7B%0A%20%20%20%20struct%20mptcp_sock%20%2Amsk%20%3D%20%28struct%20mptcp_sock%20%2A%29PT_REGS_PARM1%28ctx%29%3B%0A%20%20%20%20u32%20nr_subflows%20%3D%20msk-%26gt%3Bsubflows_count%3B%0A%20%20%20%20u64%20write_seq%20%3D%20msk-%26gt%3Bwrite_sn%3B%0A%20%20%20%20%0A%20%20%20%20bpf_printk%28%22MPTCP%20sched%3A%20subflows%3D%25d%2C%20write_sn%3D%25llu%5Cn%22%2C%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20nr_subflows%2C%20write_seq%29%3B%0A%20%20%20%20return%200%3B%0A%7D%3C/code%3E%3C/pre%3E%0A%3Chr/%3E%0A%3Ch2%3E%E4%B8%83%E3%80%81%E7%94%9F%E4%BA%A7%E6%A1%88%E4%BE%8B%3C/h2%3E%0A%3Ch3%3E7.1%20Apple%20Siri%20%E7%9A%84%20MPTCP%20%E5%AE%9E%E8%B7%B5%3C/h3%3E%0A%3Cp%3EApple%20%E6%98%AF%20MPTCP%20%E6%9C%80%E5%A4%A7%E7%9A%84%E7%94%9F%E4%BA%A7%E5%BA%94%E7%94%A8%E8%80%85%E3%80%82%E5%9C%A8%20iOS%20%E5%92%8C%20macOS%20%E4%B8%8A%EF%BC%8CSiri%20%E8%AF%AD%E9%9F%B3%E5%8A%A9%E6%89%8B%E4%BD%BF%E7%94%A8%20MPTCP%20%E5%9C%A8%20Wi-Fi%20%E5%92%8C%E8%9C%82%E7%AA%9D%E7%BD%91%E7%BB%9C%E4%B9%8B%E9%97%B4%E4%BC%A0%E8%BE%93%E8%AF%AD%E9%9F%B3%E6%95%B0%E6%8D%AE%E3%80%82%E5%BD%93%E7%94%A8%E6%88%B7%E5%9C%A8%20Wi-Fi%20%E4%BF%A1%E5%8F%B7%E8%BE%83%E5%BC%B1%E5%8C%BA%E5%9F%9F%E8%AF%B4%E5%87%BA%E6%8C%87%E4%BB%A4%E6%97%B6%EF%BC%8CMPTCP%20%E5%8F%AF%E4%BB%A5%E4%BB%8E%20Wi-Fi%20%E6%97%A0%E7%BC%9D%E5%88%87%E6%8D%A2%E5%88%B0%E8%9C%82%E7%AA%9D%E7%BD%91%E7%BB%9C%EF%BC%8C%E5%8F%91%E9%9F%B3%E4%BA%BA%E7%94%9A%E8%87%B3%E4%B8%8D%E4%BC%9A%E5%AF%9F%E8%A7%89%E8%BF%9E%E6%8E%A5%E6%96%AD%E8%BF%9E%E3%80%82%3C/p%3E%0A%3Cp%3EApple%20%E7%9A%84%E7%AD%96%E7%95%A5%E6%98%AF%EF%BC%9A%3C/p%3E%0A%3Cul%3E%0A%3Cli%3E%E4%BB%85%E5%9C%A8%E7%89%B9%E5%AE%9A%E9%AB%98%E4%BC%98%E5%85%88%E7%BA%A7%E5%BA%94%E7%94%A8%E4%B8%8A%E4%BD%BF%E7%94%A8%20MPTCP%3C/li%3E%0A%3Cli%3E%E6%9C%8D%E5%8A%A1%E7%AB%AF%EF%BC%88Apple%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%89%E5%A7%8B%E7%BB%88%E6%94%AF%E6%8C%81%20MPTCP%3C/li%3E%0A%3Cli%3E%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%BF%9E%E6%8E%A5%E6%97%B6%E5%85%88%E5%B0%9D%E8%AF%95%20MPTCP%EF%BC%8C%E8%8B%A5%E4%B8%AD%E9%97%B4%E7%9B%92%E4%B8%8D%E6%94%AF%E6%8C%81%E5%88%99%E5%9B%9E%E9%80%80%20TCP%3C/li%3E%0A%3C/ul%3E%0A%3Ch3%3E7.2%20%E7%A7%BB%E5%8A%A8%E8%BF%90%E8%90%A5%E5%95%86%E7%9A%84%20Link%20Aggregation%3C/h3%3E%0A%3Cp%3E%E5%A4%9A%E5%AE%B6%E8%BF%90%E8%90%A5%E5%95%86%E5%9C%A8%E5%9F%BA%E7%AB%99%E7%BD%91%E5%85%B3%E4%BD%BF%E7%94%A8%20MPTCP%20%E5%8A%A0%E9%80%9F%E5%99%A8%E3%80%82%E6%89%8B%E6%9C%BA%E5%90%8C%E6%97%B6%E8%BF%9E%E6%8E%A5%204G%20%E5%92%8C%20Wi-Fi%20%E6%97%B6%EF%BC%8C%E8%BF%90%E8%90%A5%E5%95%86%E7%BD%91%E5%85%B3%E4%BD%9C%E4%B8%BA%20MPTCP%20%E4%BB%A3%E7%90%86%EF%BC%8C%E5%B0%86%E6%95%B0%E6%8D%AE%E4%B8%8B%E8%BD%BD%E5%B8%A6%E5%AE%BD%E5%8F%A0%E5%8A%A0%E5%9C%A8%E4%B8%A4%E8%B7%AF%E9%93%BE%E8%B7%AF%E4%B8%8A%E3%80%82%E5%AE%9E%E6%B5%8B%E4%B8%AD%EF%BC%8CWi-Fi%20%E5%BC%B1%E4%BF%A1%E5%8F%B7%E5%9C%BA%E6%99%AF%E4%B8%8B%E5%8F%A0%E5%8A%A0%204G%20%E5%8F%AF%E5%B0%86%E4%B8%8B%E8%BD%BD%E9%80%9F%E7%8E%87%E6%8F%90%E5%8D%87%2040%25-200%25%E3%80%82%3C/p%3E%0A%3Ch3%3E7.3%20%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83%E5%86%85%E9%83%A8%3C/h3%3E%0A%3Cp%3E%E5%9C%A8%E4%BA%91%E7%8E%AF%E5%A2%83%E4%B8%AD%EF%BC%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%80%9A%E5%B8%B8%E6%9C%89%E5%A4%9A%E4%B8%AA%20NIC%EF%BC%8825Gbps%20%C3%97%202%20%E6%88%96%20100Gbps%20%C3%97%204%EF%BC%89%E3%80%82MPTCP%20%E5%8F%AF%E7%94%A8%E4%BA%8E%E6%9E%84%E5%BB%BA%E5%86%85%E9%83%A8%22%E9%93%BE%E8%B7%AF%E8%81%9A%E5%90%88%22%EF%BC%8C%E4%BD%86%E7%9B%B8%E6%AF%94%20LACP%20%E7%AD%89%E4%BC%A0%E7%BB%9F%E6%96%B9%E6%A1%88%EF%BC%8CMPTCP%20%E6%94%AF%E6%8C%81%E8%B7%A8%E4%BA%A4%E6%8D%A2%E6%9C%BA%E8%B7%AF%E7%94%B1%E7%9A%84%E5%AD%90%E6%B5%81%EF%BC%8C%E4%B8%8D%E5%8F%97%E7%89%A9%E7%90%86%E6%8B%93%E6%89%91%E9%99%90%E5%88%B6%E3%80%82%3C/p%3E%0A%3Chr/%3E%0A%3Ch2%3E%E5%85%AB%E3%80%81%E5%AE%89%E5%85%A8%E8%80%83%E9%87%8F%3C/h2%3E%0A%3Cp%3EMPTCP%20%E7%9A%84%E5%AE%89%E5%85%A8%E6%8C%91%E6%88%98%E4%B8%BB%E8%A6%81%E6%9D%A5%E8%87%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%94%BB%E5%87%BB%E9%9D%A2%EF%BC%9A%3C/p%3E%0A%3Cp%3E%3Cstrong%3E%E9%80%89%E9%A1%B9%E6%B3%A8%E5%85%A5%3C/strong%3E%EF%BC%9A%E6%81%B6%E6%84%8F%E4%BC%AA%E9%80%A0%E7%9A%84%20MP_JOIN%20%E9%80%89%E9%A1%B9%E5%8F%AF%E8%83%BD%E5%BC%95%E5%85%A5%E6%B5%81%E6%B0%93%E5%AD%90%E6%B5%81%E3%80%82%E9%98%B2%E6%8A%A4%E6%8E%AA%E6%96%BD%E2%80%94%E2%80%94MP_CAPABLE%20%E9%98%B6%E6%AE%B5%E4%BA%A4%E6%8D%A2%E7%9A%84%E5%AF%86%E9%92%A5%E5%9C%A8%E6%89%80%E6%9C%89%E5%90%8E%E7%BB%AD%20MP_JOIN%20%E4%B8%AD%E9%AA%8C%E8%AF%81%E3%80%82%3C/p%3E%0A%3Cp%3E%3Cstrong%3E%E8%B7%AF%E5%BE%84%E5%8A%AB%E6%8C%81%3C/strong%3E%EF%BC%9A%E6%94%BB%E5%87%BB%E8%80%85%E8%8B%A5%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%AD%90%E6%B5%81%E4%B8%8A%E6%B3%A8%E5%85%A5%E4%BC%AA%E9%80%A0%E6%95%B0%E6%8D%AE%EF%BC%88%E9%80%9A%E8%BF%87%20DSN%20%E6%AC%BA%E9%AA%97%EF%BC%89%EF%BC%8C%E5%8F%AF%E8%83%BD%E5%AF%BC%E8%87%B4%E6%95%B0%E6%8D%AE%E9%87%8D%E6%8E%92%E6%B7%B7%E4%B9%B1%E3%80%82%E9%98%B2%E6%8A%A4%E2%80%94%E2%80%94DSN%20%E6%98%A0%E5%B0%84%E4%BD%BF%E7%94%A8%20HMAC%20%E8%AE%A4%E8%AF%81%EF%BC%8C%E9%9C%80%E8%A6%81%E7%9F%A5%E9%81%93%E5%8F%8C%E6%96%B9%E5%AF%86%E9%92%A5%E6%89%8D%E8%83%BD%E6%9E%84%E9%80%A0%E6%9C%89%E6%95%88%E6%98%A0%E5%B0%84%E3%80%82%3C/p%3E%0A%3Cp%3E%3Cstrong%3E%E8%B5%84%E6%BA%90%E8%80%97%E5%B0%BD%3C/strong%3E%EF%BC%9A%E5%A4%A7%E9%87%8F%20MP_JOIN%20%E5%B0%9D%E8%AF%95%E5%8F%AF%E8%83%BD%E8%A7%A6%E5%8F%91%20SYN%20%E6%B4%AA%E6%B0%B4%E3%80%82%E9%98%B2%E6%8A%A4%E2%80%94%E2%80%94%E5%86%85%E6%A0%B8%E9%99%90%E5%88%B6%E6%AF%8F%E8%BF%9E%E6%8E%A5%E6%9C%80%E5%A4%A7%E5%AD%90%E6%B5%81%E6%95%B0%EF%BC%8C%E5%9C%B0%E5%9D%80%E9%80%9A%E5%91%8A%E6%9C%89%E9%A2%91%E7%8E%87%E9%99%90%E5%88%B6%E3%80%82%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20%E5%AE%89%E5%85%A8%E5%8A%A0%E5%9B%BA%0Asysctl%20-w%20net.mptcp.subflow_limit%3D4%0Asysctl%20-w%20net.mptcp.add_addr_accepted%3D2%0Asysctl%20-w%20net.ipv4.tcp_syncookies%3D1%3C/code%3E%3C/pre%3E%0A%3Chr/%3E%0A%3Ch2%3E%E4%B9%9D%E3%80%81%E6%9C%AA%E6%9D%A5%E6%96%B9%E5%90%91%3C/h2%3E%0A%3Cp%20style%3D%22margin-left%3A20px%3B%22%3E%26%238226%3B%20%3Cstrong%3EMPTCP%20v2%20%E4%B8%8E%20Multipath%20DCCP%3C/strong%3E%EF%BC%9ARFC%208684%20%E7%9A%84%E7%BB%A7%E4%BB%BB%E5%8D%8F%E8%AE%AE%EF%BC%8C%E6%94%B9%E8%BF%9B%E5%9C%B0%E5%9D%80%E7%AE%A1%E7%90%86%E5%92%8C%E5%AD%90%E6%B5%81%E9%80%89%E6%8B%A9%3C/p%3E%0A%3Cp%20style%3D%22margin-left%3A20px%3B%22%3E%26%238226%3B%20%3Cstrong%3EMPTCP%20%2B%20eBPF%20%E5%8F%AF%E7%BC%96%E7%A8%8B%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%3C/strong%3E%EF%BC%9A%E7%94%A8%E6%88%B7%E6%80%81%E9%80%9A%E8%BF%87%20eBPF%20%E7%A8%8B%E5%BA%8F%E5%8A%A8%E6%80%81%E6%8E%A7%E5%88%B6%E5%AD%90%E6%B5%81%E5%88%9B%E5%BB%BA%E5%92%8C%E8%B0%83%E5%BA%A6%E7%AD%96%E7%95%A5%3C/p%3E%0A%3Cp%20style%3D%22margin-left%3A20px%3B%22%3E%26%238226%3B%20%3Cstrong%3E%E4%B8%8E%20SRv6%EF%BC%88%E6%AE%B5%E8%B7%AF%E7%94%B1%20IPv6%EF%BC%89%E7%BB%93%E5%90%88%3C/strong%3E%EF%BC%9AMPTCP%20%E5%AD%90%E6%B5%81%E5%AF%B9%E5%BA%94%E7%BD%91%E7%BB%9C%E4%B8%AD%E7%9A%84%E4%B8%8D%E5%90%8C%20SRv6%20%E6%AE%B5%E8%B7%AF%E5%BE%84%3C/p%3E%0A%3Cp%20style%3D%22margin-left%3A20px%3B%22%3E%26%238226%3B%20%3Cstrong%3E%E5%8D%AB%E6%98%9F%E4%BA%92%E8%81%94%E7%BD%91%E5%9C%BA%E6%99%AF%3C/strong%3E%EF%BC%9ASpaceX%20Starlink%20%E7%AD%89%E4%BD%8E%E8%BD%A8%E5%8D%AB%E6%98%9F%E7%BD%91%E7%BB%9C%E7%9A%84%22%E6%97%B6%E5%8F%98%E5%A4%9A%E8%B7%AF%E5%BE%84%22%E7%AE%A1%E7%90%86%E6%AD%A3%E5%9C%A8%E7%A0%94%E7%A9%B6%E5%9F%BA%E4%BA%8E%20MPTCP%20%E7%9A%84%E8%87%AA%E9%80%82%E5%BA%94%E7%AE%97%E6%B3%95%3C/p%3E%0A%3Chr/%3E%0A%3Ch2%3E%E5%8D%81%E3%80%81%E6%80%BB%E7%BB%93%3C/h2%3E%0A%3Cp%3EMPTCP%20%E6%98%AF%E4%B8%80%E9%A1%B9%22%E5%A1%AB%E8%A1%A5%E4%BA%86%E5%8D%8F%E8%AE%AE%E6%A0%88%E7%A9%BA%E7%99%BD%22%E7%9A%84%E6%8A%80%E6%9C%AF%E2%80%94%E2%80%94%E5%AE%83%E8%A7%A3%E5%86%B3%E4%BA%86%20TCP/IP%20%E8%AE%BE%E8%AE%A1%E4%B9%8B%E5%88%9D%E6%9C%AA%E6%9B%BE%E9%A2%84%E8%A7%81%E7%9A%84%E5%A4%9A%E9%93%BE%E8%B7%AF%E5%9C%BA%E6%99%AF%E6%8C%91%E6%88%98%E3%80%82%E4%BB%8E%E5%8E%9F%E7%90%86%E4%B8%8A%E7%9C%8B%EF%BC%8C%E5%AE%83%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%8F%E5%88%97%E6%98%A0%E5%B0%84%E8%AE%BE%E8%AE%A1%E4%BC%98%E9%9B%85%EF%BC%9B%E4%BB%8E%E5%AE%9E%E7%8E%B0%E4%B8%8A%E7%9C%8B%EF%BC%8CLinux%20%E5%86%85%E6%A0%B8%E7%9A%84%E6%A8%A1%E5%9D%97%E5%8C%96%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%E5%99%A8%E5%92%8C%E8%B0%83%E5%BA%A6%E5%99%A8%E4%BD%BF%E5%85%B6%E8%B6%B3%E5%A4%9F%E7%81%B5%E6%B4%BB%EF%BC%9B%E4%BB%8E%E9%83%A8%E7%BD%B2%E4%B8%8A%E7%9C%8B%EF%BC%8C%E4%B8%AD%E9%97%B4%E7%9B%92%E5%85%BC%E5%AE%B9%E6%80%A7%E4%BB%8D%E6%98%AF%E6%9C%80%E5%A4%A7%E9%9A%9C%E7%A2%8D%EF%BC%8C%E4%BD%86%20Apple%20%E7%9A%84%E5%AE%9E%E8%B7%B5%E8%AF%81%E6%98%8E%E5%A4%A7%E8%A7%84%E6%A8%A1%E7%94%9F%E4%BA%A7%E4%BD%BF%E7%94%A8%E5%B7%B2%E7%BB%8F%E6%98%AF%E7%8E%B0%E5%AE%9E%E3%80%82%3C/p%3E%0A%3Cp%3E%E5%AF%B9%E4%BA%8E%E5%B7%A5%E7%A8%8B%E5%B8%88%E8%80%8C%E8%A8%80%EF%BC%8C%E7%90%86%E8%A7%A3%20MPTCP%20%E4%B8%8D%E4%BB%85%E6%98%AF%E4%B8%BA%E4%BA%86%E5%90%AF%E7%94%A8%E4%B8%80%E9%A1%B9%E5%8A%9F%E8%83%BD%EF%BC%8C%E6%9B%B4%E6%98%AF%E4%B8%BA%E4%BA%86%E5%BB%BA%E7%AB%8B%22%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5%E6%98%AF%E5%A4%9A%E9%93%BE%E8%B7%AF%E8%80%8C%E9%9D%9E%E5%8D%95%E9%93%BE%E8%B7%AF%22%E7%9A%84%E7%B3%BB%E7%BB%9F%E6%80%A7%E6%80%9D%E7%BB%B4%E2%80%94%E2%80%94%E5%9C%A8%E8%BE%B9%E7%BC%98%E8%AE%A1%E7%AE%97%E3%80%815G%20MEC%E3%80%81%E5%8D%AB%E6%98%9F%E4%BA%92%E8%81%94%E7%BD%91%E7%AD%89%E5%9C%BA%E6%99%AF%E4%B8%8B%EF%BC%8C%E8%BF%99%E7%A7%8D%E6%80%9D%E7%BB%B4%E5%B0%86%E5%8F%98%E5%BE%97%E8%B6%8A%E6%9D%A5%E8%B6%8A%E9%87%8D%E8%A6%81%E3%80%82%3C/p%3E%0A%3Cp%3E%3Cstrong%3E%E5%85%B3%E9%94%AE%E9%80%9F%E6%9F%A5%3C/strong%3E%EF%BC%9A%3C/p%3E%0A%3Cpre%3E%3Ccode%20class%3D%22language-bash%22%3E%23%20%E5%90%AF%E7%94%A8%20MPTCP%0Asysctl%20-w%20net.mptcp.enabled%3D1%0A%0A%23%20%E6%9F%A5%E7%9C%8B%E8%BF%9E%E6%8E%A5%0Ass%20-Mtni%0A%0A%23%20%E9%85%8D%E7%BD%AE%E8%B7%AF%E5%BE%84%E7%AE%A1%E7%90%86%0Aip%20mptcp%20endpoint%20add%20192.168.1.100%20dev%20eth0%20signal%0Aip%20mptcp%20endpoint%20add%2010.0.0.1%20dev%20wlan0%20subflow%0Aip%20mptcp%20limits%20set%20subflow_limit%204%0A%0A%23%20%E9%80%89%E6%8B%A9%E8%B0%83%E5%BA%A6%E5%99%A8%0Asysctl%20-w%20net.mptcp.scheduler%3Ddefault%3C/code%3E%3C/pre%3E

发表评论 取消回复