Reliable UDP

How can I develop a Linux kernel module to make UDP reliable? This is my assignment in college, and I do not. how to change default UDP behavior in linux kernel by loading a new kernel module? and how to program such a kernel module?

+3
source share
15 answers

Reliable UDP is not the same as just using TCP. There are a number of differences, but the most predominant is that you are guaranteed to always receive the entire UDP message or not at all. Whereas it is not only possible, but also very often to receive partial TCP messages.

, , ACK, . , . , , . , , .

+15

UDP, RUDP, 9. , TCP.

: , UDT. UDP, .

+10

, , " TCP", , , UDP TCP, - ( TCP)

- , .

, ..

+5

TCP UDP, TCP. " UDP" . , .

+3

UDP , "", , - ( IP-). , 90% , , ( , IP), , recipeint "".

, , TCP. UDP , .

. , ( # 1 ). , , UDP :

  • ethernet (, , ).
  • - UDP. , .
  • UDP- (Netbios ..).
  • ARP ( ARP 10 ).

(. . IP-, ARP, , ARP).

+3

"ARQ", .

, - , . (, Tanenbaum Kurose/Ross) . , , ARQ ARQ-, .

Linux, ARQ, , ARQ , , .

.

+3

, , UDP , . UDP - ipso facto. , "".

, UDP, , , TCP. - - , , / . , SIP VoIP-; TCP- QoS, ( SIP). , - - .

, - - , UDP , , UDP , UDP .

+3

, , TCP, , SCTP. API " UDP", .

- , , , , , . , FreeBSD - , . YMMV.

+2

, ​​Linux, - "linux kernel" google , , "socket". - Linux Kernel , .

,

1) , UDP Linux
2) , RUDP ( )

3)... ( )
4) ! err... !

+1

, UDP- .

- UDP- (net/ipv4/udp.c) IP- UDP. , , , (17) , Makefile , , Kconfig.

/etc/protocols, , .

: , udp.c . (, ipip.c ip_gre.c), , .

+1

, , . , , , , ( ) , , . UDP , , ​​ .

, , . , , , UDP . , , UDP, .

+1

, . , . , ACK, -. , . , , .

0

, , , , - "". , , , ? (, , , ).

, , , , . , - , .

0

If you need reliable UDP, the best option would be to use SCTP ( Flow Control Protocol ). A well established protocol is currently in use.

0
source

If for some reason you MUST use UDP (seriously, just use TCP), some quick and easy reliability features are the presence of presence bits, acks and xor'ed.

-2
source

Source: https://habr.com/ru/post/1706339/


All Articles