Difference between revisions of "MOOC:Auto-eval Act21-exercice"
From Livre IPv6
Line 1: | Line 1: | ||
− | + | <pre> | |
− | + | ||
− | + | ||
− | + | <problem> | |
− | + | <p>Soit l'en-tête IPv6 suivant :<br /></p> | |
− | + | <pre> | |
− | + | <tt> 60 00 00 15 00 40 06 2A 20 01 0D B8 00 C0 A0 01 </tt> | |
− | + | <tt> 00 00 00 00 00 00 00 01 20 01 0D B8 A3 E7 A0 01 </tt> | |
− | + | <tt> 00 00 00 00 00 00 C4 D9 </tt> | |
− | + | </pre> | |
− | + | <br /> | |
+ | <i>Note : Les données ci-dessus sont représentées en hexadécimal, une ligne pour 16 octets, soit 128 bits.</i> | ||
+ | <i>Note : Pour les questions qui suivent, la valeur d'un champ est à donner en hexadécimal, avec le préfixe 0x, ou en décimal.</i> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <p>A21Ex01 : Quelle est la valeur du champ <b>Version ?</b></p> | ||
+ | <stringresponse type="ci" answer="6"> | ||
+ | <additional_answer>0x6</additional_answer> | ||
+ | <additional_answer>0x06</additional_answer> | ||
+ | <textline label="A21Ex01" size="20"/> | ||
+ | </stringresponse> | ||
+ | <br /> | ||
+ | <p>A21Ex02 : Quelle est la valeur du champ <b>Classe de trafic</b> ?</p> | ||
+ | <stringresponse type="ci" answer="0"> | ||
+ | <additional_answer>0x0</additional_answer> | ||
+ | <additional_answer>0x00</additional_answer> | ||
+ | <textline label="A21Ex02" size="20"/> | ||
+ | </stringresponse> | ||
+ | <br /> | ||
+ | <p>A21Ex03 : Quelle est la valeur du champ <b>Identificateur de flux</b> ?</p> | ||
+ | <stringresponse type="ci" answer="21"> | ||
+ | <additional_answer>0x15</additional_answer> | ||
+ | <additional_answer>0x00015</additional_answer> | ||
+ | <textline label="A21Ex03" size="20"/> | ||
+ | </stringresponse> | ||
+ | <br /> | ||
+ | <p>A21Ex04 : Quelle est la valeur du champ <b>Longueur de donnée</b> ?</p> | ||
+ | <stringresponse answer="64"> | ||
+ | <additional_answer>0x40</additional_answer> | ||
+ | <additional_answer>0x0040</additional_answer> | ||
+ | <textline label="A21Ex04" size="20"/> | ||
+ | </stringresponse> | ||
+ | <br /> | ||
+ | <p>A21Ex05 : Quelle est la valeur du champ <b>En-tête suivant</b> ?</p> | ||
+ | <stringresponse answer="6"> | ||
+ | <additional_answer>0x6</additional_answer> | ||
+ | <additional_answer>0x06</additional_answer> | ||
+ | <textline label="A21Ex05" size="20"/> | ||
+ | </stringresponse> | ||
+ | <br /> | ||
+ | <p>A21Ex06 : À quel protocole la valeur du champ <b>En-tête suivant</b> fait-elle référence ?</p> | ||
+ | <stringresponse answer="TCP" type="ci" > | ||
+ | <textline label="A21Ex06" size="20"/> | ||
+ | </stringresponse> | ||
+ | <br /> | ||
+ | <p>A21Ex07 : Quelle est la valeur du champ <b>Nombre maximal de sauts</b> ?</p> | ||
+ | <stringresponse answer="0x2A"> | ||
+ | <additional_answer>42</additional_answer> | ||
+ | <textline label="SA21x07" size="20"/> | ||
+ | </stringresponse> | ||
+ | <br /> | ||
+ | |||
+ | <script type="loncapa/python"> | ||
+ | import socket | ||
+ | |||
+ | def test_address(expect, ans): | ||
+ | try: | ||
+ | a = socket.inet_pton(socket.AF_INET6, expect) | ||
+ | b = socket.inet_pton(socket.AF_INET6, ans) | ||
+ | return a == b | ||
+ | except socket.error: | ||
+ | return False | ||
+ | |||
+ | </script> | ||
+ | <p>A21Ex08 : Quelle est l'adresse correspondant à la valeur du champ <b>Adresse source</b> ?</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:c0:a001::1"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #1"/><br/> | ||
+ | </customresponse> | ||
+ | <p>A21Ex09 : Quelle est l'adresse correspondant à la valeur du champ <b>Adresse destination</b> ?</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:a3e7:a001::c4d9"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #2"/><br/> | ||
+ | </customresponse> | ||
+ | |||
+ | <solution> | ||
+ | <div class="detailed-solution"> | ||
+ | <p>Identification des champs de l'en-tête IPv6</p> | ||
+ | Cette solution inclue l'en-tête TCP qui n'était pas présent dans l'énoncé. | ||
+ | <p><img src="/static/A21Ex.png" style="width: 600px"/></p> | ||
+ | </div> | ||
+ | </solution> | ||
+ | |||
+ | </problem> | ||
+ | |||
+ | |||
+ | </pre> |
Revision as of 13:23, 7 March 2017
<problem> <p>Soit l'en-tête IPv6 suivant :<br /></p> <pre> <tt> 60 00 00 15 00 40 06 2A 20 01 0D B8 00 C0 A0 01 </tt> <tt> 00 00 00 00 00 00 00 01 20 01 0D B8 A3 E7 A0 01 </tt> <tt> 00 00 00 00 00 00 C4 D9 </tt>
Note : Les données ci-dessus sont représentées en hexadécimal, une ligne pour 16 octets, soit 128 bits.
Note : Pour les questions qui suivent, la valeur d'un champ est à donner en hexadécimal, avec le préfixe 0x, ou en décimal.
A21Ex01 : Quelle est la valeur du champ Version ?
<stringresponse type="ci" answer="6">
<additional_answer>0x6</additional_answer> <additional_answer>0x06</additional_answer> <textline label="A21Ex01" size="20"/>
</stringresponse>
A21Ex02 : Quelle est la valeur du champ Classe de trafic ?
<stringresponse type="ci" answer="0">
<additional_answer>0x0</additional_answer> <additional_answer>0x00</additional_answer> <textline label="A21Ex02" size="20"/>
</stringresponse>
A21Ex03 : Quelle est la valeur du champ Identificateur de flux ?
<stringresponse type="ci" answer="21">
<additional_answer>0x15</additional_answer> <additional_answer>0x00015</additional_answer> <textline label="A21Ex03" size="20"/>
</stringresponse>
A21Ex04 : Quelle est la valeur du champ Longueur de donnée ?
<stringresponse answer="64">
<additional_answer>0x40</additional_answer> <additional_answer>0x0040</additional_answer> <textline label="A21Ex04" size="20"/>
</stringresponse>
A21Ex05 : Quelle est la valeur du champ En-tête suivant ?
<stringresponse answer="6">
<additional_answer>0x6</additional_answer> <additional_answer>0x06</additional_answer> <textline label="A21Ex05" size="20"/>
</stringresponse>
A21Ex06 : À quel protocole la valeur du champ En-tête suivant fait-elle référence ?
<stringresponse answer="TCP" type="ci" >
<textline label="A21Ex06" size="20"/>
</stringresponse>
A21Ex07 : Quelle est la valeur du champ Nombre maximal de sauts ?
<stringresponse answer="0x2A">
<additional_answer>42</additional_answer> <textline label="SA21x07" size="20"/>
</stringresponse>
<script type="loncapa/python"> import socket
def test_address(expect, ans):
try: a = socket.inet_pton(socket.AF_INET6, expect) b = socket.inet_pton(socket.AF_INET6, ans) return a == b except socket.error: return False
</script>
A21Ex08 : Quelle est l'adresse correspondant à la valeur du champ Adresse source ?
<customresponse cfn="test_address" expect="2001:db8:c0:a001::1"> <textline size="40" correct_answer="11" label="Integer #1"/>
</customresponse>
A21Ex09 : Quelle est l'adresse correspondant à la valeur du champ Adresse destination ?
<customresponse cfn="test_address" expect="2001:db8:a3e7:a001::c4d9"> <textline size="40" correct_answer="11" label="Integer #2"/>
</customresponse>
<solution>
Identification des champs de l'en-tête IPv6
Cette solution inclue l'en-tête TCP qui n'était pas présent dans l'énoncé.
</solution>
</problem>
</pre>