TCP/IP详解(协议)笔记2——链路层

来源:互联网 发布:知柏地黄丸补肾吗 编辑:程序博客网 时间:2024/06/09 17:09

1、链路层的三个作用

(1)为IP模块发送和接收IP数据;

(2)为ARP模块发送ARP请求和接收ARP应答;

(3)为RARP模块发送RARP请求和接收RARP应答;

这里我们主要介绍以太网链路层协议、两个串行接口链路层协议(SLIP和PPP)和环回(loopback)驱动程序。

2、以太网协议

以太网是一个标准,它是当今TCP/IP采用的主要的局域网技术。它采用CSMA/CD(带冲突检测的载波侦听多路接入)技术。主机需求RFC要求每台Internet

主机都与一个10Mb/s的以太网电缆相连接:

(1)必须能发送和接收采用RFC894(以太网)封装格式的分组;

(2)应该能接收与RFC 894混合的RFC 1042(IEEE 802)封装格式的分组;

(3)也许能够发送采用RFC 1042格式封装的分组;

可见最长用的封装格式是RFC 894定义的格式。这两种帧格式都采用6个字节的目的地址和源地址,这个地址就是我们一般所说的硬件地址。ARP(地址解析协议)和RARP(逆地址解析协议)对4个字节的IP地址和6个字节的硬件地址进行映射。这两种帧的最后面还有4个字节的CRC(循环冗余检验)。

3、SLIP(串行线路IP)与压缩的SLIP

SLIP适用于RS-232串行端口和高速调制解调器接入Internet。

SLIP帧格式描述:

(1)IP数据报以END(0xc0)的特殊字符结束,同时现在大多数的数据报在开始处也传一个END字符,用于正确传输。

(2)如果IP报文中某个字符为END,那么就要连续传输两个字节0xdb和0xdc来取代它,0xdb被称作SLIP的ESC字符。

(3)当IP报文中某个字符为SLIP的ESC字符时,就要连续传输两个字符0xdb和0xdd来取代它。

SLIP的一些缺陷:

(1)每一端必须知道对方的IP地址。没有办法把本端的IP地址通知给另一端。

(2)数据帧中没有类型字段,如果一条串行线路用于SLIP,那么它不能同时使用其他协议。

(2)SLIP没有在数据帧中加入检验和,因此错误只能通过上层协议来发现。

CSLIP(压缩SLIP):

CSLIP能把20个字节的IP首部和20个字节的TCP首部压缩到3或5个字节,它能在CSLIP的每一端维持多达16个TCP连接,并且知道其中每个连接的首部中

的某些字段一般不会发生变化。

4、点对点协议(PPP)

点对点协议修改了SLIP协议中所有的缺陷,PPP相对于SLIP具有以下优点:

(1)PPP支持在单根串行线路上运行多种协议,不只是IP协议;

(2)每一帧都有循环冗余检验;

(3)通信双方可以进行IP地址的动态协商(使用IP网络控制协议);

(4)与CSLIP相似,对TCP和IP报文首部进行压缩;

(5)链路控制协议可以对多个数据链路选项进行设置;


5 、环回接口

环回接口允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信。根据惯例,大多数系统把IP地址127.0.0.1(127.开头的IP地址都可以)

分配给这个端口,并命名为localhost,一个传给环回接口的IP数据报不能在任何网络上出现。环回接口处理IP数据报示意图如图1所示:


图1 环回接口IP数据报处理

这里有几个关键点说明一下:

(1)传给环回地址的任何数据均作为IP输入;

(2)传给广播地址或多播地址的数据复制一份传给环回接口,然后送到以太网上;

(3)任何传送给该主机IP地址的数据均送回环回接口;

6 、最大传输单元MTU与路径MTU

最大传输单元MTU:

以太网和802.3对数据帧的长度都有一个限制,其最大值分别为1500和1492字节,链路层的这个特性称为MTU。以以太网为例:MTU指的是封装的数据的

长度,不包括目的地址、源地址和类型这6+6+2=14个字节的内容,也不包括CSC。

路径MTU:

当两台主机之间的通信要通过多个网络时,那么每个网络的链路层就可能有不同的MTU,此时重要的不是两台主机所在的MTU值,而是两台通信主机路

径中的最小MTU,它被称为路径MTU。





0 0
原创粉丝点击