TCP/IP详解卷一读书笔记-第二章链路层

2.1引言


由上图可以看出,链路层的主要有三个目的:

  1. 为IP模块发送和接收IP数据报
  2. 为ARP模块发送ARP请求和接受ARP应答
  3. 为RARP发送RARP请求和接受RARP应答。

2.2以太网和IEEE802封装

以太网是当今TCP/IP采用的主要的局域网技术。速率为10Mb/s,地址为48bit。

ARP和RARP协议对32bit的IP地址和48bit的硬件地址进行映射。

有两个标准集RFC894,RFC1042。

以太网IP数据报的封装常采用RFC894定义的格式。


CRC字段用于帧内后续字节差错的循环冗余码检验(检验和)

对于以太网帧长度最少为46字节,不足插入填充(pad)字节。

2.3 SLIP 与 CSLIP

SLIP(串行线路IP)全称为Serial Line IP,是一种在串行线路上对IP数据报进行封装的简单形式。

SLIP定义的帧格式:

  1. IP数据报首尾加上END(0xc0)的特殊字符
  2. 将IP数据报中的END(0xc0)(若存在)替换为0xdb(SLIP的ESC字符)和0xdc两个字节。
  3. 将IP数据报中的SLIP的ESC(0xdb)替换为0Xdb和0xdd两个字节。

SLIP缺陷:

  1. 无法传送本端的IP地址,因此两端均需知道对方的IP地址。
  2. 数据帧中没有类型字段,无法标识协议类型。
  3. 数据帧中没有检验和,只能依靠上层协议对错误数据进行纠正。

CSLIP(压缩的SLIP):将SLIP上TCP分组的20字节IP首部和20字节TCP首部压缩到3或5个字节,是CSLIP能在每一端维持16个TCP连接。

2.4 PPP:点对点协议

PPP包括三个部分:

  1. 串行链路上对IP数据报封装的方法。PPP既支持数据为8位和无奇偶检验的异步模式,还支持面向比特的同步链接。
  2. 建立、配置及测试数据链路的链路控制协议(LCP:Link Control Protocol)。允许通信双方进行协商,确定不同选项。
  3. 针对不同网络层协议的网络控制协议(NCP: Network Control Protocol)体系。


根据帧中的协议字段确定是哪个协议的数据。

CRC为一个循环冗余检验码。

PPP与SLIP常用于低速的串行链路。

PPP相对SLIP的优点:

  1. PPP支持在单根串行线路运行多种协议(不只是IP协议)
  2. 每一帧均有循环冗余检验
  3. 通信双方可以进行IP地址动态协商(通过IP网络控制协议)
  4. 对TCP和IP报文首部进行压缩(类似CSLIP)
  5. 链路控制协议可以对多个数据选项进行设置。代价是每一帧的首部增加3个字节,建立链路时发送几帧协商数据,以及更复杂的实现。

2.5环回接口

环回接口(Loopback Interface)允许在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信。

A类网络号127为环回接口预留,大多数系统把IP地址127.0.0.1分配给这个接口,并命名为localhost。

一个传给环回接口的IP数据报不能在任何网络上出现。

一般情况下,一旦传输层检测到目的端地址是环回地址时,应该可以省略部分传输层和所有网络层的逻辑操作。但是大多数的产品还是照样完成传输层和网络层的所有过程,只是当IP数据报离开网络层时把它返回给自己。

环回接口处理IP数据报的简单过程:


图中需要注意的地方:

  1. 传给换回地址(一般是127.0.01)的任何数据均作为IP输入。
  2. 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。(广播、多播包含主机本身)
  3. 任何传给该主机IP地址的数据均送到环回接口。
  4. 任何传给主机本身IP地址的IP数据报一般不出现在相应的网络上。

2.6 最大传输单元MTU

以太网(和802.3)对数据帧的长度均有一个限制,为1500(1492)字节,这个特性称为MTU,最大传输单元。

若IP层有数据报要传送,但数据的长度比链路层的MTU要大,则IP层需要对数据进行分片。

点对点的链路层(SLIP PPP)的MTU是一个逻辑限制,目的是为了提供足够快的响应时间。

查看以太网的MTU:

Windows:netstat -e -v

Linux: netstat -i

2.7 路径MTU

两台通信主机路径中的最小MTU为路径MTU。

路径MTU不一定为常数,取决于选择的路由。选路不一定对称,因此路径MTU在两个方向上不一定是一致的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值