32 votos

Intrigante problema de conexión en OS X

Recientemente he tenido este problema con mi conexión a Internet en mi MacBook Pro Early 2011 con OS X 10.8.3: de vez en cuando la conexión se "congela" durante unos 5 segundos y luego vuelve.

Sucede que tanto por Wi-Fi como por cable Ethernet y sólo le ocurre a mi máquina cuando está ejecutando OS X (no ocurre cuando se ejecuta Windows 7 en la misma máquina, o en cualquier otra máquina/dispositivo). Hace que Skype pierda llamadas cada 2 minutos más o menos, así que es muy frustrante.

El ping a Google.com tiene el siguiente aspecto cuando se ejecuta OS X (hay cientos de paquetes que vuelven en menos de 100ms (con unos pocos en el rango de 130), luego una caída de varios segundos) :

64 bytes from 173.194.34.196: icmp_seq=694 ttl=48 time=71.463 ms
64 bytes from 173.194.34.196: icmp_seq=695 ttl=48 time=68.362 ms
64 bytes from 173.194.34.196: icmp_seq=696 ttl=48 time=69.056 ms
64 bytes from 173.194.34.196: icmp_seq=697 ttl=48 time=92.563 ms
64 bytes from 173.194.34.196: icmp_seq=698 ttl=48 time=130.814 ms
64 bytes from 173.194.34.196: icmp_seq=699 ttl=48 time=71.054 ms
64 bytes from 173.194.34.196: icmp_seq=700 ttl=48 time=73.588 ms
64 bytes from 173.194.34.196: icmp_seq=701 ttl=48 time=71.185 ms
64 bytes from 173.194.34.196: icmp_seq=702 ttl=48 time=72.161 ms
64 bytes from 173.194.34.196: icmp_seq=703 ttl=48 time=69.163 ms
64 bytes from 173.194.34.196: icmp_seq=704 ttl=48 time=73.425 ms
64 bytes from 173.194.34.196: icmp_seq=705 ttl=48 time=141.980 ms
64 bytes from 173.194.34.196: icmp_seq=706 ttl=48 time=226.818 ms
64 bytes from 173.194.34.196: icmp_seq=707 ttl=48 time=210.087 ms
Request timeout for icmp_seq 708
Request timeout for icmp_seq 709
Request timeout for icmp_seq 710
Request timeout for icmp_seq 711
Request timeout for icmp_seq 712
64 bytes from 173.194.34.196: icmp_seq=713 ttl=48 time=73.582 ms
64 bytes from 173.194.34.196: icmp_seq=714 ttl=48 time=70.994 ms
64 bytes from 173.194.34.196: icmp_seq=715 ttl=48 time=72.502 ms
64 bytes from 173.194.34.196: icmp_seq=716 ttl=48 time=70.467 ms
64 bytes from 173.194.34.196: icmp_seq=717 ttl=48 time=68.470 ms
64 bytes from 173.194.34.196: icmp_seq=718 ttl=48 time=70.767 ms
64 bytes from 173.194.34.196: icmp_seq=719 ttl=48 time=69.078 ms

Nota: la MAC Wi-Fi de mi máquina es 68:a8:6d:29:cf:8a (IP estática 192.168.1.250) y su dirección Ethernet es 3c:07:54:5a:e0:44 (IP estática 192.168.1.251). La IP LAN del router es 192.168.1.1 y su IP WAN es 85.61.155.224.

En la siguiente captura de pantalla se puede ver, durante una llamada de Skype:

  • ping 192.168.1.1 en la parte superior izquierda.
  • ping 85.61.155.224 en la parte inferior izquierda.
  • ping google.com en la parte inferior derecha.
  • el arp -an y arp -ad comandos ejecutados.

Cuando ejecuté el arp -ad en un momento en que se perdió la conexión, la lista no mostraba ninguna dirección. Se veía así:

Miguels-MacBook-Pro:~ Ai$ sudo arp -ad
192.168.1.1 (192.168.1.1) deleted
192.168.1.4 (192.168.1.4) deleted
192.168.1.255 (192.168.1.255) deleted
Miguels-MacBook-Pro:~ Ai$ arp -an
Miguels-MacBook-Pro:~ Ai$

No tengo conocimientos suficientes para seguir las instrucciones de mike sobre cómo obtener y compilar la fuente del mtr comando.

screenshot of the operations

Así es como se ven las cosas cuando es peor:

screenshot of the worst situation

Corriendo netstat -s da:

Miguels-MacBook-Pro:mtr-0.84 Ai$ NETSTAT -s
tcp:
    18246745 packets sent
        1119644 data packets (502840461 bytes)
        43704 data packets (23125605 bytes) retransmitted
        1 resend initiated by MTU discovery
        11219994 ack-only packets (80633 delayed)
        0 URG only packets
        10 window probe packets
        5446529 window update packets
        419140 control packets
        0 data packets sent after flow control
    25777361 packets received
        1284807 acks (for 502390806 bytes)
        222223 duplicate acks
        2 acks for unsent data
        21993647 packets (3385435972 bytes) received in-sequence
        85441 completely duplicate packets (85927570 bytes)
        189 old duplicate packets
        6141 packets with some dup. data (1633845 bytes duped)
        2225930 out-of-order packets (3047304289 bytes)
        2 packets (0 bytes) of data after window
        0 window probes
        7324 window update packets
        63837 packets received after close
        56 bad resets
        9 discarded for bad checksums
        0 discarded for bad header offset fields
        0 discarded because packet too short
    200907 connection requests
    118631 connection accepts
    110736 bad connection attempts
    1273 listen queue overflows
    220132 connections established (including accepts)
    335687 connections closed (including 10893 drops)
        4086 connections updated cached RTT on close
        4086 connections updated cached RTT variance on close
        1485 connections updated cached ssthresh on close
    44620 embryonic connections dropped
    1178835 segments updated rtt (of 1308648 attempts)
    76481 retransmit timeouts
        189 connections dropped by rexmit timeout
        0 connections dropped after retransmitting FIN
    17 persist timeouts
        0 connections dropped by persist timeout
    2015 keepalive timeouts
        1 keepalive probe sent
        1409 connections dropped by keepalive
    127007 correct ACK header predictions
    21519356 correct data packet header predictions
    5021 SACK recovery episodes
    5638 segment rexmits in SACK recovery episodes
    6044752 byte rexmits in SACK recovery episodes
    33658 SACK options (SACK blocks) received
    2125185 SACK options (SACK blocks) sent
    0 SACK scoreboard overflow
udp:
    28584263 datagrams received
    0 with incomplete header
    0 with bad data length field
    84 with bad checksum
    4216 dropped due to no socket
    239052 broadcast/multicast datagrams dropped due to no socket
    729188 dropped due to full socket buffers
    0 not for hashed pcb
    27611723 delivered
    28323341 datagrams output
ip:
    61548853 total packets received
    4 bad header checksums
    0 with size smaller than minimum
    0 with data size < data length
    0 with ip length > max ip packet size
    0 with header length < data size
    0 with data length < header length
    0 with bad options
    0 with incorrect version number
    103276 fragments received
    0 fragments dropped (dup or out of space)
    0 fragments dropped after timeout
    51420 packets reassembled ok
    61383903 packets for this host
    32 packets for unknown/unsupported protocol
    0 packets forwarded (0 packets fast forwarded)
    105 packets not forwardable
    112953 packets received for unknown multicast group
    0 redirects sent
    53953058 packets sent from this host
    155 packets sent with fabricated ip header
    0 output packets dropped due to no bufs, etc.
    3748 output packets discarded due to no route
    0 output datagrams fragmented
    0 fragments created
    0 datagrams that can't be fragmented
    0 tunneling packets that can't find gif
    3 datagrams with bad address in header
    0 packets dropped due to no bufs for control data
icmp:
    4216 calls to icmp_error
    0 errors not generated 'cuz old message was icmp
    Output histogram:
        echo reply: 202
        destination unreachable: 4216
    0 messages with bad code fields
    0 messages < minimum length
    168 bad checksums
    0 messages with bad length
    0 multicast echo requests ignored
    0 multicast timestamp requests ignored
    Input histogram:
        echo reply: 7013069
        destination unreachable: 14133
        echo: 202
        time exceeded: 289
    202 message responses generated
    ICMP address mask responses are disabled
igmp:
    0 messages received
    0 messages received with too few bytes
    0 messages received with wrong TTL
    0 messages received with bad checksum
    0 V1/V2 membership queries received
    0 V3 membership queries received
    0 membership queries received with invalid field(s)
    0 general queries received
    0 group queries received
    0 group-source queries received
    0 group-source queries dropped
    0 membership reports received
    0 membership reports received with invalid field(s)
    0 membership reports received for groups to which we belong
    0 V3 reports received without Router Alert
    16 membership reports sent
ipsec:
    0 inbound packets processed successfully
    0 inbound packets violated process security policy
    0 inbound packets with no SA available
    0 invalid inbound packets
    0 inbound packets failed due to insufficient memory
    0 inbound packets failed getting SPI
    0 inbound packets failed on AH replay check
    0 inbound packets failed on ESP replay check
    0 inbound packets considered authentic
    0 inbound packets failed on authentication
    0 outbound packets processed successfully
    0 outbound packets violated process security policy
    0 outbound packets with no SA available
    0 invalid outbound packets
    0 outbound packets failed due to insufficient memory
    0 outbound packets with no route
ip6:
    151513 total packets received
    0 with size smaller than minimum
    0 with data size < data length
    0 with bad options
    0 with incorrect version number
    0 fragments received
    0 fragments dropped (dup or out of space)
    0 fragments dropped after timeout
    0 fragments that exceeded limit
    0 packets reassembled ok
    5555 packets for this host
    0 packets forwarded
    145711 packets not forwardable
    0 redirects sent
    2608 packets sent from this host
    0 packets sent with fabricated ip header
    0 output packets dropped due to no bufs, etc.
    4578 output packets discarded due to no route
    23 output datagrams fragmented
    46 fragments created
    0 datagrams that can't be fragmented
    0 packets that violated scope rules
    145711 multicast packets which we don't join
    Input histogram:
        hop by hop: 2327
        TCP: 244
        UDP: 142524
        ICMP6: 6416
    Mbuf statistics:
        244 one mbuf
        two or more mbuf:
            lo0= 2215
        149054 one ext mbuf
        0 two or more ext mbuf
    0 packets whose headers are not continuous
    0 tunneling packets that can't find gif
    0 packets discarded due to too may headers
    0 failures of source address selection
    0 forward cache hit
    0 forward cache miss
    0 packets dropped due to no bufs for control data
icmp6:
    0 calls to icmp_error
    0 errors not generated because old message was icmp error or so
    0 errors not generated because rate limitation
    Output histogram:
        router solicitation: 50
        neighbor solicitation: 19
        neighbor advertisement: 19
        MLDv2 listener report: 59
    0 messages with bad code fields
    0 messages < minimum length
    0 bad checksums
    0 messages with bad length
    Input histogram:
        neighbor advertisement: 245
    Histogram of error messages to be generated:
        0 no route
        0 administratively prohibited
        0 beyond scope
        0 address unreachable
        0 port unreachable
        0 packet too big
        0 time exceed transit
        0 time exceed reassembly
        0 erroneous header field
        0 unrecognized next header
        0 unrecognized option
        0 redirect
        0 unknown
    0 message responses generated
    0 messages with too many ND options
    0 messages with bad ND options
    0 bad neighbor solicitation messages
    0 bad neighbor advertisement messages
    0 bad router solicitation messages
    0 bad router advertisement messages
    0 bad redirect messages
    0 path MTU changes
ipsec6:
    0 inbound packets processed successfully
    0 inbound packets violated process security policy
    0 inbound packets with no SA available
    0 invalid inbound packets
    0 inbound packets failed due to insufficient memory
    0 inbound packets failed getting SPI
    0 inbound packets failed on AH replay check
    0 inbound packets failed on ESP replay check
    0 inbound packets considered authentic
    0 inbound packets failed on authentication
    0 outbound packets processed successfully
    0 outbound packets violated process security policy
    0 outbound packets with no SA available
    0 invalid outbound packets
    0 outbound packets failed due to insufficient memory
    0 outbound packets with no route
rip6:
    0 messages received
    0 checksum calcurations on inbound
    0 messages with bad checksum
    0 messages dropped due to no socket
    0 multicast messages dropped due to no socket
    0 messages dropped due to full socket buffers
    0 delivered
    0 datagrams output
pfkey:
    0 requests sent to userland
    0 bytes sent to userland
    0 messages with invalid length field
    0 messages with invalid version field
    0 messages with invalid message type field
    0 messages too short
    0 messages with memory allocation failure
    0 messages with duplicate extension
    0 messages with invalid extension type
    0 messages with invalid sa type
    0 messages with invalid address extension
    0 requests sent from userland
    0 bytes sent from userland
    0 messages toward single socket
    0 messages toward all sockets
    0 messages toward registered sockets
    0 messages with memory allocation failure

Corriendo netstat -I en1 da:

Miguels-MacBook-Pro-2:mtr-0.84 Ai$ netstat -I en1
Name  Mtu   Network       Address            Ipkts Ierrs    Opkts Oerrs  Coll
en1   1500  <Link#5>    68:a8:6d:29:cf:8a 72539835     0 63847581     0     0
en1   1500  fe80::6aa8: fe80:5::6aa8:6dff 72539835     - 63847581     -     -
en1   1500  192.168.1     192.168.1.250   72539835     - 63847581     -     -

Corriendo ifconfig -a da:

Miguels-MacBook-Pro-2:mtr-0.84 Ai$ ifconfig -a
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
    inet6 ::1 prefixlen 128 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 3c:07:54:5a:e0:44 
    media: autoselect (none)
    status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 68:a8:6d:29:cf:8a 
    inet6 fe80::6aa8:6dff:fe29:cf8a%en1 prefixlen 64 scopeid 0x5 
    inet 192.168.1.250 netmask 0xffffff00 broadcast 192.168.1.255
    media: autoselect
    status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 0a:a8:6d:29:cf:8a 
    media: autoselect
    status: inactive
fw0: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 4078
    lladdr a4:b1:97:ff:fe:ec:f0:80 
    media: autoselect <full-duplex>
    status: inactive

Lo que pienso:

  • No es un problema de Wi-Fi porque también ocurre por cable.
  • No es un problema de router/ISP porque otros dispositivos y máquinas no tienen ningún problema.
  • No es un problema de la máquina porque sólo ocurre cuando se ejecuta OS X.
  • Por lo tanto, debe ser un problema de OS X.

Lo que he probado:

  • Reiniciar, apagar.
  • Enciende y apaga la AirPort, diferentes cables Ethernet.
  • Permisos de reparación.
  • Reinicia la PRAM.
  • Borra todas las cachés del sistema y del usuario con Onyx.

Una nota extraña: Por alguna extraña razón el problema parece empeorar cuando se produce una llamada de skype.

Agradecería ideas sobre cómo enfocar esta cuestión.

13voto

user36155 Puntos 36

Cuando sus conexiones empiezan a perder tiempo, ¿puede hacer arp -an en Terminal.app y ver si todavía tiene todas las direcciones MAC en la tabla ARP? como en - la dirección MAC de su router, o el host que está tratando de hacer ping?

Si lo haces (y tienes tiempo antes de que empiece a funcionar de nuevo), ¿puedes vaciar la tabla arp ( sudo arp -ad ) y luego ver si la dirección MAC de su router aparece en la tabla ARP de nuevo?

Además, intenta ejecutar un ping a la dirección IP de la LAN de tu enrutador en una sesión de Terminal, y quizás un ping a la dirección IP de la WAN de tu enrutador en otra mientras estás en Skype. Fíjate si todos los pings empiezan a fallar o sólo uno de ellos. Una herramienta más que encuentro útil es mtr - es posible que tenga que obtener el código fuente y compilarlo usted mismo o utilizar fink / macports u otro gestor de paquetes. Cuando lo consigas, simplemente ejecútalo a un destino en algún lugar de Internet y te mostrará qué salto deja de responder.

Cómo instalar software de fuentes (como mtr) Requiere la instalación de Xcode :

  • descargar el archivo fuente (normalmente .tar.gz o .tar.bz2)
  • descomprimir el archivo descargado (por ejemplo, en Terminal.app ejecutar gzip -dc filename.tar.gz | tar -xvf - que normalmente creará un nuevo directorio en el directorio actual, y pondrá el contenido del archivo allí)
  • navegar a la carpeta obtenida en el terminal
  • ejecute ./configure --prefix=/usr/local (por favor, tenga en cuenta que me gusta instalar el software desde la fuente en /usr/local para mantenerlo alejado de los binarios instalados como parte del sistema; el --prefix=/usr/local para configurar hará precisamente eso)
  • ejecute make
  • ejecute sudo make install
  • ¡hecho!

6voto

Rich Puntos 2429

¿Podría comprobar primero que realmente está utilizando la interfaz de red debería:

ifconfig -a

¿Podría mirar la salida de los siguientes comandos (si en0 es el nombre de la interfaz de red de su tarjeta Ethernet):

netstat -I en0

Para ayudar a localizar el problema ¿podrías hacer una Localización específica sólo con su tarjeta Ethernet activada y, si es posible, sólo con IPv4 o IPv6 pero no ambos: Location with just Ethernet on

¿Podría ejecutar el siguiente extracto de posibles errores de hardware o controladores?

grep ' en[012]' /var/log/kernel.log

(no te asustes, puede que encuentres mucha información de los canales Wi-Fi).

El siguiente mensaje exhibido por su netstat:

44620 embryonic connections dropped

significa que en realidad es el objetivo de una tonta inundación tcp syn (que es un ataque de denegación de servicio (DOS)).

Cuando tu:

ping 192.168.1.1

estranguladores para 6s, podría correr:

netstat -m

4voto

mac Puntos 123

He tenido este problema durante mucho tiempo (comenzando después de una actualización a Mavericks) y, después de meses de investigación, creo que finalmente encontré una solución.

En primer lugar, hay un buen número de personas con el mismo problema en los foros de Apple:

Así que este es un problema conocido y realmente no sé por qué Apple no ha proporcionado todavía una solución para esto. En los hilos listados arriba, hay muchas sugerencias para arreglar esto, pero la mayoría de ellas no funcionaron. Algunas arreglan el problema temporalmente:

  • Desconectar y volver a conectar la red
  • El viejo amigo: el reinicio
  • Elimine la carpeta que contiene la configuración de la red: sudo rm -rf /Library/Preferences/SystemConfiguration

Después de estas medidas, la conexión de red se siente mucho mejor y no experimento caídas durante varias horas o a veces incluso días. Pero los problemas siempre vuelven.

Esta pregunta y los indicios de que el problema podría estar relacionado con el RAT me llevaron a empezar a investigar más a fondo y encontré esta página que describe el error en detalle y también contiene un parche, que cito aquí:

sudo su
touch /etc/sysctl.conf
echo net.link.ether.inet.arp_unicast_lim=0 >> /etc/sysctl.conf
chown root:wheel /etc/sysctl.conf
chmod 0644 /etc/sysctl.conf

Por favor, consulte el enlace proporcionado para una explicación en profundidad de la solución, que se supone que se incluye en una futura actualización del sistema operativo para Yosemite por Apple. Desactiva las solicitudes ARP de unidifusión, que causan confusión con algunos equipos de red como el router doméstico.

Después de aplicar la corrección y reiniciar, se debe comprobar si

sudo sysctl -a | grep net.link.ether.inet.arp_unicast_lim

devuelve net.link.ether.inet.arp_unicast_lim: 0 . Si el número no es igual a cero, la corrección no se ha aplicado correctamente.

Después, encontré otro hilo en las comunidades de la Apple que contiene la misma solución: ¡Mavericks y ARP fallido causando caídas en la red! Después de saber cuál es el problema, encontrar la solución correcta es mucho más fácil.

4voto

jrwren Puntos 183

En primer lugar, veo que Dropbox aparece en tu barra de menú; ¿ya lo has desactivado?

En segundo lugar, intente eliminar cualquier otro elemento de inicio o inicio de sesión. Busca en:

Inicie sesión:

  1. ~/Library/LaunchAgents/
  2. ~/Library/LaunchDaemons/
  3. Preferencias del Sistema > Usuarios y Grupos > Elementos de inicio de sesión

Puesta en marcha:

  1. /Biblioteca/LaunchAgents/
  2. /Librería/LaunchDaemons/
  3. /Biblioteca/Esquema de inicio/
  4. /Library/Preferences/com.apple.loginitems.plist (raramente existe)

2voto

Oskar Puntos 1242

Hay una gran cantidad de información aquí sobre la solución de problemas y el diagnóstico de las cosas, pero a veces cuando la solución de problemas es divertido volver a lo básico y cuestionar algunas suposiciones.

Como mencioné en un comentario, esto se parece mucho a un router QOS que se activa debido a que su máquina excede temporalmente algún límite de ancho de banda o tasa de paquetes.

¿Y si los patrones, volúmenes y cantidades de tráfico de red son diferentes en OS X que en Windows y esa es la verdadera causa, no los controladores de hardware o el software?

Esperaría que la ejecución de OS X esté correlacionada con tus observaciones, pero qué pasa si no es la causa de las pausas temporales de la red.

¿Has probado a investigar qué filtros QOS y cambios de enrutamiento, si los hay, aplica tu proveedor de red? ¿Ha considerado la posibilidad de tunelizar todo el tráfico a otro ordenador (ssh o VPN) para poder descartar los filtros triviales? (Si el proveedor está haciendo una inspección profunda de paquetes, o una limitación de la tasa de destino y verdadera - es posible que no pueda escapar de estos tiempos de espera cortos).

Espero que haya una respuesta que puedas encontrar mirando los detalles de la red (y todos aprenderemos algo explorando esas opciones), pero asegúrate de considerar también que tus herramientas de medición y el tráfico añadido para hacer ping / hurgar en las cosas podrían estar afectando los recuentos de tráfico y haciendo más probable que Skype se caiga para ti. Los enrutadores que configuré están programados para descartar el tráfico ICMP antes que el resto del tráfico, ya que cuando la capacidad es escasa, prefiero que el ping falle y que otros paquetes pasen. Es posible que tu ISP y tu proveedor de red hayan configurado las cosas de manera similar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X