2.数据链路层

数据链路层的功能:

为网络层提供服务,良好的服务接口;保证数据传输的有效、可靠;调节数据流,保证慢速的接收方不会被快速的发送方淹没。

数据链路层的协议还是很多的,有我们最常用的以太网(就是平时我们用的网卡)协议,也有不太常见的令牌环,还有FDDI,当然,还有国内现在相当普及的PPP协议(就是adsl宽带),以及一个loopback协议。

联系linux里面的ifconfig -a命令,这个命令通常会得到如下的结果

[[email protected] ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0C:29:2A:E4:4A  
          inet addr:192.168.74.138  Bcast:192.168.74.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe2a:e44a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11491 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9690 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6556189 (6.2 MiB)  TX bytes:1369156 (1.3 MiB)
          Interrupt:67 Base address:0x2024

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1308 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1308 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1979157 (1.8 MiB)  TX bytes:1979157 (1.8 MiB)

sit0      Link encap:IPv6-in-IPv4  
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

其中,eth0就是以太网接口,而lo则是loopback接口。这也说明这个主机在网络链路层上至少支持loopback协议和以太网协议。

以太网(Ether-net)的定是指数字设备公司( Digital Equipment Corp.)、英特尔公司(Intel Corp.)和Xerox公司在1982年联合公布的一个标准,这个标准里面使用了一种称作CSMA/CD的接入方法。而IEEE802提供的标准集802.3(还有一部分定义到了802.2中)也提供了一个CSMA/CD的标准。这两个标准稍有不同,TCP/IP协议对这种情况的处理方式如下:

  • 以太网的IP数据报封装在RFC894中定义,而IEEE802网络的IP数据报封装在RFC1042中定义。
  • 一台主机一定要能发送和接收RFC894定义的数据报。
  • 一台主机可以接收RFC894和RFC1042的封装格式的混合数据报。
  • 一台主机也许能够发送RFC1042数据报。。如果主机能同时发送两种类型的分组数 据,那么发送的分组必须是可以设置的,而且默认条件下必须是RFC 894分组。

可见,RFC1042在TCP/IP里面处于一个配角的地位。这两种不同的数据报格式请参考教材。

ppp(点对点协议)是从SLIP的替代品。他们都提供了一种低速接入的解决方案。而每一种数据链路层协议,都有一个MTU(最大传输单元)定义,在这个定义下面,如果IP数据报过大,则要进行分片(fragmentation),使得每片都小于MTU,注意PPP的MTU并不是一个物理定义,而是指一个逻辑定义(个人认为就是用程序控制)。可以用netstat来打印出MTU的结果,比如键入netstat -in

Kernel Interface table

Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0       1500   0    11491      0      0      0     9690      0      0      0 BMRU

lo        16436   0     1308      0      0      0     1308      0      0      0 LRU

就可以观察到eth0的MTU是1500。而lo(环回接口)的MTU则是16436。

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

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

RX packets:2819 errors:0 dropped:0 overruns:0 frame:0
TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:241609 (235.9 KiB) TX bytes:9596 (9.3 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2713 errors:0 dropped:0 overruns:0 frame:0
TX packets:2713 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3516032 (3.3 MiB) TX bytes:3516032 (3.3 MiB)

来自为知笔记(Wiz)

时间: 2024-12-22 00:23:10

2.数据链路层的相关文章

数据链路层设备(一)

1.网桥的概念及其基本原理 两个或多个以太网通过网桥连接起来后,就称为一个覆盖范围更大的以太网,而原来的每个以太网就可称为一个网段.网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域.如果把网桥换成工作在物理层的转发器,就没有这种过滤通信量的功能.由于各网段的相对独立,一个网段的故障不会影响到另一个网段的运行. 注意:网桥处理数据的对象是帧,所以它是工作在数据链路层的设备,中继器.放大器处理数据的对象是信号,所以它是工作在物理层的设备. 网络1和网络2通过网桥连接后,网桥接收网络

数据链路层的协议分析

数据链路层目的是建立在物理层基础上,通过一些数据链路层协议,在不太可靠的物理链路上实现可靠的数据传输.即数据链路层提供网络中相邻节点之间可靠的数据通信. 数据链路层的主要功能是为网络层提供连接服务,并在数据链路连接上传送帧.依据功能可以分为有连接和无连接两种.本实验采用的是有应答,无连接服务. 无连接服务时,发送方的数据链路层要发送数据时,就直接发送数据帧.接收方的数据链路层能够接受数据帧,或者收到的帧校验正确,就像源主机数据链路层发送应答帧:不能接受或接受到的帧校验不正确时,就返回否定应答,发

数据链路层的几种协议

计算机网络在现在生活中越来越重要,所以我们学习网络知识也就非常必要.网络通信分为学习研究的方便分为5层,即:物理层.数据链路层.网络层.传输层.应用层. 在数据链路层主要是负责传输数据,有很多种协议,用的最多的是局域网中的以太网协议,和广域网中的PPP协议,HDLC协议. Etherne II报头8    目标地址6    源地址6    以太类型2    有效负载46-1500    帧检验序列4 报头:8个字节,前7个0,1交替的字节(10101010)用来同步接收站,一个101010101

数据链路层

数据链路层:将比特组装成帧并且点到点传输---------帧 基本问题: 1.帧定界:帧的数据部分的上限 <= MTU(最大传输单元),SOH(0x01)和EOT(0x04)分别指示帧的开始和结束. 2..透明传输:字节插入,比特插入 3.差错检测:误码率:传输错误的比特与传输总比特数的比率 CRC(Cyclic Redundancy Check):循环冗余检验 CRC是检错方法并不能纠错,FCS(Frame Check Sequence)是冗余码. 计算冗余码(余数R)的方法:先补0(n个)再

物理层、数据链路层网络设备工作原理

物理层网络设备有中继器.集线器. 中继器的功能是将接收到的信号进行再放大然后传输出去,作用是将扩展网络设备信号传输的物理范围,缺点是扩大数据信号的同时也扩大的噪声,不能够进行广播隔离,网络利用率很低,现在基本上已经被淘汰. 集线器实际上可以理解为有多个端口的中继器,集线器的所有端口共享一条背板总线,故所有端口都在同一个冲突域,网络利用率低,基本已经淘汰. 数据链路层网络设备有网桥.交换机. 网桥工作在数据链路层,能够通过源主机的mac地址,自学习创建自己的"mac-端口"表,一旦这个&

计算机网络温习1——数据链路层

数  据  链  路  层 分组=包=IP数据报 先从数据链路层开始 数据链路层使用的信道类型 (1)点对点信道:一对一的点对点通信方式 1> 网络适配器包括了数据链路层和物理层两层功能 协议数据单元:帧 2>主要步骤: a.前结点的数据链路层把网络层交下来的包添加首部和尾部封装成帧. b.前结点把封装好的帧发送给后结点的数据链路层. c.后结点检查帧无差错,则从中提取出包交给网络层:否则丢弃. 3>三个基本问题: a.封装成帧 添加首尾部,没加之前不得超出MTU(Maximum Tra

数据链路层的访问

数据链路层的访问,高级货哦 SOCK_PACKET类型,数据从网卡的协议栈交给用户 建立一个SOCK_PACKET类型如下: socket(AF_INET,SOCK_PACKET,htons(0x0003)); 设置套接口以捕获链路帧的编程方法 #include<sys/socket.h> #include<sys/ioctl.h> //ioctl命令 #include<Linux/if_ether.h> //ethhdr结构 #include<net/if.h&

TCP/IP详解学习笔记(2)-数据链路层

转http://blog.csdn.net/goodboy1881/article/details/665061 ———————————————————————————————————————————— 数据链路层有三个目的: 为IP模块发送和 接收IP数据报. 为ARP模块发送ARP请求和接收ARP应答. 为RARP发送RARP请 求和接收RARP应答 ip大家都听说过.至于ARP和RARP,ARP叫做地址解析协议,是用IP地址换MAC地址的一种协议,而RARP则叫做逆地址解析协议,在tcp/

OSI七层详解之二 数据链路层(DataLinkLayer)

一.简介 在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列. 数据链路层在不可靠的物理介质上提供可靠的传输.该层的作用包括:物理地址寻址.数据的成帧.流量控制.数据的检错.重发等. 在这一层,数据的单位称为帧(frame). 数据链路层协议的代表包括: SDLC.HDLC.PPP.STP.帧中继等. 链路层的主要功能: 链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现.链路层应具备

5、自学——计算机网络学习任务与进度(数据链路层)

数据链路层 数据链路层--基本概念 1.数据发送模型--数据链路层的简单模型 2.数据发送模型--仅从数据链路层观察帧的流动 3.信道类型: 点到点信道:这种信道使用一对一的点对点通信方式 点到点通信数据链路层的协议:PPP协议(适用广域网) PPP协议需要满足的要求: 封装成帧 透明传输 差错检测 多种网络层协议 多种类型的链路 检测连接状态 最大传送单元 网络层地址协商 数据压缩协商 不需要满足的要求: 纠错 流量控制 序号 多点线路 半双工或单工链路  PPP协议组成: 数据链路层协议可以