图片和部分内容转载自Chang Zhao


    这章大致介绍了以太网以太网帧的格式网桥和交换机无线局域网(Wi-Fi),点到点协议MTU(最大传输单元)的知识点,所谓链路,在此可以解释为 IP数据报传递所在的介于发送方和接受方之间的通信路径,而链路层的存在就是为了IP的发送和接收

  以太网


   以太网是一种广播网络,包括一个或多个站,连接到一个共享的介质(如电缆)上,然而当每个站都想发送数据时,就会不可避免的出现冲突。因此每个以太网接口都会实现一种分布式算法,称为带冲突(碰撞)检测的载波侦听多路访问CSMA/CD),它可以协调哪些站可以访问共享的介质,用于降低成本提高效率,也促进了以太网技术的普及

    

   CSMA/CD具体实现方法如下:

  • 一个站(如计算机)首先检测目前网络上正在发送的信号,并在网络空闲时发送自己的帧
  • 如果其他站也刚好同时发送,而且两信号并碰撞了,在此情况下,这两个站都等待一个随机时间,然后再次发送,如果再碰撞重复此过程
  • 在任何给定时间内,网络中只能有一个帧在传输,最终每个站都会得到机会发生,或者在尝试一定次数后超时(传统以太网为16次)

  随着以太网的发展,传输速度越来越快,为了跟上发展,每个站之间的线路已不再共享,而是提供了一个专用的星形拓扑结构,交换机(switch)应运而生

  以太网帧的格式


   这里说得帧其实就是链路层上传输的PDU(协议数据单元),所有的以太网帧都有一个共同的格式,结构图如下

   帧的开始是一个前导字段,目的是为了同步,SFD为起始分隔符,标识着以太网帧的开始,DST为目的地址,SRC为源地址,两者合称MAC地址或物理地址

  网桥和交换机


   网桥或交换机用于连接多物理的链路层网络(如一对物理的以太网段)或成组的站,交换机(switch)本质上是高性能的网桥(bridge)

   正如上面提到过的,局域网中的每个站之间的线路变成不共享,而是由以太网交换机(Ethernet Switch)实现了一个专用的星形拓扑结构。

  

    

  • 交换机为以太网中的每个站提供同时发送和接受数据的能力。
  • 每个站使用一条专用的线路连接到一个交换机端口(port),在这种情况下,以太网以全双工方式运行,不需要使用 CSMA/CD 算法。
  • 交换机可以通过交换机端口级联(interconnect)来形成更大的以太网。这种端口叫做“上行(uplink)端口”

  

  下面介绍一下MAC学习

  • 每个交换机都有自己的MAC地址
  • 每个交换机都有一张表(过滤数据库),记录着交换机基于每个端口的地址列表
  • 交换机原来的数据库是空的,每当他接收到一个目的地不是自己的帧时,它便为所有端口都做一个备份,并向所有其他端口发生这个帧的备份
  • 由于站可能出现移动,网卡更换,MAC地址改变等情况,交换机会在每次学习一个地址之后,启动一个默认时间为5分钟的计时器,如果没有在倒数计时这段时间里看到这个地址,则将这个地址删掉

  

  无限局域网(Wi-Fi)


   待续

  点到点协议(PPP)


  • PPP是一种在串行链路上传输IP数据报的方法
  • 它实际上是一个协议集合,它支持建立链路的基本方法称为LCP链路控制协议),在LCP建立基本链路之后,用于各种协议(包括IPv4,IPv6和非IP协议)建立网络层链路
  • 用于在两个节点之间建立直接连接的数据链路层通信协议。PPP 操作只关注一条链路的两端,不需要像 MAC 协议或者 Wi-Fi 那样处理共享资源访问的问题

  MTU


  • 在很多链路层网络(如以太网)中,携带高层协议PDU的帧大小是有限制的,这种特征被称为MTU(最大传输单元),如果IP需要发生一个数据报,但是比MTU大,那么IP会通过分片将数据报分解成比MTU小的分片
  • 当两台主机跨越多种网络通信时,每种不同的链路可能有不同大小的 MTU。因此,在包含所有链路的整个网络路径上,最小的 MTU 叫做 路径 MTU

     

  

<TCP/IP>链路层小结的更多相关文章

  1. TCP/IP——链路层

    链路层主要有三个目的: (1)为IP模块发送和接收IP数据报; (2)为ARP模块发送 ARP请求和接收 ARP应答; (3)为RARP发送RARP请求和接收RARP应答. TCP / IP支持多种不 ...

  2. TCP/IP:链路层

    链路层主要目的: 1.        为IP模块发送和接收IP数据报. 2.        为ARP模块发送ARP请求和接收ARP应答. 3.        为RARP发送RARP请求和接收RARP应 ...

  3. TCP/IP——链路层简记

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

  4. OSI 7层模型和 TCP/IP 5层模型

    网络协议通常分不同层次进行开发,每一层分别负责不同的通行功能. 两种参考模型 OSI 和 TCP/IP, OSI 先有模型后有协议,TCP/IP 则相反. OSI 7层模型 - 应用层 - 表示层 - ...

  5. 网络编程之TCP/IP各层详解

    网络编程之TCP/IP各层详解 我们将应用层,表示层,会话层并作应用层,从TCP/IP五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议,就理解了整个物联网通信的原理. 首先,用户感知到的只 ...

  6. TCP/IP 5层协议簇/协议栈

    TCP/IP 5层协议簇/协议栈 数据/PDU 应用层 PC.防火墙 数据段/段Fragment 传输层 防火墙 报文/包/IP包packet 网络层 路由器 帧Frame 数据链路层 交换机.网卡 ...

  7. OSI七层与TCP/IP四层(小结)

    OSI 七层模型 我们一般使用的网络数据传输由下而上共有七层,分别为物理层.数据链路层.网络层.传输层.会话层.表示层.应用层,也被依次称为 OSI 第一层.第二层.⋯⋯. 第七层. 各层功能简介 1 ...

  8. TCP/IP各层对应的协议

    应用层: 该层包括所有和应用程序协同工作,利用基础网络交换应用程序专用的数据协议.如: HTTP:超文本传输协议. TELNET:(网络电传),通过一个终端(terminal)登录到网络(运行在TCP ...

  9. OSI与TCP/IP各层的结构与功能,都有哪些协议

    前言: 今天更新一下计算机网络的一些非常重要的知识,可能很多人都不知学计算机网络有什么用,我想说的是它真的比较重要,像咱们学校只要是学计算机这个专业都要学习这门课程.另外大家要是去一些像BAT,阿里, ...

随机推荐

  1. C#与 微信小程序 互为加解密方案

    CryptoJS下载地址: https://code.google.com/archive/p/crypto-js/downloads http://download.csdn.net/detail/ ...

  2. Canvas判断内容为空

    如题,项目需要做一个canvas的绘图工具,绘制图纸传递给后台.因此需要做一个非空验证,记录解决方法祝大家早日脱坑. js验证代码: //验证canvas画布是否为空函数function isCanv ...

  3. win7安装linux CentOS7双系统实践

    开发需求要安装linux,百度了些资料,当然仅供参考,否则入坑. 步骤一 :制作Centos 7镜像文件,这步没什么坑 1.准备U盘8G以上 下载的话网上很多,这里提供一个下载路径:​ http:// ...

  4. 【坑】zsh和oh-my-zsh卸载后导致无法登陆

    apt-get remove zsh 然后断开终端,就再也连不上了,崩溃啊! 以下登陆为www用户登陆 各种找,到这里 https://www.cnblogs.com/EasonJim/p/78630 ...

  5. Windows下安装Mysql5.7

    版本如下: Windows10 Mysql5.7.18 下载地址:https://dev.mysql.com/downloads/mysql/ 本人解压到了:D:\Program Files (x86 ...

  6. Ext.net资源地址

    nuget:https://www.nuget.org/packages/Ext.NET/4.1.0 示例:https://examples1.ext.net/#/GridPanel/WebServi ...

  7. DingDing的CorpSecretID和SSOSecret不是一个东西

    今天客户更新系统后,提供了一对corpid和secret,结果同步钉钉考勤机数据时,一直提示corpid和secret不正确,最后询问钉钉官方人员发现,客户提供的是SSOSecret,应该使用Copr ...

  8. 如何实现从 Redis 中订阅消息转发到 WebSocket 客户端

    PHP 的redis扩展是阻塞式 IO ,使用订阅/发布模式时,会导致整个进程进入阻塞.因此必须使用Swoole\Redis异步客户端来实现. 实例代码 $server = new swoole_we ...

  9. vs 调式连接oracle报错问题32,64位问题

    wind8 系统选择项目时生成目标平台选择为X86 报错“System.Exception”类型的未经处理的异常在 WindowsFormsApplication1.exe 中发生 其他信息: 尝试加 ...

  10. Jvm 性能检测

     一.Jmap 1.查看整个LVM 内存状态jmap -heap pid 2.查看JVM堆中对象详细占用情况jmap -histo [pid] 3.导出整个JVM 中内存信息jmap -dump:fo ...