码迷,mamicode.com
首页 > 其他好文 > 详细

二、链路层

时间:2017-12-03 18:59:53      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:点对点   png   校验   src   prot   rar   命名   net   结束   

  在TCP/IP协议族中,链路层主要有三个目的:

  1. 为IP模块发送和接收IP数据报
  2. 为ARP模块发送ARP请求和接收ARP应答
  3. 为RARP发送RARP请求和接收RARP应答

2.1 概念

2.1.1 SLIP

  SLIP:Serial Line IP,它是一种在串行线路上对IP数据报进行封装的简单形式。适用于RS-232串行端口和高速调制解调器接入Internet。

  • SLIP协议定义的帧格式:
    • IP数据报以一个称作 END(0xc0)的特殊字符结束。同时,为了防止数据报到来之前的线路噪声被当成数据报内容,大多数实现在数据报的开始处也传一个 END 字符。
    • 如果IP报文中某个字符为END,那么就要连续传输两个字节 0xdb 和 0xdc 来取代它。0xdb 这个特殊字符称作 SLIP的ESC字符,其值与 ASCII 码的ESC字符(0x1b)不同。
    • 如果IP报文中某个字符为 SLIP 的ESC字符,那么就要连续传输两个字节 0xdb 和 0xdd 来取代它。  

  例如:在串行线路上传输的总字节数是原IP报文长度再加4个字节。

  技术分享图片

  • SLIP的缺陷
    • 每一端必须知道对方的IP地址。没有办法把本端的IP地址通知给另一端。
    • 数据帧中没有类型字段(类似于以太网中的类型字段)。如果一条串行线路用于SLIP,那么它不能同时使用其他协议。
    • SLIP没有在数据帧中加上检验位(类似于以太网中的CRC字段)。如果SLIP传输的报文被线路噪声影响而发生错误,只能通过上层协议来发现。  

2.1.2 PPP:点对点协议

  PPP,点对点协议修改了SLIP协议中的所有缺陷。主要包括以下三个部分:

  1. 在串行链路上封装IP数据报的方法。PPP既支持数据为8位和无奇偶校验的异步模式,还支持面向比特的同步链接。
  2. 建立、配置及测试数据链路的链路控制协议(LCP:Link Control Protocol)。它允许通信双方进行协商,以确定不同的选项。
  3. 针对不同网络层协议的网络控制协议(NCP:Network Control Protocol)体系。  

  PPP数据帧的格式以0x7e为开始和结束标志字符,然后是一个地址字节,始终为 0xff,然后是 0x03的控制字节。之后为协议字段,类似于以太网中类型字段的go功能,值为 0x0021,表示信息字段为一个IP数据报;值为 0xc021,表示信息字段为链路控制数据;值为0x8021,表示信息字段是网络控制数据。

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

   技术分享图片

  技术分享图片

  技术分享图片

2.2 环回接口

  Loopback Interface,环回接口,允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信。A类网络号127就是为环回接口预留的。根据惯例,大多数系统把 IP 地址 127.0.0.1 分配给这个接口,并命名为 localhost。一个环回接口的IP数据报不能在任何网络上出现。

  环回接口处理IP数据报的过程如下:

  技术分享图片

  • 传给环回地址(一般是127.0.0.1)的任何数据均作为IP输入
  • 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网。这是因为广播传送和多播传送的定义包含主机本身。
  • 任何传给该主机IP地址的数据均送到环回接口  

2.3 MTU

2.3.1 最大传输单元MTU

  技术分享图片

  若IP层有一个数据报要传,而且数据长度比链路层的MTU大,那么IP层就需要进行分片(fragmentation),把数据报分成若干片。

2.3.2 路径MTU

  两台通信主机路径中的最小MTU,称为路径MTU。路径MTU不一定是个常数,取决于当时所选择的路由,且路径MTU在两个方向上不一定是一致的。

  

二、链路层

标签:点对点   png   校验   src   prot   rar   命名   net   结束   

原文地址:http://www.cnblogs.com/kele-dad/p/7955918.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!