Linux?????????????????????UDPЭ??
???????????? ???????[ 2012/12/27 10:30:20 ] ????????
?????????????????IP??????ν???????????????????????????????UDPЭ?????????????
??????ip_rcv()?????п??????
/*
* Pass on the datagram to each protocol that wants it??
* based on the datagram protocol. We should really
* check the protocol handler's return values here...
*/
ipprot->handler(skb2?? dev?? opts_p ? &opt : 0?? iph->daddr??
(ntohs(iph->tot_len) - (iph->ihl * 4))??
iph->saddr?? 0?? ipprot);
??????????????Э???handler???????????UDPЭ?飬?ú???????? udp_protocol????
static struct inet_protocol udp_protocol = {
udp_rcv?? /* UDP handler */
NULL?? /* Will be UDP fraglist handler */
udp_err?? /* UDP error control */
&tcp_protocol?? /* next */
IPPROTO_UDP?? /* protocol ID */
0?? /* copy */
NULL?? /* data */
"UDP" /* name */
};
???????UDPЭ??????????????????£?????
struct udphdr {
unsigned short source;//????
unsigned short dest;//?????
unsigned short len;//?????????
unsigned short check;//?????
};
?????????????udp_rcv()?????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11