A voir également:
- TCP/ACK/Linux/C
- Udp vs tcp - Guide
- Tcp optimizer - Télécharger - Optimisation
- Linux mint 32 bits - Télécharger - Systèmes d'exploitation
- Diskinternals linux reader - Télécharger - Stockage
- Linux live usb creator - Télécharger - Outils Internet
13 réponses
Bonjour,
Je vous laisse ici quelques liens qui, je l'espère, pourront vous aider.
http://kernelnewbies.org/ un site pour les nouveaux sur le kernel linux
http://www.linux-foundation.org/en/Net un peu de doc sur la partie "net" de linux
http://kerneltrap.org un tres bon site où on cause kernel ! avec un bon forum
https://linuxgazette.net/136/pfeiffer.html une page qui peut vous aider sur la congestion
https://linuxdriver.co.il une très jolie map interactive du kernel linux qui mène aux sources....
http://whatisthekernel.blogspot.com/ un très bon blog avec des tips sur le noyau, pas mal d'articles sur le réseau
https://inetdoc.net/guides/linux.networking/interco.noyau.networking.html un site sur le stack tcp/ip linux
http://asyd.net/docs/kernel/tcpip-stack.html une page encore incomplète sur tcp/ip linux
Voilà pour le moment de quoi vous occuper. Je vous donnerais d'autres liens ultérieurement si ils me reviennent .
Cordialement,
:)
Je vous laisse ici quelques liens qui, je l'espère, pourront vous aider.
http://kernelnewbies.org/ un site pour les nouveaux sur le kernel linux
http://www.linux-foundation.org/en/Net un peu de doc sur la partie "net" de linux
http://kerneltrap.org un tres bon site où on cause kernel ! avec un bon forum
https://linuxgazette.net/136/pfeiffer.html une page qui peut vous aider sur la congestion
https://linuxdriver.co.il une très jolie map interactive du kernel linux qui mène aux sources....
http://whatisthekernel.blogspot.com/ un très bon blog avec des tips sur le noyau, pas mal d'articles sur le réseau
https://inetdoc.net/guides/linux.networking/interco.noyau.networking.html un site sur le stack tcp/ip linux
http://asyd.net/docs/kernel/tcpip-stack.html une page encore incomplète sur tcp/ip linux
Voilà pour le moment de quoi vous occuper. Je vous donnerais d'autres liens ultérieurement si ils me reviennent .
Cordialement,
:)
Bonjour,
Il est possible de retarder l'émission d'un Ack, pour se faire je vous suggère de regarder le code la pile tcp/ip de linux. Cette technique est déjà utilisée afin d'éviter ce qu'on appelle "le syndrome de la fenêtre stupide" lors de congestion de bout en bout ( donc déjà implementé dans le noyau). Eventuellement jeté un oeil à ce syndrome pour avoir plus d'informations.
Cordialement,
:)
Il est possible de retarder l'émission d'un Ack, pour se faire je vous suggère de regarder le code la pile tcp/ip de linux. Cette technique est déjà utilisée afin d'éviter ce qu'on appelle "le syndrome de la fenêtre stupide" lors de congestion de bout en bout ( donc déjà implementé dans le noyau). Eventuellement jeté un oeil à ce syndrome pour avoir plus d'informations.
Cordialement,
:)
Bonjour, merci Akira pour votre reponse, est ce que vous pouvez citer les fonctions du language C/C++ a utiliser?
Merci infiniment.
Merci infiniment.
Bonjour,
Voici donc le lien contenant le code gérant ce syndrome dans la pile tcp/ip linux, il faudra comprendre le morceau de code et l'adapter à vos besoins. Tout d'abord le lien : http://fxr.watson.org/fxr/source/netinet/tcp_output.c?v=RELENG51
Le passage qui vous intéresse plus particulièrement :
/*
720 * Calculate receive window. Don't shrink window,
721 * but avoid silly window syndrome.
722 */
723 if (win < (long)(so->so_rcv.sb_hiwat / 4) && win < (long)tp->t_maxseg)
724 win = 0;
725 if (win < (long)(tp->rcv_adv - tp->rcv_nxt))
726 win = (long)(tp->rcv_adv - tp->rcv_nxt);
727 if (win > (long)TCP_MAXWIN << tp->rcv_scale)
728 win = (long)TCP_MAXWIN << tp->rcv_scale;
729 th->th_win = htons((u_short) (win>>tp->rcv_scale));
j'ai volontairement laissé les numéros de lignes pour votre navigation dans le code. Lisez les commentaires en amont de ce code pour de plus amples informations.
Cordialement,
:)
Voici donc le lien contenant le code gérant ce syndrome dans la pile tcp/ip linux, il faudra comprendre le morceau de code et l'adapter à vos besoins. Tout d'abord le lien : http://fxr.watson.org/fxr/source/netinet/tcp_output.c?v=RELENG51
Le passage qui vous intéresse plus particulièrement :
/*
720 * Calculate receive window. Don't shrink window,
721 * but avoid silly window syndrome.
722 */
723 if (win < (long)(so->so_rcv.sb_hiwat / 4) && win < (long)tp->t_maxseg)
724 win = 0;
725 if (win < (long)(tp->rcv_adv - tp->rcv_nxt))
726 win = (long)(tp->rcv_adv - tp->rcv_nxt);
727 if (win > (long)TCP_MAXWIN << tp->rcv_scale)
728 win = (long)TCP_MAXWIN << tp->rcv_scale;
729 th->th_win = htons((u_short) (win>>tp->rcv_scale));
j'ai volontairement laissé les numéros de lignes pour votre navigation dans le code. Lisez les commentaires en amont de ce code pour de plus amples informations.
Cordialement,
:)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
==========
= Pouri Akira =
==========
Bonjour, Merci infiniment pour votre reponse et pour les references, je n'ai pas encore trop compri et pour que tous soient claires, j'ai a ecrire un module Linux sur un serveur qui permettera d'accelerer les flux pour certaines adresses ip et de les reduire pour d'autres cela doit etre fait en jouant sur l'emission des ACK.
J'ai tellement besoin de vos conseils, ici personne ne sait meme pas de quoi il s'agit.
Merci.
= Pouri Akira =
==========
Bonjour, Merci infiniment pour votre reponse et pour les references, je n'ai pas encore trop compri et pour que tous soient claires, j'ai a ecrire un module Linux sur un serveur qui permettera d'accelerer les flux pour certaines adresses ip et de les reduire pour d'autres cela doit etre fait en jouant sur l'emission des ACK.
J'ai tellement besoin de vos conseils, ici personne ne sait meme pas de quoi il s'agit.
Merci.
Bonjour,
Après réflexion, un autre moyen de ralentir une connexion au niveau de la couche transport serait de réduire la fenêtre (Win) de sorte qu'elle soit presque toujours à 1 ( Pour un ralentissement max , c'est-à-dire acquitter tous les paquets) et l'augmenter pour accélérer la vitesse ( exemple : acquittement de 1 paquets / 2 , 1 / 4 , 1 / 8 etc.) . Combinez ces 2 méthodes, et vous avez un ralentissement digne de ce nom !
Il m'apparaît aussi d'autres techniques susceptibles de ralentir un connexion au niveau réseau, cela peut éventuellement donner lieu à une autre discussion.
Cordialement,
:)
Après réflexion, un autre moyen de ralentir une connexion au niveau de la couche transport serait de réduire la fenêtre (Win) de sorte qu'elle soit presque toujours à 1 ( Pour un ralentissement max , c'est-à-dire acquitter tous les paquets) et l'augmenter pour accélérer la vitesse ( exemple : acquittement de 1 paquets / 2 , 1 / 4 , 1 / 8 etc.) . Combinez ces 2 méthodes, et vous avez un ralentissement digne de ce nom !
Il m'apparaît aussi d'autres techniques susceptibles de ralentir un connexion au niveau réseau, cela peut éventuellement donner lieu à une autre discussion.
Cordialement,
:)
Bonjour, il sembre que vous ete fort dans le domaine, je commence a comprendre ce que vous dites ici apres avoir lire quelques pages du livre Stevens "TCP/IP illustrated, Volume 1 The Protocols" mais je ne voix null part les API qui permettent de realiser cets idees. Sur la reference que vous m'avez passez je n'ai pas arriver a ouvrir des pages contenant les declarations de certaines structures. Ou peut trouver encore du code consernant ce sujet. et merci beaucoup.
Bonjour, je veux pratiquer la programmation du noyeau Linux, est ce que vous pouvez m'aider a avoir un probleme meme si c'est deja resolu sur le theme de "network devices" ? et merci d'avance.
Bonjour,
Qu'est ce que vous voulez exactement ? des exercices pour pratiquer la programmation noyau ? Apprendre à hacker la pile tcp/ip ou simplement écrire des drivers pour des cartes réseaux ? préciser le sens de votre parole pour une meilleur réponse.
Cordialement,
:)
Qu'est ce que vous voulez exactement ? des exercices pour pratiquer la programmation noyau ? Apprendre à hacker la pile tcp/ip ou simplement écrire des drivers pour des cartes réseaux ? préciser le sens de votre parole pour une meilleur réponse.
Cordialement,
:)
Bonjour, je souhaiterai avoir des exercices pour pratiquer la programmation noyau, apprendre à hacker la pile tcp/ip et écrire des drivers pour des cartes réseaux.
Merci d'avance.
Merci d'avance.
8 nov. 2007 à 13:05
Merci, je garde ça sous le coude!