Hot answers tagged

20

The first version of traceroute was written by Van Jacobson and it used ICMP but it didn't work very well. The vendor interpretation of ICMP in RFC792 was that routers should not send an ICMP error message in response to an ICMP packet (see edit notes below). Therefore most routers would not send a "time exceeded" message in response to an echo request with ...


14

Well technically fragmentation can happen in IPv6; This is the wikipedia article on it. This Juniper page is a bit old but it shows that you can clamp an MSS for TCP over IPv6 on Junos the same as you would in IPv4 using the same command, tcp mss. The same is shown in this article for Cisco IOS 15, using the traditional ip tcp adjust-mss command. So you ...


13

A host performs Duplicate Address Detection (DAD) before actually activating the given address on the interface RFC 2462 has to say about this: 5.4. Duplicate Address Detection Duplicate Address Detection is performed on unicast addresses prior to assigning them to an interface whose DupAddrDetectTransmits variable is greater than zero. ...


7

Key to answering your question is making a very important distinction: Duplicate Address Detection (DAD) and Multicast Listener Discovery (MLD) are completely separate protocols. Now, that said, I think this paragraph of RFC2710 explains the "duplicate" transmission: When a node starts listening to a multicast address on an interface, it should ...


6

The OSI model is a conceptual idea -- it doesn't relate to anything that people actually built. Moreover, IPv4 and IPv6 were developed without the OSI model in mind, so there is no direct correlation between them. Many IPv4 protocols don't really fit the model, and the same is true of IPv6. People spend endless hours debating at what layer a particular ...


5

First of all: In every "model" you will find some aspects that do not describe the reality correctly. This is true for "models" in computer science, financial theory, politics or any other field of science. As the word already says, the "OSI model" is a "model" so it does not describe the reality correctly in all ...


5

You wouldn't be looking for ARP entries with IPv6, since ARP doesn't exist with IPv6. You would be looking for IPv6 ICMP Neighbor Discovery cache. IPv6 MLD messages are used similarly to IPv4's IGMP for Multicast group membership management and also with Neighbor Discovery. If all these are coming from the same source MAC address then I'd start by ...


5

ICMP and ICMPv6 are two different protocols. For ICMPv6 checksum callulation see RFC2463 section 2.3 and the documents reffered there.


5

As far as I can read in the ICMP codes, there is no equivalent within ipv6. Below you can find a table showing all possible ICMPv6 codes.


4

It appears your network isn't running IPv6 -- no RAs are seen in the capture -- which may be a big part of the problem. Otherwise, it looks like the standard effects of a bunch of windows machines joining the network. Couple that with the simple fact that 99.999% of APs (wifi in general) don't handle multicast worth a damn, and you have the perfect recipe ...


4

From the tcpdump manual page: -X When parsing and printing, in addition to printing the headers of each packet, print the data of each packet (minus its link level header). So you're looking at the IPv6 header, which starts with 6. The header is 40 bytes long, so in your example you see only a portion of the IPv6 header and nothing of the payload. ...


3

I also want to answer my own question. The answer concerns particularly the two UPDATES which I appended to the initial question. I wondered what will happen if I try to send any NDP ICMPv6 message to a host outside my local network. This sounds like a security problem. So I found that the problem is solved in the following way in RFC-4861 [https://tools....


3

Thanks for Jens's help. After having look for RFC2463. I pre-append the following data for the pseudo header. unsigned short src_ip[8] = {0} //fill the source IP unsigned short dst_ip[8] = {0} //fill the destination IP //0x0020 is the packet length of ICMPv6 //fill 3bytes of zero and 0x3a is the type of ICMPv6, so we have //0x00, 0x003a unsigned short ...


3

When the higher order bits are 01, it is supposed to discard the packet and, regardless of whether or not the packet's Destination Address was a multicast address, send an ICMP Parameter Problem, Code 2, message to the packet's Source Address, pointing to the unrecognized Option Type. That is not what it says for the two high-order bits as 01: 01 ...


3

NDP belongs to the L3 network layer, it is an essential part of IPv6. Just like IPv6 it is encapsulated in L2 frames, so it uses - or operates on top of - the data link layer (most often Ethernet).


3

This is absolutely not the way to accomplish your goals. Only real routers should send out RAs and the switches should be set to block RAs from other sources. The end-devices should get their global addressing information through a real router or be statically configured, although they will generate their own link-local addresses using ND, and, if they ...


3

I think that this is a very bad idea. Only routers are supposed to send out RAs. Announcing Prefixes without routing them will break things.


3

The RA IPv6 packet will have the router address as the source IPv6 address. A host doesn't really need to know the router's IP address to send packets to other hosts. On a LAN, frames are sent to a layer-2 (MAC) address. The layer-3 IPv6 packet will have the destination host IPv6 address, not the router address. If a host is on a different LAN, the packet ...


3

Since there is no ARP in ipv6 you need the Neighbor Solicitation and Neighbor Advertisement messages to resolve IP to MAC addresses within the same subnet. If you are pinging PCs in the same subnet across switches, at some point in time the NS and NA messages were present. If you can't see them now its most probably because the MAC addresses have been ...


3

The most recent update on my question was, indeed, the solution. It seems we had a few bad installs of LAN School on some (maybe all) of the laptops, and as soon as we updated it to the newest released version the problem disappeared entirely. Any time we see ICMPv6 traffic, sure enough, there is another laptop without the most up to date version of the ...


2

There are definitely cases - usually involving IPv6-in-IPv4 tunnels at some point along the path - where even if PMTUD works correctly, MSS negotiation fails. In this case a TCP session may start correctly (since the SYN/ACK packets are small) but no data packets arrive (since those packets are too big for the tunnel). In this case MSS clamping at the far ...


2

With IPv6, routers don't fragment packets. End nodes might. Path MTU discovery (PMTUD) is mandatory for IPv6, so the all path nodes and the end nodes agree on the path MTU before actual data begins to flow. Fragmentation is only required when a datagram is to be transported that would exceed the path MTU - that is up to the source node entirely. ICMP is used ...


2

But everything that I've heard of Neighbor Discovery told me that IPv6 addresses for which MAC addresses are searched should be Link Local Unicast (starting with FE80::/10) rather than Global Unicast. That is incorrect. ND is used to get the link-layer address of any address on the same link. That can be a link-local, global, or unique-local address. A ...


2

RFC 8200 states that the "next header" field in IPv6 uses the same values as the "protocol" field in IPv4. However, RFC 4443 states: Every ICMPv6 message is preceded by an IPv6 header ... The ICMPv6 header is identified by a Next Header value of 58 ... And RFC 792 states: ICMP messages are sent using the basic IP header. ... Version 4 I ...


1

ICMPv4 is encapsulated in an IPv4 packet, and ICMPv6 in IPv6. There is no way an IPv4-only host would receive and parse an IPv6 packet (and vice versa).


1

First, NICs have no idea if they are used for IPv4, IPv6, IPX, or any other layer-3 protocol. Ethernet, and other IEEE LAN protocols, support multicast, which is heavily used in IPv6. MLD is something similar to IGMP, and the NICs are ignorant of these upper-layer protocols. NICs only understand the layer-1 communications for which they are manufactured. ...


1

A non-router shouldn't send RAs, but they can. If you say the lifetime to zero devices won't use it as a default gateway. The problem is advertising a single prefix by all your devices on all networks. Don't assume that users will only have one subnet and that users won't want to connect to your devices across different subnets. The best solution is to use ...


Only top voted, non community-wiki answers of a minimum length are eligible