--- tags: TCOM, Gaillard --- # MADLADS LAN concepts ![toto](http://i.imgur.com/yebjcmn.jpg) ### Notes : | |S8|S9| |--------------------|--|--| |Partiel 1 | 1| 5| |Partiel 2 | 2| 6|a |Étude de Cas | 3| 7| |"?" (participation) | 4| 8| Huit notes dans l'année `Snyposis` : gros balayage des technos réseau et internet `Spoil` : Ethernet + IPv{4,6} Il parle, on "écoute". Prise de note éssentielle ON POURRA SIGNER POUR LES AUTRES AYAYYOUPI ## Rappel de notions basiques cé koi 1 Rézo ? ![infrastructure](https://image-charts.com/chart?chs=700x200&cht=gv&chl=graph%20{"Réseau%20et%20télécom"}) Les applis s'appuient sur une infra et des protocoles pour transferer des flux. Le but est de faire communiquer plusieurs entitées héterogènes via une interface commune. mainframe = super calculateur grand comme la pièce ![infrastructure](https://image-charts.com/chart?chs=700x200&cht=gv&chl=graph%20{"A";"B"}) `dette technique`: sédimentation de ce qu'on a déployé depuis 40 ans. ## model ISO/OSI ![Model OSI](https://image-charts.com/chart?chs=700x200&cht=gv&chl=graph%20{A%20[shape=record,%20label="{A|7|6|5|4|3|2|1}"];B%20[shape=record,%20label="{1|2|3|4|5|6|7|B}"];"A"%20--%20"B"}) model ISO: |A|B|Content|Nom| |--|--|--|--| |7|7|payload + header|Application| |6|6|payload + header|Présentation| |5|5||Session| |4|4||Transport| |3|3||Réseau| |2|2||Liaison| |1|1||Physique| `PDU`, Production Data Unit Encapsulation par `A` et décapsulation par `B`. Chaque couche est encapsulé dans la couche inférieure. | H1 | H2 | H3 | H4 | H5 | H6 | H7 | : "Capsule" à la couche 1, on retrouve toutes les autres chouches encapsulées. On avait plusieurs piles de protocoles en couche: - OSI/ISO - Propriétaire (SNA, DSA, Decnet, XN, ...) - TCP/IP C'est TCP/IP qui a remporté la bataille. ## Protocoles TCP/IP Internet/Web moderne: 1993 au Cern balance Risque VS Coût pour un manager IT ### TCP ![Model TCP](https://image-charts.com/chart?chs=700x200&cht=gv&chl=graph%20{A%20[shape=record,%20label="{{{HTTP,%20SNTP,%20...}|{...}}|{TCP|UDP}|IP|Non%20Spécifié}"]}) Réseau: Ethernet, WIFI, 2G, xDSL, Gpod(fibre optique), ... IP Compatible à tout, agnostique Techno pour les Réseau: WAN, MAN, HAN, PAN, ... PAN(#IoT, IoE(Internet of Everything)): Zigbe, Bluetooth, Zwave WAN + MAN: SPV, xPv ![IP](https://image-charts.com/chart?chs=700x200&cht=gv&chl=graph%20{A%20[shape=record,%20label="{IP|{!Broadcast%20net|Broadcast%20net}}"]}) ### Flux Broadcast vs Non Broadcast techno avec broadcast = communication 1 vers N techno non broadcast = pb d'addressage => pas d'ARP => multicast/unicast/broadcast +anycast => communication avec le plus proche |source|destination|nom| |--|--|--| |1|1|unicast| |1|p (< n)|multicast| |1|p (plus proche)|anycast| |1|n|broadcast| ## Ethernet (layer 2), techno LAN `PARC`, PaloAlto Research Center: Centre de recherche par Xerox avec Robert Retcalfe, père de l'Ethernet ![](https://i.imgur.com/s2aMKeU.jpg) `CSMA/CD`, Carrier Sense Multiple Access / Collision Detection `RTD`, Round Trip-Delay Time : 51.2 $\mu s$ -> 10 Mbs A un instant T sur le réseau il ne peut y avoir qu'une trame Trame ethernet de mini 64 octets pour des questions de collisions ![](https://reaper81.files.wordpress.com/2010/08/ethernet-frame.png) <!--![](https://image.slidesharecdn.com/carriergradeethernetpresentation-121218104820-phpapp02/95/carrier-grade-ethernet-presentation-9-638.jpg?cb=1355827913) --> ![ethernet frame avec la taille des champs](https://image-charts.com/chart?chs=700x200&cht=gv&chl=graph%20{A%20[shape=record,%20label=%22{{preembule%20(8)|Mac%20Dest%20(6)|Mac%20Src%20(6)|Type%20(2)|Payload%20(46)|CRC%20(4)|IFG}}%22]}) ### MAC @ 48 bits | |Src|Dst| Exemple| |---------|---|---|-----------------| |Unicast |Oui|Oui|02:60:8C:5Q:FF:1D| |Muticast | X|Oui|01:00:5E:7E:11:FF| |Broadcast| X|Oui|FF:FF:FF:FF:FF:FF| Les 24 premiers bit: Vendor ID référencé par l'OUI(Organizationally Unique Identifier) `IEEE`, Institute of Electrical and Electronics Engineers ![MAC adress structure, en Bit](https://image-charts.com/chart?chs=700x200&cht=gv&chl=graph%20{A%20[shape=record,%20label=%22{{Individual%20Group(unicast%20ou%20broadcast)|Universel%20Local(public,%20attribu%C3%A9%20par%20l%27IEEE%20)}}%22]}) ### champ Type nature du payload dont les valeurs principales sont: |type|hexa| |--|--| |IPv4|0x800| |IPv6|0x86DD| |ARP|0x806| Historiquement, designe la longueur de la trame. ### taille de la trame Coût de la trame : 1 char à envoyer -> une trame entière coût de l'overhead: ## Exercice ### 1) Qu'elle est la durée de transmission d'une trame Ethernet de (à 10Mbps): #### a. 128o (header + payload) ``` >>> (128 * 8) / 10^7 = 1,024 * 10^-4 s = 0.0001024s ``` $$ \frac{128 * 8}{10^{7}} = 1024 * 10^{-7}s = 0.0001024s $$ #### b. taille maximale ``` >>> (1518 * 8) / 10^7 = 0.0012144 ``` $$ \frac{1518 * 8}{10^{7}} = \frac{12,144}{10^{7}} = 0.0012144s $$ ### 2) Combien de trames Ethernet peuvent être transmise au maximum à 10Mbps en 1s ? ``` >>> (((10^7)/(64 * 8)) * 1) = 19531.25 ``` $$ \frac{10^{7}}{64 * 8} = \frac{10^{7}}{512} = 19,531.25 $$ ### 3) Combien de trames Ethernet de taille max peuvent être transmise au maximum à 10Mbps en 1s ? ``` >>> (((10000000)/(1518 * 8)) * 1) = 823.45 ``` $$ \frac{10^{7}}{1518 * 8} = 823.45 $$ IFG = 9.6 microseconde a 10 mbps # Ethernet PARC, 10 Base 5 Crée par Xerox: DIX Topologie en Bus -> `Daisy Chain` -> `10 Base T` topologie en étoile ## 10 base 5 Gros cable coaxial avec des transiver, des câbles qui descendent Taux d'erreur très forts: - Collision entre 10 et 15% de collision - Bad checksum ## Daisy Chain - 10 base 2 Plus petit cable coaxial `fin net`: petit cable noir Couper le cable est avec des connecteur BNC (baillonette) et un `T bnc` connecté sur la carte ethernet, tous les 2,5m. ![](https://upload.wikimedia.org/wikipedia/commons/8/84/BNC_connector_20050720_002.jpg) ![](https://upload.wikimedia.org/wikipedia/commons/d/d6/Female_BNC_Connector.jpg) `repeteur`: (L1 OSI) amplifier le signal et le restituer dans le même cable Avec du Courrant Faible Avec des prises murales "avec des U" pour faire le lien ## Ethernet Coax -> TP (Twisted Pair, Torsadé) UTP: Unshielded STP : Shielded pour se proteger des interferences electromagnetiques bridge: auto apprentissage @MAC avec une table d'auto apprentissage(autant d'entrée que de port) `STP`, Spanning Tree Protocol: pour les bridges ![](https://i.imgur.com/YkbeJn4.png) Limite en nombre de switch : 16 # IPv4 Couche 3 TCP/IP ![Model TCP](https://image-charts.com/chart?chs=700x200&cht=gv&chl=graph%20{A%20[shape=record,%20label="{{{HTTP,%20SNTP,%20...}|{...}}|{TCP|UDP}|IP|Non%20Spécifié}"]}) Fonctionne en mode `non connecté`, `sans reprise d'erreur` Avec un mode de `paquet` ou de `datagram`: avec un Header et un Payload, no Trailer ![IPv4 entête la taille des champs](https://image-charts.com/chart?chs=700x200&cht=gv&chl=graph%20{A%20[shape=record,%20label=%22{{Version(4)|Internet%20Header%20Lenght(4)|DSCP(6)|ECM(2)|Total%20Lenght(16)}|{Identification(16)|Flags(3)|Fragment%20Offset(13)}|{Time%20To%20Live(TTL)(8)|Protocol(8)|Header%20Checksum(16)}|{Source%20IP%20@(32)}|{Source%20IP%20@(32)}|{Opions%20(if%20IHL%20sup%205)}}%22]}) Longueur max d'un payload Ipv4: 65535 octets $$ LT_{max} = 2^{16}-1\;octets $$ ## Internet Header Length (IHL) The IPv4 header is variable in size due to the optional 14th field (options). The IHL field contains the size of the IPv4 header, it has 4 bits that specify the number of 32-bit words in the header. The minimum value for this field is 5, which indicates a length of $5 × 32\;bits = 160\;bits = 20\;bytes$. As a 4-bit field, the maximum value is 15, this means that the maximum size of the IPv4 header is $15 × 32$bits, or $480\;bits = 60\;bytes$. ## Differentiated Services Code Point (DSCP) Originally defined as the type of service (ToS), this field specifies differentiated services (DiffServ) per RFC 2474 (updated by RFC 3168 and RFC 3260). New technologies are emerging that require real-time data streaming and therefore make use of the DSCP field. An example is Voice over IP (VoIP), which is used for interactive voice services. ## Explicit Congestion Notification (ECN) This field is defined in RFC 3168 and allows end-to-end notification of network congestion without dropping packets. ECN is an optional feature that is only used when both endpoints support it and are willing to use it. It is effective only when supported by the underlying network. ## Flags A three-bit field follows and is used to control or identify fragments. They are (in order, from most significant to least significant): - bit 0: Reserved; must be zero. - bit 1: Don't Fragment (`DF`) - bit 2: More Fragments (`MF`) If the `DF` flag is set, and fragmentation is required to route the packet, then the packet is dropped. This can be used when sending packets to a host that does not have resources to handle fragmentation. It can also be used for path MTU discovery, either automatically by the host IP software, or manually using diagnostic tools such as ping or traceroute. For unfragmented packets, the `MF` flag is cleared. For fragmented packets, all fragments except the last have the `MF` flag set. The last fragment has a non-zero Fragment Offset field, differentiating it from an unfragmented packet. ## Time To Live (TTL) An eight-bit time to live field helps prevent datagrams from persisting (e.g. going in circles) on an internet. This field limits a datagram's lifetime. It is specified in seconds, but time intervals less than 1 second are rounded up to 1. In practice, the field has become a hop count—when the datagram arrives at a router, the router decrements the TTL field by one. When the TTL field hits zero, the router **discards** the packet and typically sends an ICMP Time Exceeded message to the sender. The program traceroute uses these ICMP Time Exceeded messages to print the routers used by packets to go from the source to the destination. TTL(0) = zombie Max $2^8-1 = 255$ router (254 en réalité car le dernier drop le paquet) ## Options |Field |Size |Description | |-------------|--------|-----------------------------------------------------------------------------------------------------------------------| |Copied |1 |Set to 1 if the options need to be copied into all fragments of a fragmented packet. | |Option Class |2 |A general options category. 0 is for "control" options, and 2 is for "debugging and measurement". 1 and 3 are reserved.| |Option Number|5 |Specifies an option. | |Option Lenght|8 |Indicates the size of the entire option (including this field). This field may not exist for simple options. | |Option DAta |Variable|Option-specific data. This field may not exist for simple options. | ## ID Probabilité d'avoir deux paquets Ipv4 avec le même ID: $$\frac{1}{(2^{16})^2}$$ Fragmentation de paquets: - Dont Fragment - 0 : autorisé - 1 : interdit - More Fragment - 0 : plus de fragment - 1 : 1 fragment suivant ## Protocol :::spoiler voir la liste | Hex | Protocol Number | Keyword | Protocol | References/RFC | | | --------- | --------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | --------------------- | | 0x00 | 0 | HOPOPT | [[IPv6 Hop-by-Hop Option]] | RFC 8200 | | | 0x01 | 1 | ICMP | [[Internet Control Message Protocol]] | RFC 792 | | | 0x02 | 2 | IGMP | [[Internet Group Management Protocol]] | RFC 1112 | | | 0x03 | 3 | GGP | [[Gateway-to-Gateway Protocol]] | RFC 823 | | | 0x04 | 4 | IP-in-IP | [[IP in IP]] (encapsulation) | RFC 2003 | | | 0x05 | 5 | ST | [[Internet Stream Protocol]] | RFC 1190, RFC 1819 | | | 0x06 | 6 | TCP | [[Transmission Control Protocol]] | RFC 793 | | | 0x07 | 7 | CBT | [[Core-based trees]] | RFC 2189 | | | 0x08 | 8 | EGP | [[Exterior Gateway Protocol]] | RFC 888 | | | 0x09 | 9 | IGP | [[Interior Gateway Protocol]] (any private interior gateway (used by Cisco for their IGRP)) | | | | 0x0A | 10 | BBN-RCC-MON | BBN RCC Monitoring | | | | 0x0B | 11 | NVP-II | [[Network Voice Protocol]] | RFC 741 | | | 0x0C | 12 | PUP | [[PARC Universal Packet | Xerox PUP]] | | | 0x0D | 13 | ARGUS | ARGUS | | | | 0x0E | 14 | EMCON | EMCON | | | | 0x0F | 15 | XNET | Cross Net Debugger | IEN 158<ref>{{cite IETF | ien=158}}</ref> | | 0x10 | 16 | CHAOS | [[Chaosnet | Chaos]] | | | 0x11 | 17 | UDP | [[User Datagram Protocol]] | RFC 768 | | | 0x12 | 18 | MUX | [[Multiplexing]] | IEN 90<ref>{{cite IETF | ien=90}}</ref> | | 0x13 | 19 | DCN-MEAS | DCN Measurement Subsystems | | | | 0x14 | 20 | HMP | [[Host Monitoring Protocol]] | RFC 869 | | | 0x15 | 21 | PRM | Packet Radio Measurement | | | | 0x16 | 22 | XNS-IDP | XEROX NS IDP | | | | 0x17 | 23 | TRUNK-1 | Trunk-1 | | | | 0x18 | 24 | TRUNK-2 | Trunk-2 | | | | 0x19 | 25 | LEAF-1 | Leaf-1 | | | | 0x1A | 26 | LEAF-2 | Leaf-2 | | | | 0x1B | 27 | RDP | [[Reliable Data Protocol]] | RFC 908 | | | 0x1C | 28 | IRTP | [[Internet Reliable Transaction Protocol]] | RFC 938 | | | 0x1D | 29 | ISO-TP4 | ISO Transport Protocol Class 4 | RFC 905 | | | 0x1E | 30 | NETBLT | [[Bulk Data Transfer Protocol]] | RFC 998 | | | 0x1F | 31 | MFE-NSP | [[MFE Network Services Protocol]] | | | | 0x20 | 32 | MERIT-INP | [[MERIT Internodal Protocol]] | | | | 0x21 | 33 | DCCP | [[Datagram Congestion Control Protocol]] | RFC 4340 | | | 0x22 | 34 | 3PC | [[Third Party Connect Protocol]] | | | | 0x23 | 35 | IDPR | [[Inter-Domain Policy Routing Protocol]] | RFC 1479 | | | 0x24 | 36 | XTP | [[Xpress Transport Protocol]] | | | | 0x25 | 37 | DDP | [[Datagram Delivery Protocol]] | | | | 0x26 | 38 | IDPR-CMTP | [[IDPR Control Message Transport Protocol]] | | | | 0x27 | 39 | TP++ | [[TP++ Transport Protocol]] | | | | 0x28 | 40 | IL | [[IL (network protocol) | IL Transport Protocol]] | | | 0x29 | 41 | IPv6 | IPv6 Encapsulation | RFC 2473 | | | 0x2A | 42 | SDRP | [[Source Demand Routing Protocol]] | RFC 1940 | | | 0x2B | 43 | IPv6-Route | Routing Header for [[IPv6]] | RFC 8200 | | | 0x2C | 44 | IPv6-Frag | Fragment Header for [[IPv6]] | RFC 8200 | | | 0x2D | 45 | IDRP | [[Inter-Domain Routing Protocol]] | | | | 0x2E | 46 | RSVP | [[Resource Reservation Protocol]] | RFC 2205 | | | 0x2F | 47 | GREs | [[Generic Routing Encapsulation]] | RFC 2784, RFC 2890 | | | 0x30 | 48 | DSR | [[Dynamic Source Routing]] Protocol | RFC 4728 | | | 0x31 | 49 | BNA | Burroughs Network Architecture | | | | 0x32 | 50 | ESP | [[Encapsulating Security Payload]] | RFC 4303 | | | 0x33 | 51 | AH | [[Authentication Header]] | RFC 4302 | | | 0x34 | 52 | I-NLSP | [[Integrated Net Layer Security Protocol]] | TUBA | | | 0x35 | 53 | SwIPe | [[SwIPe (protocol) | SwIPe]] | RFC 5237 | | 0x36 | 54 | NARP | [[NBMA Address Resolution Protocol]] | RFC 1735 | | | 0x37 | 55 | MOBILE | [[Mobile IP | IP Mobility]] (Min Encap) | RFC 2004 | | 0x38 | 56 | TLSP | [[Transport Layer Security Protocol]] (using Kryptonet key management) | | | | 0x39 | 57 | SKIP | [[Simple Key-Management for Internet Protocol]] | RFC 2356 | | | 0x3A | 58 | IPv6-ICMP | [[ICMPv6 | ICMP for IPv6]] | RFC 4443, RFC 4884 | | 0x3B | 59 | IPv6-NoNxt | No Next Header for [[IPv6]] | RFC 8200 | | | 0x3C | 60 | IPv6-Opts | Destination Options for [[IPv6]] | RFC 8200 | | | 0x3D | 61 | | Any host internal protocol | | | | 0x3E | 62 | CFTP | CFTP | | | | 0x3F | 63 | | Any local network | | | | 0x40 | 64 | SAT-EXPAK | SATNET and Backroom EXPAK | | | | 0x41 | 65 | KRYPTOLAN | Kryptolan | | | | 0x42 | 66 | RVD | MIT [[Remote Virtual Disk Protocol]] | | | | 0x43 | 67 | IPPC | [[Internet Pluribus Packet Core]] | | | | 0x44 | 68 | | Any distributed file system | | | | 0x45 | 69 | SAT-MON | SATNET Monitoring | | | | 0x46 | 70 | VISA | VISA Protocol | | | | 0x47 | 71 | IPCU | Internet Packet Core Utility | | | | 0x48 | 72 | CPNX | Computer Protocol Network Executive | | | | 0x49 | 73 | CPHB | [[Computer Protocol Heart Beat]] | | | | 0x4A | 74 | WSN | [[Wang Span Network]] | | | | 0x4B | 75 | PVP | [[Packet Video Protocol]] | | | | 0x4C | 76 | BR-SAT-MON | Backroom SATNET Monitoring | | | | 0x4D | 77 | SUN-ND | SUN ND PROTOCOL-Temporary | | | | 0x4E | 78 | WB-MON | WIDEBAND Monitoring | | | | 0x4F | 79 | WB-EXPAK | WIDEBAND EXPAK | | | | 0x50 | 80 | ISO-IP | International Organization for Standardization Internet Protocol | | | | 0x51 | 81 | VMTP | [[V (operating system) | Versatile Message Transaction Protocol]] | RFC 1045 | | 0x52 | 82 | SECURE-VMTP | Secure Versatile Message Transaction Protocol | RFC 1045 | | | 0x53 | 83 | VINES | VINES | | | | 0x54 | 84 | TTP | [[Time-Triggered Protocol | TTP]] | | | 0x54 | 84 | IPTM | [[Internet Protocol Traffic Manager]] | | | | 0x55 | 85 | NSFNET-IGP | NSFNET-IGP | | | | 0x56 | 86 | DGP | [[Dissimilar Gateway Protocol]] | | | | 0x57 | 87 | TCF | TCF | | | | 0x58 | 88 | EIGRP | [[EIGRP]] | Informational RFC 7868 | | | 0x59 | 89 | OSPF | [[Open Shortest Path First]] | RFC 2328 | | | 0x5A | 90 | Sprite-RPC | Sprite RPC Protocol | | | | 0x5B | 91 | LARP | [[Locus Address Resolution Protocol]] | | | | 0x5C | 92 | MTP | [[Multicast Transport Protocol]] | | | | 0x5D | 93 | AX.25 | [[AX.25]] | | | | 0x5E | 94 | OS | KA9Q NOS compatible IP over IP tunneling | | | | 0x5F | 95 | MICP | [[Mobile Internetworking Control Protocol]] | | | | 0x60 | 96 | SCC-SP | Semaphore Communications Sec. Pro | | | | 0x61 | 97 | ETHERIP | Ethernet-within-IP Encapsulation | RFC 3378 | | | 0x62 | 98 | ENCAP | Encapsulation Header | RFC 1241 | | | 0x63 | 99 | | Any private encryption scheme | | | | 0x64 | 100 | GMTP | GMTP | | | | 0x65 | 101 | IFMP | [[Ipsilon Flow Management Protocol]] | | | | 0x66 | 102 | PNNI | PNNI over IP | | | | 0x67 | 103 | PIM | [[Protocol Independent Multicast]] | | | | 0x68 | 104 | ARIS | IBM's ARIS (Aggregate Route IP Switching) Protocol | | | | 0x69 | 105 | SCPS | [[Space Communications Protocol Specifications | SCPS (Space Communications Protocol Standards)]] | SCPS-TP | | 0x6A | 106 | [[QNX]] | QNX | | | | 0x6B | 107 | A/N | Active Networks | | | | 0x6C | 108 | IPComp | [[IP Payload Compression Protocol]] | RFC 3173 | | | 0x6D | 109 | SNP | [[Sitara Networks Protocol]] | | | | 0x6E | 110 | Compaq-Peer | [[Compaq Peer Protocol]] | | | | 0x6F | 111 | IPX-in-IP | [[IPX in IP]] | | | | 0x70 | 112 | VRRP | [[Virtual Router Redundancy Protocol]], [[Common Address Redundancy Protocol]] (not [[Internet Assigned Numbers Authority | IANA]] assigned) | VRRP:RFC 3768 | | 0x71 | 113 | PGM | [[Pragmatic General Multicast | PGM Reliable Transport Protocol]] | RFC 3208 | | 0x72 | 114 | | Any 0-hop protocol | | | | 0x73 | 115 | L2TP | [[L2TPv3 | Layer Two Tunneling Protocol Version 3]] | RFC 3931 | | 0x74 | 116 | DDX | D-II Data Exchange (DDX) | | | | 0x75 | 117 | IATP | [[Interactive Agent Transfer Protocol]] | | | | 0x76 | 118 | STP | [[Schedule Transfer Protocol]] | | | | 0x77 | 119 | SRP | [[SpectraLink Radio Protocol]] | | | | 0x78 | 120 | UTI | Universal Transport Interface Protocol | | | | 0x79 | 121 | SMP | [[Simple Message Protocol]] | | | | 0x7A | 122 | SM | Simple Multicast Protocol | [http://tools.ietf.org/html/draft-perlman-simple-multicast-03 draft-perlman-simple-multicast-03] | | | 0x7B | 123 | PTP | [[Performance Transparency Protocol]] | | | | 0x7C | 124 | IS-IS over IPv4 | [[IS-IS | Intermediate System to Intermediate System (IS-IS) Protocol]] over [[IPv4]] | RFC 1142 and RFC 1195 | | 0x7D | 125 | FIRE | Flexible Intra-AS Routing Environment | | | | 0x7E | 126 | CRTP | [[Combat Radio Transport Protocol]] | | | | 0x7F | 127 | CRUDP | [[Combat Radio User Datagram]] | | | | 0x80 | 128 | SSCOPMCE | Service-Specific Connection-Oriented Protocol in a Multilink and Connectionless Environment | [http://www.itu.int/rec/T-REC-Q.2111-199912-I ITU-T Q.2111 (1999)] | | | 0x81 | 129 | IPLT | | | | | 0x82 | 130 | SPS | [[Secure Packet Shield]] | | | | 0x83 | 131 | PIPE | Private IP Encapsulation within IP | [http://www.watersprings.org/pub/id/draft-petri-mobileip-pipe-00.txt Expired I-D draft-petri-mobileip-pipe-00.txt] | | | 0x84 | 132 | SCTP | [[Stream Control Transmission Protocol]] | [https://tools.ietf.org/html/rfc4960 RFC 4960] | | | 0x85 | 133 | FC | [[Fibre Channel]] | | | | 0x86 | 134 | RSVP-E2E-IGNORE | Reservation Protocol (RSVP) End-to-End Ignore | RFC 3175 | | | 0x87 | 135 | Mobility Header | Mobility Extension Header for IPv6 | RFC 6275 | | | 0x88 | 136 | UDPLite | [[UDP Lite | Lightweight User Datagram Protocol]] | RFC 3828 | | 0x8A | 138 | manet | [[Mobile ad hoc network | MANET]] Protocols | RFC 5498 | | 0x8B | 139 | HIP | [[Host Identity Protocol]] | RFC 5201 | | | 0x8C | 140 | Shim6 | [[Site Multihoming by IPv6 Intermediation]] | RFC 5533 | | | 0x8D | 141 | WESP | [[Wrapped Encapsulating Security Payload]] | RFC 5840 | | | 0x8E | 142 | ROHC | [[Robust Header Compression]] | RFC 5856 | | | 0x8F-0xFC | 143-252 | Unassigned | | | | | 0xFD-0xFE | 253-254 | Use for experimentation and testing | RFC 3692 | | | | 0xFF | 255 | Reserved | | | | | 0x89 | 137 | MPLS-in-IP | [[Multiprotocol Label Switching]] Encapsulated in IP | RFC 4023, RFC 5332 | | ::: # IPv4 ## Processus de Fragmentation Service de la courche IP(L3) $$ N + P > MTU \Rightarrow fragmentation $$ $$ N + P \leq MTU $$ $$ H_i + P_i \leq MTU $$ $$ P_i \leq MTU - H_i $$ $P_i$ doit être divisible par 8 (à cause de l'offset). ### Exemple $P_{AB}$: Paquet IP envoyé par A à destination de B sans options et a une taille totale de 1494 octets ```sequence Title: P(AB) A->R1: N1: MTU1 1500 A-->R1: 1495 <= 1500 R1->B: N2: MTU2 410 R1-->B: 1495 <= 1500 ``` $$ 410-30=390 $$ $$ 390\%8 \neq 0 $$ |P |IHL |LT |len(Payload)|DF|MF|Offset|ID |TTL| |---------|--------------|----|------------|--|--|------|-----|---| |$P_{AB}$ |$\frac{5}{20}$|1494| 1474| 0| 0| 0|42523| 32| |---------|--------------|----|------------|--|--|------|-----|---| |$P_{AB1}$|$\frac{5}{20}$| 404| 384| 0| 1| 0|42523| 31| |$P_{AB2}$|$\frac{5}{20}$| 404| 384| 0| 1| 48|42523| 31| |$P_{AB3}$|$\frac{5}{20}$| 404| 384| 0| 1| 96|42523| 31| |$P_{AB4}$|$\frac{5}{20}$| 322| 342| 0| 0| 144|42523| 31| $$ 48 * 8 = 384 $$ `LT`, Longueur Totale `IHL`, Internet Header length ### Exemple $P_{AB}$: Paquet IP envoyé par A à destination de B sans options et a une taille totale de 1494 octets ```sequence Title: P(AB) A->R1: N1: MTU1 1500 A-->R1: 1495 <= 1500 R1->R2: N2: MTU2 410 R1-->R2: 1495 >= 410 R2->B: N2: MTU3 190 R2-->B: 410 >= 410 ``` $P_{AB1X}$: paquet de A vers R1 $P_{AB2X}$: paquet de R1 vers R2 $P_{AB3X}$: paquet de R2 vers B |P |IHL |LT |len(Payload)|DF|MF|Offset|ID |TTL| |----------|--------------|----|------------|--|--|------|-----|---| |$P_{AB}$ |$\frac{5}{20}$|1494| 1474| 0| 0| 0|42523| 32| |----------|--------------|----|------------|--|--|------|-----|---| |$P_{AB11}$|$\frac{5}{20}$| 404| 384| 0| 1| 0|42523| 31| |$P_{AB12}$|$\frac{5}{20}$| 404| 384| 0| 1| 48|42523| 31| |$P_{AB13}$|$\frac{5}{20}$| 404| 384| 0| 1| 96|42523| 31| |$P_{AB14}$|$\frac{5}{20}$| 322| 342| 0| 0| 144|42523| 31| |----------|--------------|----|------------|--|--|------|-----|---| |----------|--------------|----|------------|--|--|------|-----|---| |$P_{AB31}$|$\frac{5}{20}$| 188| 168| 0| 1| 96|42523| 30| |$P_{AB32}$|$\frac{5}{20}$| 188| 168| 0| 1| 117|42523| 30| |$P_{AB33}$|$\frac{5}{20}$| 68| 48| 0| 1| 138|42523| 30| ## Adressage IPv4 32 bits - unicast: - $C_A$ - $C_B$ - $C_C$ - multicast -> $C_D$ - réservé -> $C_E$ - broadcast -> `255.255.255.255` |Classe|Start|len(net)|len(host)|slash|nb(net) |nb(host) | |------|-----|--------|---------|-----|--------|--------------| | $C_A$| 0| 7| 24| $/8$| $2^7$|$(2^{25} - 2)$| | $C_B$| 10| 14| 16|$/16$|$2^{14}$| | | $C_C$| 110| 21| 8|$/24$|$2^{21}$| | | $C_D$| 1110| 28| 0|$/32$|$2^{28}$| | | $C_E$| 1111| | | | | | ### Adress Unicast $p\;bits$ de réseau (net) + $32-p$ de machine(host) - 0.0.0.0/8 -> réservé - 127.0.0.0/8 -> loopback - 172.16.0.0/12 - 192.168.0.0/16 ``` 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0| Réseau | Sous-réseau | Hôte | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ``` ### Multicast: ``` 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1|1|1|0| Group ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ``` ## Exercice ### 150.1.200.10 - Classe ? B - SubNet Mask ? (notation CIDR + mask) 150.1.0.0/16, 150.1.255.255 - Réseau ? 150.1.0.0 - Adresse de diffusion ? 150.1.255.255 ### 11.11.250.197 - Classe ? A - SubNet Mask ? (notation CIDR + mask) 11.0.0.0/8, 11.255.255.255 - Réseau ? 11 - Adresse de diffusion ? 11.255.255.255 ### 240.12.127.0 - Classe ? E ### 220.255.255.197 - Classe ? C - SubNet Mask ? (notation CIDR + mask) 220.255.255.0/24, 220.255.255.255 - Réseau ? - Adresse de diffusion ? 220.255.255.255 {%pdf https://tom.moulard.org/tmp/EPITA%202020%20-%20CMAN.pdf %} Maillage : $\frac{7 * (7-1)}{2} = 21$ Une infrastructure réseau est là pour faire circuler des flux Contenu d'un Flux IP (TCP Control Block): - @ src - @ dst - port src - port dst - proto L4 # Exercices ## Exercice 1 Un datagramme IP fragmentable avec option (une seule options de 32 bits) et de longueur totale 410 octets doit transiter sur un réseau L2 ayant une MTU de 130 octets. ### Quelle est la taille du payload de ce datagramme avant sa fragmentation ? $$ 20 + 4 $$ header + 30o (4o de header) $$ 410-24 = 386 $$ ### Quelle est la valeur du flag MF du premier fragment ? $$ 1 $$ ### Quelle sera la longueur du payload en octet du troisième fragment de ce datagramme ? $$130 – 24 = 106 \Rightarrow pas\;un\;multiple\;de\;8 \Rightarrow 104\;de\;payload.$$ $$\frac{386}{104} = 3.71$$ $$Découpage:3 * 104 + 1 * 74 = 386$$ $$\Rightarrow104$$ ### Quelle sera la valeur du flag DF du dernier fragment ? $$0$$ ### Quelle est la taille totale du dernier fragment ? $$74+24=98$$ ## Exercice 2 Votre société de distribution de produit BIO souhaite implanter un point de vente dans chacun des 101 départements français. L'adresse IP de l'entreprise est 142.241.0.0/16. ### Combien de bits de sous réseau choisissez vous ? $$7 \Rightarrow 128\;sous\;réseau\;possible$$ ### Que deviens le masque de sous réseau de notation décimale ? $$255.255.254.0$$ ### Que deviens le masque de sous réseau de notation CIDR ? $$\\23$$ ### Combien de points de vente pouvez-vous adresser en théorie (les sous réseau '0' et '1' sont exclus) ? $$128 - 2 = 126$$ ### Combien de machines par point de vente seront adressables ? $$9\;bits\;dispo\;pour\;les\;host:2^9 - 2 = 510$$ ### Quelle est l'adresse de diffusion sur votre réseau ? $$142.241.255.255$$ ### Quelle est l'adresse de diffusion sur le dernier sous réseau ? $$142.241.253.255$$ ## Exercice 3 ### 191.150.1.0/24 ```graphviz graph{ "Internet" [shape=tripleoctagon] "Internet" -- R1 R1 -- R2 [label="N1"] R1 -- R3 [label="N4"] R1 -- R4 [label="N5"] R2 -- R4 [label="N2"] R3 -- R4 [label="N3"] { rank=same; "Internet" R1 R2 } { rank=same; R3 R4 } } ``` Réseau de classe `C`: - Sous réseau avec 2 bits de host pour $2^2-2 = 2$ hosts/subnet - 6 bits de sous réseau $2^6 - 2 = 64 - 2 = 62$ subnet. Liaison point a point entre les routeurs, privilégier les /30 pour optimiser le nombre d'ip par subnet. |Sous réseau|@| |--|--| |N1|191.150.1.4/30| |N2|191.150.1.8/30| |N3|191.150.1.10/30| |N4|191.150.1.14/30| |N5|191.150.1.16/30| # Zoglu Volonté d'ouvrir un nouveau bureau commercia aux USA: - Otawa - New York (cher) - baltimore Prospection - République Kirghize: mais pas de trajet aérien pour l'instant, mais Mme Labosse va y aller pour étudier les concessions avec l'état - Mongolie - Kazakstan: très intéressante car il a une ouverture sur la mer Caspienne et la mer noire Correction : # EPITA_ING2_2019_S8 PARTIE A - WAN ![](https://i.imgur.com/aNy2sV4.png) |Question|Réponse| |-------:|------:| | 1| C| | 2| B| | 3| D| | 4| B| | 5| D| | 6| C| | 7| C| | 8| A| | 9| A| | 10| D| | 11| A| | 12| A| | 13| A| | 14| A| | 15| B| | 16| B| | 17| C| | 18| B| | 19| A| | 20| B| | 21| $10^{9}$| | 22| | | 23| ARP = Protocol L2ARP = Protocol L2| | 24| | | 25| | | 26| B| | 27| D| | 28| B| | 29| B| | 30| B| | 31| C| | 32| B| | 33| | | 34| B| | 35| C| | 36| | | 37| | | 38| A| | 39| C| | 40| A| | 41| C| | 42| | | 43| | | 44| D| | 45| D| | 46| ::1| | 47| | | 48| | | 49| | | 50| | 25a : NAT, ouvrir les ports, règle firewall 25b : Poste de travail 192.168.1.10 ou .11 / via internet 89.1.1.1:port 26c : DynDNS [Cheat](https://hpd.gasmi.net/) pour décoder des trames ethernet. # Routage IP niveau MAN - WAN ```graphviz graph { LAN1 -- R1 -- R2 --R3 -- LAN2 R1 -- R4 -- R5 -- R3 { rank=same; LAN1 R1 R3 LAN2 } { rank=same; R4 R5 } } ``` Autonomous Sytem = { R1 ... Rn } Chaque AS a un numéro. Au niveau de cette AS, il y a un choix pour determiner le protocole de routage qui sera utilisé. `IGP`, [Interior Gateway Protocol](https://en.wikipedia.org/wiki/Interior_Gateway_Protocol): pour permettre aux routeurs d'échanger leurs tables de routage: RIP, OSPF, ... `EGP`, Exterior Gateway Protocol: permettre aux routeur de bordure de faire des annonces de routes via **peering**: Annoncer aux autres routeurs quels sont les réseaux accessibles a travers ce routeur ```graphviz digraph { R1 -> R2 -> RN -> R1 [label="IGP"] R1 -> RN -> R2 -> R1 [label="IGP"] RN -> RP -> RN [label="EGP"] RY -> RZ -> RP -> RY [label="IGP"] RY -> RP -> RZ -> RY [label="IGP"] } ``` ![](https://i.imgur.com/rawbbKi.png) # IGP / métrique ```graphviz graph { N1 [shape=tripleoctagon] N2 [shape=tripleoctagon] N3 [shape=tripleoctagon] N4 [shape=tripleoctagon] N5 [shape=tripleoctagon] N6 [shape=tripleoctagon] R1 -- R2 -- R4 -- R5 -- R6 -- R2 R1 -- R3 -- R4 R1 -- N1 R2 -- N2 R3 -- N3 R4 -- N4 R5 -- N5 R6 -- N6 { rank=same; R1 N1 } { rank=same; N2 R2 R3 N3 } { rank=same; N4 R4 R6 N6 } { rank=same; R5 N5 } } ``` ![](https://i.imgur.com/RXUamqy.png) `RIP`, Routing Information Protocol Choix de `Distance Vector` et construire une table de l'un des routeurs -> 13 Réseau IP: 6 Routeur et 7 lien inter-routeur On ne s'interresse qu'aux 6 réseau liés aux routeur Table de routage de R6: |Réseau joignable| Next Hop|metric| |----------------|---------------------------------------|------| | N1| R2| $2$| | N2|R2(@ip de l'interface joignable par R6)| $1$| | N3| R2/R5| $3$| | N4| R2/R5| $2$| | N5| R5| $1$| | N6| attachement direct| $0$| Pour enlever le bagotage: - mettre une route statique - ne pas faire de Distance Vector: faire du Shortest Path First (OSPF) SPF, Shortest Path First: coût de chemin par `SPF`, Shortest Path First: coût de chemin par lien: $coût = f(\frac{1}{débit})$ ```graphviz graph { N1 [shape=tripleoctagon] N2 [shape=tripleoctagon] N3 [shape=tripleoctagon] N4 [shape=tripleoctagon] N5 [shape=tripleoctagon] N6 [shape=tripleoctagon] R1 -- N1 R2 -- N2 R3 -- N3 R4 -- N4 R5 -- N5 R6 -- N6 R1 -- R2 [label="100/10"] R1 -- R3 [label="10/100"] R2 -- R4 [label="10/100"] R3 -- R4 [label="100/10"] R4 -- R5 [label="100/10"] R5 -- R6 [label="1000/1"] R6 -- R2 [label="10/100"] { rank=same; R1 N1 } { rank=same; N2 R2 R3 N3 } { rank=same; N4 R4 R6 N6 } { rank=same; R5 N5 } } ``` |Debit|cout| |-----|----| | 1000| 1| | 100| 10| | 10| 100| |Réseau joignable| Next Hop|metric| |----------------|------------------|------| | N1| R5| $121$| | N2| R2| $100$| | N3| R5| $111$| | N4| R5| $101$| | N5| R5| $1$| | N6|attachement direct| $0$| |Moyen|metric type| |-----|-----------| | DV| Hop Count| | SPF| Path Cost| ### Analyse de la trame ``` 1C 3E 84 AC 5E 10 A4 3E 51 06 53 E9 08 00 45 00 00 28 0C CA 40 00 37 06 3B 77 5D B8 DC 1D C0 A8 01 11 00 50 D0 43 6C 02 40 53 94 26 A9 68 50 11 01 20 F8 AB 00 00 ``` Entete Ethernet: - Adresse MAC de destination (6 bytes): `1C 3E 84 AC 5E 10` (constructeur 1C 3E 84) - .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) - .... ...0 .... .... .... .... = IG bit: Individual address (unicast) - Adresse MAC de source (6 bytes): `A4 3E 51 06 53 E9` (constructeur A4 3E 51, adresse unicast) - .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) - .... ...0 .... .... .... .... = IG bit: Individual address (unicast) - Type Field (sur 2 octets correspond à IPv4): `08 00` Entête IP: - Version (sur 4 bits): `4` - IHL (sur 4 bits): `5` (plus petite taille possible donc pas d'options) - Type of service (sur 1 byte): `00` (représente le best-effort par défault pour la QoS quand il est implémenté) - Total Length (sur 2 bytes): `00 28` (40 mots: 20 d'entête et 20 bytes de payload) - ID (sur 2 bytes): `0x0CCA` - Les 3 flags (sur 3 bits): (4 en hexa) 0 (reserved bit) DF:1 MF:0 - 0... .... .... .... = Reserved bit: Not set - .1.. .... .... .... = Don't fragment: Set - ..0. .... .... .... = More fragments: Not set On ne peut pas fragmenter un paquet IP dont la taille du payload est inférieur à celle de l'entête. - Fragment offset (sur 13bits): Le dernier bit à du 4 qui est à 0 d'au dessus + 0 00 - Time to live: `0x37` -> 55 hypothèse: a surement traversé beaucoup de routeur, effectué un certains nombre de saut. - Protocol: `6` -> TCP - Header checksum: `0x3b77` - Source: `5D B8 DC 1D` -> [93.184.220.29](https://whatismyipaddress.com/ip/93.184.220.29): @ ip publique - Destination: `C0 A8 01 11` -> 192.168.1.17: @ip publique uncast de classe C TCP: - Source Port: `0x0050` -> 80 (pour http) - Destination Port: `0xD043` -> 53315 - Stream index: 0 - TCP Segment Len: `0x50` -> 0 - Sequence number: `0x6C024053` - Next sequence number: 1 - Acknowledgment number: `0x9426A968` - 0101 .... = Header Length: 20 bytes `0x50` -> 5 - Flags: (FIN, ACK) `0x11` - 000. .... .... = Reserved: Not set - ...0 .... .... = Nonce: Not set - .... 0... .... = Congestion Window Reduced (CWR): Not set - .... .0.. .... = ECN-Echo: Not set - .... ..0. .... = Urgent: Not set (pas de données urgente à aller chercher dans le flow d'octet reçu) - .... ...1 .... = Acknowledgment: Set (segment à une valeur d’acquittement) - .... .... 0... = Push: Not set (toutes les données doivent être encore buffurisées -> fluch réseau) - .... .... .0.. = Reset: Not set (pas de re initialisation de la connexion) - .... .... ..0. = Syn: Not set (pas d'ouverture de connexion -> hand shake) - .... .... ...1 = Fin: Set (fin de connexion) - Window size value: `0x0120` -> 288 (mécanisme de contrôle de flux, l'émetteur peux envoyer autant de données qu'il y a d'octects dans la window, taille max: $16^3 + 16^2 + 16^1 + 16 = 4\;384o$ ) - Window size scaling factor: -1 (unknown) - Checksum: `0xf8AB` - Urgent pointer: `0x0000` (si == 0 il ne faut pas en prendre compte, offest des données urgents dans le flot de données reçues) # Excercice ## Donner l'adresse de diffusion sur l'avant dernier sous réseau du réseau 192.165.93/24 subnetté sur 5 bits sachant que les sous-réseaux à '0' et '1' sont exclut ? Partie host: 3 dernier bits Partie SR: 5 premiers bits 192.165.93.11110 dernier 192.165.93.11101 avant-dernier **192.165.93.239** # 03/04/20 # TCP / UDP Proto L4 Utilise des port pour faire communiquer des applications. Les ports sont codé sur 16bits $\Rightarrow 0 \rightarrow 65534$ Port range: - $]0, 1024]$ Well-known ports - $]1024, 2048]$ Registered ports - $]2048, 65535]$ libre # NAT/PAT `NAT`, Network Adress Translation: convertir l'adresse src du paquet ip pour utiliser une adresse publique `PAT`, Port Adress Translation ```mermaid graph LR Routeur --> inet subgraph Privé local((LAN)) A & B --> local local --> Routeur end subgraph Public inet((Internet)) inet --> w3 end ``` Ici, le NAT se fait avec une PAT sur le routeur vers le LAN privé et une PAT sur le routeur vers l'internet. Il y a un port different par client, Client, P n -> Serveur, P 80 Serveur, P 80 -> Client, P n NAT full cone => N $\rightarrow$ 1 # CIDR `CIDR`, Classless Inter-Dommain Routing Réduire le nombre de lignes dans les tables de routages des routeurs ## TD ### 1 - Aggreger la plage d'adresse suivante au plus haut degré |Base10 |Base2 | |-------------|---------------------| |164.32.0.0/16|10100100.00100000.0.0| |164.33.0.0/16|10100100.00100001.0.0| |... |... | |164.63.0.0/16|10100100.00111111.0.0| $\Rightarrow$ 164.32.0.0/11 ### 2 - Aggreger la plage d'adresse suivante au plus haut degré |Base10 |Base2 | |-------------|---------------------| |164.31.0.0/16|10100100.00011111.0.0| |164.32.0.0/16|10100100.00100000.0.0| |... |... | |164.64.0.0/16|10100100.01000000.0.0| $\Rightarrow$ 164.31/16 + 164.32/11 + 164.64/16 ### 3 - Aggreger toutes les classes A (0-127), B (128.0/16 - 191.255/16) et C(192.0.0/24 - 223.255.255/24). #### Class A 0.0.0.0/8 $\rightarrow$ 127.0.0.0/8 $\Rightarrow$ 0.0.0.0/1 (petit nom 0/1) #### Class B 128.0.0.0/8 $\rightarrow$ 128.0.0.0/2 $\Rightarrow$ 128.0.0.0/2 (petit nom 128/2) #### Class C 0.0.0.0/8 $\rightarrow$ 192.0.0.0/2 $\Rightarrow$ 193.0.0.0/3 (petit nom 193/3) #### Class D 224/4 ### 4 - Aggreger la plage d'adresse suivante au plus haut degré |Base10 |Base2 | |----------------|---------------------| |192.157.62.0/24 |10100100.00011111.0.0| |... |... | |192.157.199.0/24|10100100.00011111.0.0| $$\Rightarrow 192.157.[62|199].0\rightarrow 192.157.[62|64|128|192].0/[23|18|18|21] $$ ### 5 - Quelles sont les adresses IP X/24 dans le block 199.115.16.0/20 ? |Base10 |base2 | |---------------|-----------------------------------| |199.115.16.0/20|11000111.01110011.00010000.00000000| |199.115.31.255 |11000111.01110011.00011111.11111111| $\Rightarrow 199.115.[16|31].0 \rightarrow 199.115.[16|31].255$ # Cours 10/04/2020 # IPv6 Pourquoi? Parceque l'épuisement des IPv4 publics qui a ete aniticipé dès 1993. L'organisation IETF/IRTF a travaillé dessus. Le premier RFC sur IPv6 est apparu il y a 25ans (1995). ## Quand ? Full v4 jusqu'en 1995, par la suite IPv4 et IPv6 se sont mélangés avec des "islands IPv6". Puis en 2020 on va se diriger vers des "islands v4" avec du v6 mélangé avec du full IPv6. Un jour on assistera peut-être à un monde completement en IPv6 (dans longtemps). Le marché actuel est "dualStack" cela signifie qu'il supporte IPv4 et IPv6. Si un jour le marché doit devenir full IPv6 cela dependra de l'offre du marché (des constructeurs en partie). ## Comment ? * $dual\;stack\;v4/v6$ * $v4\iff v4$ * $$ ## Où?/Qui? Chinatelecom possède le plus grand reseau IPv6. |IPv4 |IPv6 | |-----------------|---------------------| |Mobilité (MIPv4) |MIPv6 | |@IPv4 (32bits) |@IPv6 (128bits) | |ICMP |ICMPv6 | |$Securite\rightarrow NULL$ IPsec optionnel|+ Securise IPSec obligatoire| |Entête variable |Entête fixe | |... |++ | Nombre de IPv6: ```bash $ python >>> 2**128 340282366920938463463374607431768211456 >>> 2**32 4294967296 ``` beau cul ;) <3 `FE80:0000:0000:0010:010A:0D1C:0000:F000` $\rightarrow$ `FE80:0:0:10:10A:D1C:0:F000` $\rightarrow$ `FE80::10:10A:D1C:0:F000` ## Entête IPv6 à partir de IPv4 |IPv4 Header |IPv6 Header | |Nom |taille |valeur|Nom |taille|valeur| |--------|------------|------|-------------------------|------|------| |version |4 |4 |MIPv6 |4 |6 | |IHL |4 x mots(32)| |x |x |x | |DS |8 |205 |CoS(Clan of Service) |8 | | |LT |16 | |Lg Payload |16 | | |Ide |16 | |MTU path discovery | | | |Flags | | |**Entete Complementaire**| | | |Protocol|8 | |Next Header | | | |TTL |18 | |Hop Count | | | |Checksum|16 | |x | | | ![](https://upload.wikimedia.org/wikipedia/commons/6/6b/IPv6_header_rv1.png) ![](https://343networks.files.wordpress.com/2010/06/ipv4-ipv6-header.gif) # 17/04/20 # DHCP (Dynamic Host Configuration Protocol) ### RARP (ReverseARP) - jusqu'en 1985 - un serveur RARP qui a un fichier d'association `MAC -> IP` - RARP fonctionne comme ARP donc sur L2 -> ne traverse pas les routeurs ### BOOTP - de 1985 à 1993 mais peut toujours etre utilisé - requête `BOOTP` en broadcast sur 255.255.255.255 - pas de notion de `lease` donc pas de mise a jour de la conf périodiquement ### DHCP - depuis 1993 - le DHCP introduit la notion de `lease` ou `baille` qui indique la durée de vie pour la configuration envoyée par le DHCP. - simple paquet IP/UDP donc cela peut passer les routeurs étant donné que c'est du L3 # DNS (Domain Name Server) port 53 en UDP Avant, on utilisait `/etc/hosts` Déf: Traduit un nom en ip `TLD`, Top Level Domain: `com`, `fr`, `org`, ... ## TD RXAN 2019 ### 1 - Quelle est la durée d’émission d’une trame Ethernet de 384 octets à 100 Mbps (il ne sera pas tenu compte du préambule et du gap inter-trames) ? $$100 Mbps = 100*10^{6}bps = \frac{100*10^{6}}{8}ops = 12,5Mops$$ $$\frac{384}{12.5*10^6} = 3.072*10^{-5}s = 30.72\mu s$$ ### 2 - Décodez et analysez la trame Ethernet suivante jusqu’au niveau 3 (couche L3) au minimum et plus si possible (annexes utiles) ``` E0 CE C3 C9 5C EA 6C 3B E5 3D 5B 03 08 00 45 00 00 3C 6B 9C 00 00 80 01 00 00 C0 A8 00 10 AC D9 16 84 08 00 4D 56 00 01 00 05 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69 ``` ### 3 - Pourquoi un commutateur Ethernet n'a pas de table ARP par défaut? Le commutateur est un équipement de niveau 2, il n'a donc à aucun moments besoin d'une table ARP car ARP agit dans des couches supérieures. ### 4 - Parmi les trois catégories d’adresses MAC, lesquelles sont interdites comme adresse source dans les trames Ethernet ? les 3 types d'adresse MAC: - unicast `0x0160.8C40.5ADD` - multicast `0x0100.5EFE.AD51` - broadcast `0xFFFF.FFFF.FFFF.FFFF` |type |source |destination | |---------|------------------------|------------------| |unicast |:heavy_check_mark: |:heavy_check_mark:| |Multicast|:heavy_multiplication_x:|:heavy_check_mark:| |broadcast|:heavy_multiplication_x:|:heavy_check_mark:| Il est formellement interdit d'avoir une adresse multicast ou broadcast comme adresse source. ### 5 - A quoi sert l’auto apprentissage des adresses MAC dans les commutateurs Ethernet ? Réduire le nombre de paquets en broadcast ### 6 - Un paquet IPv4 de longueur totale 1498 octets sans options d’entête doit être fragmenté sur un réseau L2 de MTU 956 octets. $$1498 - 20 = 1478$$ $$956 - 20 = 936$$ $$\frac{936}8 = 117$$ #### a. Combien de fragments seront générés ? $$2$$ #### b. Quelle sera la taille du payload du dernier fragment ? $$542$$ #### c. Quelle sera la valeur du flag MF du premier fragment ? $$1$$ #### d. Quelle sera la valeur du flag DF du dernier fragment ? $$0$$ #### e. Quelle sera la valeur du fragment offset du second fragment ? $$117$$ #### f. Quelle sera la taille en octets de l’entête du premier fragment ? $$20$$ ### QCM |Question|Réponse| |--------|-------| | 7| D| | 8| C| | 9| C| | 10| D| | 11| D| | 12| B| | 13| C| | 14| A| | 15| B| | 16| A| | 17| A| | 18| A| | 19| D| | 20| C| | 21| D| | 22| B| | 23| D| | 24| D| | 25| C| | 26| C| #### 10 $$\frac{\frac{100}8}4 = 3\;125$$ #### 14 Si c'etait 100Mbps la reponse aurait été 5.12micro secondes #### 21 10 DC, 1 DD # 24/04/20 ## NAT blablabla flux entrant blablabla flux sortant blablabla adresse IP public blablabla serveur http ### Exercice ![](https://i.imgur.com/9NgZnVA.png) ![](https://i.imgur.com/DWX0fnx.png) #### Question 2bis: ping 192.168.2.100: Network unreachable - check la gateway sur le pc de Mme.Laboss. - le serveur w3 est down #### Question: ping www.totor.fr #### Question: table de routage de `R3` |Network |Subnet Mask|Next Hop |InterFace Out| |-----------|-----------|------------|-------------| |10.2.0.0 |/24 |10.2.0.3 |... | |10.1.0.0 |/24 |10.1.0.3 |... | |10.3.0.0 |/24 |10.2.0.[4,2]|... | |192.168.3.0|/24 |192.168.3.3 |... | |192.168.1.0|/24 |192.168.3.1 |... | |192.168.2.0|/24 |192.168.3.1 |... | |194.53.58.0|/24 |194.53.58.3 |... | |0.0.0.0 |/0 |194.53.58.3 |... | #### Question 3: M Labosse: "le réseau marche par intermittence" Debug: - A - `ping 192.168.1.1` -> ok - B - `arp -a 192.168.1.1` -> `192.168.1.1 00:e0:ed:0b:50:d0` not ok - C - `ping 192.168.1.1` -> ok - D - `arp -a 192.168.1.1` -> `192.168.1.1 00:ab:jf:01:40:d6` ok - E - `ping 192.168.1.1` -> ok - F - `arp -a 192.168.1.1` -> `192.168.1.1 00:e0:ed:0b:50:d0` not ok -> homework #### Question 4: Nouveau site C `192.168.100.0/24` Contenu: - R&D: (49p) - DAF: (57p) - Direction commerciale: (37p) Création de 4 subnet de taille identiques. Quels sont-ils ? |Network |Subnet Mask|@ de broadcast| |-----------|-----------|--------------| |||| ## Architecture de réseau Logique vs physique # 15/05/20 ## Evaluation des cours CMAN: etude de cas de debut juillet CLAN: note individuelle sous la forme d'une epreuve de synthese similaire au travail realisé en TCOM sur SIP/Virtu WAN/TRDO: pas de partiel en présentiel, travail via Teams, fin juin/debut juillet -> 2 sessions Prochaine Session: contrôle blanc pour tester Teams, pas noté # VLAN Virtual LAN Agnostique au réseau sous-jacent. Type de VLAN: - par port - par @ MAC - Par subnet IP: 802.1Q ## 802.1Q Rajoute un tag dans le header d'une trame IP `TPI`, Tag Protocol ID `TCI`, Tag Control Information $2^{12}$ Vlan possible (car VLAN ID dans TCI de 12 bits) ## Exercice Quelle MAC correspond à `230.1.0.1`? `01005E` $$230 - 128 = 102$$ # IGMP snooping ## 29/05/20 Le sujet a rendre (sous la meme forme que SIP/PABX) peut tomber a tout moment, projet de quelques jours (~5j), individuel. :::danger EXAMEN: entre le 10/07 et 17/07, plutot 15-16 pour l'instant. ::: `BLE`, Boucle Locale Entreprise: filaire ou non filaire. C'est ce qui raccorde l'entreprise au FAI `PoP`, Point of Presenc: un lieu physique où l'on peut faire état de sa présence. "L'entreprise Unetelle a un PoP à Paris", signifie qu'elle possède des locaux à Paris. Déterminer la localisation des POP: - Localisation des clients (et la densité) - - `MTBF`, Mean Time Between failures: Temps moyen entre les pannes Tâches des admins réseaux: - configuration / installation - gestion des incidents (surveiller, detecter, intervenir, résoudre) - gestion de la capacité (Capacity planning) - mesure de la performance / facturation - Faire évoluer ## Exercice Un réseau Ethernet 100BaseT est constitué de - 4 commutateurs Ethernet dotés, entre autres, de la fonction 802.1p/q et dotés de 8 ports chacun - 10 commutateurs dotés, entre autres, de la fonction 802.1p/q et dotés de 48 ports chacun. Les 4 commutateurs 8 ports sont tous reliés entre eux par un maillage total. Chacun de ces 4 commutateurs 8 ports est relié à deux commutateurs 48 ports différents. Enfin 24 postes de travail sont reliés sur chacun des commutateurs 48 ports. ### a - Combien de câbles Ethernet ont été nécessaires pour réaliser cette architecture ? $8 * 24 =192$ pour les postes de travail 8 pour les commutateurs 6 cable pour le maillage total `206 cables` ![](https://i.imgur.com/gZkr8ty.png) ### b - Cette architecture a combien de domaines de collision ? $206$ autant de domaines de collision que de câbles ### c - Cette architecture a combien de domaines de diffusion ? $1$ ### d - Combien de ports sont libres sur chacun des commutateurs 8 ports ? 5 ports utilises sur 8 3 (3 ports pour le maillage + 2 pour les 48 ports = 5, 8-5 = 3) ### e - Quelle fonction devait vous activer sur vos commutateurs 8 ports pour les mailler entre eux ? STP ### f - Quel standard IEEE spécifie la fonction de la question précédente ? (802.1d basique) ### g - Quelle est en octets la taille minimale des trames Ethernet qui pourront circuler sur ce réseau ? 64octets ### h - Justifiez votre réponse à la question précédente ? taille minimale du champ de donnees de 46 octets On ajoute les headers a ca ### i - Quelle est en octets la taille maximale des trames Ethernet qui pourront circuler entre un poste de travail et un commutateur ? 1518octets (1522octets?) ### j - Quelle est en octets la taille maximale des trames qui pourront circuler entre les commutateurs ? ### k - Justifiez votre réponse à la question précédente ? ### l - A iso architecture, est-ce que ce réseau Ethernet aurait pu être constitué de hub ? ### m - Justifiez votre réponse à la question précédente ? ### n - Combien de VLAN peuvent être configurés au maximum sur ce réseau ? ## 05/06/20 :::danger ### Examens S8 (disponible sur le Slack TCOM) : #### Quatre notes seront attribuées par étudiant - CMAN : draft Zoglu (note de groupe) remis le 9 juillet avant 20h - CLAN : épreuve de synthèse individuelle entre le 19 juin 12h30 et le 23 juin 18h30. - WAN : contrôle via Teams ou Moodle lundi 20 juillet (2h) - TRDO : idem mardi 21 juillet (2h) Les épreuves WAN et TRDO porteront sur la totalité des enseignements du 21 février au 17 juillet. ##### CMAN / Draft Zoglu - Le rapport intermédiaire de l’étude de cas sera donc envoyé par messagerie le 9 juillet avant 20h à eric.gaillard@epita.fr - Objet du message : ZOGLU2021 – Gn – draft - Retour sur le draft lors de la session du 17 juillet (sous réserve) - Nombre de pages du rapport final de décembre limité à 40 annexes comprises donc le draft aussi - Document au format PDF - Une seule pièce jointe au message - Le rapport comportera a minima - Un exec summary en anglais (1p) / un résumé exécutif en français (1p) - 3 pages en anglais hors schéma (…) ##### CLAN - Le sujet sera communiqué via Teams le 19 juin - Le rendu se fera individuellement via Teams également ##### WAN et TRDO - Un dry run sera réalisé le 12 juin ou le 3 juillet - Documents autorisés, épreuves contraintes par la durée QCM et questions ouvertes ::: UDP c'est tout con comme protocole (RFC 768) TCP TCB (Transmission control block) {IPs, IPd, } Envoye a chaque connection ## 19/06/20 :::danger ### Sujet CLAN - Épreuve de synthèse individuelle entre le 19 juinet le 23 juin #### Ethernet: situation actuelle et évolutions? Le rendu sera au format PowerPoint, six slides avec un traitement de la question selon trois angles: expertise technique, décideur, au choix (figure libre) - 1 slide Titre / Majeure / Nom / Prénom / ... - 3 slides Angle expert technique (en français) - 1 slide Angle décideur (en anglais) - 1 slide Angle auchoix* (français ou anglais au choix) \* Exemples: Expert technique, décisionnel, financier, hyper expert technique, pédagogique, communiquant, marketing, ... Les réponses seront envoyées par chaque étudiant le 23 juin à 19h00 au plus tard,à eric.gaillard@epita.fr en mentionnant dans l’objet: **SRS - CLAN** ou **TCOM - CLAN** #### Critères d’évaluation des réponses 1 - Respect des modalités de réponse 2 - Qualité de la réponse technique 3 - Qualité de la réponse décisionnelle 4 - Qualité de la réponse libre 5 - Qualité rédactionnelle/ formalisme/ anglais 6 - Ressenti général ::: ### La VoIP # S9 ## Corrections ### TRDO #### Les adresses IPv6 sont - [ ] Codées sur 32 bits et représentées en octal - [ ] Codées sur 128 bits et représentées en décimal - [X] Codées sur 16 octets et représentées en hexadécimal - [ ] Codées sur 128 octets et représentées en hexadécimal #### Quelle est la taille du champ VLAN ID dans le champ TCI de l’entête 802.1q ? - [ ] 32 bits - [X] 12 bits - [ ] 20 bits - [ ] 10 bits # Zoglu 8 interlocuteurs Remise de rapport définitif en Décembre(17/12/2020) 40 Pages max tout compris # Architecture ```mermaid graph TD subgraph Architecture bm[Business métier] f[Fonctionnel] a[Application] t[Technique] i[Infrastructure] bm --> f --> a --> t --> i end ``` # BGP4 Border Gateway Protocol Protocol d'annonce de routes. S'appuie sur TCP(port 179) Protocole de type EGP $\rightarrow$ annonces de routes entre AS Automates d'état fini ```mermaid sequenceDiagram participant 1 as Router1 participant 2 as Router2 1->>2: update(BGB Version, AS number, ...) 2->>1: Keepalive 1->>2: update(route) 2->>1: update(route) opt keepalive is periodique 1->>2: Keepalive end 1->>2: Notification(closing) ``` ## 30/11/2020 ### Quel est le standard ethernet pour les applications automobiles ? ### Quel est le futur du wifi ? ### C'est quoi LORA ?