研二
TCPIP协议 链路层
链路层完成的功能是1)封装和拆封IP数据报;2)支持ARP功能;3)支持RARP功能
TCPIP协议族支持多种链路层协议,不同协议是为不同硬件设备定义的。
本章讲了链路层数据报的两种协议的数据包报格式(以太网RFC894和802委员会RFC1042);PPP、SLIP两种链路层协议的数据报格式;最大传输单元MTU三块内容。
以太网和802.3标准提出的链路层协议的数据报长度均为6+6+2+46~1500+4 = 64 ~ 1518字节长度,如果IP数据长度不够则需要进行填充。
设备默认支持的均为以太网协议的数据报文,但802.3标准要求的数据报格式一般也被市面上的设备支持。
这两种数据包的内容分别包含:目的地址、源地址、长度(以太网)/ 类型(802.3)、IP数据、CRC校验。
802.3标准增加了对LLC什么的支持,但我怎么觉得这几部分是写死的?
类型字段中,0x08 0x00表示普通IP数据;0x08 0x06表示ARP请求,包含28字节的请求和10字节填充;0x80 0x35表示RARP请求,包含28字节请求和10字节填充。
SLIP和PPP为链路层的另外两种协议,是为支持串口通信设计的。PPP协议又为SLIP协议的一个升级版本。
SLIP协议的数据包只有开头和结尾的两个0x0c字符用于表示数据包的开始和结束;
PPP协议又额外添加了CRC校验,数据类型,源地址和目的地址。
环回接口是为目的IP地址为127.0.0.1的IP报文服务的,环回数据在网络层下面和链路层上面的中间部分进行判断,一旦检测到是环回数据则把该数据返回给本机(localhost),这样数据不会在网络上出现。
最大传输单元MTU是不同协议针对不同的硬件情况设计的最大传输单元的长度,因此理论上越快的链路上的MTU值会越大,比如光纤链路层的MTU为4352字节,大于使用双绞线的以太网的1500字节。
makefile的运行
看到第9章了,-t -d -B -s -k的运行选项是比较有用的。明天把第十章隐式规则看了。