커널에서 일부 네트워킹 기능을 구현하기 위해 BPF 프로그램을 사용하기 시작했는데, 제가 겪은 혼란 중 하나는 - 구조에 정확히 무엇이 포함되어 있습니까 sk_buff
?
수신 경로에서 대부분의 온라인 리소스는 sk_buff
각 수신 패킷에 대한 할당을 언급합니다.
그런데 나가는 길에 무슨 일이 일어나나요? 소켓 메시지는 먼저 L3 프로토콜을 통해 데이터 패킷으로 분할된 후 네트워크로 배포됩니까 sk_buff
? 이것도 모순이다일부sk_buff
온라인 리소스는 Linux 커널 스택이 처리하기 전에 할당되는 리소스를 나타냅니다 .
sk_buff
그렇다면 수신 경로와 송신 경로의 구조에는 정확히 무엇이 저장되어 있습니까?