Qualidade de Serviço em Switches Ethernet Edgard Jamhour
Qualidade de Serviço - QoS QoS é uma garantia oferecida pela rede que certos parâmetros serão mantidos entre níveis pré-acordados. Os principais parâmetros de QoS são: Atraso Jitter: Variação no Atraso Taxa de Perda de Pacotes
Atraso O atraso é uma das principais medidas de QoS. Em aplicações tempo-real o atraso provoca perda de QoS. Exemplo: eco e sobreposição de conversação em VOIP.
Fatores que Influenciam o Atraso Congestinamento na interface de saída (trunk) Congestinamento no roteador Congestionamento na matriz de comutação do switch Tempo de propagação 5ms – 1000 Km
Jitter: Variação do Atraso
Perda de Pacotes Falta de Banda Estouro de buffer dos roteadores . Descarte preventivo (controle de atraso) Pacotes menos prioritários são descartados. Os buffers são associados a cada interface
Tipos de Controle de QoS Aplicações tempo-real Aplicações sensíveis ao atraso Tolerantes a perda de pacotes Intolerantes a perda de pacotes OBJETIVO: DISPONIBILIDADE CONSTANTE DE BANDA Aplicações elásticas Aplicações que não são afetadas pelo atraso. Exemplo: Email, FTP, Compartilhamento P2P OBJETIVO: BANDA MÉDIA EM PERÍODOS MÉDIOS OU LONGOS
Estratégias para Implantação de QoS Serviços Integrados Baseado em um protocolo de sinalização: RSVP Resource Reservation Protocol Reserva de recursos por fluxo, fim-a-fim Controle de admissão no momento que a reserva é solicitada. Serviços Diferenciados Não utiliza protocolo de sinalização. Utiliza um conjunto de configurações de QoS estáticas. Atribui os fluxos de usuários as configurações estáticas através de acordos de nível de serviço (SLA)
Arquiteturas para QoS nó nó nó nó nó Políticas de QoS 2. sinalização sinalização sinalização sinalização nó nó nó 1. Mecanismo de QoS Priorização Descarte Etc. Políticas de QoS (SLA, Controle de Admissão) 3. Ferramenta de Gerenciamento
Serviços Diferenciados Níveis de QoS Reserva de Recursos Fim-a-Fim Protocolo de Sinalização Serviços Integrados Priorização de Recursos de Acordo com SLAs pré-estabelecidos Serviços Diferenciados O primeiro pacote a chegar é o primeiro a ser atendido. Melhor Esforço
Serviços Diferenciados: Diff-Serv Alternativa para Serviços Integrados, que supostamente são pouco escaláveis devido ao custo de manutenção das sessões RSVP. Os conceitos básicos dos serviços diferenciados (Diff-Serv) são: Divisão da rede em nós de borda e core SLA: Service Level Agreement DS Field: marcação de pacotes Tráfego Agregado PHB: Per-Hop Behavior
Arquitetura Diffserv Nó de borda cliente Nó de core DOMÍNIO DIFFSERV Nó: Roteador ou Switch Nó de core DOMÍNIO DIFFSERV
Elementos da Rede Diffserv Domínio Diff-Serv Conjunto de roteadores que disponibilizam serviço de comunicação IP com QoS. Nó de Borda Roteador/Switch que faz interface direta com a rede do cliente. Trata o tráfego na forma de fluxos individuais Nó de Core Roteador/Switch que faz interface entre os nós de borda. Trata o tráfego na forma de fluxo agregado.
Agregação de Fluxo Fluxos de entradas Regras individuais para cada fluxo (geralmente, dependentes de SLA) Fluxos agregados Regras apenas para os fluxos agregados (independentes de SLA)
O que significa fluxo agregado? O nó de borda deve ter uma regra para cada fluxo individual, baseada na porta de entrada, ou nos campos dos cabeçalhos IP e TCP. Os pacotes são associados a regras de core através da marcação dos pacotes. Roteador borda Roteador core pacotes do usuário A – nivel gold pacotes do usuário B – nivel silver 1 1 1 1 pacotes do usuário C – nivel gold 2 2 2 2 pacotes do usuário D – nivel gold
Marcação de Pacotes Os pacotes IP precisam ser marcados nas fronteiras de entrada na rede administrada em DS. A marcação é feita utilizando os bits TOS do IPv4. Os roteadores utilizam esses bits para identificar como os pacotes são tratados na rede. 8 bits VERS HLEN TOS Comprimento Total ID FLG Deslocamento TTL Protocolo CheckSum Cabeçalho IP Origem IP Destino Dados ...
Campo TOS: Tipo de Serviço IP Header TOS PayLoad Bit Prioridade 000 Muito Baixa 001 Baixa .. Maximizar confiabilidade 111 Muito Alta Bit Requisição 1 Minimizar retardo 2 Maximizar vazão 3 Maximizar confiabilidade 4 Minimizar custo
Marcação: Redefinição do Campo TOS O campo TOS (8bits) foi renomeado para: byte DS. Este campo é formado da seguinte maneira: DSCP (Differentiated Services CodePoint) 6 bits (classe de tráfego para o pacote) ECN: Explicit Congestion Notification (experimental) 2 bits (reservado) BYTE DS DSCP (6 bits) ENC (2 bits)
PHB: Per Hob Behavior É possível definir 64 valores distintos de DS O IETF denomina PHB o tratamento associado ao valor do campo DS Os PHBs são definidos em 3 grupos: B'xxxxx0' – PHBs padronizados. B'xxxx11' – PHBs de uso experimental ou local B'xxxx01' – PHBs de uso experimental ou local, mas com potencial de serem agregados ao grupo de PHBs padronizados.
Códigos dentro da classe Regra para PHBs Com carga equivalente, quanto maior o valor do seletor de classe, melhor o comportamento associado a classe. São definidos 8 códigos seletores de classe Class Selector Codepoints ENC (2 bits) Seletores de Classe Códigos dentro da classe PHB Padronizado
PHB’s Padronizados BE PHB EF PHB: b‘101110' AF PHB Best Effort Expedited Forwarding AF PHB Assured Forwarding AF 1 AF 2 AF 3 AF 4 Low drop preference b'010000' b'011000' b'100000' b'101000' Medium drop preference b'010010' b'011010' b'100010' b'101010' High drop preference b'010100' b'011100' b'100100' b'101100'
Códigos DSCP BF = 0 AF11 = 10, AF12 = 12, AF13 = 14 EF = 46
QoS em Switches da Cisco Baseado em Serviços Diferenciados Possibilidade de executar priorização utilizando informações da camada 2 ou 3. Camada 2: Bits de prioridade dos TAGs IEEE 802.1Q Campo COS: Class Of Service (IEEE 802.1P) Camada 3: Campos TOS, renomeados para DSCP
Informações para Classificação de QoS nas Camadas 2 e 3
Tipos de Tráfego: Exemplos Switches Ethernet precisam diferenciar o tráfego, pois cada tipo de aplicação pode ter requisitos de QoS distintos: a) Gerenciamento da Rede: alta disponibilidade b) Voz: Atraso < 10 ms c) Video: Atraso < 100 ms d) Carga Controlada e) Excellent Effort: para usuários importantes f) Best Effort: para os demais usários g) Background: Transferências em batch, jogos, etc.
COS: IEEE 802.1P De acordo com a abordagem do padrão 802.1p, o diferentes tipos de tráfego podem ser tratados utilizando 8 níveis de prioridade: 000 = 0 : Best Effort 001 = 1 : Background 010 = 2 : Não Utilizado 011 = 3: Excellent Effort 100= 4 : Carga Controlada 101 = 5 : Vídeo 110 = 6 : Voz 111= 7 : Controle de Rede
Operações de QoS no Switch SAÍDA ENTRADA
Fluxo de Tráfego no Switch As filas são utilizadas para impor o QoS no tráfego. As filas podem possuir uma quantidade específica de banda e níveis diferentes de descarte. O switch possui duas filas de entrada O switch possui quatro filas de saída
Cenário de Estudo 1: Fa0/5-6 Fa0/7-8 Fa0/5-6 Fa0/7-8 2950-1 10.0.0.2 Usuário Dados Usuário VoIP Usuário Dados Usuário VoIP Fa0/5-6 Fa0/7-8 Fa0/5-6 Fa0/7-8 2950-1 10.0.0.2 2950-2 10.0.0.3 SWITCH EDGE Gi0/1 Gi0/1 Trunk dados Trunk dados VLAN 1 Gi1/0/21 Gi1/0/23 3750-1 10.0.01 SWITCH CORE Gi1/0/5-6 Gi1/0/7-8 Usuário Dados Usuário Dados
Configuração VLANs: 3750 Configuração VLAN 1 config terminal vlan 1 interface range Gi1/0/1 – 20 switchport mode access switchport access vlan 1 end
Configuração VLANs: 2950 Configuração VLAN 1 config terminal vlan 1 interface range Fa0/1 – 24 switchport mode access switchport access vlan 1 end
Configuração dos Trunks: 3750 configure terminal interface Gi1/0/21 switchport trunk allowed vlan add all exit interface Gi1/0/23 end
Configuração dos Trunks: 2950 configure terminal interface Gi0/1 switchport trunk allowed vlan add all end
Configurações Switches de Borda: Switches de Núcleo Efetuam o policiamento vindo das portas de VoIP e dados Fazem a marcação do tráfego de VoIP em AF11 e dados em AF21 Priorizam o tráfego de VoIP sobre o tráfego de dados nas interfaces Trunk Switches de Núcleo Policiam o tráfego agregado do Switch 1
Habilitar QoS: 3750 (Configuração Default) configure terminal mls qos end show mls qos
(critério de classificação) Criando ACL Policies Políticas definem os critério que permitem classificar, marcar e policiar o tráfego em uma interface Access-List Classe (critério de classificação) ... Policy Access-List Ação de Marcação Policiamento Interface
PASSO 1: Configurando as Listas de Acesso e Classes A classificação dos pacotes pode ser feita em: Camada 3: IP de origem/destino, DSCP, TOS Camada 2: MAC de origem/destino, Ethertype Exemplos de listas de acesso: access-list 10 permit 10.1.2.0 0.0.0.255 Qualquer ip de origem que comece com 10.1.2 access-list 20 permit ip any any dscp 32 Qualquer origem para qualquer destino com dscp 32 access-list 30 permit 0001.0000.0001 0.0.0 0002.0000.0001 0.0.0 De um MAC de origem espeçífico para um MAC de destino específico Exemplos de classe class-map classeTodos match access-group 20 máscaras
Exercício 1: Crie as seguintes classes no switch de borda Essa classe aceita qualquer tipo de tráfego que entre pela interface, para qualquer destino de saída config terminal access-list 10 permit any class-map cmVoIP match access-group 10 end Essa classe aceita qualquer tipo de tráfego que entre pela interface, para qualquer destino de saída. Ela reutiliza a lista de acesso criada no passo anterior. class-map cmDados Verfique a configuração show access-list show class-map
Exercício 1: Crie as seguintes classes no switch de core Essa classe aceita qualquer tipo de tráfego que entre pela interface, para qualquer destino de saída marcados como AF41 config terminal class-map cmVoIP match ip dscp af41 end Essa classe aceita qualquer tipo de tráfego que entre pela interface, para qualquer destino de saída marcados como AF21 class-map cmDados match ip dscp af21 Verfique a configuração show class-map
PASSO 2: Criando as Policies As políticas permite executar ações de policiamento e/ou marcação de tráfego. policy-map nome_da_politica class nome_da_classe trust [cos | dscp | ip-precedence] ou set {dscp novo_dscp | ip precedence novo_tos} police rate-bps burst-byte [exceed-action {drop | policed-dscp-transmit}]
Policiamento Modelo Token Bucket Permite adequar o tráfego em torno de uma taxa média, com rajadas de intensidade controlada. d <= b/p r saída (bytes/s) p t r bytes/s R b bytes reserva chegada Serviço Garantido se r <= R saída R p bytes/s B
Parâmetros Regra: seja T o tráfego total pelo fluxo num período T: r - taxa média em bytes/s b - tamanho do bucket (em bytes) p - taxa de pico m - tamanho mínimo do pacote (pacotes menores que esse valor são contados como m bytes) M - MTU (tamanho máximo do pacote) Regra: seja T o tráfego total pelo fluxo num período T: T < rT + b
Exercício 2 Configuração dos Switches de Borda Policia o tráfego de VoIP em 1Mbps com DSCP AF11 config terminal policy-map pmVoIP class cmVoIP set ip dscp af41 police 1000000 4096 exceed-action dscp af31 end Policia o tráfego de Dados em 10Mbps com DSCP AF21 set ip dscp af21 police 10000000 8192 exceed-action dscp af41
Exercício 2 Configuração dos Switches de Core config terminal policy-map pmAgregado class cmVoIP trust dscp police 10000000 8192 exceed-action drop exit Class cmDados police 100000000 8192 exceed-action drop end
Classificação TOS, DSCP, CoS ou UnTrust Trust COS Trust DSCP Trust ToS Não Confia sem tag com tag Aplique o Mapa IP Prcedence-to-DSCP Testa as Politicas da Porta COS Default da Porta Use o COS do Frame Use DSCP Não achou politica Achou politica Aplica o DSCP ou CoS da política Aplique o Mapa CoS-to-DSCP Aplica DSCP 0 Aplique o Mapa CoS-to-DSCP
Configuração Default O valor de CoS default é 0. O valor 0 é atribuido a todas as portas O valor default da porta é não confiar. Nenhum policy-map é configurado. Nenhum policer é configurado
Configurando o modo de classificação (trust mode) configure terminal interface interface-id mls qos trust [cos | dscp | ip-precedence] end show mls qos interface
Configurando o valor default do CoS para uma porta configure terminal interface interface-id mls qos cos {default-cos | override} Override (coloca a porta em modo trust CoS e remarca os quadros tageados end show mls qos interface
Mapeamentos Default config term mls qos map cos-dscp 10 15 20 25 30 35 40 45 end show mls qos maps cos-dscp Cos-dscp map: cos: 0 1 2 3 4 5 6 7 -------------------------------- dscp: 10 15 20 25 30 35 40 45
Passo 3: Mapeando a Política a uma Porta Para mapear a política a uma porta interface interface-id service-policy input policy-map-name Para verificar a configuração show policy-map [policy-map-name [class class-map-name]]
Exercício 3 Configuração do Switch de Borda Configuração das portas de VoIP: configure terminal interface range Fa0/5-6 service-policy input pmVoIP end Configuração das portas de Dados: interface range Fa0/7-8 service-policy input pmDados
Exercício 3 Configuração do Switch de Core Configuração das portas de VoIP: configure terminal interface Gi1/0/21 service-policy input pmAgregado exit interface Gi1/0/23 end
Fluxo de Tráfego no Switch Duas Filas de Entrada (Ingress Queues) Quatro Filas de Saída (Egress Queues)
Descarte Ponderado WTD: as filas utilizam um algoritmo de descarte ponderado, baseado na classificação dos quadros: Novos quadros com Cos 4-5 são descartados quando a fila atinge 60% da taxa de ocupação
SRR – Shaped Round Robin Controla a taxa no qual os quadros são retirados das filas De entrada para o stack ring De saída para a porta do switch SRR pode ser configurado como: shared ou shaped Porta de saída Shared Porta de entrada
SRR Shared Garante um mínimo de banda para cada fila (em porcentagem) mas permite uma maior utilização caso as outras filas estejam ociosas. Shaped Cada fila de saída possui uma quantidade de banda limitada Mesmo que a banda de outras filas não esteja sendo utilizada, a banda de uma fila nunca é excedida.
Tratamento dos quadros na entrada Duas filas de entradas são suportadas. As filas de entrada podem ser colocadas em modo Normal ou Expedite O modo Expedite tem banda garantida.
Configuração Default para as Filas de Entrada
Configuração da Fila de Entrada 3750 Quais pacotes são associados a qual fila (por DSCP ou COS)? Qual a porcentagem de descarte em cada fila, e qual CoS, DSCP são mapeados a cada threshold? Qual a porcentagem de buffer alocada a cada fila? Quanto de banda é alocada a cada fila? Existe algum tráfego (como VoIP) que precise ser tratado com alta prioridade?
Escolhendo a Fila de Entrada 3750 configure terminal mls qos srr-queue queue queue-id dscp1...dscp8 or mls qos srr-queue queue queue-id cos1...cos8 mls qos srr-queue input threshold queue-id threshold-percentage1 threshold-percentage2 end show mls qos maps
Exemplo Mapear pacotes com dscp de 0 a 3 na fila 1, com threshold 2 (70%) e de 4 a 6 na fila 1 com threshold 1 (50%) mls qos srr-queue input dscp-map queue 1 threshold 1 0 1 2 3 mls qos srr-queue input dscp-map queue 1 threshold 2 4 5 6 mls qos srr-queue input threshold 1 50 70
Exemplo Nos switches de core Verifique a configuração de mapeamento Coloque o tráfego VoIP na fila 1 com nível de descarte de 40% e excesso em 20% Coloque o tráfego Dados na fila 2 com nível de descarte de 100% e excesso em 50% Verifique a configuração de mapeamento show mls qos maps
Comandos para mostrar a configuração de QoS
Alocando o Buffer para as Filas configure terminal mls qos srr-queue input buffers percentage1 percentage2 end show mls qos interface buffer or show mls qos input-queue Exemplo mls qos srr-queue input buffers 60 40
Exemplo Nos switches de borda e core: Coloque 30% de buffer para VoiP e 70% de buffer para dados
Definindo a quantidade de banda para cada fila configure terminal mls qos srr-queue input priority-queue queue-id bandwidth weight mls qos srr-queue input weight1 weight2 end show mls qos interface queueing or show mls qos input-queue
Exemplos Não garante banda para nenhuma fila, e divide a banda remanescente em 25% e 75% mls qos srr-queue input priority-queue 2 bandwidth 0 mls qos srr-queue input bandwidth 25 75 Garante 10% de banda para fila 1 e divide o restante da banda igualmente entre as duas filas mls qos srr-queue input priority-queue 1 bandwidth 10 mls qos srr-queue input bandwidth 4 4 Show mls qos interface statistics
Exemplos No switch de core: Garanta 20% da banda para tráfego de VoIP e divida o restante da banda entre as duas filas.
Tratamento dos quadros na saída Quatro filas de saída são suportadas. A fila 1 pode ser configurada como Expedite queue
Configuração Default para as Filas de Saída
Mapeamento Default para as Filas de Saída
Configuração das Filas de Saída Quais pacotes (CoS ou DSCP) são enviados para quais filas de saída? Quais as porcentagens de descarte aplicado a cada uma das filas de saída, e quanto de memória é reservado para cada tipo de tráfego? Quanto de buffer é alocado para as filas de saída? A banda da porta de saída é limitada? Quão a freqüência em que as filas de saída são servidas e com qual técnica (shaped, shared, ou ambas)?
Buffer e Theshold de Descarte configure terminal mls qos queue-set output qset-id buffers allocation1 ... Allocation4 OBS. qset-id 1 ou 2 Alocation é a porcentagem de memória em cada fila mls qos queue-set output qset-id threshold queue-id drop-threshold1 drop-threshold2 reserved-threshold maximum-threshold Drop-threshold são os níveis de descarte WTD Reserved é a porcentagem de memória reservada utilizada Maximum-threshold é a possibilidade de usar mais memória que o reservado
Buffer e Theshold de Descarte interface interface-id queue-set qset-id end show mls qos interface [interface-id] buffers
Exemplo: config term mls qos queue-set output 2 buffers 40 20 20 20 mls qos queue-set output 2 threshold 2 40 60 100 200 interface Gi1/0/1 queue-set 2 end
Mapear o DSCP/COS as filas de saída e aos níveis de threshold configure terminal mls qos srr-queue output dscp-map queue queue-id threshold threshold-id dscp1...dscp8 Queue-id: de 1 a 4 Threshold-id: de 1 a 3. O nível 3 é pré-definido, e corresponde a capacidade máxima da fila or mls qos srr-queue output cos-map queue queue-id threshold threshold-id cos1...cos8 end show mls qos maps
Exemplo mls qos srr-queue output dscp-map queue 1 threshold 2 10 11
Configurando Modo Shaped configure terminal interface interface-id srr-queue bandwidth shape weight1 weight2 weight3 weight4 Peso 0 coloca a fila correspondente em modo shared end show mls qos interface interface-id queueing
Exemplo interface Gi1/0/1 srr-queue bandwidth shape 8 0 0 0
Configurando Modo Shared configure terminal interface interface-id srr-queue bandwidth share weight1 weight2 weight3 weight4 end show mls qos interface interface-id queueing
Exemplo interface gigabitethernet2/0/1 srr-queue bandwidth share 1 2 3 4 A fila 4 tem 4X a banda da fila 1, 2X a banda da final 2 e 4/3 da banda da fila 3.
Expedite Queue configure terminal mls qos interface interface-id priority-queue out A fila 1 se torna prioritária end show running-config
Exemplo config term interface gigabitethernet1/0/1 srr-queue bandwidth shape 25 0 0 0 srr-queue bandwidth share 30 20 25 25 priority-queue out end OBS. A configuração da fila 1 é ignorada
Limitando a Banda na Interface de Saída configure terminal interface interface-id srr-queue bandwidth limit weight1 Porcentagem da porta a ser limitada. Valores de 10 a 90 end show mls qos interface [interface-id] queueing
Exemplo config term interface gigabitethernet2/0/1 srr-queue bandwidth limit 80 end
Cenário de Estudo 2 Internet SWITCH EDGE SWITCH EDGE SWITCHE CORE Usuário VoIP Usuário Dados Fa0/2 Fa0/3 Fa0/1 2950-1 10.0.0.2 2950-2 10.0.0.3 Fa0/1 Fa0/1 SWITCH EDGE SWITCH EDGE Gi1/0/1 Gi1/0/15 3750-1 10.0.01 SWITCHE CORE
Exercício Planeje as regras de configuração para restringir: UPLOAD de dados e voz: Do usuário para Internet DOWNLOAD de dados e voz Da Internet para os Usuários Use as mesmas regras elaboradas no cenário 1
QoS – Switches Ethernet Anexos
Criando ACLs em Camada 3 Exemplos: configure terminal access-list número {deny | permit} origem [máscara] ou access-list número {deny | permit} protocolo origem [máscara] destino [máscara] end show access-lists Exemplos: access-list 1 permit 10.1.2.0 0.0.0.255 access-list 1 permit ip any any dscp 32 access-list 1 permit ip host 10.1.1.1 host 10.1.1.2 precedence 5 ! (Note: all other access implicitly denied)
Criando ACLs em Camada 2 configure terminal mac access-list extended name {permit | deny} {host src-MAC-addr mask | any | host dst-MAC-addr | dst-MAC-addr mask} [type mask] end show access-lists Exemplo: mac access-list extended maclist1 permit 0001.0000.0001 0.0.0 0002.0000.0001 0.0.0 permit 0001.0000.0002 0.0.0 0002.0000.0002 0.0.0 xns-idp ! (Note: all other access implicitly denied)
Agrupando Access-Lists em classes match {access-group ip dscp dscp-list | ip precedence ip-precedence-list} Exemplo 1: access-list 103 permit any any dscp 10 class-map class1 match access-group 103 End Exemplo 2: class-map class2 match ip dscp 10 11 12 Exemplo 3: class-map class3 match ip precedence 5 6 7 end
Exemplo 1 Switch(config)# access-list 1 permit 10.1.0.0 0.0.255.255 Switch(config)# class-map ipclass1 Switch(config-cmap)# match access-group 1 Switch(config-cmap)# exit Switch(config)# policy-map flow1t Switch(config-pmap)# class ipclass1 Switch(config-pmap-c)# trust dscp
Exemplo 1 (cont) Switch(config-pmap-c)# police 1000000 8000 exceed-action policed-dscp-transmit Switch(config-pmap-c)# exit Switch(config-pmap)# exit Switch(config)# interface gigabitethernet2/0/1 Switch(config-if)# service-policy input flow1t
Exemplo 2 Switch(config)# mac access-list extended maclist1 Switch(config-ext-mac)# permit 0001.0000.0001 0.0.0 0002.0000.0001 0.0.0 Switch(config-ext-mac)# exit Switch(config)# mac access-list extended maclist2 Switch(config-ext-mac)# permit 0001.0000.0003 0.0.0 0002.0000.0003 0.0.0 Switch(config)# class-map macclass1 Switch(config-cmap)# match access-group maclist1 Switch(config-cmap)# exit Switch(config)# policy-map macpolicy1
Exemplo 2 (cont) Switch(config-pmap)# class macclass1 Switch(config-pmap-c)# set dscp 63 Switch(config-pmap-c)# exit Switch(config-pmap)# class macclass2 maclist2 Switch(config-pmap-c)# set dscp 45 Switch(config-pmap)# exit Switch(config)# interface gigabitethernet1/0/1 Switch(config-if)# mls qos trust cos Switch(config-if)# service-policy input macpolicy1