| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 计算机网络:数据链路层概述 -> 正文阅读 |
|
[网络协议]计算机网络:数据链路层概述 |
视频内容学习自B站:湖科大教书匠-计算机网络微课堂。 ? ? ? ? ? ?可以自己去搜着学习,你们关注我关注的我心慌。。。。。。这里只是我自己学习的笔记,如果对你们有帮助的话我还是很开心的。 ------------------------------------------------------------------------------------------------------------------------------------------------------------//切入正题 下图是数据传输时的路径: 注意观察图片: 1.主机有五层结构,路由器只有三层结构。 2.顺着红色虚线箭头传播的,便是数据传输的途径,前面的笔记中有详细介绍。 现在研究数据链路层,只关心数据链路层就行
? 就看成数据包只在数据链路层从左向右延水平方向传输 。 由上图可见,可以看成数=数据包是沿着四小段路径传播的。出现了,链路和数据链路这两个关键词。 1.链路(Link)就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换点。 2.数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。 3.数据链路层是以帧为单位传输和处理数据的。 数据链路三个重要问题:封装成帧/差错检验/可靠传输(使用的是点对点信道的数据链路层来举例的--- 封装成帧:
?过程介绍; 1.两台主机通过一段链路相互连接,两台主机都会对所发送或接受的数据包,进行五个层次的封装或者解封。 2.发送方将待发送的数据通过应用层封装成为应用层协议数据单元,然后交付给运输层。 3.运输层为其添加运输层协议首部,使之成为运输层协议数据单元,然后交付给网络层。 4,网络层为其添加网络层协议首部,使之成为网络层协议数据单元,然后交付给数据链路层。 5.数据链路层给网络层协议数据单元,添加一个数据链路层协议首部,简称为帧头;再加上一个帧尾。(我们将数据链路层给网络层交付的协议数据单元,添加帧头和帧尾的操作,称为封装成帧。添加帧头和帧尾的目的都是为了在链路上以帧为单元来传送数据,也就是为了实现数据链路层本身的功能) 差错检测 1 2? 3? 4? ? 1.发送方将封装好的帧通过物理层发送到传输媒体。 2.帧在传输过程中遭遇干扰后可能会出现误码,比特0变成了比特1,反之亦然。 3.发送方在发送帧之前,基于待发送的数据和检错算法计算出检错码,并将其封装在帧尾。 4.接收方主机收到帧之后,通过检错码和检错算法,就可以判断出帧在传输过程中是否出现了误码。 可靠传输:尽管误码是不能完全避免的,但若能实现发送方发送什么,接收方接受什么,就成为可靠传输。 ? ? 接收方主机收到有误码的帧之后,是不会接受该帧的,将其丢弃。如果数据链路层向其上层提供的是不可靠服务,那么丢弃就丢弃了,不会再有其他措施。如果数据链路层向其上层提供的是可靠服务,就还需要其他措施来确保接收方主机,还可以重新受到被丢弃的这个帧的正确副本。 ------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------- 对于使用广播信号的数据链路层,还有除了上面三个之外问题还有别的问题需要解决。 问题一。 ?有一个问题,主机A发送信号给C。C是怎么知道信号是发送给自己的,B,D,E又是怎么知道不是发给自己的那? 答:采用编址,来解决这个问题。 问题二。 当总线上多台主机同时使用总线来传输帧时,传输信号就会发生碰撞。 ?解决方案:以太网使用一种特殊的协议CSMA/AD,也就是载波监听多点接入/碰撞检测。 下图是本部分的重要内容。在后面的笔记中会出现。 ? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:04:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |