《TCP/IP详解卷一:协议》学习笔记二

一、引言

1、链路层有三个目的

 1)、为IP模块发送和接收IP数据包。

 2)、为ARP模块发送ARP请求和接收ARP应答。

 3)、为RARP发送RARP请求和接收RARP应答。


二、以太网和IEEE 8.2封装

1、IEEE 802委员会公布了一个稍微不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。


2、在TCP/IP世界中,以太网IP数据报的封装是在RFC 894中定义的,IEEE 802网络的IP数据报是在RFC 1042中定义的。主机需求RFC要求每台Internet主机都与一个10Mb/s的以太网电缆相连接:

 1)、必须能发送和接收采用RFC 894封装格式的分组。

 2)、应该能接收与RFC 894混合的RFC 1042封装格式的分组。

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


3、IEEE802.2/802.3(RFC 1042)和以太网的封装格式(RFC 894)



 

4、IEEE802.2/802.3(RFC 1042)和以太网的封装格式说明

 1)、两种帧格式都采用48bit的目的地址和源地址。

 2)、在802标准格式的帧定义中,长度字段是指它后续字段的字节长度,但不包括CRC验证码。

 3)、以太网的类型字段定义了后续数据的类型,在802标准定义的帧格式中,类型字段则由后续的子网接入协议的首部给出。

 4)、在以太网帧格式中,类型字段之后就是数据,而在802帧格式中,跟随在后面的是3字节的802.2 LLC和5字节的802.2 SNAP。

        I、目的服务访问点(DSAP)和源服务访问点(SSAP)的值都设为AA。

        II、Ctrl字段的设置为3。

        III、随后的org code都设置为0。

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


5、802.3标准定义的帧和以太网的帧都有最小长度要求。

 1)、802.3规定数据部分必须至少为38字节。

 2)、以太网的数据部分最少要有46字节。

  注:为了保证这一点,必须在不足的空间插入填充(pad)字节。



三、尾部封装(已废除略)


四、SLIP:串行线路IP

1、串行线路IP是一种在串行线路上对IP数据包进行封装的简单形式。


2、SLIP协议定义的帧格式

 1)、IP数据报以一个称作END(oxc0)的特殊字符串结束。同时,为了防止数据报到来之前的线路噪音被当作数据包内容,大多数实现在数据报的开始处也传一个END字符。

 2)、如果IP报文中某个字符为END,那么就要连续传两个字节0xdb和0xdc来取代它。

 3)、如果IP报文中某个字符为SLIP的ESC字符,那么就要连续传两个字节0xdb和0xdd来取代它。


3、SLIP的缺陷

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

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

 3)、没有在数据帧上加上检验和



五、压缩的SLIP

1、CSLIP即压缩SLIP在RFC1144定义。


2、CSLIP能把传输的字节压缩,能在CSLIP的每一端维持多达16个TCP连接,并且知道其中每个链接的首部中的某些字段一般不会发生变化。



六、PPP:点对点协议

1、点对点协议修改了SLIP的所有缺陷,其包括以下部分:

 1)、在串行链路上封装IP数据报的方法。PPP即支持数据为8位和无奇偶检验的异步模式,还支持面向比特的同步链接。

 2)、建立、配置及测试数据链路的链路控制协议。它允许通信双方进行协商,以确定不同的选项。

 3)、针对不同网络层协议的网络控制协议(NCP)体系。


2、PPP数据帧的格式:


 1)、每一帧都以标志字符0x7e开始和结束。紧接着是一个地址字节,值始终是0xff,然后是一个0x03的控制字节。

 2)、接下来是协议字段,当它的值为0x0021时,表示信息字段是一个IP数据报;当为0xc021时,表示信息字段是链路控制数据;值为0x8021时,表示信息字段是网络控制数据。

 3)、CRC字段(或FCS,帧检验序列)是一个循环冗余检验码,以检测数据帧中的错误。

 

3、当值为0x7e的标志字符出现在信息字段中时,PPP需要对它进行转义。

 1)、在同步链路中,该过程是通过一种称作比特填充的硬件技术来完成的。

 2)、在异步链路中,特殊字符0x7e用作转义字符。当它出现在PPP数据帧中时,那么紧接着的字符的第6个字符要取其补码,具体实现过程如下:

    I、当遇上字符0x7e时,需连续传送两个字符:0x7d和0x5e,以实现标志字符的转义。

    II、当遇上转义字符0x7d时,需连续传送两个字符:0x7d和0x5d,以实现标志字符的转义。

    III、默认情况下,如果字符的值小于0x20,一般都要进行转义。


4、PPP比SLIP相比较有以下优点:

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

 2)、每一帧都有循环冗余检验。

 3)、通信双方可以进行IP地址的动态协商。

 4)、与SLIP类似,对TCP和IP报文首部进行压缩。

 5)、控制链路协议可以对多个链路选项进行设置。



七、环回接口

1、大多数的产品都支持环回接口,以允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP通信。A类网络号127就是为这个环回接口预留的。


2、大多数系统把IP地址127.0.0.1分配给这个接口,并命名为localhost。一个传给环回接口的IP数据报不能再任何网络上出现。


3、环回接口处理IP数据报的过程


 1)、传给环回接口的任何数据报均作为IP输入。

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

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



8、最大传输单元MTU

1、以太网和802.3对数据帧的长度都有一个限制,链路层的这个特性称作MTU---最大传输单元。不同的网络大多都有一个上限。


2、几种常见的最大传输单元



3、如果IP层有一个数据要传,而且数据的长度比MTU还大,那么IP层就需要进行分片,把数据报分成若干片,这样每一片都小于MTU。



九、路径MTU

1、如果两个主机之间的通信要通过多个网络,那么每个网络的链路层就可能有不同的MTU。其中两台通信主机路径中的最小MTU,称作路径MTU。两台主机之间的路径MTU不一定是个常数它取决于当时所选的路由。而选路不一定是对称的。


10、串行线路吞吐量计算(略)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值