第三章.数据链路

数据链路层是计算机网络最基本的内容。
数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范。

一、数据链路相关技术

1.MAC地址

关于MAC地址的几个要点:

①MAC地址长度为48比特

MAC地址位数 含义
第1位 单播地址(0)/多播地址(1)
第2位 全局地址(0)/本地地址(1)
第3~24位 由IEEE管理并保证各厂家之间不重复的厂商识别码
第25~48位 由厂商管理并保证产品之间不重复的厂商内识别码(OUI)

MAC地址都是唯一的,在全世界都不会重复。
例外情况:1.微机板上可以自由设置自己的MAC地址。2.一台主机上如果启动多台虚拟机,由于没有硬件的网卡只能由虚拟软件自己设定MAC地址给多个虚拟网卡,很难保证MAC地址独一无二。

2.共享介质型网络

共享介质型网络指由多个设备共享一个通信介质的一种网络(如最早的以太网和FDDI)。基本上采用半双工通信(独占通信介质发送数据,也就是说,不能同时接收和发送数据)。
 
两种介质访问控制方式:

方式 特点 缺陷 改良
争用方式(CSMA,载波监听多路访问) “先到先得” 如果多个站同时发送帧,则会产生冲突现象。 CSMA/CD方式,要求每个站提前检查冲突,一旦发生冲突,尽早释放信道,再重新争用介质。
令牌传递方式 沿着令牌环发送“令牌”特殊报文,只有获得令牌的站才能发送数据 因为一个站没有令牌就不能发送数据,所以数据链路的利用率在网络不拥堵时也达不到100% 早期令牌释放、令牌追加、多个令牌同时循环等方式

3.非共享介质网络

非共享介质网络是指不共享介质,是对介质采用专用的一种传输控制方式。网络中每个站直连交换机,由交换机转发数据帧,发送端和接收端不共享通信介质。大部分情况下使用全双工通信方式(同时收发)。

致命弱点:交换机一旦出现故障,与之相连的所有计算机之间都将无法通信。
  

4.根据MAC地址转发

两个重要点:转发表、自学过程

交换机的自学原理:

5.环路检测技术

原因:数据帧在环路中可能会被一而再再而三地持续转发,而一旦这种数据帧越积越多将会导致网络瘫痪。
两种方式:1.生成树方式;2.源路由法。 

6.VLAN(Virtual LAN)虚拟局域网

作用:1.通过VLAN技术可以不需要通过实际修改网络布线就可以实现分散网络负载、变换部署网络设备的位置等操作;2.VLAN技术附加到网桥上,可以实现过滤多余的包,提高网络的承载效率。

VID标签:在交换机中传输帧时通过该标签决定将数据帧发送到哪个网段。

二、以太网

在众多数据链路中最为著名、使用最为广泛的莫过于以太网(Ethernet)。

1.以太网的分类

例子:10BASE-T(10代表10Mbps,T代表传输介质为双绞线)。

2.以太网帧格式

图解是最直观的表示方式。

前14字节(目标MAC地址、源MAC地址和上层协议类型)构成以太网首部。
FCS作用:检测帧是否有所损坏。

三、无线通信

分类 通信距离 标准化组织 相关其他组织及技术
短距离无线 数米 个别组织 RF-ID
无线PAN 10米左右 IEEE802.15 蓝牙
无线LAN 100米左右 IEEE802.11 Wi-Fi
无线MAN 数千米~100千米 IEEE802.16、IEEE802.20 WiMAX
无线RAN 200千米~700千米 IEEE802.22 ——
无线WAN —— GSM、CDMA2000、W-CDMA 3G、LTE、4G、下一代移动通信网络

IEEE802.11比较

方式 802.11 802.11a 802.11b 802.11g 802.11n
最大速度 2Mbps 54Mbps 11Mbps 54Mbps 150Mbps
频率 2.4GHz 5GHz 2.4GHz 2.4GHz 2.4Ghz/5GHz

四、PPP

PPP(Point-to-point Protocol)是指点对点,即1对1连接计算机的协议。PPP相当于位于OSI参考模型第2层的数据链路层。

PPP属于纯粹的数据链路层,与物理层没有任何关系。

PPP中两个协议:
1.LCP协议(Link Control Protocol,不依赖上层),主要负责建立和断开连接、设置最大接收单元、设置验证协议以及设置是否进行通信质量的监控;
2.NCP协议(Network COntrol Protocol,依赖上层,上层为IP是叫做IPCP),IPCP负责IP地址设置以及是否进行TCP/IP首部压缩等设置。

PPP连接身份验证协议:
1.PAP,用户名和密码验证,明文传输密码;
2.CHAP,使用一次性密码,较为安全。

PPPoE:在以太网的数据中加入PPP帧进行传输的一种方式。
作用:利用PPP的验证等功能使各家ISP可以有效地管理终端用户的使用。

图解TCP/IP读书笔记(三)的更多相关文章

  1. 图解TCP/IP读书笔记(二)

    图解TCP/IP读书笔记(二) 第二章.TCP/IP基础知识 一.TCP/IP出现的背景及其历史 年份 事件 20世纪60年代后半叶 应DoD(美国国防部)要求,美国开始进行通信技术相关的研发 196 ...

  2. 图解TCP/IP读书笔记(一)

    图解TCP/IP读书笔记(一) 第一章 网络基础知识 本学期的信安概论课程中有大量的网络知识,其中TCP/IP占了相当大的比重,让我对上学期没有好好学习计算机网络这门课程深感后悔.在老师的推荐下开始阅 ...

  3. # 图解TCP/IP读书笔记(五)

    第五章.IP协议相关技术 IP旨在让最终目标主机收到数据包,但是在这一过程中仅仅有IP是无法实现通信的,因此还有需要作为为IP的辅助的各种协议支持. 协议 作用 特点 DNS(Domain Name ...

  4. 图解TCP/IP读书笔记(四)

    第四章.IP协议 IP(Internet Protocol,网际协议),作为整个TCP/IP中至关重要的协议,主要负责将数据包发送给最终的目标计算机.因此,IP能够让世界上任何两台计算机之间进行通信. ...

  5. TCP/IP读书笔记(4) IPv4和IPv6 路由选择

    TCP/IP读书笔记(4) IPv4和IPv6 路由选择 网络层是位于链路层之上,TCP/IP模型中网络层的核心协议是IP协议(Internet protocol). 目前主流的IP协议是IPv4(I ...

  6. 《图解TCP/IP》笔记

    OSI参考模型 协议分层 为什么需要分层? 简化网络协议. 每一层只需要衔接上下层的服务. 利于模块化开发. 解耦. 分层的问题 过分模块化.提高数据处理的开销. OSI参考模型 作用及意义 将复杂的 ...

  7. 《图解tcp/ip》读书笔记(二)

    <图解tcp/ip>读书笔记(二) 本周主要阅读的是本书的第三章--数据链路. 当然了,从某些角度讲,我认为这一章就是计算机网络的最基本的内容之一.整章讲述了数据链路层的作用和相关技术,主 ...

  8. 读书笔记——《图解TCP/IP》(1/4)

    读书笔记——<图解TCP/IP>(1/4) 经典摘抄 第一章 网络基础知识 1.独立模式:计算机未连接到网络,各自独立使用的方式. 2.广域网 WAN 局域网 LAN 城域网 MAN 3. ...

  9. 读书笔记——《图解TCP/IP》(4/4)

    经典摘抄 第八章 应用层协议概要 1.应用协议是为了实现某种应用而设计和创造的协议. 2.TCP/IP的应用层包含了管理通信连接的会话层功能.转换数据格式的表示层功能,还包括与对端主机交互的应用层功能 ...

随机推荐

  1. MATLAB GUI程序设计中使文本框接收多行输入的方法

    对于文本框来说 Max属性于Min属性数值之差小于等于1时,仅接收单行输入 大于1时,接受多行输入 对于多行情况,set/get到的String应为cell 本系列文章允许转载,转载请保留全文! [说 ...

  2. nodejs tools

    1.supervisor npm install supervisor -g supervisor app.js cd public cd bin supervisor www http://www. ...

  3. mui开发

    http://blog.csdn.net/sunhuaqiang1/article/details/46848005

  4. elasticsearch-查询的基本语法

    elasticsearch的查询有两部分组成:query and filter. 两者的主要区别在于:filter是不计算相关性的,同时可以cache.因此,filter速度要快于query. 先记录 ...

  5. android开发 WriteUTF与readUTF 原理

    今晚上写代码玩,用到java.io.RandomAccessFile.writeUTF(String)函数,而文件默认保存为gbk,显然是乱码.突然想起来去看看存储编码规则,就去找了些文章了解writ ...

  6. BZOJ 4500: 矩阵 差分约束

    题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=4500 题解: 从行向列建边,代表一个格子a[i][j],对每个顶点的所有操作可以合并在一 ...

  7. Leetcode#76 Minimum Window Substring

    原题地址 用两个指针分别记录窗口的左右边界,移动指针时忽略那些出现在S种但是没有出现在T中的字符 1. 扩展窗口.向右移动右指针,当窗口内的字符即将多于T内的字符时,停止右移 2. 收缩窗口.向右调整 ...

  8. A*(A星)算法python实现

    在春节放假前两天我偶然看到了A\*算法(A\*算法是一个启发式的地图寻路算法),感觉挺有意思.正好放假前也没有什么事情,就花了一个下午写出算法的骨架,节后又花了半天时间完善屏幕输出的细节并且调试完成. ...

  9. [工作积累] NDK通过Java获取package name 和version

    ////////////////////////////////////////////////////////////////////////// //Java code snippet //get ...

  10. 用vs2010 编写C语言程序,VS2010 C++编译报错LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    编译mongodb-src-r2.2.2出现以下问题 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏   这个是由于日志文件引起的,可以将 项目\ ...