Chinaunix首页 | 论坛 | 博客
  • 博客访问: 189265
  • 博文数量: 71
  • 博客积分: 2990
  • 博客等级: 少校
  • 技术积分: 705
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-29 14:04
文章分类

全部博文(71)

文章存档

2011年(1)

2009年(1)

2007年(6)

2006年(42)

2005年(21)

我的朋友

分类: 系统运维

2005-03-29 14:04:58

题记:
    对于数据链路层,我认为,只要知道以太网的封装格式和PPP的封装格式,就可以了。
    而在以太网的封装格式中,虽然主要有2种格式。但我认为只需对RFC894支持的这种格式进行了解就可以了,因为这种格式目前应用最广。另外一种,如果以后用到,再看好了。
    SLIP也是数据链路层一个很重要的协议。但是鉴于现在用的不多,可以先忽略,以后再看。或者不求甚解的看。
    点对点链路中,目前应用最广的时PPP,所以对其应该具有一定的了解。另外,毕竟点对点链路和以太网,是不同的。
    最后,知道一下环回,MTU,那么,数据链路层算初步接触完毕。


============================================

综述:

链路层位于物理层和网络层之间,目的是:
(1).为IP模块,发送和接收IP数据报;
(2).为ARP模块,发送ARP请求和接收ARP应答;
(3).为RARP模块,发送RARP请求和接收RARP应答

ARP模块IP层(IP模块)RARP模块
数据链路层
物理层

            
TCP/IP中,链路层协议很多。这主要取决于网络所使用的硬件。
如:以太网、令牌环网、FDDI、串行线路等

============================================


以太网:
当今TCP/IP所采用的主要局域网技术。采用CSMA/CD的媒体接入方式。
以太网上,数据包封装格式:

目的地址mac 源地址mac 类型数据CRC

上表中:
目的mac地址和源mac地址均占用6bytes,为机器地址
类型占用2bytes。
数据位,当其为0800,后面数据为IP数据报;0806为ARP请求/应答;8035为RARP请求/应答。
CRC为循环冗余检查码。
============================================

SLIP:
为在串行线路上对IP数据报进行封装的简单形式。
一般家庭所使用的拨号上网(调制解调器),就是用这种线路的。

帧格式(所传送的,就只是一段IP数据报):
1)IP数据报以END(0xc0,一个特殊字符)结束。数据报开始时,有时也会传个END。这样做,是为了消噪,只取2个END中间的有意义报文,避免得到无意义的报文;
2)若报文中,含有END字符,那么而后要连续传输2个字节(0xdb和0xdc),表示前面的END不是数据报结束标志,而是一个字符而已;
3)若报文中,含有ESC字符,那么而后要连续传输2个字节(0xdb和0xdd)。

SLIP的缺陷:
1)交换数据的2台机器,必须事先知道对方的IP。因为所传送的数据帧,不包含IP地址信息;
2)数据帧中没有类型字段(即无法同时传送IP数据报、ARP报、RARP报等)如果一条串行线路用于SLIP,那么它不能同时使用其他协议;
3)SLIP在数据帧中没有加检验和(CRC),因此报文中的错误只能由上层协议来发现。

因为SLIP的速率非常低,传送中的首部浪费也非常严重,所以提出新协议CSLIP(压缩SLIP)。


============================================

PPP:
由于SLIP协议存在许多缺陷,所以提出PPP
PPP包括:
1)在串行线路上封装IP数据报的方法;
2)建立、配置、测试数据链路的LCP协议(链路控制协议),这允许通信双方进行协商,以确定不同选项;
3)针对不同网络层协议的NCP协议体系(网络控制协议体系)

PPP数据帧格式:

标志地址控制协议      信息  CRC标志

标志:1byte,每个数据帧都以0x7e的标志开始和结束
地址:1byte,始终为0xff
控制:1byte,0x03
协议:当值为0x0021,表示信息是一个IP数据报;0xc021为链路控制数据;0x8021为网络控制数据
CRC:循环冗余检验码

PPP中,若数据报(信息段)中出现特殊字符,需要对特殊字符进行转义,实现过程如下:
1)当遇到0x7e时,而后要连续传输2个字符,0x7d和0x5e
2)当遇到0x7d时,而后要连续传输2个字节,0x7d和0x5d
3)默认情况下,如果字符值小于0x20,一般要进行转义。
转义的作用是,为了防止将这些特殊字符解释成特殊含义。

PPP比SLIP具有的有点:
1)PPP支持在单根串行线路上运行多种协议,不只是IP协议
2)有CRC检验
3)通信双方可以进行IP地址的动态协商(使用IP网络控制协议)
4)对TCP和IP报文首部进行压缩
5)链路控制协议可以对多个数据链路选项进行设置
代价:1)每一帧的首部增加3个字节
      2)当建立链路时要发送几帧,是协商数据
============================================

环回接口:
就是localhost,本地接口,一般情况下,其IP地址为127.0.0.1

环回接口的用处就是,为了使本机的数据能传给自己(传给环回接口,就能达到目的)。
例如:运行在同一台主机上的客户程序和服务器程序,进行通信,就使用了环回接口。

所以可以想象,传送给环回接口的数据,可以免去将数据传送到网络上,改为直接在应用程序间进行通信。
但是,大多数产品,还是将传给环回接口的数据,传送给传输层和网络层,然后再离开网络层的时候,返回给自己。(数据报不会到链路层)     

关键点:
1)传给环回接口的任何数据均当作是IP输入
2)传给广播或多播地址的数据,会复制一份传给环回接口
3)任何传送给该主机IP地址的数据(外部进入的数据),均被送到环回接口


============================================

MTU(最大传输单元):
在各种不同的物理网络中,为了能让数据帧的交互传送更有效率,会对每一个数据帧的长度有一个限制,这个就是MTU
例如:以太网(一个帧最大长度:1500 bytes),FDDI(4352 bytes)等
MTU只是规定上的,是一个逻辑限制。

当同一网络上的主机互相通信时,该网络的MTU时非常重要的。
当多个网络上的主机互相通信时,取网络路径中最小的MTU(路径MTU)


============================================

TO BE CONTINUED

阅读(910) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇: 第三章 IP:网际协议

给主人留下些什么吧!~~