`
白粥若水
  • 浏览: 103837 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

《TCP/IP详解》_卷一_链路层及其协议简述

阅读更多

链路层,有时也被称为数据链路层或网络接口层。它是TCP/IP协议族中四个分层中的最底层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。

 

功能和作用:为上层模块发送和接受数据,如:IP数据报,ARP应答,和RARP应答,其中最重要的是IP数据报。从总体上来看,链路层帮我们屏蔽了所有关于电缆(或其他任何传输媒介)的物理接口细节。因此,我们在传输数据的时候可以忽略网络使用的硬件:是以太网、令牌环网、或是FDDI(光光纤分布式数据接口)及RS-232串行线路等。

 

 

关于以太网:以太网不是实际上的一个网络,或者说不是一个由很多台主机构成的电缆网,这个术语一般是指数字设备公司(DEX)、英特尔公司、和Xerox公司在1982年联合公布的一个标准。它是当今TCP/IP采用的主要的局域网技术。因此,这里只介绍以太网链路层协议。

 

 

一、尾部封装

 

尾部封装是以一种早期的用于以太网的封装格式,它主要通过调整IP数据报中字段的次序来提高性能。现在,由于这种格式已遭到反对,因此,我们不讨论它的细节。若有对TCP/IP历史感兴趣的童鞋或是需要写这方面论文的童鞋,请参阅RFC 893。

 

 

 

二、SLIP:串行线路IP

 

串行线路IP,Serial Line IP,是一种在串行线路上对IP数据报进行封装的简单格式。

SLIP协议定义的帧格式十分简单:

1)在IP数据报的开泰和末尾添加一个称作END的特殊字符,这个字符的值是0xc0

2)若IP报文中摸个字符的值为END,即0xc0,那么就需要传输两个连续的字节0xdb和0xdc来代替之。0xdb这个特殊字符被称为SLIP的ESC字符,需要注意的是:它与ASCII码得ESC字符(0x1b)不同

3)若报文中出现了SLIP中的ESC字符,那么就要用二个连续的字符0xdb和0xdd来代替之

 

 

由上可知,SLIP的定义是十分简单的——3句话就能说明,还不简单? 简单的东西就容易实现,而且这个简单性又提高了调制解调器的速率和可靠性,因此,SLIP是一种被广泛使用的协议

 

但是,简单的另一种表达就是功能匮乏,以下是SLIP的值得一提的缺陷:

1)通信的一端必须知道对方的IP,而SLIP是没有办法将本机IP通知另一端的

2)我们看到,根据规则SLIP仅仅是在IP报的基础上添加了开始、结束标志,而没有类型字段的。因此,如果一条串行线路用于SLIP,那么它不能使用其他的协议。这大大降低了线路的复用度

3)SLIP上没有类似于TCP上面的检验和字段。因此当线路上传输的数据出错时,在链路层上是发现不了的。出错信息只能通过上层协议才能发现

 

 

 

 

三、CSLIP:压缩的SLIP

 

SLIP还有一个很大的缺陷,就是性能不高,传输速率较低。因此,为解决这个问题,人们改进了SLIP技术,这就是CSLIP。CSLIP一般能把IP和TCP首部攻40字节压缩成4到5个字节,大大缩短了交互应答时间,因此应用十分广泛。现在 的SLIP产品大多数采用的就是CSLIP技术。

 

 

 

 

四、PPP:点对点协议

 

PPP,点对点协议修改了SLIP协议中的所有缺陷。其数据帧的结构依次是:

1)1byte的标志字符

2)1byte 的地址字符

3)1byte 的控制字符

4)2byte 的协议字段

5)信息字段你(最多1500字节)

6)2byte 的CRC字段

7)1byte 的标志字段

 

 

其解释:

标志字符:每一帧的开始与结束,值固定为0x7E

地址字符:值固定为0xFF

控制字符:值固定为0x03

协议字段:类似于类型字段的功能,当它的值为0x0021时,表示信息字段是一个IP数据报;值为0xc021时,表示信息字段死链路控制数据;值为0x8021时,表示信息字段是网络控制数据

CRC字段(或FCS,帧检验序列)是一个循环冗余检验码,检错用的

 

 

当然,PPP协议之中也有字符转义的要求,如0x7E字符的转义

 

总的来说,PPP比SLIP具有以下优点:1、由于有协议字段,因此PPP串行线路了运行多种协议,不止IP协议 2、由于有CRX字段,因此可以自检错 3、与CSLIP相似,对TCP和IP报文首部进行了压缩 4、通信双方可以进行IP地址的动态协商

 

 

PS:尽管PPP比SLIP有更多的优点,但由于历史原因,SLIP拥有更多的用户。但随着产品的增多,PPP最终应该会取代SLIP

0
4
分享到:
评论

相关推荐

    TCP/IP 详解卷一:协议

    《TCP/IP详解卷一:协议》是一本深入探讨TCP/IP协议族的经典著作,对于每一位互联网从业者来说,理解和掌握TCP/IP协议是至关重要的基础。TCP/IP协议族是互联网通信的核心,它定义了网络设备如何交互、数据如何传输...

    TCP-IP详解卷1:协议

    以上只是《TCP/IP详解卷1:协议》部分内容的简述,书中的详细讲解涵盖了这些知识点的原理、配置、操作和实例,对于深入理解TCP/IP协议体系及其在网络中的作用至关重要。无论是初学者还是经验丰富的网络工程师,都能...

    TCP-IP详解卷二:实现

    《TCP/IP详解卷二:实现》是一本深入探讨TCP/IP协议族实现原理和技术的权威书籍。这本书详尽地解析了网络协议的各个层面,旨在帮助读者理解这些协议如何在实际系统中工作。以下是对该书内容的一些关键知识点的概述:...

    轻松学会OSI及TCP/IP网络通信模型

    与OSI模型不同,TCP/IP模型通常被视为四层结构,分别是应用层、传输层、网络层和网络接口层(也称为网络访问层或链路层)。 1. 应用层:同样包含各种网络应用,如HTTP、FTP、DNS等。 2. 传输层:主要协议为TCP和UDP...

    TCP-IP 详解卷1 英文版

    ### TCP/IP详解卷1知识点概览 #### 一、引言 - **1.1 引言**:简述本书目的及结构安排...以上是对《TCP/IP详解卷1》部分章节的知识点概述,详细阐述了TCP/IP协议栈中链路层、网络层和部分应用层的重要概念和技术细节。

    TCP-IP Illustrated Volunme 1-The Protocols.pdf

    ### TCP/IP Illustrated Volume 1: The ...以上是《TCP/IP Illustrated Volume 1: The Protocols》这本书的部分章节概述,通过这些章节的学习,读者可以深入理解TCP/IP协议栈的工作原理及其在网络通信中的应用。

    1_第二章两种参考模型(1).docx

    4. 链路层:类似于OSI的数据链路层,但没有明确划分LLC和MAC。 【通信过程:封装与解封装】 在通信过程中,数据在发送端自上而下逐层封装,添加相应层的头部信息,如TCP头、IP头等,形成PDU(协议数据单元)。在...

    动态路由协议培训

    8. IP协议和TCP/IP参考模型:简述了TCP/IP协议栈中IP层的作用以及网络层的相关知识,这对于理解路由和路由协议在整体网络架构中的位置至关重要。 9. 实际案例分析:通过例子演示了路由协议在网络中的实际配置和应用...

    Sockets编程基础C语言示例

    TCP/IP协议栈是互联网中最常用的通信协议之一,它由多个层次组成,包括应用层、传输层、网络层和链路层等。本示例主要关注传输层中的TCP协议,该协议提供了一种可靠的数据传输方式。 ##### 3. C语言在Sockets编程中...

    linux网络编程详解.pdf

    - **Internet体系模型**:对比OSI模型,介绍互联网的实际工作模型,主要包括应用层、传输层、网络层和链路层。 - **客户/服务器模型**:讲解客户端和服务端的概念,以及这种模型在实际网络应用中的实现方式和应用...

    华为HCIA-RSV2.5-(H12-211).zip

    - TCP/IP模型:理解四层模型的简化概念,包括应用层、传输层、网络层和数据链路层。 - IP地址与子网掩码:学习IPv4和IPv6地址的分配、分类以及子网划分。 - MAC地址:理解物理地址在网络中的作用,以及其在通信...

    协议序列号

    ### 协议序列号知识点详解 #### 一、概述 在网络通信中,各种协议扮演着极其重要的角色。本文档提供了一系列常用的协议及其编号,这些协议主要用于路由与交换机的故障诊断。通过理解这些协议的工作原理及其功能,...

    SCAU 计算机网络试卷15.docx

    4. UDP(User Datagram Protocol)协议在TCP/IP协议簇的传输层工作。 5. ICMP协议主要功能是报告通信故障,如超时、不可达等。 6. 划分后每个子网有62个可用主机地址,答案是D。 7. 正确的IP地址不包含网络号或全0或...

    华为路由器配置命令完全详解学习.pdf

    华为路由器配置命令完全详解学习 华为路由器配置命令是华为路由器的核心命令集,它提供了广泛的配置选项,允许网络管理员对路由器进行配置和管理。在本节中,我们将详细介绍华为路由器配置命令的使用和应用。 一、...

    WIFI驱动分析文档

    - **数据传输**:通过驱动发送和接收数据包,包括TCP/IP协议栈的上下文处理。 - **中断处理**:处理来自硬件的中断,如数据接收完成或错误状况。 - **电源管理**:协调设备的功耗状态,例如在无网络活动时进入低功耗...

    华为路由器简单配置详解

    - **捆绑链路协议**:使用`encahdlc/ppp`命令来配置HDLC或PPP链路协议。 - **进入以太接口配置**:使用`ine0`命令。 - **添加路由表**:使用`iproute 0.0.0.0 0.0.0.0 s0`命令添加默认路由。 #### 五、安全配置 - *...

    IT工程师必备路由交换技术

    ### IT工程师必备路由交换技术知识点详解 #### 第1章 IP地址的分配及IP子网划分 **1.1 IP地址** - **1.1.1 概述:** IP地址是Internet Protocol Address的简称,是互联网上的主机或设备在网络中的唯一标识。它使...

Global site tag (gtag.js) - Google Analytics