数字链路层
数字链路层:
封装成帧:是指数据链路层对应用层传输层网际层三个层处理之后 对处理结果前后加入帧头和帧尾 让他封装成帧,帧信息包含着两个基本信息 检错码 在尾 目的是判断传送过程是否出现误差,帧头要告诉发送到哪里去
第一个问题 计算机怎么知道哪里是开始?这就要再插入一个开始结束的标志 但是你的信息中间也会存在数据跟你的编制一样 这样会误判 这有两种解决办法 一种是加入一个转义字符 这样就可以判断 一种是标志位111111
而在数据中每五个1插入一个0 可以避免
差错检测:两个方法 奇偶校验法 和循环冗余校验法
可靠传输:我的信息一定要准确无误的被接收方接受,错了再传一个 叫可靠传输
停止等待协议:数据发送时如果数据被接受 则发送确认接受 如果校验码发现数据发送错误 则发布误差信号 重传 这样就有几个问题
1)如果数据压根就没到怎么办?这样就有了一个叫超时重传的的协议 如果时间超过了还没接收在传一个
2)如果确认的数据没到传输放怎么办?我的传输数据也可以超市重传 第一个问题 如果他没到 但是我的数据重发了 这样不就接收到两个数据一了?这样的解决方法是给每个数据编号
第二个问题 ack迟到了 data1超时重传了 但是ack到了 data1也去了这样就是data1和data2 在传输过程中 怎么知道说是谁的ack?我们设计了一个ack编码 这样问题就解决了
二:数据发送时间 ta 在等待时间 rt ack发送时间 ra只是为了rt 这样的利用率不高
回退N帧协议:这里有一个窗口 这个窗口小于例如给分组编号的比特数是则数量不能大于2的n次方-1 比如3个比特编号 五个窗口 则如果4发送ack 那么前三个只要不是丢弃了 就没问题 这样有优势 但是问题是如果在编号2发生错误345对了也没用 如果编号是8个发送0-7 ack7丢失 全都重发 下一个从一发送我不知道哪个是新旧
选择重传协议:对上一个协议的改进:刚才接收只有一个位置 现在接受窗口扩大一点 2的n-1次方
举个例子 0123传递 2丢失 这样接受确认013 向前滑动两个单位 2345 发送四五 不动 2 超时重传了这样效率更高
如果比2的n-1次方高 比如5 012345滑动 接受 发送ack时ack0丢失了 接受窗口滑动56012 但是发送窗口没有 重传0 不知道是新旧
点对点协议:电脑是如何接入网络的?一般是接入几大运营商也就是isp
这些ISP已经从因特网管理机构申请到了一批IP地址,用户计算机只有获取到ISP所分配的合法IP地址后,才能成为因特网上的主机。用户计算机与ISP进行通信时,所使用的数据链路层协议,通常就是PPP协议。
当PPP帧的数据部分出现帧首和帧尾中的标志字段时,如果不采取措施,则会造成接收方对PPP帧是否结束的误判。因为标志字段是PPP帧的定界符,取值为16进制的7E,也就是二进制的01111110。
PPP协议实现透明传输的方法取决于所使用的链路类型。如果是面向字节的异步链路,则采用字节填充法,也就是插入转义字符;如果是面向比特的同步链路,则采用比特填充法,也就是插入比特0
检错方法:用的是循环冗余法
lcp就是测试对应的数据链路层链接与否 配置帧的最大长度
媒体介入控制:共享信道如何协调:第一个静态传输 举个例子:
如果你想要从 长春给吉林传输绿豆 松原给吉林黄豆 频分复用:把一个高速公路分成两个部分一个是长吉一个是松吉
时分复用 每天上午你走 下午我走
波分复用:你们直接一车混在一起拉过去 我来分拣
码分复用 这个没有合适的例子 就收如果我想要发送比特1 我发送一个 A 的码片序列被指定为 000 110 11 ,则 A 站发送 000 110 11 就表示发送比特 1 ,发送111 001 00 就表示发送比特 0 。而长春发送的跟我正交 那么到达目的地 只需要合适的数学处理就能分拣开来
随机接入:csma/cd 不适用于无线网 载波监听和检测碰撞 大致意思是我发送数据的时候先看看有没有别个传输 如果有就不发 发了之后如果检测到碰撞 会把碰撞信号返回 谁近谁接受就会闭嘴
第一个名词:争用期 指的是端到端的传播时间 的二倍 只有在这个时间段检测不出碰撞 才是真的没有碰撞
最小帧长:你不能太快 传输结束碰撞了 你连碰撞信息都受不奥
最大帧长 不给别人传输信息的机会
退避时间:我发生碰撞闭嘴了什么时候能重新说话:是争用期×随机数 随机数指的是 我的碰撞次数和10取最小值 然后乘2的最小值减一次幂
csma/ca 无线局域网 因为无线局域网不容易检测到碰撞 所以不能用碰撞检测 所以要对避免碰撞检测的算法略微提高
为什么difs确保帧有一些优先级所以要等待 2sifs是让接收方从会接受转到空闲 3为什么在等待一段时间 因为如果空闲就传 那么必然会导致碰撞 所以要随即一段时间谁先清零 谁就先上
还有一种方法:
rts 请求你我要开始传了:并带着我要传多久 确认了我就开始传 别的信号过来知道她要传多久就等待时间再传
mac地址:数据链路层表示主机的物理地址在总线传播时 写上自己的地址和目的地址 就会不被别的地址接受 每个机器都有自己的mac地址
ip地址:是指在网络层主机的唯一标码 当你在发送信息时候
IP地址是写和-》h2 但是mac地址是逐层的 先h1-》r1 然后一步一步的传输 就像快递一样 有总目的地 和中转站 而且一个网络 的ip地址前几个字段相同 也就是说h1知道r1的ip地址但是直到ip地址就知道了mac地址?这就引入了
ARC协议:根据一个网络来ip地址找到mac地址首先在主机中有一张高速缓存表 缓存主机到ip的映射 如果查不到就去发送一张报文 记录着我的ip地址和mac地址 你的ip地址请求你的mac地址然后放在高速缓存表中
arc存在欺骗 因为没有安全验证
集线器和交换机的区别:
下面给大家讲一个小故事,就当图个乐!(转自思科,感觉挺好玩儿,并非本人原创,尊重原创)
令狐冲十四岁那年进入华山,那年岳灵珊八岁,岳不群白天给两人指点剑法,晚上令狐冲给小师妹讲故事哄她入睡。后来,岳不群陆续收了劳德诺,陆大有等徒弟,又忙于修炼紫霞神功,就没有时间指点徒弟。于是他做了一个hub,从此华山派实现教育电子化,岳不群在网上同时给每个徒弟授课,这种方法很快在五岳剑派内部推广。为了在五岳剑派之间互连,嵩山派掌门左冷禅研制出router,使得五岳剑派之间可以互联互通。
令狐冲晚上就通过网络给小师妹讲故事。
很快,岳灵珊已经十六岁,变成了一个亭亭玉立的小姑娘了。令狐冲发现自己的目光总是不由自主的在小师妹身上停留,每次和小师妹在一起的时候,总能听到自己强烈的心跳声,经过了一段时间的茶饭不思后,终于有一天晚上,令狐冲在网上给小师妹发了一首情意绵绵的诗:你是风儿我是沙,你是蜜蜂我是花,你是梳子我是头发,你是牙膏我是牙刷。
第二天,华山派开例会,令狐冲怀着忐率不按的心情来到了会议室,发现小师妹红着脸躲在师父后面,而其它的师弟都在偷偷朝自己笑,开完会,一个调皮的师弟就过来叫牙刷师兄,赶紧蒙面逃走。问陆大有,才知道是劳德诺用一个叫netxray的工具把自己在网上的大作全抓了出来。令狐冲悔恨万分,于是,闭门研究rfc,成功的研制出switch。它能够识别设备mac地址,这样,令狐冲发送给小师妹的数据只有她一个人能够收到。令狐冲晚上可以在网上放心的给小师妹讲故事,偶尔手痒还能敲几句平时心里想又说不出口的话来过瘾,然后,红着脸想象小师妹看到后的表情。
路由器 :连接网络 集线器:都行 在物理层拓展以太网 交换机 根据mac地址单独转发
以太网的学习过程:
主要是一个自学习过程 我在交换机内部有一张表记录着我的对应主机的mac接口和主机
比如a-》b 我的自学习表找不到b的接口 所以我去都转发一下 然后找到
b->a 直接把b的mac地址接口放在文件中:慢慢来就完成了学习 不过要注意 这个自学习的表是一段时间就清空的 因为端口未必会放一个主机所以要时时改正
以太网他一定可靠吗 如果连接链路断了不就无法通信了 可以设计成环路 但是环路也有缺点 1 广播风暴 2 对自学习表会不断的错误更新 1要给3 发消息 先都转发 3-》2改成3 1-》2 改成1 为了处理这个问题 引入生成树协议 用最小生成树算法 来控制整个链路
vlan:有广播风暴该怎么办呢 可以加一个路由器 因为路由器不对广播尽享转发 但是路由器很昂贵 不现实 所以采用虚拟技术vlan 把同意需求的主机整合到一起 避免网络风暴
有三个端口access trunk 还有一个不深入研究 access是连接在计算机上的 默认vid是 1 它可以在发送广播帧是添加一个vid标签 简单来说就是添加之后 只有vid一样才能接受
trunk是来凝结在交换机上的 交换机默认vid是 1 如果遇到了 vid是1 的帧 去掉 vid 再重新加 如果不是 直接通过 那这样不会多此一举吗 答案是不同的trunk 可以携带不同的 vid 这样更方便