认识以太网
-
" 以太网 " 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等;
-
例如以太网中的网线必须使用双绞线;传输速率有 10M , 100M , 1000M 等;
-
以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线 LAN 等;
以太网帧格式
-
源地址和目的地址是指网卡的硬件地址(也叫 MAC 地址),长度是 48 位,是在网卡出厂时固化的;
-
帧协议类型字段有三种值,分别对应 IP 、 ARP 、 RARP ;
-
帧末尾是CRC校验码。
认识MTU
MTU
相当于发快递时对包裹尺寸的限制。这个限制是不同的数据链路对应的物理层,产生的限制。
MTU对IP协议的影响
由于数据链路层
MTU
的限制,对于较大的
IP
数据包要进行分包。

MTU对UDP协议的影响
让我们回顾一下
UDP
协议:

MTU对于TCP协议的影响
让我们再回顾一下
TCP
协议:

ARP协议
虽然我们在这里介绍
ARP
协议,但是需要强调,
ARP
不是一个单纯的数据链路层的协议,而是一个介于数据链路层和网络层之间的协议;
ARP协议的作用
ARP
协议建立了主机
IP
地址 和
MAC
地址 的映射关系。
-
在网络通讯时,源主机的应用程序知道目的主机的 IP 地址和端口号,却不知道目的主机的硬件地址
-
数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃
-
因此在通讯前必须获得目的主机的硬件地址;
ARP协议的工作流程

-
源主机发出 ARP 请求,询问 “IP 地址是 192.168.0.1 的主机的硬件地址是多少 ” ,并将这个请求广播到本地网段(以太网帧首部的硬件地址填 FF:FF:FF:FF:FF:FF 表示广播);
-
目的主机接收到广播的 ARP 请求,发现其中的 IP 地址与本机相符,则发送一个 ARP 应答数据包给源主机,将自己的硬件地址填写在应答包中;
-
每台主机都维护一个 ARP 缓存表,可以用 arp -a 命令查看。缓存表中的表项有过期时间(一般为 20 分钟),如果 20 分钟内没有再次使用某个表项,则该表项失效,下次还要发 ARP 请求来获得目的主机的硬件地址