二、链路层

  在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在两个方向上不一定是一致的。

  

时间: 2024-10-29 14:55:59

二、链路层的相关文章

tcp/ip 学习笔记 章二 链路层

一.数据链路层 当需要在一条线路上传递数据时,除了必须使用一条物理设备时,还需要一些必要的通信协议来控制数据的传输,若把实现这些协议的硬件和软件的加到链路上,就叫做数据链路:最常用的是-----网络适配器.一般适配器都包含了数据链路层和物理层这两层的功能. 物理层的包含多种与物理介质相关的协议和标准 物理层协议分类: 电磁与光学协议(电流.光调制.编码) 机械协议(链接介质机械标准,大小.形状.化学成分) 功能性的协议 程序性协议(比如二进制数1,表示的电压) eg:EIA/TIA-232 V.

TCP/IP协议简介(二) 之 链路层介绍

链路层介绍 一.简介 上一节已经介绍过,网络层协议的数据单元是 IP 数据报 ,而数据链路层的工作就是把网络层交下来的 IP 数据报 封装为 帧(frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层. 为达到这一目的,数据链路必须具备一系列相应的功能,主要有: 将数据封装为帧(frame),帧是数据链路层的传送单位: 控制帧的传输,包括处理传输差错,调节发送速率与接收方相匹配: 在两个网络实体之间提供数据链路通路的建立.维持和释放的管理. 数据帧的结构是这样的: 二.控制帧的传输

TCP/IP中最高大上的链路层详解(二)

引言 对于程序猿来讲,似乎越接近底层,就越显得高大上.这也算是程序猿们的共同认知吧,虽然不是所有人.今天LZ就和各位一起探讨一下TCP/IP中最高大上的一层,也就是最底层的链路层. 这一层LZ了解的还不够深刻,但是LZ还没有做硬件的打算,因此LZ觉得只要能够大致明白其原理即可,有的时候太执着了并不是好事,别忘了执着的同义词中有一个叫钻牛角尖. 链路层是什么 这个问题其实很好回答,在上一章LZ就提到过,直观的说,链路层就是我们平时接触的网卡和网卡的驱动程序(当然,也可以指其它的网络接口和驱动,比如

计算机网络自顶向下 —— 链路层(二)

前言 继续说链路层 web的请求 的三次我握手我写过一篇猝不及防的爱情 详细的说了三次握手 我是前端开发者 其实web的请求每一天都有在用 浏览器主动发起请求 请求成功后 服务器返回数据,拿到数据后,页面展示. 这就是实际应用的一条龙服务 然后再深入的了解一下web请求,我发现一位球友写的特别的详细,但是我找不到他的博客了,如果哪一天看到了.可以叫我注明出处. 正文 数据字段: (46-1500字节) 以太网的最大传输单元(MTU)是1500字节,最小长度是46字节.Ip数据报小于46字节,数据

链路层交换机

在总线拓扑和基于集线器的星形拓扑技术时代,以太网显然是一种广播链路.为了处理这些碰撞,以太网标准包括了 CSMA/CD 协议. 今天广为使用的以太网是基于交换机的星形拓扑,采用的是存储转发分组交换.在基于交换机的以太局域网中,不会有碰撞,因此没有必要使用 MAC 协议了! 交换机自身对子网中的主机和路由器是透明的 (transparent),即某主机/路由器向另一个主机/路由器寻址一个帧,而不是向交换机寻址该帧:且不知道某交换机将会接收该帧并将它转发到另一个结点. 类似路由器接口为数据报设有缓存

链路层综述

一. 一些术语 运行链路层协议的任何设备均称为结点 (node). 沿着通信路径连接相邻结点的通信信道称为链路 (link). 二.两种链路层信道 广播信道 用于连接有线局域网.卫星网和混合光纤同轴电缆接入网中的多台主机.需要媒体访问协议来协调帧传输. 点对点通信链路 在诸如长距离链路连接的两台路由器之间,或用户办公室主机与它们所连接的临近以太网交换机之间等场合. 三.链路层提供的服务 成帧 (framing) 即把网络层的数据报封装为适合链路传输的链路层帧. 链路接入 媒体访问控制 (Medi

链路层寻址与 ARP

一. MAC 地址 不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口)具有链路层地址.因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址. 然而,链路层交换机并不具有与它们接口相关联的链路层地址.这是因为链路层交换机的任务是在主机与路由器之间承载数据报:交换机透明地执行该项任务,也就是说,主机或路由器不必明确地将帧寻址到其间的交换机. ? 尽管 MAC 地址被设计为永久的,但用软件改变一块适配器的 MAC 地址是可能的. 二.地址解析协议 因为存在网络层地址和链路层

(2)链路层介绍

一.简介 网络层协议的数据单元是 IP 数据报 ,而数据链路层的工作就是把网络层交下来的 IP 数据报 封装为 帧(frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层. 为达到这一目的,数据链路必须具备一系列相应的功能,主要有: 将数据封装为帧(frame),帧是数据链路层的传送单位: 控制帧的传输,包括处理传输差错,调节发送速率与接收方相匹配: 在两个网络实体之间提供数据链路通路的建立.维持和释放的管理. 数据帧的结构是这样的: 二.控制帧的传输 1.差错控制 通信系统必须具

计算机网络——链路层协议

一. 链路层的功能 可靠交付:在高差错的链路,如无线链路,可以进行可靠交付:对于其它的有线,可以是多余的: 流量控制:防止接收方的缓存区溢出,帧丢失: 差错检测与差错纠正:在硬件上实现了: 二.多路访问协议 信道划分协议: 时分复用(TDM).频分复用(FDM). 码分多址(CDMA): 随机接入协议:以信道的全部速率进行传输,遇到碰撞就停下来, 等待随机的时间后再次发送: 时隙ALOHA:把每个节点的发送时间开始都是固定的.同步的(如12点.1点.2点--, 而不会12.04发送),间隔时间为