以太网知识小结

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。该协议簇通常分为四层。
1.应用层: Message
2. 传输层: Message+源端口+目的端口
3. 网络层: Message+源端口+目的端口+源IP地址+目的IP地址,IP 是地址,有定位功能,网与网的通 讯,在逻辑上唯一标识一台电脑
4. 数据链路层:Message+源端口+目的端口+源IP地址+目的IP地址+源MAC 地址+目的MAC地址,MAC 是身份证,无定位功能,在物理上唯一标识一台电脑。

二.几个重要概念。
1.mac地址
所有数据包要发送必须经过网卡(从一个网卡到另一个网卡,网卡也称为网络适配器),而网卡会有一个地址,即mac地址。每块网卡的mac地址在出厂之前是唯一的,通过某些软件是可以修改的。以太网在二层是以mac地址来唯一标识网络设备的。mac地址烧录在网卡的 ROM中。 MAC地址是48位,前24位是有OUI(组织唯一标识符),后24位是有供应商自己分配。 局域网上帧可以通过三种方式发送:单播、组播、广播 单播和组播的区别在于mac地址的第8位,若是0,则是单播帧;若是1,则是组播帧。
一块网卡是怎么知道另一块网卡的mac地址的呢?这里使用到了arp协议。以太网数据包必须知道接收方的mac地址,数据包才能发送,以太网在二层是以mac地址来唯一标识网络设备的。mac地址烧录在网卡的 ROM中。MAC地址是48位,前24位是有OUI(组织唯一标识符),后24位是有供应商自己分配。局域网上帧可以通过三种方式发送:单播、组播、广播单播和组播的区别在于mac地址的第8位,若是0,则是单播帧;若是1,则是组播帧。

2.ARP(地址解析协议
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址 (mac地址) 的一个TCP/IP协议。注意arp是数据链路层协议还不是网络层协议,即没有ip头所以不能用ip头过滤而只能用eth头过滤;可使用ipconfig /all查看自己网卡mac地址。

工作过程:
主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;
当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:
第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了
注意:ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址–>MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。每一个以太网或令牌环网络适配器都有自己单独的表。当地址解析协议被询问一个已知IP地址节点的MAC地址时,先在ARP缓存中查看,若存在,就直接返回与之对应的MAC地址,若不存在,才发送ARP请求向局域网查询。
3, Ping命令的作用和原理
简单来说,「ping」是用来探测本机与网络中另一主机之间是否可达的命令,如果两台主机之间ping不通,则表明这两台主机不能建立起连接。ping是定位网络通不通的一个重要手段。ping 命令是基于 ICMP 协议来工作的,「 ICMP 」全称为 Internet 控制报文协议( Internet Control Message Protocol)。ping 命令会发送一份ICMP回显请求报文给目标主机,并等待目标主机返回ICMP回显应答。因为ICMP协议会要求目标主机在收到消息之后,必须返回ICMP应答消息给源主机,如果源主机在一定时间内收到了目标主机的应答,则表明两台主机之间网络是可达的。
举一个例子来描述「ping」命令的工作过程:
假设有两个主机,主机A(192.168.0.1)和主机B(192.168.0.2),现在我们要监测主机A和主机B之间网络是否可达,那么我们在主机A上输入命令:ping 192.168.0.2
此时,ping命令会在主机A上构建一个 ICMP的请求数据包(数据包里的内容后面再详述),然后 ICMP协议会将这个数据包以及目标IP(192.168.0.2)等信息一同交给IP层协议。
IP层协议得到这些信息后,将源地址(即本机IP)、目标地址(即目标IP:192.168.0.2)、再加上一些其它的控制信息,构建成一个IP数据包。
IP数据包构建完成后,还不够,还需要加上MAC地址,因此,还需要通过ARP映射表找出目标IP所对应的MAC地址。当拿到了目标主机的MAC地址和本机MAC后,一并交给数据链路层,组装成一个数据帧,依据以太网的介质访问规则,将它们传送出出去。
当主机B收到这个数据帧之后,会首先检查它的目标MAC地址是不是本机,如果是就接收下来处理,接收之后会检查这个数据帧,将数据帧中的IP数据包取出来,交给本机的IP层协议,然后IP层协议检查完之后,再将ICMP数据包取出来交给ICMP协议处理,当这一步也处理完成之后,就会构建一个ICMP应答数据包,回发给主机A
在一定的时间内,如果主机A收到了应答包,则说明它与主机B之间网络可达,如果没有收到,则说明网络不可达。除了监测是否可达以外,还可以利用应答时间和发起时间之间的差值,计算出数据包的延迟耗时。
通过ping的流程可以发现,ICMP协议是这个过程的基础,是非常重要的,因此下面就把ICMP协议再详细解释一下

三.网卡工作在TCP/IP协议的第几层 ?板子通过以太网口往pc端发数据,单播模式,目的ip跟电脑ip不一致,wireshark也能捕获发到pc端的数据包,有高手解释一下吗? wireshark捕获的是网卡数据,而网卡工作网络ip层,ip地址都不匹配,怎么会捕获到呢
提问者的问题是网卡在TCP/IP协议的第几层.而你却说OSI模型.你把TCP/IP和OSI都没弄清楚,基于Internet的模型有很多,TCP/IP分为4层.而OSI分为7层. 网卡在TCP/IP的第二层,也就是IP层. 很多人认为网卡会在第一层也就是物理层,也可以叫接口层,第二层为IP层,第三层为传输层,第四层为应用层。
如果精确的说,网卡的位置当然应该算物理层,但网卡是PC与Internet网云连接的通道,因而,IP层也存在并且网卡最重要的也出现在IP层,因此,如果单一的说,网卡在TCP/IP的第二层比较正确。它同时也可以说是物理层与IP层的桥梁

以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结
以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结
以太网知识小结
以太网知识小结

以太网知识小结

以太网知识小结
以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结

以太网知识小结
以太网知识小结
以太网知识小结
以太网知识小结

arp详解链接 :https://www.jianshu.com/p/e3a0f972ca4d