P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ

P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ
P4 เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจนเฉˆ เจœเฉ‹ เจชเฉˆเจ•เจŸ เจฐเฉ‚เจŸเจฟเฉฐเจ— เจจเจฟเจฏเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค C เจœเจพเจ‚ Python เจตเจฐเจ—เฉ€ เจ‡เฉฑเจ• เจ†เจฎ-เจ‰เจฆเฉ‡เจธเจผ เจตเจพเจฒเฉ€ เจญเจพเจธเจผเจพ เจฆเฉ‡ เจ‰เจฒเจŸ, P4 เจ‡เฉฑเจ• เจกเฉ‹เจฎเฉ‡เจจ-เจตเจฟเจธเจผเฉ‡เจธเจผ เจญเจพเจธเจผเจพ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฐเฉ‚เจŸเจฟเฉฐเจ— เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เจˆ เจกเจฟเจœเจผเจพเจˆเจจ เจนเจจเฅค

P4 เจ‡เฉฑเจ• เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจญเจพเจธเจผเจพ เจนเฉˆ เจœเจฟเจธเจจเฉ‚เฉฐ P4 เจฒเฉˆเจ‚เจ—เฉ‚เจเจœ เจ•เฉฐเจธเฉ‹เจฐเจŸเฉ€เจ…เจฎ เจ•เจนเจฟเฉฐเจฆเฉ‡ เจนเจจ เจ‡เฉฑเจ• เจ—เฉˆเจฐ-เจฎเฉเจจเจพเจซเจผเจพ เจธเฉฐเจธเจฅเจพ เจฆเฉเจ†เจฐเจพ เจฒเจพเจ‡เจธเฉฐเจธเจธเจผเฉเจฆเจพ เจ…เจคเฉ‡ เจธเฉฐเจญเจพเจฒเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ“เจชเจจ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจฟเฉฐเจ— เจซเจพเจŠเจ‚เจกเฉ‡เจธเจผเจจ (ONF) เจ…เจคเฉ‡ เจฒเฉ€เจจเจ•เจธ เจซเจพเจŠเจ‚เจกเฉ‡เจธเจผเจจ (LF) เจฆเฉเจ†เจฐเจพ เจตเฉ€ เจธเจฎเจฐเจฅเจฟเจค เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจฟเฉฐเจ— เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจฒเจˆ เจฆเฉ‹ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจกเฉ€ เจ›เจคเจฐเฉ€ เจธเฉฐเจธเจฅเจพเจตเจพเจ‚ เจนเจจเฅค
เจญเจพเจธเจผเจพ เจ…เจธเจฒ เจตเจฟเฉฑเจš 2013 เจตเจฟเฉฑเจš เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€ เจ…เจคเฉ‡ "เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจธเฉเจคเฉฐเจคเจฐ, เจชเฉˆเจ•เฉ‡เจŸ เจฐเฉ‚เจŸเจฟเฉฐเจ— เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ—" เจธเจฟเจฐเจฒเฉ‡เจ– เจตเจพเจฒเฉ‡ 2014 เจฆเฉ‡ SIGCOMM CCR เจชเฉ‡เจชเจฐ เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค

เจ‡เจธเจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจคเฉ‹เจ‚ เจฒเฉˆ เจ•เฉ‡, P4 เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจตเจงเจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจตเจฟเจ•เจธเจค เจนเฉ‹เจ‡เจ† เจนเฉˆ, เจจเฉˆเจŸเจตเจฐเจ• เจ…เจกเฉˆเจชเจŸเจฐเจพเจ‚, เจธเจตเจฟเฉฑเจšเจพเจ‚ เจ…เจคเฉ‡ เจฐเจพเจŠเจŸเจฐเจพเจ‚ เจธเจฎเฉ‡เจค, เจจเฉˆเจŸเจตเจฐเจ• เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจชเฉˆเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจธเจพเจฐเจฃ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฒเจˆ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจ‡เฉฑเจ• เจฎเจฟเจ†เจฐ เจฌเจฃ เจ—เจฟเจ† เจนเฉˆเฅค

เจ“เจชเจจ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจฟเฉฐเจ— เจซเจพเจŠเจ‚เจกเฉ‡เจธเจผเจจ เจฆเฉ‡ เจ•เจพเจฐเจœเจ•เจพเจฐเฉ€ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจ• เจ—เฉเจฐเฉ‚ เจชเจพเจฐเฉเจฒเจ•เจฐ เจจเฉ‡ เจ•เจฟเจนเจพ, โ€œSDN เจจเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจฟเฉฐเจ— เจ‰เจฆเจฏเฉ‹เจ— เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจนเฉˆ, เจ…เจคเฉ‡ P4 เจจเฉ‡ เจฐเฉ‚เจŸเจฟเฉฐเจ— เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเฉ‡เจฌเจฟเจฒเจŸเฉ€ เจฒเจฟเจ† เจ•เฉ‡ SDN เจจเฉ‚เฉฐ เจ…เจ—เจฒเฉ‡ เจชเฉฑเจงเจฐ เจคเฉฑเจ• เจชเจนเฉเฉฐเจšเจพเจ‡เจ† เจนเฉˆเฅค

เจชเฉ€ 4 เจญเจพเจธเจผเจพ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ—เฉ‚เจ—เจฒ, โ€‹โ€‹เจ‡เฉฐเจŸเฉ‡เจฒ, เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจพเจซเจŸ เจฐเจฟเจธเจฐเจš, เจฌเฉ‡เจ…เจฐเจซเฉเฉฑเจŸ, เจชเฉเจฐเจฟเฉฐเจธเจŸเจจ เจ…เจคเฉ‡ เจธเจŸเฉˆเจจเจซเฉ‹เจฐเจก เจฆเฉ‡ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐเจพเจ‚ เจ…เจคเฉ‡ เจ–เฉ‹เจœเจ•เจฐเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจฆเฉเจ†เจฐเจพ เจฌเจฃเจพเจˆ เจ—เจˆ เจธเฉ€เฅค เจŸเฉ€เจšเจพ เจธเจงเจพเจฐเจจ เจธเฉ€: เจ‡เฉฑเจ• เจ†เจธเจพเจจ-เจตเจฐเจคเจฃ เจตเจพเจฒเฉ€ เจญเจพเจธเจผเจพ เจฌเจฃเจพเจ“ เจœเฉ‹ เจ‡เฉฑเจ• เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจ‡เฉฑเจ• เจฆเจฟเจจ เจตเจฟเฉฑเจš เจธเจฟเฉฑเจ– เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจค เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจชเฉˆเจ•เฉ‡เจŸ เจญเฉ‡เจœเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค

เจธเจผเฉเจฐเฉ‚ เจคเฉ‹เจ‚ เจนเฉ€, P4 เจจเฉ‚เฉฐ เจŸเจพเจฐเจ—เฉ‡เจŸ เจธเฉเจคเฉฐเจคเจฐ เจนเฉ‹เจฃ เจฒเจˆ เจกเจฟเจœเจผเจพเจ‡เจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ P4 เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจจเฉ‚เฉฐ เจ•เจˆ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‡ เจŸเฉ€เจšเจฟเจ†เจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ ASICs, FPGAs, CPUs, NPUs, เจ…เจคเฉ‡ GPUs 'เจคเฉ‡ เจšเฉฑเจฒเจฃ เจฒเจˆ เจฌเจฟเจจเจพเจ‚ เจฌเจฆเจฒเจพเจ… เจฆเฉ‡ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ)เฅค

เจญเจพเจธเจผเจพ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจธเฉเจคเฉฐเจคเจฐ เจตเฉ€ เจนเฉˆ (เจ…เจฐเจฅเจพเจค, เจ‡เฉฑเจ• P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจŸเฉˆเจ‚เจกเจฐเจก เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจพเจ‚ เจจเจตเฉ‡เจ‚ เจ•เจธเจŸเจฎ เจเจกเจฐเฉˆเจธเจฟเฉฐเจ— เจฎเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ)เฅค

เจ‰เจฆเจฏเฉ‹เจ— เจตเจฟเฉฑเจš, P4 เจกเจฟเจตเจพเจˆเจธ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจธเจผเจพเจ‡เจฆ เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ-เจ†เจฐเจเจซเจธเฉ€ เจ…เจคเฉ‡ เจ†เจˆเจˆเจˆเจˆ เจฎเจฟเจ†เจฐเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉ€ 4 เจจเจฟเจฐเจงเจพเจฐเจจ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

P4 เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเฉ‡เจฌเจฒ เจ…เจคเฉ‡ เจซเจฟเจ•เจธเจก เจซเฉฐเจ•เจธเจผเจจ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจฆเฉ‹เจตเจพเจ‚ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจน เจ“เจชเจจ เจธเฉ‹เจฐเจธ SONiC เจธเจตเจฟเฉฑเจš OS เจฆเฉเจ†เจฐเจพ เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจธเจตเจฟเฉฑเจš เจเจฌเจธเจŸเจฐเฉˆเจ•เจธเจผเจจ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ (SAI) API เจตเจฟเฉฑเจš เจธเจตเจฟเฉฑเจš เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจตเจฟเจตเจนเจพเจฐ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค P4 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ ONF เจธเจŸเฉเจฐเฉˆเจŸเจฎ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš เจ•เจˆ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‡ เจธเจฅเจฟเจฐ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเฉ‡เจฌเจฒ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจตเจฟเฉฑเจš เจธเจตเจฟเจšเจฟเฉฐเจ— เจตเจฟเจนเจพเจฐ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ, เจธเจตเจฟเฉฑเจš เจ…เจคเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจ…เจกเจพเจชเจŸเจฐเจพเจ‚ เจฆเฉ‡ เจตเจฟเจนเจพเจฐ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจจเจพเจฒ เจคเฉเจธเฉ€เจ‚ เจคเฉˆเจจเจพเจคเฉ€ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจชเฉ‚เจฐเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฆเจพ เจ‡เฉฑเจ• เจธเจนเฉ€ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจฎเจพเจกเจฒ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจตเฉฑเจกเฉ‡ เจ•เจฒเจพเจ‰เจก เจชเฉเจฐเจฆเจพเจคเจพ เจธเจพเฉฑเจซเจŸเจตเฉ‡เจ…เจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเฉˆเจŸเจตเจฐเจ• เจฆเฉ€ เจœเจพเจ‚เจš เจ…เจคเฉ‡ เจกเฉ€เจฌเฉฑเจ— เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ, เจฎเจนเจฟเฉฐเจ—เฉ‡ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจฒเฉˆเจฌ เจตเจฟเฉฑเจš เจ…เฉฐเจคเจฐ-เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ…เจคเฉ‡ เจฒเจพเจ—เจค เจจเฉ‚เฉฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจฃ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ˜เจŸเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจเฅค

P4 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡, เจจเฉˆเจŸเจตเจฐเจ• เจ‰เจชเจ•เจฐเจฃ เจตเจฟเจ•เจฐเฉ‡เจคเจพ เจธเจพเจฐเฉ‡ เจ‰เจคเจชเจพเจฆเจพเจ‚ เจตเจฟเฉฑเจš เจ†เจฎ เจ…เฉฐเจคเจฐเฉ€เจต เจฐเฉ‚เจŸเจฟเฉฐเจ— เจตเจฟเจตเจนเจพเจฐ เจฆเฉ€ เจ‰เจฎเฉ€เจฆ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ, เจŸเฉˆเจธเจŸ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ€ เจฎเฉเฉœ เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ‡ เจนเฉ‹เจ, เจชเฉเจฐเจฌเฉฐเจงเจจ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจตเจฟเจ•เจพเจธ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจพ, เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ…เฉฐเจคเจฐ-เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃเจพเฅค

เจฌเฉ‡เจธเจผเฉฑเจ•, P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‹ เจฐเฉ‚เจŸเจฟเฉฐเจ— เจฆเฉ‡ เจฌเจฟเจฒเจ•เฉเจฒ เจจเจตเฉ‡เจ‚ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจฆเฉ‡ เจนเจจ. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจกเจพเจŸเจพ เจธเฉˆเจ‚เจŸเจฐเจพเจ‚, เจเจ‚เจŸเจฐเจชเฉเจฐเจพเจˆเจœเจผ เจ…เจคเฉ‡ เจธเฉ‡เจตเจพ เจชเฉเจฐเจฆเจพเจคเจพ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจŸเฉˆเจฒเฉ€เจฎเฉˆเจŸเจฐเฉ€ เจ…เจคเฉ‡ เจฎเจพเจช เจฒเจˆ P4 เจตเจฟเจ†เจชเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ–เฉ‹เจœ เจญเจพเจˆเจšเจพเจฐเฉ‡ เจจเฉ‡ เจตเฉ€ เจ…เฉฑเจ—เฉ‡ เจตเจงเจพเจ‡เจ† เจนเฉˆเฅค เจ•เจˆ เจชเฉเจฐเจฎเฉเฉฑเจ– เจ…เจ•เจพเจฆเจฎเจฟเจ• เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจฟเฉฐเจ— เจ–เฉ‹เจœ เจธเจฎเฉ‚เจนเจพเจ‚ เจจเฉ‡ P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ 'เจคเฉ‡ เจ†เจงเจพเจฐเจฟเจค เจฆเจฟเจฒเจšเจธเจช เจจเจตเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ€เจ†เจ‚ เจนเจจ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฟเฉฐเจ—, เจธเจนเจฟเจฎเจคเฉ€ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ, เจ…เจคเฉ‡ เจฎเฉเฉฑเจ– เจฎเฉเฉฑเจฒ เจ•เฉˆเจšเจฟเฉฐเจ— เจธเจผเจพเจฎเจฒ เจนเจจเฅค เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจชเฉˆเจฐเจพเจกเจพเจˆเจฎ เจฌเจฃเจพเจ‡เจ† เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ, เจจเจตเฉ€เจจเจคเจพ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจคเฉ‹เจ‚ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจตเฉฑเจฒ เจตเจง เจฐเจนเฉ€ เจนเฉˆ, เจœเจฟเจธ เจจเจพเจฒ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจ…เจšเจพเจจเจ•, เจจเจตเฉ‡เจ‚ เจ…เจคเฉ‡ เจธเฉ‚เจเจตเจพเจจ เจตเจฟเจšเจพเจฐ เจ‰เจญเจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

เจกเจฟเจตเฉˆเจฒเจชเจฐ เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจจเฉ‡ เจ•เฉ‹เจก เจกเจฟเจตเฉˆเจฒเจชเจฎเฉˆเจ‚เจŸ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฏเฉ‹เจ—เจฆเจพเจจ เจชเจพเจ‡เจ† เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจˆเจฒเจฐ, เจชเจพเจˆเจชเจฒเจพเจˆเจจเจพเจ‚, เจตเจฟเจนเจพเจฐเจ• เจฎเจพเจกเจฒ, API, เจŸเฉˆเจธเจŸ เจซเจฐเฉ‡เจฎเจตเจฐเจ•, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเจจเฅค เจ…เจฒเฉ€เจฌเจพเจฌเจพ, เจเจŸเฉ€เจเจ‚เจกเจŸเฉ€, เจฌเฉ‡เจ…เจฐเจซเฉเฉฑเจŸ, เจธเจฟเจธเจ•เฉ‹, เจซเฉŒเจ•เจธ เจจเฉˆเฉฑเจŸเจตเจฐเจ•, เจ—เฉ‚เจ—เจฒ, โ€‹โ€‹เจ‡เฉฐเจŸเฉ‡เจฒ, เจ†เจˆเจเจ•เจธเจ†เจˆเจ, เจœเฉ‚เจจเฉ€เจชเจฐ เจจเฉˆเฉฑเจŸเจตเจฐเจ•, เจฎเฉ‡เจฒเจพเจจเฉŒเจ•เจธ, เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจพเจซเจŸ, เจจเฉˆเฉฑเจŸเจ•เฉ‹เจช, เจจเฉˆเจŸเจฐเฉ‹เจจเฉ‹เจฎ, เจตเฉ€เจเจฎเจตเฉ‡เจ…เจฐ, เจœเจผเจฟเจฒเจฟเฉฐเจ•เจธ, เจ…เจคเฉ‡ เจœเจผเฉˆเจกเจŸเฉ€เจˆ เจตเจฐเจ—เฉ€เจ†เจ‚ เจ•เฉฐเจชเจจเฉ€เจ†เจ‚ เจจเฉ‡ เจธเจฎเจฐเจชเจฟเจค เจกเจฟเจตเฉˆเจฒเจชเจฐ เจนเจจ; BUPT, เจ•เจพเจฐเจจเฉ‡เจฒ, เจนเจพเจฐเจตเจฐเจก, MIT, NCTU, เจชเฉเจฐเจฟเฉฐเจธเจŸเจจ, เจธเจŸเฉˆเจจเจซเฉ‹เจฐเจก, เจŸเฉˆเจ•เจจเฉ€เจ“เจจ, เจธเจฟเฉฐเจนเฉเจ†, UMass, เจ…เจคเฉ‡ USI เจธเจฎเฉ‡เจค เจฏเฉ‚เจจเฉ€เจตเจฐเจธเจฟเจŸเฉ€เจ†เจ‚ เจคเฉ‹เจ‚; เจ…เจคเฉ‡ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจœเจฟเจธ เจตเจฟเฉฑเจš CORD, FD.io, OpenDaylight, ONOS, OvS, SAI เจ…เจคเฉ‡ Stratum เจ‡เจธ เจคเฉฑเจฅ เจจเฉ‚เฉฐ เจ‰เจœเจพเจ—เจฐ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ•เจฟ P4 เจ‡เฉฑเจ• เจธเฉเจคเฉฐเจคเจฐ เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจนเฉˆเฅค

P4 เจญเจพเจธเจผเจพ เจฒเจˆ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐเจพเจ‚ เจฆเฉ€ เจ–เจพเจธ เจชเฉ€เฉœเฉเจนเฉ€:

P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ

เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€เจ†เจ‚ เจธเฉฐเจญเจพเจตเจจเจพเจตเจพเจ‚

P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ
เจ•เจฟเจ‰เจ‚เจ•เจฟ เจญเจพเจธเจผเจพ เจฐเฉ‚เจŸเจฟเฉฐเจ— เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจนเฉˆ, เจฒเฉ‹เฉœเจพเจ‚ เจ…เจคเฉ‡ เจกเจฟเจœเจผเจพเจˆเจจ เจตเจฟเจ•เจฒเจชเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจ†เจฎ-เจ‰เจฆเฉ‡เจธเจผ เจตเจพเจฒเฉ€เจ†เจ‚ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจตเฉฑเจ–เจฐเฉ€ เจนเฉˆเฅค เจญเจพเจธเจผเจพ เจฆเฉ€เจ†เจ‚ เจฎเฉเฉฑเจ– เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจนเจจ:

  1. เจŸเฉ€เจšเจพ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ†เจœเจผเจพเจฆเฉ€;
  2. เจตเจฐเจคเฉ‡ เจ—เจ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ(เจ†เจ‚) เจฆเฉ€ เจธเฉเจคเฉฐเจคเจฐเจคเจพ;
  3. เจ–เฉ‡เจคเจฐ เจฆเฉ€ เจฎเฉเฉœ เจธเฉฐเจฐเจšเจจเจพเจฏเฉ‹เจ—เจคเจพเฅค

เจŸเฉ€เจšเจพ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจธเฉเจคเฉฐเจคเจฐเจคเจพ

P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจธเฉเจคเฉฐเจคเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจฎเจคเจฒเจฌ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจˆ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจ‡เฉฐเจœเจฃเจพเจ‚ เจฒเจˆ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ†เจฎ-เจ‰เจฆเฉ‡เจธเจผ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ, FPGA, เจธเจฟเจธเจŸเจฎ-เจ†เจจ-เจšเจฟเฉฑเจช, เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ, เจ…เจคเฉ‡ ASICsเฅค เจ‡เจน เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจจเฉ‚เฉฐ P4 เจŸเจพเจฐเจ—เจฟเจŸ เจตเจœเฉ‹เจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจนเจฐเฉ‡เจ• เจŸเฉ€เจšเฉ‡ เจจเฉ‚เฉฐ P4 เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจŸเจพเจฐเจ—เฉ‡เจŸ เจธเจตเจฟเฉฑเจš เจฎเจพเจกเจฒ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃ เจฒเจˆ เจ‡เฉฑเจ• เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจจเฉ‚เฉฐ เจŸเจพเจฐเจ—เฉ‡เจŸ เจกเจฟเจตเจพเจˆเจธ, เจฌเจพเจนเจฐเฉ€ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ, เจœเจพเจ‚ เจ•เจฒเจพเจ‰เจก เจธเฉ‡เจตเจพ เจตเจฟเฉฑเจš เจตเฉ€ เจฌเจฃเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจฆเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฎเฉ‚เจฒ เจŸเฉ€เจšเฉ‡ เจธเจงเจพเจฐเจจ เจชเฉˆเจ•เฉ‡เจŸ เจธเจตเจฟเจšเจฟเฉฐเจ— เจฒเจˆ เจธเจจ, "P4 เจธเจตเจฟเฉฑเจš" เจธเจผเจฌเจฆ เจธเฉเจฃเจจเจพ เจฌเจนเฉเจค เจ†เจฎ เจนเฉˆ เจญเจพเจตเฉ‡เจ‚ "P4 เจŸเจพเจฐเจ—เจฟเจŸ" เจตเจงเฉ‡เจฐเฉ‡ เจธเจนเฉ€ เจนเฉˆเฅค

เจตเจฐเจคเฉ‡ เจ—เจ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ(เจ†เจ‚) เจฆเฉ€ เจธเฉเจคเฉฐเจคเจฐเจคเจพ

P4 เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจธเฉเจคเฉฐเจคเจฐ เจนเฉˆเฅค เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจ†เจฎ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ IP, เจˆเจฅเจฐเจจเฉˆเฉฑเจŸ, TCP, VxLAN เจœเจพเจ‚ MPLS เจฒเจˆ เจฎเฉ‚เจฒ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เจธ เจฆเฉ€ เจฌเจœเจพเจ, P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจตเจฟเฉฑเจš เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ‡ เจธเจฟเจฐเจฒเฉ‡เจ– เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจ…เจคเฉ‡ เจซเฉ€เจฒเจก เจจเจพเจฎเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจฌเจฆเจฒเฉ‡ เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ…เจคเฉ‡ เจŸเจพเจฐเจ—เฉ‡เจŸ เจกเจฟเจตเจพเจˆเจธ เจฆเฉเจ†เจฐเจพ เจตเจฟเจ†เจ–เจฟเจ† เจ…เจคเฉ‡ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจ–เฉ‡เจคเจฐ เจฆเฉ€ เจฎเฉเฉœ เจธเฉฐเจฐเจšเจจเจพเจฏเฉ‹เจ—เจคเจพ

เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ€ เจธเฉเจคเฉฐเจคเจฐเจคเจพ เจ…เจคเฉ‡ เจเจฌเจธเจŸเจฐเฉˆเจ•เจŸ เจญเจพเจธเจผเจพ เจฎเจพเจกเจฒ เจชเฉเจจเจฐ-เจธเฉฐเจฐเจšเจจเจพ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ โ€” P4 เจŸเฉ€เจšเฉ‡ เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจคเฉˆเจจเจพเจค เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉˆเจ•เฉ‡เจŸ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจเฅค เจ‡เจน เจธเจฎเจฐเฉฑเจฅเจพ เจฐเจตเจพเจ‡เจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฅเจฟเจฐ-เจซเฉฐเจ•เจธเจผเจจ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจธเจฐเจ•เจŸเจพเจ‚ เจฆเฉ€ เจฌเจœเจพเจ เจ†เจฎ-เจ‰เจฆเฉ‡เจธเจผ เจตเจพเจฒเฉ‡ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ เจœเจพเจ‚ เจจเฉˆเจŸเจตเจฐเจ• เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฐเฉ‚เจŸเจฟเฉฐเจ— เจจเจพเจฒ เจœเฉเฉœเฉ€ เจนเฉ‹เจˆ เจนเฉˆเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจ…เจœเจฟเจนเจพ เจ•เฉเจ เจตเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ เจœเฉ‹ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ‡ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจธเจฎเฉ‚เจน เจฆเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฆเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฆเจพ เจนเฉˆ, เจ‡เจน เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจญเจพเจธเจผเจพ เจฒเฉ‡เจ–เจ• เจฒเจˆ เจ…เจฆเจฟเฉฑเจ– เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจธเจฟเจธเจŸเจฎ เจ…เจคเฉ‡ เจŸเฉ€เจšเจฟเจ†เจ‚ เจฆเฉ€ เจฒเจšเจ•เจคเจพ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเฉเฉœ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจ˜เจŸเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

เจญเจพเจธเจผเจพ เจฆเฉ€เจ†เจ‚ เจ‡เจน เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจ‡เจธเจฆเฉ‡ เจธเจฟเจฐเจœเจฃเจนเจพเจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจ‡เจธเจฆเฉ€ เจตเจฟเจ†เจชเจ• เจตเจฐเจคเฉ‹เจ‚ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจ•เฉ‡เจ‚เจฆเฉเจฐเจค เจ•เจฐเจ•เฉ‡ เจฐเฉฑเจ–เฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจเฅค

เจญเจพเจธเจผเจพ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจ•เฉฐเจชเจจเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ:

1) เจนเจพเจˆเจชเจฐเจธเจ•เฉ‡เจฒ เจกเจพเจŸเจพ เจธเฉˆเจ‚เจŸเจฐ;

เจšเฉ€เจจเฉ€ เจ•เฉฐเจชเจจเฉ€ Tencent เจฆเฉเจจเฉ€เจ† เจฆเฉ€ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจกเฉ€ เจจเจฟเจตเฉ‡เจธเจผ เจ•เฉฐเจชเจจเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจกเฉ€ เจ‰เฉฑเจฆเจฎ เจชเฉ‚เฉฐเจœเฉ€ เจ•เฉฐเจชเจจเฉ€เจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจนเฉˆเฅค Tencent เจฆเฉ€เจ†เจ‚ เจธเจนเจพเจ‡เจ• เจ•เฉฐเจชเจจเฉ€เจ†เจ‚, เจšเฉ€เจจ เจ…เจคเฉ‡ เจฆเฉเจจเฉ€เจ† เจญเจฐ เจฆเฉ‡ เจฆเฉ‚เจœเฉ‡ เจฆเฉ‡เจธเจผเจพเจ‚ เจตเจฟเฉฑเจš, เจ‰เฉฑเจš-เจคเจ•เจจเฉ€เจ•เฉ€ เจ•เจพเจฐเฉ‹เจฌเจพเจฐ เจฆเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจ–เฉ‡เจคเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจฎเฉเจนเจพเจฐเจค เจฐเฉฑเจ–เจฆเฉ€เจ†เจ‚ เจนเจจ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจธเฉ‡เจตเจพเจตเจพเจ‚, เจจเจ•เจฒเฉ€ เจฌเฉเฉฑเจงเฉ€ เจ…เจคเฉ‡ เจ‡เจฒเฉˆเจ•เจŸเฉเจฐเจพเจจเจฟเจ• เจฎเจจเฉ‹เจฐเฉฐเจœเจจ เจฆเฉ‡ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจตเจฟเจ•เจพเจธ เจธเจผเจพเจฎเจฒ เจนเจจเฅค

P4 เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเฉ‡เจฌเจฒ เจฐเฉ‚เจŸเจฟเฉฐเจ— เจ‰เฉฑเจจเจค เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€เจ†เจ‚ เจนเจจ เจœเฉ‹ เจ•เฉฐเจชเจจเฉ€ เจฆเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจธเจผเฉเจฐเฉ‚เจ†เจค เจ•เจฐเจจ เจตเจพเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจนเฉ‹เจฃ เจฆเฉ‡ เจจเจพเจคเฉ‡, เจ—เฉ‚เจ—เจฒ เจจเฉ‚เฉฐ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจฟเฉฐเจ— เจ‰เจฆเจฏเฉ‹เจ— เจ…เจคเฉ‡ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจกเจพเจŸเจพ เจธเฉˆเจ‚เจŸเจฐ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐเจฒ เจกเจฟเจœเจผเจพเจˆเจจ เจตเจฟเฉฑเจš P4 เจฆเฉ‡ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจ…เจชเจฃเจพเจ เจœเจพเจฃ 'เจคเฉ‡ เจฎเจพเจฃ เจนเฉˆเฅค

2) เจตเจชเจพเจฐเจ• เจ•เฉฐเจชเจจเฉ€เจ†เจ‚;

เจ—เฉ‹เจฒเจกเจฎเฉˆเจจ เจธเจพเจ•เจธ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจ…เจคเฉ‡ เจจเฉˆเจŸเจตเจฐเจ• เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจจเจตเฉ€เจจเจคเจพ เจฒเจฟเจ†เจ‰เจฃ เจ…เจคเฉ‡ เจ—เจพเจนเจ•เจพเจ‚ เจฒเจˆ เจฌเจฟเจนเจคเจฐ เจนเฉฑเจฒ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฒเจˆ เจธเจพเจ‚เจเฉ‡ เจฎเจพเจชเจฆเฉฐเจก เจ…เจคเฉ‡ เจนเฉฑเจฒ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจจ เจฆเจพ เจซเจพเจ‡เจฆเจพ เจ‰เจ เจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

3) เจ‰เจคเจชเจพเจฆเจจ;

เจชเฉ‚เจฐเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจฟเฉฐเจ— เจ‰เจฆเจฏเฉ‹เจ— เจจเฉ‚เฉฐ P4 เจตเจฐเจ—เฉ€ เจญเจพเจธเจผเจพ เจคเฉ‹เจ‚ เจฒเจพเจญ เจนเฉ‹เจตเฉ‡เจ—เจพ เจœเฉ‹ เจซเจพเจฐเจตเจฐเจกเจฟเฉฐเจ— เจตเจฟเจตเจนเจพเจฐ เจจเฉ‚เฉฐ เจตเจฟเจฒเฉฑเจ–เจฃ เจคเฉŒเจฐ 'เจคเฉ‡ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจธเจฟเจธเจ•เฉ‹ เจ‡เจธ เจญเจพเจธเจผเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ เจ†เจชเจฃเฉ€เจ†เจ‚ เจ‰เจคเจชเจพเจฆ เจฒเจพเจˆเจจเจพเจ‚ เจจเฉ‚เฉฐ เจคเจฌเจฆเฉ€เจฒ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจตเฉ€ เจตเจฟเจธเจผเจตเจพเจธ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค

เจœเฉ‚เจจเฉ€เจชเจฐ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจธ เจจเฉ‡ เจ•เจˆ เจ‰เจคเจชเจพเจฆเจพเจ‚ เจตเจฟเฉฑเจš P4 เจ…เจคเฉ‡ P4 เจฐเจจเจŸเจพเจˆเจฎ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจœเฉ‚เจจเฉ€เจชเจฐ เจเจฎเจฌเฉˆเจกเจก เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจ•เฉ‹เจก เจคเฉฑเจ• เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเฉ‡เจŸเจฟเจ• เจชเจนเฉเฉฐเจš เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

Ruijie Networks P4 เจฆเจพ เจ‡เฉฑเจ• เจฎเจœเจผเจฌเฉ‚เจค โ€‹โ€‹เจธเจฎเจฐเจฅเจ• เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจพเจ‚ เจฒเจˆ เจฒเจพเจญ เจฒเจฟเจ†เจ‰เจ‚เจฆเจพ เจนเฉˆเฅค P4 เจฆเฉ‡ เจจเจพเจฒ, เจ•เฉฐเจชเจจเฉ€ เจ—เฉเจฐเจพเจนเจ•เจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจตเจฟเจธเจผเจพเจฒ เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจจเฉ‚เฉฐ เจตเจงเฉ€เจ†-เจตเจฟเฉฑเจš-เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจฆเฉ‡ เจนเฉฑเจฒ เจคเจฟเจ†เจฐ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

4) เจฆเฉ‚เจฐเจธเฉฐเจšเจพเจฐ เจชเฉเจฐเจฆเจพเจคเจพ;

AT&T P4 เจฆเจพ เจ‡เฉฑเจ• เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ…เจชเจฃเจพเจ‰เจฃ เจตเจพเจฒเจพ เจธเฉ€, P4 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ‰เจธ เจตเจฟเจนเจพเจฐ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจœเฉ‹ เจ‰เจน เจ†เจชเจฃเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจธเฉ€, เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ• 'เจคเฉ‡ P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเฉ‡เจฌเจฒ เจซเจพเจฐเจตเจฐเจกเจฟเฉฐเจ— เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆเฅค

Deutsche Telekom 'เจคเฉ‡, เจญเจพเจธเจผเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจเจ•เจธเฉˆเจธ 4.0 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจตเจœเฉ‹เจ‚ เจฎเฉเฉฑเจ– เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจŸเฉ‹เจŸเจพเจˆเจช เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

5) เจธเฉˆเจฎเฉ€เจ•เฉฐเจกเจ•เจŸเจฐ เจ‰เจฆเจฏเฉ‹เจ—;

เจญเจพเจธเจผเจพ เจจเฉ‡ เจฌเฉ‡เจ…เจฐเจซเฉเฉฑเจŸ เจจเฉ‚เฉฐ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฐเฉ‚เจŸเจฟเฉฐเจ— เจชเจฒเฉ‡เจจ เจจเฉ‚เฉฐ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจชเฉˆเจฐเจพเจกเจพเจˆเจฎ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‡เจ†เฅค

Xilinx P4.org เจฆเฉ‡ เจธเฉฐเจธเจฅเจพเจชเจ•เจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเฉ€ เจ…เจคเฉ‡ P4 เจญเจพเจธเจผเจพ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจตเจฟเฉฑเจš เจธเจฐเจ—เจฐเจฎเฉ€ เจจเจพเจฒ เจธเจผเจพเจฎเจฒ เจธเฉ€ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ SmartNIC เจ…เจคเฉ‡ NFV เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจฒเจˆ FPGA-เจ…เจงเจพเจฐเจฟเจค เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเฉ‡เจฌเจฒ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ, SDNet เจกเจฟเจœเจผเจพเจˆเจจ เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจตเจœเฉ‹เจ‚ เจชเจนเจฟเจฒเฉ‡ P416 เจ•เฉฐเจชเจพเจ‡เจฒเจฐเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเฉ‚เฉฐ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพเฅค

6) เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐเฅค

VMware เจฆเจพ เจฎเฉฐเจจเจฃเจพ เจนเฉˆ เจ•เจฟ P4 เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจŠเจฐเจœเจพ, เจจเจตเฉ€เจจเจคเจพ เจ…เจคเฉ‡ เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจœเฉ‹ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจตเจฟเฉฑเจš เจธเจพเจฐเจฅเจ• เจ…เจคเฉ‡ เจœเจผเจฐเฉ‚เจฐเฉ€ เจคเจฌเจฆเฉ€เจฒเฉ€ เจฒเจฟเจ† เจฐเจฟเจนเจพ เจนเฉˆเฅค VMware เจธเจผเฉเจฐเฉ‚เจ†เจค เจคเฉ‹เจ‚ เจนเฉ€ เจ‡เจธ เจ‰เจฆเจฏเฉ‹เจ— เจ…เฉฐเจฆเฉ‹เจฒเจจ เจฆเจพ เจนเจฟเฉฑเจธเจพ เจฐเจฟเจนเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจจเจตเฉ€เจจเจคเจพ เจฆเฉ€ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจฒเจนเจฟเจฐ เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ-เจ…เจงเจพเจฐเจฟเจค เจชเจนเฉเฉฐเจš เจฆเฉเจ†เจฐเจพ เจšเจฒเจพเจˆ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจจเจตเฉ€เจจเจคเจฎ เจ‰เจคเจชเจพเจฆเจพเจ‚ เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, P4 เจ‡เฉฑเจ• เจŸเฉ€เจšเจพ-เจธเฉเจคเฉฐเจคเจฐ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ-เจธเฉเจคเฉฐเจคเจฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจนเฉˆ เจœเฉ‹ เจ‰เจฆเจฏเฉ‹เจ— เจ…เจคเฉ‡ เจ…เจ•เจพเจฆเจฎเจฟเจ• เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจชเฉˆเจ•เฉ‡เจŸ เจฐเฉ‚เจŸเจฟเฉฐเจ— เจตเจฟเจตเจนเจพเจฐ เจจเฉ‚เฉฐ เจตเจฟเจฒเฉฑเจ–เจฃ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเจฟเจธ เจจเฉ‚เฉฐ เจฌเจฆเจฒเฉ‡ เจตเจฟเฉฑเจš เจ•เจˆ เจŸเฉ€เจšเจฟเจ†เจ‚ เจฒเจˆ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ…เฉฑเจœ, เจŸเฉ€เจšเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจ…เจคเฉ‡ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจธเจตเจฟเฉฑเจš, เจนเจพเจˆเจชเจฐเจตเจพเจˆเจœเจผเจฐ เจธเจตเจฟเฉฑเจš, NPUs, GPUs, FPGAs, SmartNICs เจ…เจคเฉ‡ ASICs เจธเจผเจพเจฎเจฒ เจนเจจเฅค

เจญเจพเจธเจผเจพ เจฆเฉ€เจ†เจ‚ เจฎเฉเฉฑเจ– เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจ‡เจธเจฆเฉ‡ เจ•เจพเจฐเจœ เจฆเฉ‡ เจฆเจพเจ‡เจฐเฉ‡ เจจเฉ‚เฉฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจฃ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจตเจฟเจธเจคเจพเจฐ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจ…เจคเฉ‡ เจจเฉˆเจŸเจตเจฐเจ• เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจตเจฟเฉฑเจš เจ‡เจธเจฆเฉ‡ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจฒเจพเจ—เฉ‚ เจนเฉ‹เจฃ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจธเจผเฉเจฐเฉ‚เจ†เจค

P4 เจ‡เฉฑเจ• เจ–เฉเฉฑเจฒเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจนเฉˆ, เจธเจพเจฐเฉ€ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจœเจพเจฃเจ•เจพเจฐเฉ€ เจตเฉˆเจฌเจธเจพเจˆเจŸ 'เจคเฉ‡ เจนเฉˆ P4.org

เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจฒเจฟเฉฐเจ• https://github.com/p4lang, เจœเจฟเฉฑเจฅเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ‰เจฆเจพเจนเจฐเจจ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจ…เจคเฉ‡ เจŸเจฟเจŠเจŸเฉ‹เจฐเจฟเจ…เจฒ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจชเจฒเฉฑเจ—เจ‡เจจ P4 เจธเจฎเจฐเจฅเจจ เจจเจพเจฒ เจˆเจฒเฉˆเจชเจธ เจฒเจˆ, เจชเจฐ เจ…เจธเฉ€เจ‚ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ P4 เจธเจŸเฉ‚เจกเฉ€เจ“ เจจเฉฐเจ—เฉ‡ เจชเฉˆเจฐเจพเจ‚ เจคเฉ‹เจ‚.

P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ

เจ†เจ‰ เจ•เจฐเจจเจฒ เจฆเฉ‡ เจฎเฉเฉฑเจ– เจเจฌเจธเจŸเจฐเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ:

เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจเจพ โ€” เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเจฆเจฆ เจจเจพเจฒ, เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจนเฉˆเจกเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค

เจธเจฟเจฐเจฒเฉ‡เจ– เจชเจฐเจฟเจญเจพเจธเจผเจพ เจฆเฉฑเจธเจฆเฉ€ เจนเฉˆ:

  • เจชเฉˆเจ•เฉ‡เจŸ เจซเจพเจฐเจฎเฉˆเจŸ เจ…เจคเฉ‡ เจธเจฟเจฐเจฒเฉ‡เจ– เจ–เฉ‡เจคเจฐ เจฆเฉ‡ เจจเจพเจฎ เจฆเจพ เจตเฉ‡เจฐเจตเจพ
  • เจธเจฅเจฟเจฐ เจ…เจคเฉ‡ เจชเจฐเจฟเจตเจฐเจคเจจเจธเจผเฉ€เจฒ เจ…เจจเฉเจฎเจคเฉ€ เจตเจพเจฒเฉ‡ เจ–เฉ‡เจคเจฐ

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ

header Ethernet_h{
    bit<48>  dstAddr;
    bit<48>  srcAddr;
    bit<16>  etherType;
}

header IPv4_h{
    bit<4>  version;
    bit<4>  ihl;
    bit<8>  diffserv;
    bit<16>  totalLen;
    bit<16>  identification;
    bit<3>  flags;
    bit<13>  fragOffset;
    bit<8>  ttl;
    bit<8>  protocol;
    bit<16>  hdrChecksum;
    bit<32>  srcAddr;
    bit<32>  dstAddr;
    varbit<320>  options;
}

เจชเจพเจฐเจธ - เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจ•เฉฐเจฎ เจธเฉเจฐเจ–เฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจชเจพเจฐเจธ เจ•เจฐเจจเจพ เจนเฉˆเฅค

เจจเจฟเจฎเจจเจฒเจฟเจ–เจค เจชเจพเจฐเจธเจฐ เจ‰เจฆเจพเจนเจฐเจจ เจฎเจธเจผเฉ€เจจ เจฆเฉ€ เจ…เฉฐเจคเจฎ เจ…เจตเจธเจฅเจพ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ…เจตเจธเจฅเจพ เจคเฉ‹เจ‚ เจฆเฉ‹ เจ…เฉฐเจคเจฟเจฎ เจ…เจตเจธเจฅเจพเจตเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเฉ‡เจ—เฉ€:

P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ

parser MyParser(){
 state  start{transition parse_ethernet;}
 state  parse_ethernet{
    packet.extract(hdr.ethernet);
    transition select(hdr.ethernet.etherType){
        TYPE_IPV4: parse_ipv4;
        default: accept;
        }
    }โ€ฆ
}

เจŸเฉ‡เจฌเจฒ โ€” เจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเจพเจฒ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจตเจพเจฒเฉ€เจ†เจ‚ เจฎเจธเจผเฉ€เจจ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹เฅค เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ โ€” เจชเฉˆเจ•เฉ‡เจœ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ‡เจธเจฆเจพ เจตเฉ‡เจฐเจตเจพเฅค

เจŸเฉ‡เจฌเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉˆเจ•เฉ‡เจŸ เจซเจพเจฐเจตเจฐเจกเจฟเฉฐเจ— เจฒเจˆ เจฐเจพเจœ (เจชเฉเจฐเจฌเฉฐเจงเจจ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค) เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจฎเฉˆเจš-เจเจ•เจธเจผเจจ เจฏเฉ‚เจจเจฟเจŸ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจฆเฉ‡ เจนเจจ

เจชเฉˆเจ•เฉ‡เจŸ เจ‡เจนเจจเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเฉ‡ เจนเจจ:

  • เจธเจŸเฉ€เจ• เจฎเฉ‡เจฒ
  • เจฒเฉฐเจฌเจพ เจชเฉเจฐเฉ€เจซเจฟเจ•เจธ เจฎเฉˆเจš (LPM)
  • เจŸเฉเจฐเจฟเจชเจฒ เจฎเฉˆเจšเจฟเฉฐเจ— (เจฎเจพเจธเจ•เจฟเฉฐเจ—)

table ipv4_lpm{
    reads{
        ipv4.dstAddr: lpm;
    } actions {
        forward();
    }
}

เจธเจพเจฐเฉ€เจ†เจ‚ เจธเฉฐเจญเจต เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจ…เจคเฉ‡ เจกเฉ‡เจŸเจพ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจกเฉ‡เจŸเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจชเฉฑเจงเจฐ เจคเฉ‹เจ‚ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ IP เจชเจคเฉ‡/เจชเฉ‹เจฐเจŸ เจจเฉฐเจฌเจฐ)เฅค เจ•เฉเจ, เจฒเฉ‚เจช-เจฎเฉเจ•เจค เจชเฉเจฐเจพเจˆเจฎเจฟเจŸเจฟเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฐเจตเจพเจˆ เจตเจฟเฉฑเจš เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจฐ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจ…เจจเฉเจฎเจพเจจเจฟเจค เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ, เจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจฒเฉ‚เจชเจธ เจœเจพเจ‚ เจธเจผเจฐเจคเฉ€เจ† เจฌเจฟเจ†เจจ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

action ipv4_forward(macAddr_t dstAddr, egressSpec_t port){
    standard_metadata.egress_spec = port;
    hdr.ethernet.srcAddr = hdr.ethernet.dstAddr;
    hdr.ethernet.dstAddr = dstAddr;
    hdr.ipv4.ttl = hdr.ipv4.ttl - 1;
}

เจฎเฉˆเจš-เจเจ•เจธเจผเจจ เจฎเฉ‹เจกเฉ€เจŠเจฒ โ€” เจ‡เฉฑเจ• เจ–เฉ‹เจœ เจ•เฉเฉฐเจœเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚, เจ‡เฉฑเจ• เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจ–เฉ‹เจœ เจ•เจฐเฉ‹, เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจ•เจฐเฉ‹เฅค

เจ‡เฉฑเจ• เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฆเฉ€ เจ‡เฉฑเจ• เจ–เจพเจธ เจ‰เจฆเจพเจนเจฐเจฃ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจˆ เจ—เจˆ เจนเฉˆ:

P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ

เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจตเจนเจพเจ… โ€” เจ‰เจธ เจ•เฉเจฐเจฎ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจฎเฉˆเจš-เจเจ•เจธเจผเจจ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจ‡เจน เจ‡เฉฑเจ• เจฒเจพเจœเจผเจฎเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจนเฉˆ เจœเฉ‹ เจ‰เฉฑเจš เจชเฉฑเจงเจฐเฉ€ เจคเจฐเจ• เจ…เจคเฉ‡ เจฎเฉˆเจš-เจเจ•เจธเจผเจจ เจ•เฉเจฐเจฎ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจชเฉเจฐเจตเจพเจน เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจฆเฉ‡ เจชเฉฑเจงเจฐ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจ•เฉ‡ เจธเจพเจฐเฉ€เจ†เจ‚ เจตเจธเจคเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆเฅค

เจฌเจพเจนเจฐเฉ€ เจตเจธเจคเฉ‚เจ†เจ‚ เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจ…เจคเฉ‡ API เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจตเจพเจฒเฉ€เจ†เจ‚ เจ–เจพเจธ เจตเจธเจคเฉ‚เจ†เจ‚ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจšเฉˆเฉฑเจ•เจธเจฎ เจ•เฉˆเจฒเจ•เฉ‚เจฒเฉ‡เจธเจผเจจ, เจฐเจœเจฟเจธเจŸเจฐ, เจ•เจพเจŠเจ‚เจŸเจฐ, เจ•เจพเจŠเจ‚เจŸเจฐ, เจ†เจฆเจฟเฅค

extern register{
    register(bit<32> size);
    void read(out T result, in bit<32> index);
    void write(in bit<32> index, in T value);
}

extern Checksum16{
  Checksum16();    //constructor
  void clear();    //prepare unit for computation
  void update(in T data);    //add data to checksum
  void remove(in T data);  /remove data from existing checksum
  bit<16> get(); //get the checksum for the data added since last clear
}

เจฎเฉˆเจŸเจพเจกเจพเจŸเจพ โ€” เจนเจฐเฉ‡เจ• เจชเฉˆเจ•เฉ‡เจœ เจจเจพเจฒ เจธเจฌเฉฐเจงเจฟเจค เจกเจพเจŸเจพ เจฌเจฃเจคเจฐเฅค

เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจฆเฉ€เจ†เจ‚ 2 เจ•เจฟเจธเจฎเจพเจ‚ เจนเจจ:

  เจ•เจธเจŸเจฎ เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ (เจธเจพเจฐเฉ‡ เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจฒเจˆ เจ–เจพเจฒเฉ€ เจขเจพเจ‚เจšเจพ)
    เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจฅเฉ‡ เจœเฉ‹ เจšเจพเจนเฉ‹ เจชเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹
    เจธเจพเจฐเฉ€ เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจตเจฟเฉฑเจš เจ‰เจชเจฒเจฌเจง เจนเฉˆ
    เจคเฉเจนเจพเจกเฉ‡ เจ†เจชเจฃเฉ‡ เจ‰เจฆเฉ‡เจธเจผเจพเจ‚ เจฒเจˆ เจตเจฐเจคเจฃ เจฒเจˆ เจธเฉเจตเจฟเจงเจพเจœเจจเจ•, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจชเฉˆเจ•เฉ‡เจœ เจนเฉˆเจธเจผ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ

  เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ - เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ
    เจ‡เจจเจชเฉเจŸ เจชเฉ‹เจฐเจŸ, เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจชเฉ‹เจฐเจŸ เจ‡เฉฑเจฅเฉ‡ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ
    เจŸเจพเจˆเจฎเจธเจŸเฉˆเจ‚เจช เจœเจฆเฉ‹เจ‚ เจชเฉˆเจ•เฉ‡เจŸ เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจธเฉ€, เจ•เจคเจพเจฐ เจฆเฉ€ เจกเฉ‚เฉฐเจ˜เจพเจˆ
    เจฎเจฒเจŸเฉ€เจ•เจพเจธเจŸ เจนเฉˆเจธเจผ / เจฎเจฒเจŸเฉ€เจ•เจพเจธเจŸ เจ•เจคเจพเจฐ
    เจชเฉˆเจ•เฉ‡เจœ เจคเจฐเจœเฉ€เจน, เจชเฉˆเจ•เฉ‡เจœ เจฎเจนเฉฑเจคเจต
    เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจชเฉ‹เจฐเจŸ เจจเจฟเจฐเจงเจพเจฐเจจ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เจคเจพเจฐ)

P4 เจ•เฉฐเจชเจพเจˆเจฒเจฐ

P4 เจ•เฉฐเจชเจพเจˆเจฒเจฐ (P4C) เจคเจฟเจ†เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ:

  1. เจกเจพเจŸเจพ เจชเจฒเฉ‡เจจ เจฐเจจเจŸเจพเจˆเจฎ
  2. เจกเจพเจŸเจพ เจชเจฒเฉ‡เจจ เจตเจฟเฉฑเจš เจฎเจธเจผเฉ€เจจ เจธเจฅเจฟเจคเฉ€ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ API

P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ

P4 เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจธเจตเจฟเฉฑเจš เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจจ

เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

p4lang/p4c-bm: bmv2 เจฒเจˆ JSON เจธเฉฐเจฐเจšเจจเจพ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ
p4lang/bmv2: เจ‡เฉฑเจ• เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจธเจตเจฟเฉฑเจš เจœเฉ‹ bmv2 เจธเฉฐเจธเจ•เจฐเจฃ JSON เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจธเจฎเจเจฆเจพ เจนเฉˆ

เจšเจฟเฉฑเจคเจฐ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจธเฉฐเจ•เจฒเจจ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ:

P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ

เจŸเฉ‡เจฌเจฒเจพเจ‚, เจฐเฉ€เจกเจฟเฉฐเจ— เจฐเจœเจฟเจธเจŸเจฐเจพเจ‚, เจ•เจพเจŠเจ‚เจŸเจฐเจพเจ‚ เจจเจพเจฒ เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€:

  • table_set_default <table name> <action name> <action parameters>
  • table_add <table name> <action name> <match fields> => <action
    parameters> [priority]
  • table_delete <table name> <entry handle>


เจธเฉ‹เจฐเจธ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจธเจตเจฟเฉฑเจš API เจฆเฉ€ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจธเจงเจพเจฐเจจ_switch_CLI เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค

เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

P4 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ

PS เจ‡เจธ เจ—เจฐเจฎเฉ€เจ†เจ‚ เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš, เจ‡เฉฐเจŸเฉ‡เจฒ เจจเฉ‡ เจนเจพเจˆเจชเจฐเจธเจ•เฉ‡เจฒ เจ•เจฒเจพเจ‰เจก เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจœเจผเจฐเฉ‚เจฐเจคเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจตเจฟเฉฑเจš เจฌเฉ‡เจ…เจฐเจซเฉเฉฑเจŸ เจจเฉˆเจŸเจตเจฐเจ•เจธ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฎเจเฉŒเจคเฉ‡ 'เจคเฉ‡ เจนเจธเจคเจพเจ–เจฐ เจ•เฉ€เจคเฉ‡เฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจจเจตเฉ€เจจ เจธเจผเฉ‡เจจเฉ‹เจ (เจ‡เฉฐเจŸเฉ‡เจฒ เจ•เจพเจฐเจชเฉ‹เจฐเฉ‡เจธเจผเจจ เจตเจฟเจ–เฉ‡ เจกเฉ‡เจŸเจพ เจธเฉˆเจ‚เจŸเจฐ เจ—เจฐเฉเฉฑเจช เจฆเฉ‡ เจ•เจพเจฐเจœเจ•เจพเจฐเฉ€ เจ‰เจช เจชเฉเจฐเจงเจพเจจ เจ…เจคเฉ‡ เจœเจจเจฐเจฒ เจฎเฉˆเจจเฉ‡เจœเจฐ) เจจเฉ‡ เจ•เจฟเจนเจพ, เจ‡เจน เจ‡เฉฐเจŸเฉ‡เจฒ เจจเฉ‚เฉฐ เจกเจพเจŸเจพ เจธเฉˆเจ‚เจŸเจฐ เจฆเฉ‡ เจ—เจพเจนเจ•เจพเจ‚ เจฒเจˆ เจตเฉฑเจกเฉ‡ เจตเจฐเจ•เจฒเฉ‹เจก เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฎเฉŒเจ•เฉ‡ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

เจฎเฉ‡เจฐเฉ€ เจจเจฟเฉฑเจœเฉ€ เจฐเจพเจ เจตเจฟเฉฑเจš, เจธเจพเจจเฉ‚เฉฐ เจ‡เจน เจจเจนเฉ€เจ‚ เจญเฉเฉฑเจฒเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ เจเจซเจชเฉ€เจœเฉ€เจ เจšเจฟเจชเจธ เจฆเฉ‡ เจ‰เจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจš เจ‡เฉฐเจŸเฉ‡เจฒ เจ‡เฉฑเจ• เจจเฉ‡เจคเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจฆเจพ เจ‡เฉฑเจ• เจธเจผเจพเจจเจฆเจพเจฐ เจ•เฉเจ†เจฐเจŸเจธ เจตเจพเจคเจพเจตเจฐเจฃ เจนเฉˆ. เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‰เจฎเฉ€เจฆ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ‡เฉฐเจŸเฉ‡เจฒ เจฆเฉ‡ เจ†เจ‰เจฃ เจจเจพเจฒ, เจฌเฉ‡เจ…เจฐเจซเฉ‚เจŸ เจจเจพ เจธเจฟเจฐเจซ เจ†เจชเจฃเฉ€ เจ‰เจคเจชเจพเจฆ เจฒเจพเจˆเจจ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจ•เจฐเฉ‡เจ—เจพ, เจฌเจฒเจ•เจฟ เจ•เฉเจ†เจฐเจŸเจธ เจ…เจคเฉ‡ เจชเฉ€ 4 เจธเจŸเฉ‚เจกเฉ€เจ“ เจจเฉ‚เฉฐ เจตเฉ€ เจŸเฉŒเจซเฉ€เจจเฉ‹ เจ…เจคเฉ‡ เจŸเฉŒเจซเฉ€เจจเฉ‹ 2 เจฒเจพเจˆเจจ เจตเจฟเฉฑเจš เจ—เฉฐเจญเฉ€เจฐ เจ…เจชเจกเฉ‡เจŸเจธ เจ…เจคเฉ‡ เจเจกเฉ€เจธเจผเจจ เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจฃเจ—เฉ‡เฅค

P4 เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจฆเจพ เจ…เจงเจฟเจ•เจพเจฐเจค เจฎเฉˆเจ‚เจฌเจฐ - เจ•เฉฐเจชเจจเฉ€ เจ•เจพเจฐเจ• เจธเจฎเฉ‚เจน.

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹