计算机网络之数据链库层

一、数据链路层是TCP/IP模型中的倒数第二层,其主要解决的问题有:

  (1)当我从网络层接收到一个包之后,我应该将这个包发送给谁?

            

                                图 1

   针对这个问题,我们可以看一下这一层网络包的格式图1, 最开始是目标MAC和源MAC,这两个字段解决的了我这个数据包应该发送给谁和这个数据包是谁发的的问题。

     后一个类型字段分为两种:

               一种是 IP数据包,这表明后面的数据里面封装的是TCP or UDP 包等。

       另一种是ARP协议(地址解析协议),ARP协议,它主要负责将IP地址转发为MAC地址,好知道我该将这个数据包发送给谁的问题,而ARP的通信模型为在我这个本地局域网里面,我对局域网里所有机器发送一个广播包里面包含了我需要知道目的IP的MAC地址(本地通信全靠吼),当局域网里面其他人收到之后,根据IP判断是不是和自己的IP一样,不是自己的话,就不理会。如果是自己的话,就给发送给他回复一下,我的IP是这个,然后这是我的MAC地址。当收到这个回复之后,然后更具MAC地址将其发送给对应主机。

              

       

      

 (2)如果局域网里面所有机器都在发送数据会不会产生混乱?发包有没有先后顺序?

    在局域网里面有三种数据发送控制方式:第一种是信道划分(每台主机都有各自的信道,如果发送数据的话,只能走那条信道,如果用成其他信道,消息将会传送到其他主机那里)。 第二种是轮流协议(主要指的是对于同一个信道,你用一个时间段,我用一个时间段。如果发送数据的话,只能等待自己的时间段来发送)。 第三种是随机接入协议(当我们要发送数据的时候,先将数据发送出去,但是网络中数据传输非常繁忙,经常导致丢包等问题,然后我们就等待一会,当数据信道传输快空闲的时候才发送。)

 (3)如果数据在发送的过程中出现了错误怎么?我怎么知道我收到的数据是正确的?

    最后一个字段是CRC(冗余校验码)来检测这个数据在传输过程中是否存在误差。主要是通过XOR的原理来计算。

 

二、数据交换设备:

  (1)集线器:集线器采用的是广播模式,当一个收到一个需要转发的消息时,他会将这个数据给每一个主机到发送一个,电脑在接收到之后判断是不是自己的,如果是的话,我们就收下,不是的话就直接丢弃。这种模式在消息较少,或者主机较少的情况下可以行得通,但是一旦消息增多,就容易产生广播风暴。

  (2)交换机(二层设备):他可以通过学习的办法来记住某一个MAC应该对应的一个端口(转发表),而不需要像集线器一样所有的主机都发送一份。但是这里会存在一个问题就是当多个交换机组成一个环路的时候,数据会不断的转发,最终导致数据累计塞满整个局域网的情况。  这个问题有一个解决办法:就是STP(最小生成树协议):大概原理就是通过对不同的交换机设置不同的权重来打破换。这个协议存在的问题就是效率太低,如果当前网络系统很庞大时,当新加入一个交换机时,需要进行长时间的运算才能确定该交换机的位置。

 

三、虚拟局域网(VLAN):他的原理是在二层数据格式上加上一个字段来区分与辨别同一局域网的不同网段(支持该协议的交换机会有一个Trunk口); VLAN ID一共12位,最多支持4098个VLAN的划分。这个思想在后面的虚拟机和容器网络通信之间用的比较多。

       

 

 

 

 

  

原文地址:https://www.cnblogs.com/GoodRnne/p/10579176.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


现在给大家介绍一下如何查询MAC的生产日期,希望对你查询MAC的生产日期操作有所帮助。
1、点击【编辑虚拟机设置】,转到【CD/DVD (SATA)】,选中【使用 ISO 映像文件】复选框,点击【浏览】,找到已经准备好的 MacOS Ventura 镜像;4、客户机操作系统下,选择【Apple Mac OS X】,版本选择大家需要的【macOS版本】,再点击【下一步】;7、完成【抹掉】后,左上角关闭该窗口,返回上一界面,选择【Install macOS】,正式进入苹果系统安装流程;1、打开 Vmware Workstation,然后点击左上角的【文件】,打开的下拉项中,选择【新建虚拟机】;
注意:用哪个版本的 Python 运行安装脚本,pip 就被关联到哪个版本。一般情况 pip 对应的是 Python 2.7,pip3 对应的是 Python 3.x。pip介绍:pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。1.打开后输入python3确定电脑上是否已安装python3,如果输入python是查看mac上的自带版本。如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。如下图是已经成功安装pip的状态。
Mac 安装nvm
Mac(M1)安装VMware虚拟机及Linux系统
Mac 如何安装 Telnet,mac安装telnet命令
是不是对键盘输入厌烦了?那你可以试试语音输入。 你可以按照下面的步骤打开Mac的语音输入功能。 以 macOS Catalina 为例: Step 1. 点击屏幕左上角的图标,点击【系统偏好设置】。
1.clean my Mac x 2.Cleaner One Pro 3.App Cleaner
按caps lock键。 CapsLock键,短按切换中英文,长按切换大小写。
windows: 1.PowerToys 2.不用软件进行分屏 Windows 10技巧1:窗口1/4分屏 - Acer Community 介绍说明 从Win7时代开始,微软便引入了屏幕热区概念,即
https://zhuanlan.zhihu.com/p/111111684 下载地址: https://www.smoothscroll.net/mac/
https://support.apple.com/zh-cn/guide/imac/apd2e7352054/mac 浏览:24 英寸 iMac 24 英寸 iMac 比以往更个
在Mac自带的中文输入法中,“反斜杠”键(“\”)就是顿号。
1.系统偏好设置。 2和3步如下图: 注意:在设置后,启用capslock大写的时候,需要长按capslock键。
Typora是一款轻便简洁的Markdown编辑器,支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别。即时渲染使得你写Markdown就想是写Word文档一样流畅自如,不像其他编辑器的有编辑栏和显示栏。简洁美观实时预览扩展语法跨平台免费Typora现在收费,但你仍然可以在官方网站上找到历史版本。虽然新版本仍然值得收费,但免费版本仍然可以使用。httpshttpshttpshttpshttpshttpshttpshttps。......
Mac M1安装Centos7
连接为官方下载链接, 直接复制MD5可迅雷下载亲测可用, 和付费版使用体验无差别.1. Windows 64bithttps://download.typora.io/windows/typora-setup-x64-0.11.18.exeMD5:12F96372BEE2951ACF5627EA28F8A389**2. Window 32bit **https://download.typora.io/windows/typora-setup-ia32-0.11.18.exeMD5:F5036
ubuntu22.04 、系统安装、win双系统、Ubuntu分区、Ubuntu优化、美化gnome tweaks,扩展、macos、搜狗输入法、wps字体、微信安装、navicat15、java开发环境搭建、idea 输入法问题处理、双系统问题、github慢等等。史上最全保姆级Ubuntu使用教程
MAC怎么获取文件路径 MAC获取文件路径的四种方法