1. 链路层的目的:
1.1 为IP模块发送IP数据报和接收IP数据报;
1.2 为ARP模块发送ARP请求和接收ARP应答
1.3为RARP模块发送RARP请求和接收RARP应答
2.以太网(主要局域网技术,CSMA/CD(带冲突检测的载波侦听多路接入)速率10Mb/s,地址48bit )
3.IEEE 802(820.3针对整个CSMA/CD,802.4针对令牌总线网络,802.5针对令牌环网络),802网络共有的逻辑链路控制(LLC)
以太网封装的理解:目的地址(48bit)--源地址(48bit)------类型(16bit;0800IP数据报;0806ARP请求/应答;8035RARP请求/应答)---数据(46~1500字节)------CRC(32bit)
4.尾部封装(trailer encapsulation;RFC 893;以太网的封装格式)
5.SLIP:串行线路IP(Serial Line IP)
5.1SLIP协议定义的帧格式:(1)IP数据报以一个称作END的特殊字符结束。(2)如果IP报文中某个字符为END,那麽就需要输入两个0xdb和0xdc来取代。(3)如果IP报文中某个字符为SLIP的ESC字符,就需要传输两个字节0xdb和0xdd来取代它。(则在串行线路上传输的总字节数是原IP报文长度再加连续添加的字节数)
5.2缺点:(1)每一端必须知道对方的IP地址,没有办法将本端的IP地址传送给另一端;(2)数据帧中没有类型字段;(3)SLIP没有在数据帧上加上检验和(类似于以太网上的CRC字段)
6.CSLIP:(压缩的串行线路IP):将40个字节压缩到3或者5个字节。能在CSIP的每一端维持多达16个TCP连接,并且知道其中每个连接的首部中的某些字段一般不会发生变化。
7.PPP:点对点协议
7.1包括:(1)在串行链路上封装了IP数据报的方法
(2)建立、配置及测试数据链路的链路控制协议(LCP:Link Control Protocol)
(3)针对不同网络层协议的网络控制协议(NCP:Network Control Protocol)
7.2 PPP数据帧的格式:
每一帧都是以标志位0x7e开始和结束,紧接着是一个地址字符值为0xff,然后是0x03的控制字节。
协议字段中0X0021(表示信息字段是一个IP数据报),值为0xc021(信息字段是链路控制数据);值为0x8021时,表示信息字段是网络控制数据。
CRC字段(帧检验序列)是一个循环冗余检验码,以检测数据帧中的错误。
标志字符0x7e,当该字符出现在信息字段时,PPP需要对它进行转义(遇到字符0x7e 时,需要连续传送两个字符:0x7d和0x5e,以实现标志字符的转义)。
:
PPP的优点:(1)PPP支持在单根串行线路上运行多种协议,不只是IP协议;
(2)每一帧都有循环冗余检验
(3)通信双方可以进行IP地址的动态协商(使用IP网络控制协议)
(4)与CSLIP类似,对TCP和IP报文首部进行压缩;
(5)链路控制协议可以对多个数据链路选项进行设置
代价:每一帧的首部增加3个字节。
8.环回接口(Loopback Interface):IP 地址:127.0.0.1,命名为localhost,传给环回接口的IP数据报不能在任何网络上出现
关键点:(1)传给环回地址(127.0.0.1)的任何数据均作为IP输入
(2)传给广播地址或者多播地址的数据复制一份传给环回接口,然后送到以太网上。、
(3)任何传给该主机IP地址的数据均送到环回接口
(4)环回接口可以被看作网络层下面的另一个链路层,网络层把数据报传送给了环回接口,就像传给其他链路层一样,只不过环回接口把它返回到IP的输入队列中。
(5)送给主机本身IP地址的IP数据报一般不应该出现在相应的网络上。
9.最大传输单元MTU:以太网数据帧的长度最大值是1500字节,802.3数据帧的长度最大是1492字节。链路层这个特性为MTU。
(1)当IP层数据报的数据长度大于链路层的MTU,那麽IP层需要进行分片(fragmentation)
(2)?????MTU并非指的是网络媒体的物理特性,而是一个逻辑限制,目的是为交互使用提供足够快的响应时间。将这个数值计算出来。?????
(3)netstat打印出网络接口的MTU
10.路经MTU:当两台主机之间的通信需要通过多个网络,每个网络的链路层就可能有不同的MTU,重要的不是两台主机所在网络的MTU的值,重要的是两台通信主机路径中最小的MTU。
11.串行线路吞吐量计算:?????
12.netstat的使用:用于显示与IP 、TCP、UDP和ICMP相关的统计数据,一般用于检验本机各端口的网络连接情况
netstat -s :按照各个协议分别显示其统计数据。
netstat -e :显示以太网的统计数据(包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量)
netstat -r: 显示路由表的信息,类似于route print 命令看到的信息。除了显示有效地路由外,还显示当前有效地连接
netstat -a:显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接
netstat -n : 显示所有已建立的有效连接。