Escolar Documentos
Profissional Documentos
Cultura Documentos
Av. Sen. Salgado Filho, 1559, Natal/RN, 59015-000. Fone/FAX (084) 4005-2637 E-mail: dietinf@ifrn.edu.br - Site: http://www.ifrn.edu.br/dietinf Curso: - Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas - Superior de Tecnologia em Redes de Computadores Disciplina: - Algoritmos e Tcnicas de Programao - Introduo Programao Professor: Fabiano Papaiz
O tamanho do cabealho ocupa 20 bytes e a rea dos dados deve possuir no mximo 65.534 bytes. Quando um fragmento criado ele recebe um nmero de identificao (ID), este nmero ser utilizado para identificar todos os fragmentos que pertenam a um mesmo datagrama. O campo flag identifica se o fragmento o ltimo a ser transmitido (0) ou no (1). O campo deslocamento (offset) indica a poro de dados enviado neste fragmento em relao ao datagrama original. Todos os fragmentos possuem o cabealho igual ao do datagrama original (de 20 bytes).
Veja abaixo um exemplo de fragmentao de um datagrama de 4000 bytes para um MTU de 1500 bytes. Este exemplo foi gerado pelo aplicativo disponvel no site: http://media.pearsoncmg.com/aw/aw_kurose_network_2/applets/ip/ipfragmentation.html:
ID: gerado automaticamente pelo programa Flag: ser 0 (zero) somente no ltimo fragmento, nos demais ser sempre 1. rea de dados: ser o tamanho da MTU subtrado de 20 bytes (referentes ao cabealho). O valor obtido representa o tamanho mximo de dados transmitidos em cada fragmento. No exemplo acima, a MTU 1500 e, calculando a rea de dados mxima, chegamos a 1480 (150020). Perceba que no ltimo fragmento foi necessrio transmitir apenas os ltimos 1020 bytes restantes (e no 1480). Offset: deve-se primeiro calcular seu valor atravs da frmula (TAM_AREA_DADOS/8). O valor obtido dever ser utilizado para calcular o offset de cada fragmento, atravs da frmula: [VALOR_OFFSET * (NUMERO_FRAGMENTO 1)]. No exemplo, o valor obtido foi 185 (1480/8), dai calcula-se o offset de cada fragmento. Desenvolva um programa em C++ que represente, atravs de uma estrutura de dados
(registro), os fragmentos do datagrama IP e realize o processo de fragmentao conforme especificado. Dados de Entrada:
Tamanho do datagrama com valor maior que 30 e menor que 2 16 - 1 (65.535) bytes, j incluindo os 20 bytes do cabealho; MTU da rede.