Estou confuso quanto à diferença entre o tamanho máximo do segmento e uma unidade máxima de transmissão.
Alguém pode explicar em relação às camadas 2 e 3?
Se eu tivesse um pacote de 800 bytes na carga útil. Seria correto dizer que o MSS seria de 800 bytes (se eu definir isso) e o MTU seria de 840? TCP 20 e IP 20 bytes. Seria diferente se eu estivesse usando PPPoE?
Respostas:
Além do que, além do mais. O valor MSS deriva do valor MTU , se você tiver um pacote de 800 bytes, também pode dizer que esse pacote tinha originalmente 2260 bytes de comprimento e ele dividiu em 2 pacotes 1460 + 800 bytes, se usarmos MTU = 1500.
Você say é true, se você MSS = 800, o MTU deve ser pelo menos 840. Como a sobrecarga do PPPoE é de 8 bytes e, portanto, MTU = 1492 bytes e MSS = 1492-40 = 1452 bytes.
fonte
A MTU é o tamanho máximo do pacote IP para um determinado link. Pacotes maiores que o MTU são fragmentados no ponto em que o MTU inferior é encontrado e remontado mais abaixo na cadeia.
Se nenhuma fragmentação for desejada, você deverá verificar a MTU em cada salto ou usar um protocolo auxiliar para isso ( Path MTU Discovery ).
Observe que o IPv6 NÃO suporta fragmentação de pacotes pelos roteadores; portanto, o PMTUD com ICMPv6 é obrigatório se você não quiser perder um pacote em algum lugar por causa da pequena MTU. Os pontos de extremidade podem fragmentar, mas não os roteadores. Além disso, o IPv6 possui uma MTU MÍNIMA muito mais alta.
MSS é o tamanho máximo do segmento TCP. Ao contrário do MTU, os pacotes que excedem os MSS não são fragmentados, são simplesmente descartados. O MSS normalmente é decidido no handshake de três vias do TCP, mas algumas configurações podem gerar um caminho em que o MSS decidido ainda é muito grande, levando à queda de pacotes. O MSS não é pacote negociado por pacote, mas para uma sessão TCP completa, nem leva em consideração os cabeçalhos TCP / IP
Ao usar o PPPoE, toda a sobrecarga significa que você precisa reduzir o MSS no caminho, normalmente especificando-o no roteador onde o ponto de estrangulamento é encontrado, que substituirá o MSS de passar o handshake de três vias pelo valor mais baixo correto, se for maior. O PPPoE está simplesmente adicionando 8 bytes (PPP6 de 6 bytes + PPP de 2 bytes) em cima de tudo (IP + TCP) e deve ser executado na Ethernet a 1500 bytes MTU, daí o MSS 1492 normalmente configurado para fazê-lo passar.
Sua pilha de IP cortará os dados a serem enviados para o MSS, os colocará em um segmento TCP e em um ou mais pacotes IP (dependendo se for maior que as configurações locais da MTU) antes de enviá-los. O roteador intermediário pode reduzi-lo ainda mais se eles tiverem MTU mais baixo, mas estão afetando apenas o próprio pacote IP, não sendo reproduzido no segmento / cabeçalho TCP.
fonte
MTU é o tamanho máximo do pacote IP de um determinado link. MSS é o tamanho máximo do segmento TCP.
O MTU é usado para fragmentação, ou seja, pacotes maiores que MTU são fragmentados. Mas no caso de MSS, pacotes maiores que MSS são descartados.
O MSS é especificado durante o handshake TCP basicamente em SYN e seu valor não pode ser alterado depois que a conexão é estabelecida.
MSS = MTU-40 (cabeçalho IP (20 bytes) + cabeçalho TCP (20 bytes))
fonte