目录
1.访问网站的过程
2.TCP报文段、IP数据保和MAC帧
2.1.TCP报文段
2.2.IP数据报
2.3.MAC帧
3.转发表、ARP表和路由表
3.1.转发表
3.2.ARP表
3.3.路由表
4.数据交换方式
5.数据链路层协议
6.真题(数据链路层部分)
设访问www.xyz.com
①通过DNS查询IP地址
1.查询DNS缓存→若之前访问过,则可以通过DNS缓存直接获得该网站的IP地址
2.递归+迭代查询IP地址
②通过ARP查询MAC地址
1.查询ARP缓存→若之前访问过,则可以通过ARP缓存直接获得下一跳的MAC地址
2.广播目的地址为FF-FF-FF-FF的ARP请求分组:通过目的IP地址和子网掩码逐位相与的方式判断目的IP地址是否为本网络内主机
(1)本网络内主机(发送给目的主机):ARP请求分组的目的IP地址就是www.xyz.com的IP地址,返回目的主机的MAC地址
(2)非本网络内主机(发送给默认路由):ARP请求分组的目的IP地址是默认路由的IP地址,默认路由返回默认路由的MAC地址,返回默认路由的MAC地址
③主机与服务器建立TCP连接:HTTP协议基于TCP连接
在数据发送过程中,目的IP地址和源IP地址不变,但是目的MAC地址和源MAC地址进入下一条(新网段)时会发生改变
④主机发送HTTP协议请求,服务器相应请求
第三次握手选择是否携带有关HTTP协议请求的内容(第三次握手才能开始携带数据)
组成:TCP首部(20B) + 应用层数据(例如HTTP协议请求)
①源地址和目的地址:2B
②序号、确认号:4B
③数据偏移:4bit
④确认位ACK:当ACK = 1 时,确认号有效。当建立连接后,所有报文的ACK都必须为1
⑤同步位SYN:当SYN = 1 时,表明是连接请求/连接接受报文
⑥终止位FIN:当FIN = 1时,表明发送方数据已发送完,要求释放连接
组成:IP首部(20B,单位为4B,通过DNS得到的IP地址) + TCP报文段
①源地址和目的地址:4B
②总长度:4B,单位为1B
③片偏移:单位为8B
④标识:同一数据报的分片使用同一标识(接收端根据标识将相同标识的分片组成数据)
⑤标志:
中间位:DF(Dont Fragment) = 1,禁止分片; DF = 0,允许分片
最低位:MF(More Fragment)= 1,后面还有分片;MF = 0,最后一个分片 / 没分片
组成:MAC头部 + MAC尾部(18B) + IP数据报
①源地址和目的地址:6B
②总长度64B - 1518B:控制部分18B(头部尾部)+ 数据部分(46B - 1500B)
自学习功能:初始转发表为空
(1)当收到A→B的数据时:
①检查发送方的地址:将会检查数据的源MAC地址,发现表中并没有关于A地址和其接口的转发表项,则将A和其数据进来的接口写入表中
②检查接收方的地址:将会检查数据的目的MAC地址,发现表中并没有关于B地址的转发表项,则从除了接口1外的所有接口都将转发该数据(但只有B会真正收到数据,CD收到后将该数据丢弃)
(2)当收到B→A的数据时:
①检查发送方的地址:将会检查数据的源MAC地址,发现表中并没有关于B地址和其接口的转发表项,则将B和其数据进来的接口写入表中
②检查接收方的地址:将会检查数据的目的MAC地址,此时表中有目的地址A的转发表项,从接口1中发出
总结:新源地址进来增加新地址表项,新目的地址广播,旧目的地址单播
1.收到a1的帧后,转发表增加a1和其端口号1,并将该帧广播给b1和c1
2.收到c1的帧后,根据转发表中a1对应的端口号1单播转发
1.检查ARP缓存是否有该IP地址和MAC地址的映射
2.若1中没有,则广播目的地址为FF-FF-FF-FF的ARP请求分组
3.目的主机(本网络)或者默认网关(其他网络)将会单播返回一个带有其IP地址和MAC地址的ARP响应分组
4.源主机收到后写入ARP缓存
1.静态路由:事先人为创建
2.动态路由:RIP、OSPF
3.有网络前缀不需要子网掩码:都是表示多少位是网络位,多少位是主机位(不同表示形式)
4.接口:收到前往该地址的数据后,应该从自己的哪个接口转发出去,因此写的是自己的物理接口
5.网关:不与自己直接相连的网络,下一跳地址
源地址和目的地址不在同一网络,需要网关带其进入下一网段,填该网关的IP地址
源地址和目的地址在同一网络,不需要网关,不填
6.题中路由表缺失:路由聚合或者默认路由(网络ID和子网掩码全0,作用是当接收到数据的目的地址在并不在路由表中,则转发给默认路由,通过其去其他网络)
①黄色(10.0.0.1/8 - 100.0.0.100/8):与R1直接相连,通过接口1,不需要借助网关
②橙色:172.16.0.1/24 - 172.16.0.2/24:与R1直接相连,通过接口2,不需要借助网关
③绿色(192.168.0.1/24、192.168.0.2/24):与R1不直接相连,通过接口2,需要借助网关,网关IP地址为R2
④绿色(192.168.100.0/24、192.168.100.100/24):与R1不直接相连,通过接口2,需要借助网关,网关IP地址为R2(需要通过R2才能到达R3)
⑤默认路由(0.0.0.0):选择R2为R1的默认路由
①黄色(10.0.0.1/8 - 100.0.0.100/8):与R2不直接相连,通过接口3,需要借助网关,网关IP地址为R1
②橙色(172.16.0.1/24 - 172.16.0.2/24):与R2直接相连,通过接口3,不需要借助网关
③绿色(192.168.0.1/24、192.168.0.2/24):与R2直接相连,通过接口4,不需要借助网关
④绿色(192.168.100.0/24、192.168.100.100/24):与R2不直接相连,通过接口4,需要借助网关,网关IP地址为R3
①黄色(10.0.0.1/8 - 100.0.0.100/8):与R3不直接相连,通过接口5,需要借助网关,网关IP地址为R2
②橙色(172.16.0.1/24 - 172.16.0.2/24):与R3不直接相连,通过接口5,需要借助网关,网关IP地址为R2
③绿色(192.168.0.1/24、192.168.0.2/24):与R3直接相连,通过接口5,不需要借助网关
④绿色(192.168.100.0/24、192.168.100.100/24):与R3直接相连,通过接口6,不需要借助网关
⑤默认路由(0.0.0.0):选择R2作为R3的默认路由
考虑第一个分组或者考虑最后一个分组(二选一)
1.信道利用率:发送有效数据的时间占所有时间之比
2.后退N帧协议:累计确认;超时重传所有已发送但未被确认的帧
3.选择重传协议:针对某个帧确认;超时重传某个帧
(1)①GBN采用累计确认,通过检查已收到乙发出的最后一个帧的确认字段判断乙正确受到的帧
②R3,3确认帧为3,表示乙期望收到3号帧,即已经收到S0,0、S1,0、S2,0,还未收到S3,0
(2)①窗口数为3bit,且GBN协议的最大发送窗口数为(2 ^ n) -1,即8 - 1 = 7
②已经发送了S0,0、S0,1、S2,0、S3,0、S4,1,即发送窗口还剩下7 - 5 = 2
③题1中提到甲已经知道乙正确接受了S0,0、S0,1、S3,0,即发送窗口可以往前(增加)3个,2 + 3 = 5
④甲发送的确认帧为期望乙发送的下一个数据帧号,正确接受乙的最后一个数据帧为R1,3,数据帧号为1,即期望乙下一次发送数据帧号2,故甲发送的确认帧为2;结合甲的下一个数据帧为5,故甲发送的第一个帧为S5,2
⑤发送窗口为3bit,即0、1、2、3、4、5、6、7循环,故最后一个帧的数据帧为1(5→6→7→0→1);在不出现超时且并未收到乙方新的数据帧之前,即甲在发送最后一个帧时,仍然在期待乙发送数据帧2,即最后一个帧的确认帧为2;故甲发送的最后一个帧为S1,2
(3)GBN协议发生超时或者出错时,需要重传该帧及其所有已经发送但未收到确认的帧:故需要重传三个数据帧,即数据帧号为2、3、4;甲已经正确接收到乙数据帧号为2的帧,故甲期望接受的下个乙的数据帧号为3;故甲重发的第一个帧为S2,3
(4)分母 = 发送第一个数据帧开始到收到第一个确认帧为止的时间
分子 = 甲的最大发送窗口数(7) * 发送每个数据帧的时间
捎带确认:返回一个确认帧的时间等于发送一个数据帧的时间
(1)最短时间:在最中心发生碰撞
最长时间:数据抵达某侧时,该侧数据刚发出
(2)ARP表为空,需要广播一个目的地址为FF-FF-FF-FF-FF-FF的ARP请求分组;访问不同网络时,目的MAC为下一跳的路由器(网关)的MAC地址,即00-a1-a1-a1-a1-a1
(2)通过ARP协议实现IP地址到MAC地址的转换;ARP请求报文的目的地址为FF-FF-FF-FF-FF-FF
发送时延 ≥ RTT(2τ)