TCP/IP详解(2)链路层,第二章笔记整理
发布日期:2021-06-29 04:15:22 浏览次数:2 分类:技术文章

本文共 3453 字,大约阅读时间需要 11 分钟。

一:链路层有时也叫数据链路层或网络接口层。通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他传输媒介)的物理接口细节。

链路层主要有三个目的:

(1)为I P模块发送和接收I P数据报;

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

(3)为R A R P发送R A R P请求和接收R A R P应答。

T C P / I P支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网、令牌环网、F D D I(光纤分布式数据接口)及R S-2 3 2串行线路等。

下面主要讲解:

两个串行接口链路层协议( S L I P和P P P) ,以及大多数实现都包含的环回( l o o p b a c k)驱动程序。

 

二:以太网和IEEE802封装

 

三:SLIP串行线路IP

S L I P的全称是Serial Line IP。它是一种在串行线路上对I P数据报进行封装的简单形式,在RFC 1055[Romkey 1988]中有详细描述。S L I P适用于家庭中每台计算机几乎都有的 R S - 2 3 2串行端口和高速调制解调器接入I n t e r n e t。

下面的规则描述了S L I P协议定义的帧格式:
1) IP数据报以一个称作E N D(0 x c 0)的特殊字符结束。同时,为了防止数据报到来之前的线路噪声被当成数据报内容,大多数实现在数据报的开始处也传一个 E N D字符(如果有线路噪声,那么E N D字符将结束这份错误的报文。这样当前的报文得以正确地传输,而前一个错误报文交给上层后,会发现其内容毫无意义而被丢弃)。
2) 如果I P报文中某个字符为 E N D,那么就要连续传输两个字节 0 x d b和0 x d c来取代它。0 x d b这个特殊字符被称作S L I P的E S C字符,但是它的值与A S C I I码的E S C字符(0 x 1 b)不同。
3) 如果I P报文中某个字符为S L I P的E S C字符,那么就要连续传输两个字节 0 x d b和0 x d d来取代它。

 

SLIP的缺点:

1每一段必须知道堆放的IP地址。没有办法把本端的IP地址通知给另一端

2数据帧中没有类型字段

3SLIP没有在数据帧中加上校验和(类似于以太网中的CRC字段)

尽管存在这些缺点,SLIP仍然是一种广泛使用的协议。

 

四:压缩的SLIP

由于串行线路的速率通常较低( 19200 b/s或更低) ,而且通信经常是交互式的(如 Te l n e t和R l o g i n,二者都使用T C P) ,因此在S L I P线路上有许多小的T C P分组进行交换。为了传送1个字节的数据需要2 0个字节的I P首部和2 0个字节的T C P首部,总数超过4 0个字节(1 9 . 2节描述了R l o g i n会话过程中,当敲入一个简单命令时这些小报文传输的详细情况) 。

既然承认这些性能上的缺陷,于是人们提出一个被称作 C S L I P(即压缩S L I P)的新协议,它在RFC 1144[Jacobson 1990a]中被详细描述。C S L I P一般能把上面的4 0个字节压缩到3或5个字节。它能在C S L I P的每一端维持多达1 6个T C P连接,并且知道其中每个连接的首部中的某些字段一般不会发生变化。对于那些发生变化的字段,大多数只是一些小的数字和的改变。这些被压缩的首部大大地缩短了交互响应时间。

现在大多数的S L I P产品都支持C S L I P。作者所在的子网(参见封面内页)中有两条
SLIP链路,它们均是CSLIP链路。

 

五:PPP点对点协议

 

 

总的来说,P P P比S L I P具有下面这些优点:

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

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

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

(4)  与C S L I P类似,对T C P和I P报文首部进行压缩;

(5) 链路控制协议可以对多个数据链路选项进行设置。为这些优点付出的代价是在每一帧的首部增加 3个字节,当建立链路时要发送几帧协商数据,以及更为复杂的实现。

尽管P P P比S L I P有更多的优点,但是现在的S L I P用户仍然比P P P用户多。随着产品

越来越多,产家也开始逐渐支持PPP,因此最终PPP应该取代SLIP。

 

六:环路接口

平时我们用127.0.0.1来尝试自己的机器服务器好使不好使。走的就是这个loopback接口。对于环回接口,有如下三点值得注意:

1传给环回地址(一般是127.0.0.1)的任何数据均作为I P输入。

2传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是 因为广播传送和多播传送的定义包含主机本身。

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

 

七:最大传输单元MTU

 如果I P层有一个数据报要传,而且数据的长度比链路层的 M T U还大,那么I P层就需要进行分片(f r a g m e n t a t i o n) ,把数据报分成若干片,这样每一片都小于 M T U

在Windows下的注册表可以找到相关的MTU大小。

 

MTU对SLIP和CSLIP链路的传输延的计算,这里就不讲了。

PPP(Point to Point Protocol)点对点协议

  它是用于串行接口的两台计算机的通信协议,是为通过电话线连接计算机和服务器而彼此通信而制定的协议。网络服务提供商可以提供您点对点连接,这样提供商的服务器就可以响应您的请求,将您的请求接收并发送到网络上,然后将网络上的响应送回。PPP是使用IP协议,有时它被认为是TCP/IP协议族的一员。PPP协议可用于不同介质上包括双绞线,光纤和卫星传输的全双工协议,它使用HDLC进行包的装入。PPP协议既可以处理同步通信也可以处理异步通信,可以允许多个用户共享一个线路,又可发进行SLIP协议所没有的差错控制。
TCP/IP(Transmission Control Protocol/Internet Protocol)传输控制协议/Internet协议
   TCP/IP协议起源于美国国防高级研究计划局。提供可靠数据传输的协议称为传输控制协议TCP,好比货物装箱单,保证数据在传输过程中不会丢失;提供无连接数据报服务的协议称为网络协议IP,好比收发货人的地址和姓名,保证数据到达指定的地点。TCP/IP协议是互联网上广泛使用的一种协议,使用TCP/IP协议的因特网等网络提供的主要服务有:电子邮件、文件传送、远程登录、网络文件系统、电视会议系统和万维网。它是Interent的基础,它提供了在广域网内的路由功能,而且使Internet上的不同主机可以互联。从概念上,它可以映射到四层:网络接口层,这一层负责在线路上传输帧并从线路上接收帧;Internet层,这一层中包括了IP协议,IP协议生成Internet数据报,进行必要的路由算法,IP协议实际上可以分为四部分:ARP,ICMP,IGMP和IP;再上向就是传输层,这一层负责管理计算机间的会话,这一层包括两个协议TCP和UDP,由应用程序的要求不同可以使用不同的协议进行通信;最后一层是应用层,就是我们熟悉的FTP,DNS,TELNET等。熟悉TCP/IP是熟悉Internet的必由之路。
UDP(User Datagram Protocol)用户数据报协议
  它是定义用来在互连网络环境中提供包交换的计算机通信的协议,此协议默认认为网路协议(IP)是其下层协议。UDP是TCP的另外一种方法,象TCP一样,UDP使用IP协议来获得数据单元(叫做数据报),不象TCP的是,它不提供包(数据报)的分组和组装服务。而且,它还不提供对包的排序,这意味着,程序程序必须自己确定信息是否完全地正确地到达目的地。如果网络程序要加快处理速度,那使用UPD就比TCP要好。UDP提供两种不由IP层提供的服务,它提供端口号来区别不同用户的请求,而且可以提供奇偶校验。在OSI模式中,UDP和TCP一样处于第四层,传输层。
可以说PPP是一种连接方式,TCP、UDP是传送数据的方式

 

TCP/IP成功的原因之一是它几乎能在任何数据链路计数上运行。

 

转载地址:https://blog.csdn.net/zh634455283/article/details/7952648 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:TCP/IP详解(3)IP:网际协议,第三章笔记整理
下一篇:TCP/IP详解(1)概述,第一章笔记整理

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月01日 00时04分19秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章