- 引言
数据链路层是TCP/IP中的最底层,负责帮助ARP和IP协议发送数据和将收到的数据传送给这两个协议。
数据链路层与局域网类型:
TCP/IP支持数据链路层有多种实现,最常见的是以太网,其次还有令牌环网,令牌环总线网,PPPOE(点对点链接),SLIP串行接口以及会换网络loopback。
一个网络中,如果数据链路层是以太网,那么该网络就是以太网网,其他网络是一样的。
1.以太网
以太网采用CSMA/CD协议实现,在1982年出现
2.令牌环网,令牌环总线网
令牌环网,令牌环总线网使用TokingRing协议实现。
- 以太网
以太网出现几年后,I E E E(电子电气工程师协会) 8 0 2委员会发布了一种类似以太网的TCP/IP链路层实现方式,和以太网一样,也是采用CSMA/CD协议实现实现,但是封装后的数据贞格式和以太网稍有不同。
令牌环网、令牌环总线网
令牌环和令牌环总线网络的数据贞在IEEE 802中有定义,和以太网数据贞很像。PPP点对点网络
SLIP串行IP网络
回环网络
回了让计算机能够通过TCP/IP和自身通信,几乎所有的计算机系统都支持回环网络。也正因为回环网络的存在,socket的客户端和服务器才可以在同一个机器上。
1.只要目标IP是当前计算机,通信就会进入回环网络链路层,而不会进入以太网链路层,也不会发生ARP请求。
2.如果是广播或者多播,请求同时发给回环链路和以太网链路层。
- MTU
MTU是Maximum Transmission Unit 的简写,TCP/IP的链路层都有一个MTU,
以太网和IEEE 802是规定死的,点到点的链路层(SLIP 和PPP)是根据实际情况计算出来的。
如果IP层的数据大于当前计算机的MTU,那么就要IP层就需要将数据分层一组一组的数据,每组的最大是MTU,然后将数据传送给数据链路层。IP层将数据切割的过程叫做分片,每一组数组叫做分组。
- 路径MTU
MTU有3种情况,每种情况都有对应的计算机通信方式:
1.本机MTU,当计算机给自身发送数据的时候,就受到这个的限制
2.局域网路径MTU,如果是局域网内的两台计算机通信,就需要路由器进行转发,这时候决定传输速度的不只是通信计算机之间的MTU,还包括路由器的MTU,路由器MTU是路由器性能的重要参数。
3.广域网路径MTU,如果通信的计算机处在不同的网络,数据传输过就要经过两个网络各自的网关(路由器),还有就是外网的各个路由器,这时候的MTU就不是固定的,因为IP选路的路径是不固定的。
总之,增大计算机和路由器的MTU对数据传输速度是有好处的,但是不能无限增大,因为那样会耗掉大部分的内存。而且传输的时候,最小MTU是最重要的。
动手:
使用netstat命令可以查看MTU
netstat -i