一、 链路层的功能

可靠交付:在高差错的链路,如无线链路,可以进行可靠交付;对于其它的有线,可以是多余的;

流量控制:防止接收方的缓存区溢出,帧丢失;

差错检测与差错纠正:在硬件上实现了;

二、多路访问协议

信道划分协议: 时分复用(TDM)、频分复用(FDM)、 码分多址(CDMA);

随机接入协议:以信道的全部速率进行传输,遇到碰撞就停下来, 等待随机的时间后再次发送;

  • 时隙ALOHA:把每个节点的发送时间开始都是固定的、同步的(如12点、1点、2点……, 而不会12.04发送),间隔时间为一个帧的传播时间;当没有碰撞时发送完成,当碰撞发生时,在下一个发送点以概率P进行发送;
  • ALOHA: 原理与上面的相同,不一样的地方为:发送时间点不是固定的,而是随机的;
  • 载波侦听多路访问(CSMA):每一个节点都会进行监听信道,如果有空闲的,就发送,否则等一段时间;  当加上碰撞(由于传播时延,会碰撞)检测时,变为了(CSMA/CD)了;

轮流协议:

  • 轮询协议:各节点中有一个主节点,它会去轮流询问每一个节点是否需要发送数据,你如果发送就让让你发,你发完以后再问下一下;(会引入时延)
  • 令牌传递协议:各节点中没有主节点了,而是有一个特殊的称为令牌的帧,这个令牌在各个节点之间轮流传递,有令牌的人就可以发送数据,发送完就传给下一个人;

三、地址解析协议:ARP与逆ARP

ARP表的样子,其中TTL表示为过期的时间 ,它们是有时效的;

一个主机的ARP表中想要得到一个IP的MAC时,它可以这么做:

  • 1. 发送一个ARP的请求包,其中包括源IP与MAC、目的的MAC为广播MAC,即全为1,目的的IP地址就是要查询的IP地址;
  • 2. 这样所以的 其它主机都可以解析这个请求包,查看是否与自己的IP对应,如果对应则回复人家,如果不对应,直接忽略就可以了;

四、以太网

帧结构:

  • 前同步码(7个字节10101010和1个字节10101011):
  • 目的地址源地址都是MAC;
  • 类型:这是网络协议分层设计减小耦合度的精心设计,这允许以太网多路复用网络层协议,可以支持除了IP协议之外的其他不同网络层协议,或者是承载在以太网帧里的协议(如ARP协议)。接收方根据此字段进行多路分解,从而达到解析以太网帧的目的,将数据字段交给对应的上层网络层协议,这样就完成了以太网作为数据链路层协议的工作。
  • 数据:在交换式以太网中,一台主机向局域网中的另一台主机发送一个IP数据报,这个数据报封装在以太网帧结构中作为其有效载荷,以太网的最大传输单元(MTU)是1500字节,也就是限制了一个IP数据报最大为1500字节,如果超过1500字节,就要启用IP协议的分片策略进行传输。同时,数据字段最小长度为46字节,如果不够必须要填充到46字节。如IP数据报和填充部分会被网络层利用IP数据报首部的长度字段去除相关填充。
  • CRC:循环冗余校验;

整体结构:

五、交换机

工作在数据链路层,可以进行过滤志转发,连接以太网;

六、 点对点的协议,PPP

使用到的协议:链路控制协议 (LCP)、 网络控制协议(NCP)、PPP扩展协议;

http://www.cnblogs.com/gtarcoder/p/6259105PPP.html

计算机网络——链路层协议的更多相关文章

  1. 计算机网络七层协议模型 “开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)

    计算机网络七层协议模型 作者:Ryan    时间:2013年10月7日 一.物理层(Physical Layer) OSI模型的最低层或第一层,规定了激活.维持.关闭通信端点之间的机械特性.电气特性 ...

  2. 计算机网络-链路层(4)WiFi:802. 11无线LAN

    有几套有关无线LAN 的802. 11标准,包括802.11b.802.11a和802.11g. 802.11g是至今为止最为流行的技术.一些双模式(802.11a/g)和三模式(802.11a/b/ ...

  3. 计算机网络-链路层(2)多路访问控制协议(multiple access control protocol)

    单一共享广播信道,如果两个或者两个以上结点同时传输,会互相干扰(interference) 冲突(collision):结点同时接收到两个或者多个信号→接收失败! MAC协议采用分布式算法决定结点如何 ...

  4. H3C 链路层协议

  5. TCP/IP协议学习(六) 链路层详解

    学习知识很简单,但坚持不懈却又是如此的困难,即使一直对自己说"努力,不能停下"的我也慢慢懈怠了... 闲话不多说,本篇将讲述TCP/IP协议栈的链路层.在本系列第一篇我讲到,TCP ...

  6. 《TCP/IP详解卷1:协议》第2章 链路层-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  7. TCP/IP协议族之链路层(二)

    TCP/IP学习记录,如有错误请指正,谢谢!!! TCP/IP协议族之链路层(二) 链路层是最底层协议,主要有三个目的: 1. 为IP模块发送和接收IP数据报 2. 为ARP模块发送ARP请求和接收A ...

  8. <再看TCP/IP第一卷>关于链路层的知识细节及相关协议

    在TCP/IP协议族中,链路层的主要有三个目的: (1)为IP模块发送和接受数据报 (2)为ARP模块发送ARP请求和接受ARP应答 (3)为RARP发送RARP请求和接受RARP应答 TCP/IP支 ...

  9. 《TCP/IP详解卷1:协议》——第2章:链路层(转载)

    1.引言 从图1-4可以看出,在TCP/IP协议族中,链路层主要有三个目的: (1)为IP模块发送和接收IP数据报: (2)为ARP模块发送ARP请求和接收ARP应答. (3)为RARP发送RARP请 ...

随机推荐

  1. OpenCV中图像算术操作与逻辑操作

    OpenCV中图像算术操作与逻辑操作 在图像处理中有两类最重要的基础操作各自是图像点操作与块操作.简单点说图像点操作就是图像每一个像素点的相关逻辑与几何运算.块操作最常见就是基于卷积算子的各种操作.实 ...

  2. .NET MVC+ EF+LINQ 多表联查VIEW显示列表

    1.VIEW 页面显示代码 <link href="~/Content/bootstrap.css" rel="stylesheet" /> < ...

  3. (原创)发布一个c++11开发的轻量级的并行Task库TaskCpp

    TaskCpp简介 TaskCpp是c++11开发的一个跨平台的并行task库,它的设计思路来源于微软的并行计算库ppl和intel的并行计算库tbb,关于ppl和tbb我在前面有介绍.既然已经有了这 ...

  4. tensorflow笔记1:基础函数、embedding_lookup

    函数一:tf.nn.embedding_lookup() ERROR: I get this error: TypeError: Tensors in list passed to 'values' ...

  5. 【嵌入式】使用Cross Toolchain构建交叉工具链

    Preface 前面编译linux内核的时候,用各种cross版本都不行啊,真是纠结,于是就想着自己也要会编译交叉工具的方法,然后各种尝试,各种问题啊,最后还是没解决(还有其它事情),步骤我都走熟了, ...

  6. golang将interface{}转换为struct

    项目中需要用到golang的队列,container/list,需要放入的元素是struct,但是因为golang中list的设计,从list中取出时的类型为interface{},所以需要想办法把i ...

  7. Python爬取中国票房网所有电影片名和演员名字,爬取齐鲁网大陆所有电视剧名称

    爬取CBO中国票房网所有电影片名和演员名字 # -*- coding: utf-8 -*- # 爬取CBO中国票房网所有电影片名 import json import requests import ...

  8. SparkStreaming python 读取kafka数据将结果输出到单个指定本地文件

    # -*- coding: UTF-8 -*- #!/bin/env python3 # filename readFromKafkaStreamingGetLocation.py import IP ...

  9. js中取小数整数部分函数;取小数部分

    1.丢弃小数部分,保留整数部分 parseInt(23.56); 结果:23 2.向上取整,有小数就整数部分加1 Math.ceil(23.56) 结果:24 3,四舍五入. Math.round(2 ...

  10. mysql查询字段为null 返回0

    SELECT   IF(AVG(字段) IS NULL,0, 字段) as 重命名   From  xxx