精华内容
下载资源
问答
  • 数据链路层协议
    千次阅读
    2022-04-06 14:12:57

    一、数据链路层概述

    1.数据链路层的功能:

    1)链路管理:负责数据链路的建立、维持和释放,主要用于面向连接的服务;

    2)帧同步:接收方确定收到的比特流中一帧的开始位置和结束位置;

    3)差错控制:用于使接收方确定接收到的数据就由发送方发送的数据;

    4)透明传输:即不管数据时什么样的比特组合,都应当能在链路上发送;

    2.链路:一条无源的点到点的物理线路段,中间无其他的交换节点,一条链路只是一条通路的一个组成部分,也称为物理链路;

    3.数据链路:物理链路+实现必要协议的网络适配器(即网卡,有硬件也有软件),也称为逻辑链路。一般的适配器都包括了数据链路层和物理层这两层的功能;

    实际的物理链路多采用多路复用技术,此时一条物理链路可以构成多条数据链路,从而提高链路利用率;

    4.数据链路层的三个基本问题:

    1)封装成帧和透明传输:封装成帧就是在一段数据的前后分别添加尾部和首部;首尾部的重要作用就是帧定界。帧定界的方法有四种:字节填充的首尾界符法、比特传输的首尾标志法、字节计数法、非法比特编码法;

    2)差错控制:差错都是由于噪声引起的。噪声分为热噪声(可通过提高信噪比来减少)和冲击噪声(无法避免,是主要原因)。

    差错检验措施:循环冗余检验CRC;注意,用循环冗余检验技术只能做到无差错接收,不能实现“无差错传输”或“可靠传输”;

    二、点对点协议

    1.通信线路质量较差的年代能实现可靠传输的协议:高级数据链路控制HDLC规程:

    1)是面向比特的同步数据链路控制协议,主要用于封装同步串行链路上的数据;链路两端被称为站(分为主站、从站、复合站),链路有两种基本配置(平衡配置和非平衡配置),三种数据传输方式(正常响应方式、异步平衡方式、异步响应方式);

    2)帧格式:

     3)运行的三个阶段:初始化、数据传送、拆链;

    2.现如今:PPP(点对点)和PPPoE协议:

    1)三个组成部分:

    a.一个将IP数据报封装到串行链路的方法。PPP既支持异步链路,也支持面向比特的同步链路;

    b.一个链路控制协议LCP:用于简历、配置、测试数据链路连接,并在不需要时将它们释放;

    c.一套网络控制协议NCP:其中每个协议支持不同的网络层协议,用来建立和配置不同的网络层协议;

    2)帧格式:

    3)PPP的工作状态:用户接入ISP、路由器的调制解调器对拨号做出确认、建立一条物理连接; 个人计算机想路由器发送一系列LCP分组(封装成多个PPP帧);这些分组及其响应选择了将要使用的一些PPP参数;进行网络层配置,NCP给新接入的个人计算机分配一个临时的IP地址;这样,个人计算机就成为因特网上的一个主机了;用户通信完毕后,NCP释放网络层连接,收回IP地址;LCP释放数据链路层连接,最后释放物理层连接;

    4)PPP总结:

    a.面向字节;

    b.不负责的功能:纠错(只负责检错)、流量控制(TCP负责)、序号(PPP是不可靠传输,无需对帧编号)、多点线路(PPP是点对点的通信方式)、半双工或单工(PPP只支持全双工链路);

    c.不使用序号和确认机制,只保证无差错接收;HDLC协议的信息帧使用了编号和确认机制;

    三、使用广播信道的数据链路层

    1.局域网使用的就是广播信道;

    2.局域网工作的层次跨越了数据链路层和物理层;广域网使用的协议主要在网络层;

    3.以太网:是应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和NRCNET。以太网有两类:第一类是经典以太网,第二类是交换式以太网,使用交换机连接不同的计算机。经典以太网是以太网的原始形式,而交换式以太网正是广泛应用的以太网,可运行高速率。

    以太网的标准拓扑结构为总线型拓扑,但快速以太网使用交换机,如此一来,以太网的拓扑结构就成了星型;但在逻辑上,以太网仍然使用总线型拓扑和CSMA/CD(载波多听访问/碰撞侦测)的总线技术。

    4.以太网的两个标准:

    1)DIX Ethernet V2是世界上第一个局域网产品(以太网)的规约;

    2)IEEE802.3是第一个IEEE的以太网标准,IEEE802委员会又将局域网的数据链路层拆成两个子层:

    a.LLC逻辑链路控制子层;

    b.MAC媒体接入控制子层;

    5.适配器:计算机与外界局域网的连接通过适配器进行,又叫网络接口卡或网卡;

    1)构成:处理器RAM+存储器ROM(存有硬件地址);

    2)功能:进行串/并行变换、对数据进行缓存、在计算机的操作系统安装设备驱动程序、实现以太网协议;

    6.介质访问控制:如何使众多用户合理方便地共享通信媒体资源,有两种方法:

    1)静态的信道划分:频分/时分/码分复用等;

    2)动态的媒体接入控制:又称多点接入,信道并非在用户通信时固定分配给用户,分为随机接入和受控接入;

    2.1)随机接入介质访问:

    a. ALONA协议;

    b.CSMA协议;

    c.CSMA/CD协议;

    d.CSMA/CA协议;

    2.2)轮询介质访问控制(丢手绢原理):令牌环局域网把多个设备安排成一个物理或逻辑连接环;

    2.3)CSMA/CD协议:多点接入、载波监听、碰撞检测;“先听后发、边听边发、冲突停发、随机重发”;

           在使用CSMACD协议时,一个站不可能同时进行发送和接收(但必须边发送边监听信道)。因此使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行双交替通信(半双工通信);
    1)争用期/碰撞窗口
    以太网端到端的往返时延2称为个用期为总线上的单程端到端传播时延。争用期是一个重要的数,因为一个站发送数据,经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。以太网规定取51.2ps为争用期的长度。
    需要指出的是,以太网通到端的单程时延实际上小手争用期的一半(25.6ps),以太网之所以这样定,还考虑了其他一些因素,如中继器所增加的时延等。
    2)最小帧长和最大帧长
    以太网规定取51.2us为争用期的长度。对于10Mb/s以太网,在争用期内可发送512bit,即64B。在以太网发送数据时,如果前64B没有发生冲突,那么后续的数据就也不会发生冲突(表示已成功抢占信道)。换句话说,如果发生冲突,就一定在前648,由于一旦检测到冲突就立即停止发送,这时发送出去的数据一定小于64B。因此,以太网规定最短帧长为64B,凡长度小于648的都是由于冲突而异常终止头的无效帧。最小帧长的计算公式为
                                                    最小帧长=2tx数据传输速率
    设置最小帧长是为了区分噪声和因发生碰撞而异常终止的短帧。设置最大帧 是为了保证每个站都能公平竞争接入到以太网。因为如果某个站发送特别长的数据帧,则其他站就必须等待很长的时间才能发送数据,最大数据传输单元MTU是1500B,所以以太网帧最大帧长为1518B。

    3)截断二进制指数退避算法
    CSMA/CD采用二进制指数退避算法来解决碰撞问题。算法如下;
    确定基本退避时间,一般取两倍的总线端到端传播时延2t(即争用期)。
    ②定义参数k,它等于重传次数,k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数当重传次数大于10时,k就不再增大而一直等于10;
    ③从离散的整数集合[0,1,2k1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即r倍的急用期;
    ④当重传达16次仍不能成功时,说明网络太拥挤,丢弃此帧,并向高层报告出错;
    使用截断二进制指数退避算法可使重传需要推迟的平均时间随重传次数的增大而增大(也称为动态退避),因而减小发生碰撞的概率,有利于整个系统的稳定。

    4)强化碰撞
    当发送数据的站一旦发现发生了碰撞,除了立即停止发送数据外,还要再继续发送32比特或48比特的人为干扰信号,以便让所有用户都知道现在已经发生了碰撞。
    5)帧间最小间隔  
    以太网规定了帧间最小间隔为9.6us,相当于96比特时间。这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

    7.以太网的MAC层

    7.1.MAC层的硬件地址:

           在局域网中,硬件地址又称为物理地址,或MAC地址。IEEE802标准为局域网规定了一种48位的全球地址(一般都简称为“地址”),是指局域网上的每一台计算机中固化在适配器的ROM中的地址。严格地讲,8局域网的“地址”应当是每一个站的“名字”或标识符。
           注意,如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。更准确些说,这种48位“地址”应当是某个接口的标识符。
    IEEE 的注册管理机构RA负责向厂家分配地址字段6个字节中的前三个字节(即高位24位),称为组织唯一标识符。后三个字节(即低位24位)由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址,即MAC地址必须全球唯一。(组织唯一标识符,扩展唯一标汉符)
    1)单站地址,组地址,广播地址
    ①当I/G位=0时,地址字段表示一个单站地址。 IEEE规定地址字段的第一字节的最低位为1/G位。/G表示Individual/Group;
    ②当I/G位=1时,表示组地址,用来进行多播(以前曾译为多播)。此时,IEEE 只分配地址字段前三个字节中的 23位。只能作为目的地址使用。
    当1/G位分别为0和1时,一个地址块可分别生成223个单个站地址和 223个组地址。

    ③ 所有48位都为1时,为广播地址。只能作为目的地址使用。
    2)全球管理与本地管理 
    IEEE 把地址字段第一字节的最低第2位规定为G/L位,表示Global/Local。
    当G/L位=0时,是全球管理(保证在全球没有相同的地址),厂商向IEEE购买的OUI都属于全球管理
    当G/L位=1时,是本地管理,这时用户可任意分配网络上的地址。
    适配器有过滤功能。适配器从网络上每收到一个 MAC 帧就先用硬件检查 MAC 帧中的目的地址。如果是发往本站的帧则收下,然后再进行其他的处理。否则就将此帧丢弃,不再进行其他的处理。

    7.2.MAC帧的格式:

     

    四、扩展的以太网 

    1.在物理层扩展以太网
    1)使用转发器扩展以太网:转发器也称中继器,作用是将衰减得不完整的信号进行整理重新产生完整的信号继续发送;放大器和中继器都是放大信号的作用,前者放大模拟信号,后者放大数字信号;

    2)使用集线器扩展以太网:集线器实际是一种多端口转发器,不能隔离冲突域;

    注:使用中继器和集线器连接起来的几个网段仍然是一个局域网;

    3)使用光纤扩展:光纤+一对光纤调制解调器;

    2.在数据链路层扩展以太网(更常用):最初使用网桥,后用交换式集线器(也称为以太网交换机:实际是多端口网桥);

    知识点:以太网交换机独占传输媒体的带宽。对于普通的10Mbit/s的共享式以太网,若有N个用户,则每个用户占有的平均带宽只有总带宽的1/N。在使用以太网交换机时,虽然在每个端口到主机的带宽还是10Mbit/s,但由于一个用户在通信时是独占而不是和其他网络用户共享传输媒体的带宽,且交换机工作在全双工状态,因此对于拥有N个端口的交换机的总容量为2xNx10 Mbit/s(如果是半双工,则总容量为Nx10Mbit/s),这正是交换机的最大优点。
    交换机总容量计算方式:端口数x每个端口带宽(半双工);端口数x每个端口带宽x2(全双工)。

    交换机的每一个端口都是一个冲突域,交换机可以隔离冲突域,不能隔离广播域;

    3.虚拟局域网:

            为了解决交换机在进行局域网互连时无法限制广播的问题而出现。普通的交换即使连接了多个局域网,仍然属子一个网络,即仍然是一个广播域,这样就容易产生广播风暴,但是将一个局域网划分成多个虚拟局域网之后(交换机就类似于路由器的功能)就等于将一个大的广播域划分成多个小的广播域,限制了接收广播信息的计算机数,这样就会降低发生广播风暴的可能性。虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
    IEEE 802.1Q对虚拟局域网VLAN 的定义:虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个VLAN;

    2、VLAN实现的途径
    1)基于交换机端口:最简单、也是最常用的方法,属于在第一层划分虚拟局域网的方法。缺点:不允许用户移动。
    2)基于计算机网卡的MAC地址:属于在第二层划分虚拟局域网的方法。允许用户移动。缺点:要锋入和管理大量的MAC地址。如果用户的MAC地址改变了,则需要管理员重新配置VLAN;
    3)基于协议类型:根据以太网帧的第三个字段“类型”字段确定该类型的协议属于哪一个虚拟局域网。属于在第二层划分虚拟局域网的方法;
    4)基于IP 子网地址;根据以太网帧的第三个字段“类型”字段和IP 分组首部中的源IP地址字段碗定读IP分组属于哪一个虚拟局域网。属于在第三层划分虚拟局域网的方法;
    5)基于高层应用或服务:根据高层应用或服务、或者它们的组合划分虚拟局域网。更加灵活,但更和复杂。

    五、高速以太网:

    1、100Base-T以太网;

    2、吉比特以太网;

    3、10吉比特以太网。

    更多相关内容
  • 数据链路层协议封装

    千次阅读 2020-12-17 22:25:45
    常用的两种数据链路帧: 以太网帧和PPP帧的区别: 最大的区别,以太网是一个广播链路,一个广播域可能有多个设备,所以以太网帧有MAC地址,为了整个以太网中确定一个唯一确定到底哪个设备进行接收,减少链路的...

    常用的两种数据链路层帧:

    在这里插入图片描述

    以太网帧和PPP帧的区别:
    最大的区别,以太网是一个广播链路,一个广播域可能有多个设备,所以以太网帧有MAC地址,为了在整个以太网中确定一个唯一确定到底哪个设备进行接收,减少链路的带宽消耗和设备处理时产生的消耗。而ppp帧在一条链路上只有对端,我们不需要通过MAC地址来表示接受方到底是谁,所以来数据帧上没有MAC地址的。其中的address地址全为F,没有实际的意义。

    以太网帧字段的说明:

    无论是哪种以太网的封装的格式,其实大体上都是差不多的,但是还是有一定的区别,但是可以通过字段的不同值分别到底是哪种类型的以太帧,首先当一个以太网接口接收到以后,会从帧界定符以后开始读取源目MAC地址,因为MAC地址长度固定,48bit,连续96bit后就会读取到一个类型/长度字段,这个字段占8个bit,如果表示的值大于1536,表示的是以太网2的帧,其含义为上层是什么协议,如0x0800表示的是IPV4报文,0x86dd表示的是IPV6报文,常用表示的如下:
    在这里插入图片描述
    这里出现的MPLS,802.1Q字段为在传统以太网上添加的字段,添加的位置是在MAC地址之后,原来协议字段之前,添加的部分它们同样有一个类型字段,告诉设备现在读取的是MPLS标签或者VLAN的tag,当读取完成后继续读取的协议/长度字段才是原来报文中的字段。

    如果表示的是类型/长度字段表示类型就没有长度字段了怎么知道数据真的总长度呢?这个就只有看上层协议中所表示的长度了,例如IPv4报头中也有长度字段。

    如果协议/类型字段小于1500,则表示以太帧中内容的长度,但是这样又不知道了上层是什么协议,这就需要LLC子层来进行表示了(例如生成树的BPDU)。当读取完成后,最后有4个字节的FCS的校验位,防止接收到的数据帧出现了偏差。

    这里做一个记忆:
    在这里插入图片描述
    802.1Q和QinQ格式:
    在这里插入图片描述
    普通情况下一共四个字节,其中2字节的协议类型字段,表示这是一个tag,3bit的PRI,表示数据真的优先级0-7,7最优。CFI在令牌环网络中有效,以太网中无意义,占有1bit,最优是VLAN的标签,占12bits,范围为(0-4095)。QinQ帧就是两个802.1Q字段的叠加,一个为内网tag,一个为外网tag。

    MPLS标签字段:
    在这里插入图片描述
    mpls标签也是4字节,其中标签字段20bit,优先级3bit没有变化,S表示十分为最后一个标签,为1表示为最后一个,TTL字段的作用是进行标签转发防止环路,占8bit。

    PPP帧格式的说明:

    在这里插入图片描述
    PPP报文前后有一个字节固定的flag字段,表示一个数据帧的界定,然后有一个自己的全1分地址字段,控制字段占1自己,默认为0x03,没有什么特别的作用,然后就是一个2字节的协议为,表示information字段包含的是什么报文,information字段是PPP真的载荷数据,长度可变,里面的类容先暂时不进行分析。最后为2字节的差错校验位。

    总结:

    知道二层封装的协议之后,可以进行同一网段中相邻三层设备间的数据准确传输了。但是相邻链路接收到对方发来的信息后,如果自己就是对方发送的目标后,后下一步该怎么做呢,怎么进行不同网段的信息传输呢,就需要进一步了解封装在二层帧中的数据的内容了。

    一般封装在二层帧中的也就是三层的报文,这一层报文主要是为了进行不同网段的寻路,如ipv4,ipv6等,设备可以通过二层帧中的类型字段知道了上层的协议是什么,然后再按照对应上层协议的格式进行对格式的读取。

    参考资料:部分网络上资料

    展开全文
  • 网络(IP协议,ICMP) 数据链路层(以太网协议

    网络层

    ip协议报头的格式+地址管理+路由选择
    网络层

    ip协议报格式

    在这里插入图片描述
    4位版本:指定ip协议版本,ipv4和ipv6,ipv6并不向下兼容;
    4位首部长度:表示ip协议头部长度,也就是length*4的字节数,4bit表示最大的数字是15,因此IP头部最大长度是60字节(固定的20字节+40字节的选项);

    8位服务类型:3位优先权字段(已经弃用),4位TOS字段和1位保留字段(必须置为0).4位TOS分别表示:最小延迟(ssh),最大吞吐量(ftp),最高可靠性,最小成本.这4中相互冲突,只能选择一个。

    16位总长度:表示ip数据报整体的长度,单位是字节;ip头部+有效载荷
    注意:a.由于网络电气特性的影响,在数据链路层对数据帧做出了限制,MTU:最大传输单元,可以使用ifconfig来进行查看,单位是字节
    b.如果网络层提交给数据链路层的数据大于MTU,需要分片传输
    c.本身网络层ip协议最大的数据报文长度为2^16次方,65536字节
    d.数据封装的时候,网络层的数据来源于传输层,而传输层有两个协议TCP,UDP;
    TCP由于按照MSS给网络层提交数据,所以在网络层加上ip头部之后,也是小于等于MTU的,所以不需要分片传输;(tcp在三次握手的时候已经协商了最大报文段长度MSS)
    (如果tcp通信双方在同一台机器,网络传输只走了协议栈,走的是本地回环网卡,而本地回环网卡的MTU大小一般是65536);
    UDP是整条数据交付的,就有可以能交付给网络层的数据,超过MTU的大小,所以在网络层就需要对UDP的数据进行分片传输;UDP协议是不可靠的,网络层的ip协议也是不可靠的,如果在分片传输的时候,网络层丢失了一个分片,则需要整条UDP数据全部丢掉了;

    16位标识:标识当前UDP数据包分片传输的数据是哪一个完整的UDP报文的;同一个UDP数据包当中所有的分片具有相同的标识值;

    3位标志:位1 保留位;位2 禁止分片;位3 标识更多分片,当标识自己不是最后一个分片的时候,该位值为1,当标识自己是最后一个分片的时候,该位值为0;

    13位片偏移:标识分片在UDP报文当中的位置;最大213=8192数值,片偏移=13位数值*8字节=216,也是分片的起始位置;

    8位生存时间:数据在传输到达目的地之前允许经过的路由器的个数;TTL:跳数,描述该数据包最大可以经历多少路由设备转发,每一个路由器转发之后,TTL就进行减1操作,在TTL内到达对端主机或者直到减为0,则转发设备就丢弃该报文;一般TTL=64;防止路由循环;

    8位协议:标识传输层使用什么协议,意味着对端分用时,对端的网络层通过该标志位知道该将该数据提交给传输层的哪一个协议;

    16位首部校验和:判断IP头部在传输过程中是否有损坏;

    32位源ip地址:在转发过程中该ip地址不会被改变。除了NAT技术;
    32位目的ip地址:在转发过程中该ip地址不会被改变。除了NAT技术;

    IP地址管理

    讨论的是ipv4版本的ip地址,类型是unit32_t,范围是(0~2^32)

    早期划分方式

    ip=网络号+主机号
    网络号:标识一个子网络,代表一堆ip地址,网段;
    主机号:在子网当中唯一标识一个主机;

    早期划分ip地址的方式,将ip地址划分为不同的种类,在不同的种类当中,通过网络号划分出来不同的子网,每一个子网当中有若干个ip地址;

    A类

    A类:高1位固定为0,后面7位为网络号,24位为主机号
    00000000 00000000 00000000 00000000–》0.0.0.0
    01111111 11111111 11111111 11111111–》127.255.255.255
    网络号范围:0~127 意味着总共划分出来128个子网络
    ip地址范围:0.0.0.0~127.255.255.255
    每一个A类的子网,能够拥有最大2^24(16777216)个ip地址

    B类

    B类:高两位固定为10,后面的14位表示网络号,16位标识主机号
    10000000 00000000 00000000 00000000 --》128.0.0.0
    10111111 11111111 11111111 11111111–》191.255.255.255
    网络号范围:128.0~191.255
    主机号范围:0~2^16
    ip地址范围:128.0.0.0~192.255.255.255

    C类

    C类:高3位固定为110,后面21位表示网络号,8位标识主机号
    110 00000 00000000 00000000 00000000–》192.0.0.0
    110 11111 11111111 11111111 11111111 --》223.255.255.255
    网络号范围:192.0.0~223.255.255
    主机号范围:0~2^8(256)
    ip地址范围:192.0.0.0~223.255.255.255

    D类

    D类:高4位固定,28位多播组号

    E类

    E类:高5位固定,27位留用

    CIDR方式–引入子网掩码netmask

    子网掩码是一个unit32_t的整数,由一段连续的二进制1构成;
    为了更加精确化的分配ip地址,在每一个子网中,都可以计算分配的ip地址数量;

    子网掩码取反后,有多少个比特位为1,表示主机号使用了多少比特位
    最大主机号 = 子网掩码取反
    网络号 = 子网掩码 & IP地址

    主机号全为0的表示 网络号
    主机号全为1的表示 广播号

    私网IP

    在42亿地址池当中,划分出来3个段,在这三个段当中的ip地址不具备访问互联网的能力,也就是这些ip地址不能够访问互联网。

    本质

    1.这三段ip地址可以进行复用,不管是个人还是去也还是国家,都可以不用申请就直接使用;
    2.这些ip可以组建子网,而我们将这种子网称为私网,对应的互联网称为公网;
    3.这个私网当中的ip之间,不影响网络通信;就是私网当中的机器之间可以互相通信,但是不能访问互联网;
    在这里插入图片描述

    私网网段划分

    1.10.*.*.* 10.0.0.0~10.255.255.255 云服务器的时候,10开头
    2.172.16.*.*~172.31.*.* 172.16.0.0~172.31.255.255
    3.192.168.*.* 192.168.0.0~192.168.255.255

    特殊的IP地址

    127.0.0.1:本都回环地址
    0.0.0.0 用于在服务器程序中,表示服务器机器上所有网卡的ip地址
    255.255.255.255 :UDP的广播地址,DHCP协议:动态主机分配协议:谁上网给谁分配IP

    路由选择

    在这里插入图片描述
    可使用route命令查看路由表
    目的ip地址:
    1.用目的ip地址,和路由器当中的每一个条目的子网掩码进行按位与操作;

    如果得到的结果不是该子网的网络号,表示这个数据不是给这个子网中的某一个机器的;
    如果得到的结果是该子网的网络号,则直接转发给子网中的机器;

    2.如果除了默认网关之外的路由条目都没有匹配上,则这条数据就需要走默认网关,直接传递给上级路由器;

    3.如此往复,在每一个路由设备上进行对比,之后进行传输,直到TTL耗尽被丢弃,或者抵达到目标主机;
    注意:
    网络层的ip协议不负责数据有序或者可靠到达对端;
    网络层的ip协议值负责数据的源端和目的端;

    ICMP协议

    ip协议并不能提供可靠传输,如果丢包了,ip协议并不能通知传输层是否丢包以及丢包的原因。

    一个新搭建好的网络,往往需要进行一个简单的测试,来验证网络是否畅通。

    ping命令基于ICMP,是在网络层,而端口号,是传输层的内容,在ICMP中根本不关注端口这样的信息。

    功能:
    确认IP包是否成功到达目标地址;
    通知在发送过程中IP包丢去的原因;
    ICMP只能搭配IPv4使用. 如果是IPv6的情况下, 需要是用ICMPv6;

    数据链路层

    负责相邻设备的传输,决定性因素MAC地址
    MAC地址:6字节的整数 unit8_add[6];
    MAC地址在每个机器上都是独一无二的

    以太网协议

    目的MAC地址(6字节)+源MAC地址(6字节)+类型(2字节)+数据+CRC校验

    类型:标识网络层使用什么协议;
    数据:有效载荷
    CRC校验:检测数据链路层的数据帧是否差错;

    ARP协议:通过IP地址获取相邻设备的MAC地址

    MTU(最大传输单元)

    MTU相当于发快递时对包裹尺寸的限制,这个限制是不同的数据链路对应的物理层,产生的限制。

    MTU对IP协议的影响

    由于数据链路层MTU的限制,对于较大的IP数据包要进行分包。

    将较大的IP包分成多个小包,并给每个小包打上标签;
    每个小宝IP协议头的16位标识字段中,第2位置为0,表示允许分片,第3位来表示结束标记(当前是否是最后一个小包,是的话置为0,否则置为1);
    到达对端时再将这些小包,会顺序重组,拼装到一起返回给传输层;
    一旦这些小包中任意一个小包丢失,接收端重组就会失败,但是IP层不会负责重新传输数据;
    在这里插入图片描述

    MTU对UDP的影响

    一旦UDP携带的数据超过1472(1500-20(IP首部)-8(UDP首部)),那么就会在网络层分成多个I数据报。
    这多个IP数据报有任意一个丢失,都会引起接收端网路层重组失败,那么就意味着,如果UDP数据报在网络层被分片,整个数据被丢失的概率就打打增加了。

    ARP协议(介于数据链路和网络层之间的协议)

    作用:

    通过IP地址获取相邻设备的MAC地址。

    ARP协议格式:

    在这里插入图片描述

    ARP协议格式=以太网首部+28字节ARP请求或者应答首部
    以太网首部:
    以太网目的地址:ARP请求的目的MAC地址,填充为1,则表示广播地址;
    以太网源地址:ARP请求的主机的MAC地址;
    帧类型:以太网数据帧类型,表示上层使用什么协议–>ARP协议是介于网络层和数据链路层之间的协议。

    28字节的请求或者应答:
    2字节硬件地址类型:定义运行ARP网络的类型,1为以太网。
    2字节协议类型:转换的地址类型,0x0800为IP地址;
    1字节的硬件地址长度:表示MAC地址的长度;
    1字节的协议地址长度:表示IP地址的长度
    op:标识ARP请求还是ARP应答,1表示请求,2表示应答;
    4字节发送端以太网地址;发送ARP请求或者应答主机的MAC地址;
    4字节发送端ip地址:发送ARP请求或者应答主机的IP地址;

    目的以太网地址:
    ARP请求:0x000000000000;
    ARP应答:填充的是,ARP请求中的源MAC地址;

    目的IP地址:目标主机的IP地址

    ARP缓存表(可用arp -a命令查看)

    1.每一台机器,会定时的获取相邻设备的MAC地址,时间为20min,20min也是ARP缓存表的老化时间;
    2.如果在数据链路层没有在缓存表当中发现相邻的MAC地址,则发送ARP请求,否则,直接从缓存表当中获取,组织数据链路层的以太网数据帧;

    注意:

    ARP请求时广播发送的,如果是目标主机收到则处理,如果不是目标主机收到,则丢弃;

    展开全文
  • 计算机网络之数据链路层协议总结

    千次阅读 2021-06-20 21:23:30
    数据链路层介绍2.ARP协议2.1 ARP的工作流程2.2 ARP数据报格式3.NAT技术3.1 NAT转换过程3.2 NAPT技术(动态NAT重载)4.DNS技术4.1 域名层级关系4.2 域名解析流程5. ICMP协议5.1 ICMP功能5.2 ICMP类型 1.数据链路层...

    1.数据链路层介绍

    1. 数据链路层主要负责相邻设备之间的传输,决定传输的因素是MAC地址

    MAC地址:6字节的整数,uint_8 addr[6];
    MAC地址可以唯一标识一台设备和网卡设备绑定的

    1. 以太网协议:目的MAC地址(6字节) + 源MAC地址(6字节) + 类型(2字节)+数据(来源于网络层)+ CRC校验
      在这里插入图片描述

    类型:标识网络层使用什么协议
    数据:有效载荷,受MTU的限制
    CRC校验:检验数据链路层的数据帧是否出错

    2.ARP协议

    • ARP不是一个单纯的数据链路层协议,而是一个介于数据链路层和网络层的协议

    2.1 ARP的工作流程

    • ARP协议建立了主机IP地址和MAC地址的映射关系,获取相邻设备的MAC地址,目的IP—>对应的MAC地址
    • ARP是广播发送,子网当中的所有机器都会收到ARP请求,分析ARP请求当中的目的IP地址是否是自己机器所持有的IP地址,如果是则回复ARP应答,在应答当中包含自己主机的MAC地址;如果不是,则不处理
      在这里插入图片描述

    主机会通过广播发送ARP请求,这个包中包含了想要知道的MAC地址的主机IP地址


    当同个链路中的所有设备收到ARP请求时,会去拆开ARP请求包里的内容,如果ARP请求包中的目标IP与自己一样,那么这个设备就将自己的MAC地址塞入ARP响应包返回给主机


    每台主机会维护一个ARP缓存表,缓存表中的表项有过期时间(每隔20分钟进行更新一次),如果20分钟内没有再次使用某个表项,该表项就会失效,下次还要发ARP请求来获得目的主机的硬件地址

    2.2 ARP数据报格式

    在这里插入图片描述
    目的MAC地址:ARP请求当中,目的MAC地址全部填充为1,表示在当前子网中广播


    源MAC地址:ARP请求主机的MAC地址


    帧类型:以太网数据帧类型,表示上层在使用什么协议(0x0800:IP协议,0x0806:ARP请求或者应答)


    2字节的硬件类型:定义运行ARP网络的类型,一般都是以太网


    2字节的协议类型:表示使用什么协议,标识当前是IP地址转换MAC地址


    1字节的硬件地址长度:表示MAC地址的长度(6字节)


    1字节的协议地址长度:表示IP地址的长度(4字节)


    op:表示当前是ARP请求还是ARP应答,1表示请求,2表示应答


    发送端MAC地址:发送ARP请求主机还是ARP应答主机的MAC地址


    发送端IP地址:发送ARP请求主机还是ARP应答主机的IP地址


    目的MAC地址:当如果是ARP请求,填充0x000000000000;如果是ARP应答,填充ARP请求主机的MAC地址


    目的IP地址:目标主机的IP地址

    3.NAT技术

    3.1 NAT转换过程

    • ipv4中,地址不充足,所以NAT技术解决IP地址不够用的主要手段,是路由器的一个重要功能
    • NAT可以将私有IP对外通信时转换为公网IP
    • 公网IP要求唯一,但是私有IP不需要
    • 简单的来说 NAT 就是同个公司、家庭、教室内的主机对外部通信时,把私有 IP 地址转换成公有 IP 地址
      在这里插入图片描述
    • NAT服务对于通信双方是无感知的
    • 网络被划分为私网和公网,NAT网关通常架设在私网到公网路由出口的位置,双方的数据包都需要经过NAT网关
    • 网络的访问只能从私网一端发起,公网是无法访问到私网的主机的
    • NAT网关对于请求而言,替换源IP地址;对于应答而言,替换目的IP地址
      在这里插入图片描述
    • NAT网关实现了双向翻译的功能,所以需要在NAT网关中维护一张映射表,把替换的信息记下来

    3.2 NAPT技术(动态NAT重载)

    1.N个私有IP地址,难道必须要有N个公有IP地址?这如何缓解地址紧缺的问题呢?
    2.绝大多数的网络应用都是使用TCP/UDP来传输数据的,所以可以把IP地址 + 端口号 一起转换,这样一个公有IP地址就够了
    3.这种转换技术就叫做NAPT
    在这里插入图片描述

    • NAPT理论上可以:一个公网IP可以替换2^16个私网IP(取决于端口号uint16_8)
    • 私网IP地址和公网IP地址变成了多对一的关系
    • NAPT也是动态NAT,也可以在NAT网关当中维护多个公网IP
    • NAPT很好的解决了IP地址不够用的问题,NAPT的好搭档是DHCP协议(动态主机分配协议)

    4.DNS技术

    • 我们在上网的时候,通常使用的是方式是域名,而不是IP地址,因为域名方便人类记忆
    • 实现这一技术的就是DNS域名解析,DNS可以将域名网址自动转换为具体的IP地址

    4.1 域名层级关系

    • 域名其实就是由" . " 分割的字符串的集合,分割出来的字符串表示公司的名称或者性质对额字符串
    • com:商业公司 cn:中国 gov:政府 edu:教育
    • 域名中越靠右的位置表示层级越高,层级关系类似一个树形结构
      在这里插入图片描述

    4.2 域名解析流程

    • 浏览器的缓存当中缓存域名和IP地址对应关系
    • 本地的hosts文件当中也会缓存域名和ip地址对应关系

    浏览器首先查看一下自己的缓存里有没有,如果没有就向操作系统的缓存要,还没有就检查本机域名解析文件hosts,如果还是没有,就回DNS服务器进行查询,有两种查询方式:一种是递归查询;一种是迭代查询
    在这里插入图片描述

    5. ICMP协议

    • ICMP叫做互联网控制报文协议

    5.1 ICMP功能

    • 主要功能包括:确认 IP 包是否成功送达⽬标地址报告发送过程中 IP 包被废弃的原因改善⽹络设置
    • 在IP通信中如果某个IP包因为某种原因未能达到目的地址,那么这个具体的原因将由ICMP负责通知
      在这里插入图片描述

    5.2 ICMP类型

    • 第一种是用于诊断的查询消息,是查询报文类型
    • 第二种是通知出错原因的错误消息,是差错报文类型
      在这里插入图片描述
    展开全文
  • 数据链路层六大协议详解

    千次阅读 2020-12-23 16:44:06
    数据链路层六大协议详解一些假设1.无限制的单工协议(乌托邦协议)五点假设发送方接收方接受方2.单工停-等协议3.有噪声信道的单工协议 本文图片截取自学堂在线-华南理工大学的计算机网络课程 一些假设 物理数据链...
  • 1. 数据链路层概述1.1 数据链路层在网络体系结构中所处的地位1.2 数据链路的三个重要问题1.2.1 封装成帧1.2.2 差错检测1.2.3 可靠传输1.3 总结 1. 数据链路层概述 1.1 数据链路层在网络体系结构中所处的地位   ...
  • TCP/IP 协议族可以分为 4 ,分别是应用、传输、网络数据链路层。 1)应用:应用服务之间的通信协议规范,如 FTP、DNS 和 HTTP 都。 2)传输:传输对应用传输两台计算机之间的数据。传输...
  • 数据链路层协议(Ethernet、IEEE802.3、PPP、HDLC)

    万次阅读 多人点赞 2018-11-19 08:26:26
    首先Ethernet、IEEE802.3、PPP和HDLC都是数据链路协议,只不过后面三个不常用而已,数据链路层最常用的协议是Etnernet以太网协议。 Ethernet和IEEE802.3属于以太链路层协议  广域网中经常会使用串行链路...
  • 数据链路层——以太网协议 第1关:以太网帧的解析 任务描述 补充代码,解析收到的以太网帧,根据出帧类型,调用对应的处理函数。 本任务中的给出的以太网帧字节流不包含前面的7字节同步码、1字节帧开始定界符和后面...
  • 7. MAC地址、IP地址以及数据链路层使用的ARP协议7.1 MAC地址7.1.1 课后练习7.2 IP地址7.2.1 课后练习7.3 ARP协议7.3.1 课后练习 7. MAC地址、IP地址以及数据链路层使用的ARP协议   数据链路层   ■ MAC地址是...
  • 数据链路层主要协议

    万次阅读 2017-03-02 22:33:36
    HDLC:高级数据链路控制协议,Cisco路由器默认的封装,是面向位的控制协议。fram-relay:表示帧中继交换网,它是x.25分组交换网的改进,以虚电路的方式工作 PPPoE PPPoE常用于配置基于PPP的客户软件,它...
  • 文章目录计算机网络(五)—— 数据链路层 ——1. 使用点对点信道的数据链路层1.1 数据链路和帧1.2 三个基本问题1.2.1 封装成帧1.2.2 透明传输1.2.3 差错控制1.2.3.1 冗余码的计算1.2.3.2 循环冗余检验的原理说明1.2...
  • 126.数据链路层有哪些协议

    千次阅读 2020-05-06 19:03:02
    PPP(点到点) HDLC(高级数据链路协议) csma/cd carrier sensor multiple access/collosion detect 载波多监听/冲突检测 工作原理:先听后发、边听边发、冲突停发、随机延迟后重发 ...
  • 数据链路层(2.点对点协议PPP)

    千次阅读 2022-03-15 16:07:54
    对于点对点协议(还有一是广播信道),使用最广泛的数据链路层协议就是点对点协议PPP。 当用户上网时,需要连接到某个ISP才能接入到互联网。PPP协议就是用户计算机和ISP之间进行通信所使用的数据链路层协议。...
  • 数据链路层: 可靠性传输 六个协议

    万次阅读 2018-05-03 19:13:02
    接收方如果帧校验接受到的帧没有问题, 则对发送方发送一个肯定性的确认, 当对这个数据帧进行校验发现这个帧有问题的时候, 此时接受方一是将这个数据帧扔掉, 另一就是告诉发送方接收的数据帧有问题, 此时向发送方...
  • 一、 数据链路层 概述、 二、 "数据链路层" 基本概念、 三、 "数据链路层" 功能、 四、 "数据链路层" 为 网络 提供的服务、
  • 1、基本数据链路层协议 引言 考察协议之前,先明确一下有关底层通信模型的基本假设是有必要的。首先我们假设物理数据链路层和网络都是独立的进程,它们通过来回传递信息进行通信。如图所示,物理进程...
  • 数据链路层之以太网协议

    万次阅读 2018-06-06 17:22:48
    IP 数据包交付的过程中,在数据链路层会对数据包进行添加报头信息。以太网协议就是数据链路的一个重要协议。这样说其实不太准确,因为以太网协议是一个规定数据链路层及物理协议,不能说它是数据链路的一...
  • 史上最全的数据链路层基础知识详解

    千次阅读 多人点赞 2020-03-14 16:45:53
    数据链路层1.数据链路层的主要功能2.三个基本问题2.1封装成帧2.1.1基本概念2.1.2常用成帧方法2.2透明传输2.2.1解决透明传输问题2.2.2用字节/字符填充法解决透明传输问题2.2.3字节填充的标志字节法的特点.2.2.4字节...
  • 网络会把一些IP数据报传输给数据链路层数据链路层在接收到数据之后把它看作是数据帧的数据,接着数据的前后添加标记,标识数据帧的头部和尾部。(从帧首部到帧尾部就是数据帧的长度)帧首部和帧尾部都是特定...
  • 数据链路层(以太网协议):负责两个相邻设备之间的数据帧的传送和识别 一、以太网的帧格式 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位(6个字节),是网卡出厂时固化的。 帧格式类型的...
  • 计网基础四-物理数据链路层

    千次阅读 2022-03-26 20:36:27
    四、物理数据链路层 4.1物理TCP/IP五模型中的物理主要功能是实现0/1数据设备间的双向传输,其中常见的有线介质有双绞线和光纤,无线介质有无线电、微波、激光和红外线。而物理所使用的设备有...
  • 计算机网络---数据链路层实验

    千次阅读 2021-11-23 19:32:23
    理解并掌握数据链路层协议的功能。 掌握差错控制、流量控制、错误检测和纠正基本原理。 进一步理解停止-等待协议和滑动窗口协议的基本工作原理。 掌握数据链路层帧的设计方法。 掌握计算机网络协议的基本...
  • 数据链路层在接受到物理的比特流进行成帧,数据链路层使用物理提供的服务通信信道上发送和接收比特,它主要完成以下功能: (1)向网络提供一个定义良好的服务接口 (2)处理传输错误------差错控制 (3)调节...
  • 数据链路层和物理层协议总结

    千次阅读 2017-12-10 17:06:33
    数据链路层: 1)与流量控制有关的协议:停止等待,后退N帧,选择重传;主要区别在于发送窗口和接受窗口的大小; 2)与介质访问控制有关的协议:信道划分,随机访问,轮询访问; 其中比较重要的是随机访问控制,将...
  • 数据链路层

    千次阅读 2019-05-30 17:13:35
    数据链路层亦存在不同的协议,每种协议可以组成一网络。 WIFI:计算机和无线路由器之间通过802.11协议连接 以太网:计算机和无线路由器之间通过ETHERNET II协议或者802.3协议连接,协议属于数据链路层协议 PPP...
  • 研究数据链路时,我们可以只考虑数据链路层(不考虑网络体系结构的其他各),换句话说,我们可以想象数据包只在数据链路层从左向右沿水平方向传送。所以主机H1到主机H2的通信,可以看成是4段不同的链路上的...
  • 数据链路层属于计算机网络的低数据链路层使用的信道的类型有以下两: (1)点对点通信:这种信道使用一对一的点对点通信方式 (2)广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂,广播信道上...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 327,657
精华内容 131,062
关键字:

哪种协议在数据链路层