Internet Maria Kihl
Book chapters Kihl & Andersson: 7.1-7.6, 10.1-3 Kihl (gamla boken): 8.1-8.4, 8.6-7 Forouzan 4th: 19.1-2, 20.1-20.3, 21.1, 23.1-23.3 Forouzan 5th: 9.2.2, 18.1, 18.2.1, 18.4.1-3, 18.5.1, 19.1.1-2, 22.1.1, 22.2, 23, 24.1-3 2
Vad är Internet? Internet ägs ej av en enskild organisation. Styrs till viss del av Internet Society (ISOC). Består istället av ett antal sammankopplade nät som utbyter data enligt egna trafikavtal. Alla nät använder protokollsviten TCP/IP. Det finns allt från små lokala nät till stora så kallade Internet Service Providers (ISP). 3
Internet administration Source: http://www.hill2dot0.com 4
Nätarkitektur Näten som utgör Internet brukar delas upp i accessnät och ryggradsnät (backbone networks, core networks). Värddatorerna (hosts) är alltid anslutna till accessnät. Idag är de flesta accessnät ägda av Internet Service Providers (ISP). Även ISP-nät kan delas upp i accessnät och ryggradsnät. Utbyte av trafik mellan nät sker i Network Access Points (NAP) eller Internet Exchanges (IX) 5
Internets organisation 6
Trafikutbyte Trafikutbytet mellan nät styrs av så kallade bilaterala avtal. Inte möjligt att låta alla nät vara kopplade med varandra (så kallad full mesh ) Därför finns det tex. även avtal om transittrafik. 7
Internetworking 8
Vad har näten gemensamt? Alla delnät som utgör Internet har en gemensam nämnare: Alla använder samma nätprotokoll, Internet Protocol (IP)! Däremot behöver näten inte använda samma länkprotokoll, vilket gör att en mängd olika slags nät kan kopplas samman. Ramverket för Internetprotokollen kallas för TCP/IP-modellen. 9
Jämförelse med OSI-modellen OSI-model Application Presentation Session Transport Network Link Physical TCP/IP-model Application Transport Network Underlying network 10
TCP/IP-modellen i Forouzan Forouzan har inte korrekt beskrivning enligt oss... PHY och länkskiktet är inte del av TCP/IP-modellen. Numreringen av skikten ska vara enligt OSI-modellen. 11
TCP/IP-modellen TCP/IP-modellen illustreras ibland med Ett timglas. 12
TCP/IP-protokollen 13
Varför är detta viktigt? Datanäten har utvecklats under mer är 40 år. Under tiden har en mängd datanät med olika protokoll och dataformat tagits i bruk. Eftersom IP har standardiserats så att det kan användas över alla typer av nät, har Internet kunnat bli vad det är. All dokumentation av Internetprotokoll och tjänster är öppen och gratis. 14
Internet protocol (IP) Två versioner av IP: IPv4 används i de flesta nät idag och kommer vara huvudfokus i denna kurs. IPv6 är en förbättrad version av IP som är på gång att införas i näten och som introduceras i denna kurs. IP är ett så kallat Best effort protokoll, vilket innebär att det inte har någon felhantering. IP är baserat på förbindelsefri dataöverföring. 15
IP-adresser (IPv4) Varje värddator och routrar som är ansluten till Internet har en unik IP-adress på 32 bitar. Adressen skrivs i så kallat dotted-decimal format. 16
IP-adresser IPv4-adressen består av två delar: Nät-id (netid, prefix) identifierar det nät som enheten är kopplad till. Värd-id (hostid, suffix) identifierar enheten själv inom detta nät. 17
IP-adresser 18
Adress-metoder Det finns två sätt att definiera adresser: Klassindelad adressering (Classful addressing) Klassslös adressering (Classless addressing) 19
Klassindelad adressering Fem adressklasser: A, B, C, (D, and E) 20
Nät-id och värd-id i klassindelad adressering Klass A Klass B Klass C Klass D Klass E Byte 1 Byte 2 Byte 3 Byte 4 0 10 110 1110 1111 = Nät-id 21
Klassindelad adressering Det största problemet med klassindelad adressering var att en organisation bara kunde få ett block med adresser. Därför, 1996, infördes klasslös adressering. 22
Klasslös adressering I klasslös adressering, blir en organisation (liten eller stor) tilldelad ett block med adresser, med följande restriktioner: Adresserna i blocket måste följa på varandra. Antalet adresser måste vara av formen 2 x (1, 2, 4, 8, etc.). Den första adressen måste vara jämnt delbar med antalet adresser i blocket. Kallas även för Classless Interdomain Routing (CIDR) 23
Klasslös adressering, exempel 24
Mask Ett adress-block definieras av sin mask. En mask består av 32 bitar där en etta indikerar att adressbiten på motsvarande position ingår i nät-id. Ett block med adresser kan då definieras som: x.y.z.t /n där x.y.z.t definierar en av adresserna och /n definierar masken. 25
CIDR, exempel Adress: 11011110 00010111 01000011 01000100 Mask: 11111111 11111111 11000000 00000000 Nät-id: 11011110 00010111 01000000 00000000 Värd-id: 00000000 00000000 00000011 01000100 Decimal-dotted format: 232.23.67.68/18 26
CIDR adress-block 27
Classless addressing, exempel Address: 11011110 00010111 01000011 01000100 Mask: 11111111 11111111 11000000 00000000 Netid: 11011110 00010111 01000000 00000000 Hostid: 00000000 00000000 00000011 01000100 Decimal-dotted format: 232.23.67.68/18 28
Klasslös v. Klassindelad adressering Klassindelad adressering kan också representeras av masker: 29
Subnetting Idén med klasslös adressering kom av tekniken subnetting som användes för klass A- och B-nät. De var för stora att hantera som ett nät och för att kunna dela upp dem i flera mindre nät så infördes en adressmask. En organisation kan få ett adressblock enligt reglerna för klassindelad adressering, och sedan internt dela upp nätet i flera med tillhörande mask. 30
Subnetting, exempel Delnät 135.14.0.0 Delnät 135.14.64.0 Delnät 135.14.128.0 135.14.0.1 135.14.64.1 135.14.128.1 Nät: 135.14.0.0 R1 Till Internet 31
Routrar använder nätadressen Alla routrar måste kunna så kallad forwarding, dvs skicka vidare paket baserat på nätadressen. 32
Forwarding exempel 33
Forwarding-tabell De n högsta bitarna för destinationsadressen (prefix) sparas och resten av bitarna (suffix) sätts till noll innan destinationsadressen jämförs med forwarding-tabellen. 34
Longest mask matching Forwarding-tabellen måste vara sorterad så att den längsta masken ligger först. 35
Format för IPv4-datagram 36
Protokoll-fältet Protokoll-fältet innehåller information om vilket protokoll som använder IPv4. 37
Header checksum, exempel IPv4-headern innehåller en 16-bitars checksum: 38
Fragmentation IP allows for 65.535 bytes payload. However, IP packets can be fragmented if the data from upper layer cannot fit in a link layer frame. Typical maximum size is 1500 bytes (IEEE 802). It is the source host that fragments the data, and the destination host that reassembles the data. Header fields identification, flags and fragmentation offset are used. 39
Fragmentation offset example 40
Reasons for IPv6 IPv4 has the following major problems: The address space is to small. It was not designed for real-time applications. It has no support for encryption and authentication. Therefore, IPv6 was developed. However, the adoption of IPv6 has been slow. Some operators in Sweden use IPv6. 41
Some advantages with IPv6 Larger address space: 128 bits long addresses. Better header format: The base header has a constant length (40 bytes). Options can be inserted, when needed. Support for more security: IPv6 has encryption and authentication options. Support for real-time applications: Special handling of datagram can be requested. 42
IPv6 packet format 43
IPv6 addresses Hexadecimal colon notation 44
Abbreviated IPv6 addresses The removal of whole sections of zeros can only be done once per address. 45
Transportprotokoll 46
Process-to-process delivery 47
Port numbers The Internet Cooperation for Assigned Names and Numbers Authority (ICANN) has defined three types of port numbers: Well-known ports are assigned and controlled by IANA. Registered ports can be registered with IANA to prevent duplication. Dynamic ports are neither controlled nor registered, and can be used by any software. They are also called ephemeral ports. 48
Port number range The port numbers are within the following ranges: 49
Att hitta rätt applikation A B http 80 168.10.235.1 IP-adress Portadress 168.10.235.1 80 50
User Datagram Protocol (UDP) UDP is a connectionless, unreliable transport protocol. It does not add anything to services of IP except to provide process-to-process communication instead of host-to-host communication. Advantage: It is very simple and adds a minimum of overhead. 51
Some well-known UDP ports 52
UDP-headern 8 bytes Header Data Sändarens portadress 16 bitar Längd 16 bitar Mottagarens portadress 16 bitar Kontrollsumma 16 bitar 53
Checksum UDP checksum beräknas delar av IP-headern, UDP headern och data från applikationen (i multiplar av 16 bitar) 54
Transmission Control Protocol (TCP) TCP is a connection-oriented, reliable transport protocol. It creates a virtual connection between two processes. Also, it provides flow and error control mechanisms. 55
Some well-known TCP ports 56
Stream delivery TCP allows the sending process to deliver data as a stream of bytes and allows the receiving process to obtain data as a stream of bytes. 57
TCP functions TCP groups a number of bytes together into a packet called a segment. To allow for flow and error control control, both the sender and receiver use buffers. TCP implements a Go-back-N protocol in which the sequence number is the number of the first byte carried in the segment. The ACK contains the number of the next byte that the receiver expects to receive. ACKs can be piggybacked. 58
TCP Segments, example 59
TCP-header 20-60 bytes Header Data Längd 4 bitar Sändarens portadress 16 bitar Reserverad 6 bitar Kontrollsumma 16 bitar U R G A C K P S H Sekvensnummer 32 bitar ACK-nummer R S T S Y N 32 bitar F I N Eventuella tillval Mottagarens portadress 16 bitar Fönsterstorlek 16 bitar Urgent pointer 16 bitar 60
TCP sequence numbers TCP assigns a sequence number to each segment that is being sent. The sequence number of the first segment is the Initial sequence number (ISN) which is a random number. The sequence number of any other segment is the sequence number of the previous segment plus the number of bytes carried by the previous segment. 61
Uppkoppling av TCP-förbindelse Dator 1 Dator 2 Skickar SYN sekv = x Tar emot SYN Skickar SYN sekv = y, ACK x+1 Tar emot SYN+ACK Skickar ACK y+1 Tar emot ACK 62
TCP data transfer The data transfer uses full duplex, piggybacking and Go-back-N. The receiver saves all segments that are received in the wrong order. 63
Nedkoppling av TCP-förbindelse Dator 1 Dator 2 Skickar FIN x Tar emot FIN ACK x+1 Tar emot ACK x+1 Skickar FIN y Tar emot FIN Skickar ACK y+1 Tar emot ACK y+1 64
Error control TCP has advanced flow and congestion controls that are not included in this course. The Error control is based on Go-back-N ARQ, and we will show some scenarios. 65
Example: Normal operation Bidirectional data, ACK piggybacked if possible. 66
Example: Lost segment RTO = Retransmission Time-Out 67
Example: Fast retransmission The RTO timer is dynamic, and therefore, fast retransmission is also implemented. 68
Address Resolution Protocol (ARP) In order to find a specific host/router in a network, the IP-address must be mapped to a physical address. Adress Resolution Protocol (ARP) is used for the mapping of IP-addresses to MAC-addresses within a LAN. A host in a LAN always knows the IP-address to a default router (gateway) that is connected to the rest of Internet. 69
Position of ARP in TCP/IP suite ARP is a help protocol to IP: 70
ARP operation Each host/router has a ARP cache (table) that is used to store MAC/IP-address pairs. An ARP query packet is broadcasted everytime a host/router needs to map an IP-address to a MACaddress (ARP broadcasts are limited by routers). The intended host answers with an ARP response packet in unicast. 71
ARP operation 72
ARP packet format (Ethernet = 1) (IPv4 = (0800) 16 ) 73
ARP example 74
ARP, example If the intended host is on another network (which can be detected by the destination address), the packet is sent to the default gateway. A B C D E F G H The Net Default gateway Default gateway 75