42
Networking 1 Mobile Communications Fundamental Networking Manuel P. Ricardo Faculdade de Engenharia da Universidade do Porto

Mobile Communications Fundamental Networkingmricardo/07_08/cmov/slides/fundamental... · Mobile Communications Fundamental Networking ... ♦ O IPv6 podevira ser relevanteparaas ComunicaçõesMóveis

  • Upload
    ngodat

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Networking 1

Mobile Communications

Fundamental Networking

Manuel P. Ricardo

Faculdade de Engenharia da Universidade do Porto

Networking 2

♦ What networking concepts shall I have present from previous courses?

♦ What are the differences between L2 and L3 networks?

♦ What is a tunnel? What is a virtual network? Why are they relevant?

♦ What are the differences between IPv6 and IPv4?

Networking 3Switching: Circuits, Virtual Circuits, Datagram

Networking 4

Circuit Switching♦ Technologies: ISDN: Basic Rate Access, E1 � time slots for 64 kbit/s channels♦ Path defined during call establishment, based on the called number♦ Switching

» Exchange of time slots» In time and in space» Inputs required to be synchronised

Networking 5

Virtual Circuit Switching♦ Technologies: ATM, MPLS♦ Path

» defined during the virtual circuit establishment» Defined as a set of nodes, ports, labels

♦ Switching » Cells, packets» Exchange of labels

Tabela de translação deportas / canais virtuais

1

M

a

t

1

N

2

t

Entrada

M

abc

yzc

1N2

21N

khm

nng

Saída

1

Porta CV Porta CV

comutaçãoespacial

comutaçãode etiqueta

b c c

y c z y

controlo decomutação

controlo decomutação

g h

n

k kn

m

g

cabeçalho

dados

a, b, c, ... indicador de canal virtual

b a

Networking 6

Packet Switching♦ Technologies: Ethernet, IP

♦ Path defined by packet destination address

Networking 7

L2 Networking – Frame Formats

Ethernet

PPP

7x 10101010 10101011

Bit stuffing – 5 1s seguidos ���� emissor introduz 0

Protocolo=IP

Networking 8

L2 Networking - Bridges♦ Bridge builds forwarding tables automatically

♦ Address learning» Source Address of received frame is associated to a bridge input port

� station reachable trough that port

♦ Frame forwarding» When a frame is received, its Destination Address is analysed

– If address is associated to a port � frame forwarded to that port

– If not � frame transmitted through all the ports but the input port

Networking 9L2 Networking - Single Tree Required

• Ethernet frame – No hop-count

– Could loop in a L2 mis-configured network

– Same for broadcast packet

• Layer 2 network – Tree topology– Single path between every pair of

stations

• Spanning Tree (ST) Protocol– Running in bridges– Helps building the spanning tree– Blocks ports

Networking 10

Virtual LANs♦ One bridge simulates multiple LANs / broadcast domains

♦ One LAN may be extended to other bridges

w

y

VLAN 100

VLAN 200B1

x

z

VLAN 100

VLAN 200B2

[da=w; sa=x; data]

[da=w; sa=x; vlanid=100; data]

[da=w; sa=x; data]

Networking 11

L3 Networking – Packet Formats

Version HLen TOS Length

Ident Flags Offset

TTL Protocol Checksum

SourceAddr

DestinationAddr

Options (variable)Pad

(variable)

0 4 8 16 19 31

Data

Version Traffic Class Flow Label

Payload Lengtht Next Header Hop Limit

SourceAddr (4 words)

DestinationAddr (4 words)

Options (variable number)

0 4 8 16 24 31

Data

IPv4 IPv6

Networking 12

L3 Networking – Router

3ª generation router

Networking 13

L3 Networking – Multiple Trees …♦ Every router

» finds the shortest path to the other routers and their attached networks

» Calculates its Shortest Path Tree (SPT)

♦ Routing protocol» Run in routers

» Helps routers build their SPT

» RIP, OSPF, BGP

Destination Cost NextHopA 1 AC 1 CD 2 CE 2 AF 2 AG 3 A

B’s routing view

D

G

A

F

E

B

C

Networking 14

TCP♦ Point to connection between a client and a server; port-to-port

♦ Reliable, flow control

♦ Congestion control

Sender

Data (SequenceNum)

Acknowledgment +AdvertisedWindow

Receiver

Networking 15

Multimedia Traffic - TaxonomyApplications

Elastic

Intolerant

Real time

Tolerant

Nonadaptive Adaptive

Delay adaptiveRate adaptive

Networking 16

RTP+RTCP/UDP♦ Multimedia traffic

♦ Application-Level Framing

♦ Data Packets (RTP)» sequence number

» timestamp (app defines “tick”)

» transported as UDP packets

♦ Control Packets (RTCP)» sent periodically

» report loss rate (fraction of packets received since last report)

» report measured jitter

Networking 17Traditional TCP/IP Communications Stack

T1IPTCPAPP

T1 | T2 T2 | T3IP

T3 | T4IP

T5IPTCPAPP

host bridge router router host

T4 | T5

bridge

IEEE MAC addressbased

switching

IETF IP addressbased

switching

Networking 18

Tunnel IP-in-IP

T1IP

TCPAPP

T1 | T2 T2 | T3IPT3 | T4 T5

IPTCPAPP

H1 bridge R1 R2 Server

T4 | T5

bridge

IP IPIP

outer IP header inner IP header data

DA= 2nd IP address of R2SA= 2nd IP address of H1

TTLIP identification

IP-in-IP IP checksumflags fragment offset

lengthTOSver. IHL

DA= ServerSA=H1

TTLIP identification

lay. 4 prot. IP checksumflags fragment offset

lengthTOSver. IHL

TCP/UDP/ ... payload

Networking 19

Tunnel PPP over IP (E.g PPTP)

» GRE – virtual point-to-point link

– routers at remote points

– over an IP network

» PPP adequate for – Authentication

– Transporting IP packets

T1IP

TCPAPP

T1 | T2 T2 | T3

IPT3 | T4 T5

IPTCPAPP

H1 bridge R1 R2 Server

T4 | T5

bridge

IP IP

IP

PPPGREGRE

PPP

Networking 20

PPP over Ethernet

Networking 21

IPv6

Networking 22

A Necessidade de um Novo IP♦ IPv4

– Espaço de endereçamento pequeno

– Usado de forma descontínua

– Algumas soluções para resolver estes problemas

redes privadas (NAT), agregação de redes (CDIR)

♦ IETF desenvolve nova versão do IP: IPv6– Mesmos princípios arquitectónicos do IPv4

– Muitas melhorias

– Implica mudança do cabeçalho

♦ O IPv6 pode vir a ser relevante para as Comunicações Móveis– 1 endereço IP para cada dispositivo ….

Networking 23IPv6 – Melhorias Relativamente aoIPv4

» Endereços de 128 bits (16 octetos, 8 shorts ). Sem classes

» Suporte de QoS facilitado (descrição de fluxos de tempo real)

» Funções de segurança (autenticação das partes, encriptação dos dados)

» Autoconfiguração (Plug-n-play)

» Routing

» Multicast

Networking 24

♦ 8 x 16 bit, hexadecimal. Separados por :

47CD : 1234 : 3200 : 0000 : 0000 : 4325 : B792 : 0428

♦ Formato comprimido: FF01:0:0:0:0:0:0:43 ���� FF01::43

♦ Compatibilidade com IPv4: 0:0:0:0:0:0:13.1.68.3 ou ::13.1.68.3

♦ Endereço de loopback: ::1

♦ Prefixos de rede com notação de / , como no v4» FEDC:BA98:7600::/40 ���� prefixo de rede = 40 bits

Representação dos Endereços

Networking 25

Reserva de Endereços IPv6Allocation Prefix Fraction of

(binary) Address Space----------------------------------- -------- -------------Unassigned 0000 0000 1/256Unassigned 0000 0001 1/256Reserved for NSAP Allocation 0000 001 1/128Unassigned 0000 01 1/64Unassigned 0000 1 1/32Unassigned 0001 1/16Global Unicast 001 1/8 Unassigned 010 1/8Unassigned 011 1/8Unassigned 100 1/8Unassigned 101 1/8Unassigned 110 1/8Unassigned 1110 1/16Unassigned 1111 0 1/32Unassigned 1111 10 1/64Unassigned 1111 110 1/128Unassigned 1111 1110 0 1/512Link-Local Unicast Addresses 1111 1110 10 1/1024Site-Local Unicast Addresses 1111 1110 11 1/1024Multicast Addresses 1111 1111 1/256

Networking 26Link-Local, Site-Local, Global Unicast, Anycast

» Link-Local– Usado para comunicação entre nós na mesma ligação/LAN– Construído a partir do endereço MAC da carta– Routers não encaminham pacotes com endereços de destino Link-Local

» Site-Local– Usados dentro de um site/empresa para construção de redes privadas– Routers não encaminham pacotes com endereços de destino Site-Local para fora do Site

» Global Unicast– Endereços globais– Endereço: prefixo de rede + identificador do computador– Prefixos estruturados

agregação de redes; menos entradas nas tabelas de encaminhamento

» Anycast– Endereço de grupo; pacote recebido por qualquer elemento do grupo

» Multicast– Endereço de grupo; pacote recebido por todos os elementos do grupo

Networking 27

Formato dos Endereços| n bits | m bits | 128-n-m bits | Global Unicast Address+------------------------+-----------+----------------------------+ (2000::/3)|001 global rout prefix | subnet ID | interface ID |+------------------------+-----------+----------------------------+

| 10 |

| bits | 54 bits | 64 bits | Link-Local Unicast address+----------+-------------------------+----------------------------+ (fe80::/10)|1111111010| 0 | interface ID | +----------+-------------------------+----------------------------+

| 10 |

| bits | 54 bits | 64 bits | Site-Local Unicast address+----------+-------------------------+----------------------------+ (fec0::/10)|1111111011| subnet ID | interface ID |+----------+-------------------------+----------------------------+

| n bits | 128-n bits | Anycast address+------------------------------------------------+----------------+| subnet prefix | 00000000000000 |+------------------------------------------------+----------------+

| 8 | 4 | 4 | 112 bits |+------ -+----+----+---------------------------------------------+|11111111|flgs|scop| group ID |+--------+----+----+---------------------------------------------+

Multicast addressgrupo permanente ou nãoScope – link, site, global, ...

(ff::/8)

Networking 28

Formato dos Pacotes IPv4 e IPv6

Version HLen TOS Length

Ident Flags Offset

TTL Protocol Checksum

SourceAddr

DestinationAddr

Options (variable)Pad

(variable)

0 4 8 16 19 31

Data

Version Traffic Class Flow Label

Payload Lengtht Next Header Hop Limit

SourceAddr (4 words)

DestinationAddr (4 words)

Options (variable number)

0 4 8 16 24 31

Data

IPv4 IPv6

Networking 29

Cabeçalho do Pacote IPv6♦ Flow label � identifica fluxo pacotes

» QoS, reserva de recursos

» pacotes com tratamento idêntico

♦ Payload length» não inclui cabeçalho

♦ Hop limit = TTL (v4)

♦ Next header» Identifica protocolo/extensão seguinte

♦ Options � cabeçalhos de extensão

Version Traffic Class Flow Label

Payload Lengtht Next Header Hop Limit

SourceAddr (4 words)

DestinationAddr (4 words)

Options (variable number)

0 4 8 16 24 31

Data

Networking 30

Cabeçalhos de Extensão

IPv6 HeaderNext Header = TCP

TCP header + data

Routing HeaderNext Header = TCP

TCP header + dataIPv6 HeaderNext Header = Routing

IPv6 HeaderNext Header = Routing

Routing HeaderNext Header = Fragment

Fragment HeaderNext Header = TCP

Fragment ofTCP header + data

IPv6 Hop-by-hop TCPDestination Routing Fragment Authenticate. ESP

Networking 31

Tipos de Cabeçalhos de Extensão» Hop-by-hop

informação adicional, examinada por todos os nós atravessados por pacote;

outros cabeçalhos examinados só no destino ou em nós pré-definidos

» Destination: Informação para o computador de destino

» Routing: Lista de nós a visitar pelo pacote

» Fragmentation: Feita pelo emissor do pacote, que deve descobrir o MTU

» Authentication: Autenticação (assinatura) do cabeçalho do pacote

» ESP: Informação sobre crifragem dados

Networking 32IPv6 – Diferenças em relação aoIPv4

» Não há checksum� erros detectados noutra camadaRecurso ao pseudo header no TCP ou UDP

» Cabeçalho de comprimento fixoDiminui tempo de processamento do pacote

» Não há informação de fragmentação/reassemblagem– Pacote de comprimento incorrecto é eliminado

– Mensagem enviada para emissor, pedindo para reduzir comprimento de pacote

» Emissor responsável pela descoberta do MTU

» Segmentação possível em cabeçalho de extensão

» Segurança suportada nativamente

Networking 33

Extensão de Routing» Sem este cabeçalho � encaminhamento igual a IPv4

» Extensão de routing– Contém lista de nós a visitar pelo pacote

– semelhante ao Source Routing, do v4

0 8 16 24 31

Next header Hd. Ext. Len 0 Segmnts left

1 – 24 addresses

Networking 34Pacote enviado de S para D, por I1, I2, I3As the packet travels from S to I1:

Source Address = S Hdr Ext Len = 6Destination Address = I1 Segments Left = 3

Address[1] = I2Address[2] = I3Address[3] = D

As the packet travels from I1 to I2:

Source Address = S Hdr Ext Len = 6Destination Address = I2 Segments Left = 2

Address[1] = I1Address[2] = I3Address[3] = D

As the packet travels from I2 to I3:

Source Address = S Hdr Ext Len = 6Destination Address = I3 Segments Left = 1

Address[1] = I1Address[2] = I2Address[3] = D

As the packet travels from I3 to D:

Source Address = S Hdr Ext Len = 6Destination Address = D Segments Left = 0

Address[1] = I1Address[2] = I2Address[3] = I3

Lista de nós

intermédiosvisitados

Networking 35

Exemplo – Rede no Lab de Redesquadro

porta

banc_3 banc_6 pc3---[HUB]---pc2----+ +----pc2---[HUB]---pc32000:0:0:3::/64 | | 2000:0:0:6::/64

| |banc_2 | | banc_5pc3---[HUB]---pc2--[HUB]-+ +-[HUB]--pc2---[HUB]---pc32000:0:0:2::/64 | | | | 2000:0:0:5::/64

| | | |banc_1 | | | | banc_4pc3---[HUB]---pc2----+ | | +----pc2---[HUB]---pc32000:0:0:1::/64 | | 2000:0:0:4::/64

| |2000:0:0:e::/64| |2000:0:0:d::/64

| |[routerv6]

quadroporta

banc_3 banc_6 pc3---[HUB]---pc2----+ +----pc2---[HUB]---pc32000:0:0:3::/64 | | 2000:0:0:6::/64

| |banc_2 | | banc_5pc3---[HUB]---pc2--[HUB]-+ +-[HUB]--pc2---[HUB]---pc32000:0:0:2::/64 | | | | 2000:0:0:5::/64

| | | |banc_1 | | | | banc_4pc3---[HUB]---pc2----+ | | +----pc2---[HUB]---pc32000:0:0:1::/64 | | 2000:0:0:4::/64

| |2000:0:0:e::/64| |2000:0:0:d::/64

| |[routerv6]

2000:0:0:1::12000:0:0:1::aa 2000:0:0:e::1

Networking 36Configuração da bancada 1, pc3 (tux13)tux13:~# /sbin/ifconfig eth0 inet6 add 2000:0:0:1::1/64tux13:~# ifconfig eth0eth0 Link encap:Ethernet HWaddr 00:C0:DF:08:D5:99

inet addr:172.16.1.13 Bcast:172.16.1.255 Mask:255.255.255.0inet6 addr: 2000:0:0:1::1/64 Scope:Globalinet6 addr: fe80::2c0:dfff:fe08:d599/10 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:81403 errors:0 dropped:0 overruns:0 frame:0TX packets:2429 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:100RX bytes:4981344 (4.7 MiB) TX bytes:260692 (254.5 KiB)Interrupt:5

tux13:~# /sbin/route -A inet6 add 2000::/3 gw 2000:0:0:1::aatux13:~# route -A inet6Kernel IPv6 routing tableDestination NextHop Flags Metric Ref Use Iface::1/128 :: U 0 0 0 lo2000:0:0:1::1/128 :: U 0 0 0 lo2000:0:0:1::/64 :: UA 256 0 0 eth02000::/3 2000:0:0:1::aa UG 1 0 0 eth0 fe80::2c0:dfff:fe08:d599/128 :: U 0 0 0 lofe80::/10 :: UA 256 0 0 eth0ff00::/8 :: UA 256 0 0 eth0::/0 :: UDA 256 0 0 eth0

tux13:~# /sbin/ifconfig eth0 inet6 add 2000:0:0:1::1/64tux13:~# ifconfig eth0eth0 Link encap:Ethernet HWaddr 00:C0:DF:08:D5:99

inet addr:172.16.1.13 Bcast:172.16.1.255 Mask:255.255.255.0inet6 addr: 2000:0:0:1::1/64 Scope:Globalinet6 addr: fe80::2c0:dfff:fe08:d599/10 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:81403 errors:0 dropped:0 overruns:0 frame:0TX packets:2429 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:100RX bytes:4981344 (4.7 MiB) TX bytes:260692 (254.5 KiB)Interrupt:5

tux13:~# /sbin/route -A inet6 add 2000::/3 gw 2000:0:0:1::aatux13:~# route -A inet6Kernel IPv6 routing tableDestination NextHop Flags Metric Ref Use Iface::1/128 :: U 0 0 0 lo2000:0:0:1::1/128 :: U 0 0 0 lo2000:0:0:1::/64 :: UA 256 0 0 eth02000::/3 2000:0:0:1::aa UG 1 0 0 eth0 fe80::2c0:dfff:fe08:d599/128 :: U 0 0 0 lofe80::/10 :: UA 256 0 0 eth0ff00::/8 :: UA 256 0 0 eth0::/0 :: UDA 256 0 0 eth0

Networking 37

Identificador IEEE EUI-64 Method to create a IEEE EUI-64 identifier from an IEEE 48bit MAC identifier. This is to insert two octets, with hexadecimal values of 0xFF and 0xFE, in the middle of the 48 bit MAC (between the company_id and vendor supplied id). For example, the 48 bit IEEE MAC with global scope:

|0 1|1 3|3 4||0 5|6 1|2 7|+----------------+----------------+----------------+ |cccccc0gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|+----------------+----------------+----------------+ 00:C0:DF:08:D5:99

where "c" are the bits of the assigned company_id, "0" is the value of theuniversal/local bit to indicate global scope, "g" is individual/group bit, and "m" are the bits of the manufacturer-selected extension identifier. The interface identifier would be of the form:

|0 1|1 3|3 4|4 6||0 5|6 1|2 7|8 3|+----------------+----------------+----------------+----------------+|cccccc1gcccccccc|cccccccc11111111|11111110mmmmmmmm|mmmmmmmmmmmmmmmm|+----------------+----------------+----------------+----------------+

fe80::2c0:dfff:fe08:d599

Networking 38

Transição do v4 para o v6» Computador opera em dupla pilha de protocolos (RFC2893)

� Computador v6 funciona também em v4

� Versão indica pilha a usar

» Dois computadores v6 podem usar rede v4 (RFC2893)� Adição de 96 0s a um endereço v4 de 32-bit. Ex. ::10.0.0.1

� 2 computadores falam v6 entre si, mesmo que a rede seja toda v4

� túnel (v4 contendo v6) entre computadores

» Computador v6 consegue falar com computador v4� Usado endereço v6 mapeável em endereço v4

� Adição de 2 bytes de 1s ao endereço v4 + extensão de zeros

Ex ::ffff:10.0.0.1

� O pacote circula na rede em v4. É convertido para v6 internamente

Networking 39

Protocolo Neighbor Discovery (ND)♦ Nó IPv6 usa ND para

» Descobrir outros nós na mesma ligação/LAN

» Determinar endereço MAC desses nósND substitui ARP

» Descobrir os routers das suas redes

» Manter informação para sobre os vizinhos activos

♦ ND equivale em IPv4 a» ARP IPv4

» ICMP Router Discovery

» ICMP Redirect

Networking 40

Mensagens do ND» Mensagens ICMP (sobre IP)

» Utilização de endereços Link Local

» Neighbor Solicitation

Enviada por nó para obter endereço MAC de vizinho / verificar a sua presença

» Neighbor Advertisement: Resposta ao pedido

» Router Advertisement

Informação sobre prefixo de rede; periódica ou a pedido

Enviada por router para endereço IP Link Local multicast

» Router Solicitation: Interface activa � nó pede router para enviar Router Advertismen

» Redirect: Usado por router para informar um nó acerca de melhor caminho

Networking 41

Configuração de Endereços

Networking 42

Transmissão de Pacote