Escolar Documentos
Profissional Documentos
Cultura Documentos
IP
Internet Protocol
Histórico
V1.0, Paula Viana, 1999
V2.0, Paula Viana, 2004
v2.1, Paula Viana, 2005
v2.2, Paula Viana, 2006
v3.0, Miguel Leitão, 2007
v3.2, Miguel Leitão, 2010
V3.4, Miguel Leitão, 2014
V3.5, Miguel Leitão, 2017
Modelo TCP/IP
1
20-09-2017
Encapsulamento
Cabeçalho IP (protocol)
• ICMP 1
• IGMP 2
• TCP 6
• UDP 17
2
20-09-2017
Problemas de Internetworking
Equipamentos distintos
repetidor
bridge (pontes)
router (encaminhadores)
Gateway
3
20-09-2017
Protocolo IP
Protocolo da camada de Rede
Transfere informação de um equipamento de origem para um
equipamento de destino (em redes diferentes)
Objectivo
Qualquer tipo de rede
Desenvolver aplicações sem conhecer o suporte físico de transporte
Comutação de Datagramas
Cada Datagrama indica o endereço de destino
Sem acknowledge
Sem estabelecimento de Circuito Virtual
A informação pode chegar fora de ordem ou em duplicado
Cada Datagrama pode seguir caminhos diferentes
Não há garantias de entrega
IP - Cabeçalho
32 Bits
Destination address
4
20-09-2017
Endereço Telefónico
Nº de telefone
12 dígitos => máx: 1012 telefones no mundo
Telefone em Portugal:
+351 123456789 =>máx: 109 telefones em Portugal
Telefone no UK:
+44 1234567890 =>máx: 1010 telefones no UK
Endereço IP
• 32-bit (IPv4)
• Único para cada máquina
Exemplos:
• 193.136.63.5
• 10.0.1.133
“Dotted Decimal Notation”
NetId + HostId
5
20-09-2017
IP - Endereçamento
Tipos de Endereços
Unicast
Broadcast
Multicast
5 Classes:
126 redes com 16 milhões de hosts cada
A 0 Rede Host 1.0.0.0 até 127.255.255.255
16 382 redes com 64K hosts cada
B 10 Rede Host 128.0.0.0 até 191.255.255.255
2 milhões de redes com 254 hosts cada
C 110 Rede Host 192.0.0.0 até 223.255.255.255
IP – Endereços especiais
6
20-09-2017
Classes de Endereços
Descodificação de Classe
Endereço
7
20-09-2017
Milhões de endreços
classe A são desperdiçados
Alocação de endereços
8
20-09-2017
Atribuição de endereços
http://xkcd.com/195/
Atribuição de endereços
2011
http://xkcd.com/195/
9
20-09-2017
Endereços disponíveis
wikipedia.org
Consumo de Endereços
10
20-09-2017
Previsão
Protocolo IP
Responsável pela gestão do tamanho máximo de informação
suportado por cada rede – Maximum Transmission Unit (MTU)
Deve tornar transparente às camadas superiores as limitações
impostas pelas camadas inferiores
Cada rede impõe tamanho máximo:
ATM – 48 Bytes Ethernet – 1500 Bytes IP - 65515
11
20-09-2017
IP - Fragmentação
IP - Fragmentação
Transparente
fragmentação introduzida por uma rede de “pacotes pequenos” não deve
ser visível para redes seguintes
• Os pacotes fragmentados deverão ser re-assemblados à saída da rede
• As redes seguintes não se apercebem que existiu uma fragmentação anterior
Não transparente
• uma vez fragmentado, o pacote é apenas reassemblado no destino
12
20-09-2017
IP – Fragmentação
Transparente
todos os pacotes têm que sair pela mesma gateway (Porquê?)
• pode levar a uma diminuição de performance (há percursos não utilizados...)
processamento suplementar a fragmentar e assemblar repetidamente
Não transparente
todos os hosts têm que ser capazes de assemblar um pacote!
overhead suplementar (cada fragmento tem 1 header) mesmo que
encontre um rede que suporte pacotes grandes
Cada fragmento pode seguir caminhos diferentes - várias gateways
podem ser usadas e resultar num maior desempenho
IP - Cabeçalho
13
20-09-2017
IP – Cabeçalho
Type of Service
• D – Minimiza atraso (Delay)
• T – Maximiza débito (Throughput)
• R – Maximiza fiabilidade (Reliability)
• C – Minimiza custos (Costs)
Valores recomendados
D T R C
Telnet 1 0 0 0
FTP
Control 1 0 0 0
Data 0 1 0 0
SMTP
Command 1 0 0 0
Data 0 1 0 0
SNMP 0 0 1 0
IP - Cabeçalho
se p.e. as tabelas de encaminhamento forem corrompidas!
DF/MF
• Don’t Fragment (porque o destino não consegue reassemblar)
• More Fragments (em todos os fragmentos, com excepção do último, MF=1)
evita que pacote circule indefinidamente
14
20-09-2017
IP - Cabeçalho
Protocol - protocolo usado na camada superior
• TCP – 6
• UDP – 17
• ICMP – 1
• EGP - 8
IP - Endereçamento
Máquinas da mesma rede usam o mesmo NetID.
Uma máquina pode ter vários números IP – ligação a várias redes.
Máquinas com NetIDs diferentes não comunicam directamente mas
através de 1 router.
Se uma máquina muda de rede tem que mudar de IP.
15
20-09-2017
Máscara de rede
Dimensão igual ao endereço (32 bits em IPv4)
M = { b31, b30, …, bi, …, b1, b0 }
bi { 0, 1 }
bi+1 = 0 bi = 0
bi-1 = 1 bi = 1
Exemplo: M = 11111111111111111100000000000000
NetID = Addr M
HostID = Addr M
Addr = NetID + HostID
Máscaras naturais
Default Masks
16
20-09-2017
Máscaras de Rede
Só há 33 valores possíveis para uma máscara IPv4:
255.255.255.255
255.255.255.254 255.255.254.0 255.254.0.0 254.0.0.0
255.255.255.252 255.255.252.0 255.252.0.0 252.0.0.0
255.255.255.248 255.255.248.0 255.248.0.0 248.0.0.0
255.255.255.240 255.255.240.0 255.240.0.0 240.0.0.0
255.255.255.224 255.255.224.0 255.224.0.0 224.0.0.0
255.255.255.192 255.255.192.0 255.192.0.0 192.0.0.0
255.255.255.128 255.255.128.0 255.128.0.0 128.0.0.0
255.255.255.0 255.255.0.0 255.0.0.0 0.0.0.0
Número de endereços
Número de endereços NAddr de uma rede com máscara M:
𝑁𝐴𝑑𝑑𝑟 = 1 + 𝑀
Exemplo:
𝑀 = 255.255.248.0 = 11111111.11111111.11111000.00000000
𝑀 = 00000000.00000000.00000111.11111111 = 2047
17
20-09-2017
IP - SuperRedes
Endereços Classe B são limitados 16382 redes
Ao atribuir uma classe B pode haver desperdício de endereços:
• Por exemplo ao atribuir uma classe B a uma instituição com 600 hosts
Solução
Supernetworking
(CIDR – Classless InterDomain Routing)
(RFC 1519)
Supernetting Example
Uma organização com 4 redes classe C:
193.0.32.0 , 193.0.33.0 , 193.0.34.0 , 193.0.35.0
Com máscara:
255.255.252.0 : 11111111 11111111 11111100 00000000
37
18
20-09-2017
Europa:
• endereço inicial: 11000010.00000000.00000000.00000000
• endereço final : 11000011.11111111.11111111.11111111
• Máscara: 11111110.00000000.00000000.00000000
• 225 endereços = 33 milhões de endereços
• (endereço, máscara) = (194.0.0.0, 254,0,0,0)
19
20-09-2017
Exemplo:
3 instituições solicitam conjuntos de endereços maiores que classe C
• máscara 255.255.248.0
Exemplo (cont):
• máscara 255.255.240.0
20
20-09-2017
Exemplo (cont):
• máscara 255.255.252.0
Router recebe
• 194.24.17.4
• AND com máscara ISEP - 194.24.16.0 X
• AND com máscara FEUP - 194.24.16.0 V
Exemplos:
21
20-09-2017
Número de endereços
Número de endereços NAddr de uma gama /n :
𝑁𝐴𝑑𝑑𝑟 = 232−𝑛
𝑀 = 232−𝑛 − 1
201.10.0.0/21
Provider
45
22
20-09-2017
Encaminhamento
194.146.29.15 quer enviar dados para 194.146.29.55
– Destino rede local ? 194.146.29.55 194.146.29.15/23 ?
• /23 máscara = 255.255.254.0 = 11111111.11111111.11111110.00000000
• Netid local = 194.146.29.15 AND 255.255.254.0 = 194.146.28.0
• Netid destino = 194.146.29.55 AND 255.255.254.0 = 194.146.28.0
• Netid local == Netid destino Destino rede local
Header Ethernet
Header IP dados
MAC_destino
Encaminhamento
• 194.146.29.15 quer enviar dados para 194.146.31.55
– Destino rede local ? 194.146.31.55 194.146.29.15/23 ?
• /23 máscara = 255.255.254.0 = 11111111.11111111.11111110.00000000
• Netid local = 194.146.29.15 AND 255.255.254.0 = 194.146.28.0
• Netid destino = 194.146.31.55 AND 255.255.254.0 = 194.146.30.0
• Netid local Netid destino Destino rede local
Header Ethernet
Header IP dados
MAC_gateway
23
20-09-2017
IP – Encaminhamento
Se a origem e destino de 1 pacote partilham a mesma rede (p.e. Uma
ethernet)
• Pacote é entregue directamente no destino
Tabelas de Encaminhamento
• (network address, next hop address)
• Endereço IP de destino - que pode ser 1 endereço completo (NetID+HostID) ou um
endereço de uma rede (NetID)
• Indicação de uma rota que pode ser o endereço IP do próximo router ou um endereço
IP local
• Flag indica que tipo de rota se trata (H – Host; G – Gateway)
• Interface de rede à qual o pacote deve ser passado
IP – Tabelas de Encaminhamento
Svr4 routing table : netstat -nr (não apresenta as máscaras)
24
20-09-2017
IP – Encaminhamento
IP – Encaminhamento e Máscaras
25
20-09-2017
Tabela de routing
Network Netmask Gateway Interface
149.76.1.0 255.255.255.0 - fddi0
149.76.2.0 255.255.255.0 149.76.1.2 fddi0
149.76.3.0 255.255.255.0 149.76.1.3 fddi0
149.76.4.0 255.255.255.0 - eth0
149.76.5.0 255.255.255.0 149.76.1.5 fddi0
… … … …
0.0.0.0 0.0.0.0 149.76.1.2 fddi0
Tabela de encaminhamento
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
193.136.63.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.33.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.16.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.32.0 193.136.63.180 255.255.255.0 UG 0 0 0 eth0
10.0.17.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.18.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.34.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.19.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.31.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.15.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 193.136.63.1 0.0.0.0 UG 0 0 0 eth0
26
20-09-2017
IP – Encaminhamento
Rede Exemplo .104.1
Rede 140.252.0.0
Com várias sub-redes modem
modem
.1.29
.65 .66
slip bsdi sun svr4
.35 .33 .34
IP – Encaminhamento
Exemplo 1
Pacote para
bsdi sun
140.252.13.33
.13.35 .13.33
Ethernet 140.252.13
EthAdd IPAdd
27
20-09-2017
IP – Encaminhamento
Next hop =
Exemplo 2 140.252.104.2
gw
EthAdd IPAdd
(default)
.1.4
modem
Next hop =
IPAdd
140.252.13.33
(default)
modem
192.48.96.9
.1.29
Pacote para
192.48.96.9 bsdi sun
.35 .33
EthAdd IPAdd
IP -Sub-Redes
Ex:
Classe B: 16 bits rede + 16 bits host 16 bits rede + 6 bits sub-rede + 10 bits host
32 bits
10 Rede Sub-Rede Host
1111111111111111 111111 0000000000 máscara
28
20-09-2017
IP -Sub-Redes
• 1 Classe C:
192.228.17.X
• SubnetID:
3 bits
8 sub-redes
• HostID:
5 bits
até 30 hosts por subrede
(porquê?)
• Máscara
255.255.255.224
IP -Sub-Redes
Determinação da sub-rede
Exemplo 1
• Endereço X e Y têm a mesma máscara M
• Estarão X e Y na mesma subrede?
• Calcule (X AND M)
• Calcule (Y AND M)
• Se (X AND M) == (Y AND M) então X e Y estão na mesma subrede
Exemplo 2
• K e T são endereços de classe B com máscara M
• K = 165.230.82.52
Estarão na mesma rede classe B?
• T = 165.230.24.93
Estarão na mesma sub-rede?
• M = 255.255.255.0
29
20-09-2017
IP -Sub-Redes
Divisão em sub-redes
Uma empresa pretende reestruturar a rede de interligação entre os seus 3 departamentos
(Dep_A, Dep_B e Dep_C) e ligação à Internet, de forma a obter a estrutura seguinte
Dep_B
Internet Dep_C
R1
R2
Dep_A
30
20-09-2017
ifconfig
Ifconfig
• Permite configurar ou analisar estado das interfaces de rede
• Utilização:
ifconfig [interface]
ifconfig interface [aftype] options | address ...
• Options:
• up/down – activa ou desactiva 1 interface de rede
• [-]arp – enable/disable utilização do protocolo de arp numa
interface de rede
• [-]promisc – enable/disable modo promiscuo numa interface (para
que serve?)
• netmask addr – define a máscara de rede (se for diferente dos
valores por defeito)
• address – atribui 1 endereço IP à interface de rede
• ….. (man ifconfig)
ifconfig - exemplos
# /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:8B:65:19:FA
inet addr:193.136.63.10 Bcast:193.136.63.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:438399882 errors:0 dropped:0 overruns:0 frame:0
TX packets:491951199 errors:0 dropped:0 overruns:1158 carrier:0
collisions:0
RX bytes:2881610512 (2748.1 Mb) TX bytes:128325871 (122.3 Mb)
31
20-09-2017
ip
show / manipulate routing, devices, policy routing and tunnels
OBJECT :=
{ link | addr | addrlabel | route | rule |neigh | tunnel | maddr | mroute | monitor }
OPTIONS :=
{ -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] }
ip - exemplos
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 10:60:4b:6a:e8:aa brd ff:ff:ff:ff:ff:ff
inet 193.136.63.5/24 brd 193.136.63.255 scope global em1
inet6 fe80::1260:4bff:fe6a:e8aa/64 scope link
valid_lft forever preferred_lft forever
32
20-09-2017
ipconfig (windows)
ipconfig /all
Windows 2000 IP Configuration
Host Name . . . . . . . . . . . .
budapest :
Primary DNS Suffix . . . . . . . :
dee.isep.ipp.pt
Node Type . . . . . . . . . . .
Hybrid. :
IP Routing Enabled. . . . . . No. . :
WINS Proxy Enabled. . . . . . No. . :
DNS Suffix Search List. . . . . . :
inesctec.pt
dee.isep.ipp.pt
Ethernet adapter Local Area Connection 2:
Connection-specific DNS Suffix . : dee.isep.ipp.pt
Description . . . . . . . . . . . : Realtek RTL8139(A)-based PCI Fast Ethernet Adapter #2
Physical Address. . . . . . . . . : 00-02-DD-7B-FD-48
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 193.136.61.220
Subnet Mask . . . . . . . . . . . : 255.255.255.128
Default Gateway . . . . . . . . . : 193.136.61.129
DHCP Server . . . . . . . . . . . : 193.136.63.5
DNS Servers . . . . . . . . . . . : 193.136.63.3
193.136.60.10
193.136.63.7
Primary WINS Server . . . . . . . : 193.136.63.3
Lease Obtained. . . . . . . . . . : quarta-feira, 3 de Marco de 2004 20:11:21
Lease Expires . . . . . . . . . . : quarta-feira, 3 de Marco de 2004 22:11:21
ping
$ ping dublin.dee.isep.ipp.pt
PING .dublin.dee.isep.ipp.pt (194.117.24.11): 56 data bytes
64 bytes from 194.117.24.11: icmp_seq=0 ttl=248 time=87.3 ms
64 bytes from 194.117.24.11: icmp_seq=1 ttl=248 time=22.5 ms
64 bytes from 194.117.24.11: icmp_seq=2 ttl=248 time=41.8 ms
64 bytes from 194.117.24.11: icmp_seq=3 ttl=248 time=67.0 ms
33
20-09-2017
Fedora Linux
Windows XP
34
20-09-2017
route
route
• Options:
• add – adiciona rota
• del – apaga rota
• ….. (man route)
• Ex:
• route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
adds a route to the network 192.56.76.x via "eth0".
• route add default gw mango-gw
adds a default route (which will be used if no other route matches).
route
route
• Ex:
35
20-09-2017
Bibliografia Recomendada
W. Richard Stevens, TCP/IP Ilustrated Volume I: The Protocols, Addison-
Wesley, Chapter 3. IP: Internet Protocol (pp. 41-57)
Andrew S. Tanembaum, Computer Networks, 3rd Edition, Prentice Hall,
Chapter 5.4 (pp 406-419, 434-437)
William Stallings, Data and Computer Communications,
7th Edition, Prentice Hall, Chapter 18 - Internet Protocols
36