408王道计算机网络强化——数据链路层(上)

简介: 408王道计算机网络强化——数据链路层

1.访问网站的过程

设访问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协议请求的内容(第三次握手才能开始携带数据)

629394c26d3e4b67b9347c0cdc3790ba.png

2.TCP报文段、IP数据保和MAC帧

cd1b1d0ef0ab4723b7123ec3df84ec5f.png8bcae0e165ef4adcb9f5334e27d28405.png

2.1.TCP报文段

组成:TCP首部(20B) + 应用层数据(例如HTTP协议请求)

①源地址和目的地址:2B

②序号、确认号:4B

③数据偏移:4bit

④确认位ACK:当ACK = 1 时,确认号有效。当建立连接后,所有报文的ACK都必须为1

⑤同步位SYN:当SYN = 1 时,表明是连接请求/连接接受报文

⑥终止位FIN:当FIN = 1时,表明发送方数据已发送完,要求释放连接

a1518abfeaff43b3896f826b79886a9d.png

2.2.IP数据报

组成:IP首部(20B,单位为4B,通过DNS得到的IP地址) + TCP报文段

①源地址和目的地址:4B

②总长度:4B,单位为1B

③片偏移:单位为8B

④标识:同一数据报的分片使用同一标识(接收端根据标识将相同标识的分片组成数据)

⑤标志:

中间位:DF(Dont Fragment) = 1,禁止分片; DF = 0,允许分片

最低位:MF(More Fragment)= 1,后面还有分片;MF = 0,最后一个分片 / 没分片

3c69e6c936c94d62aad23c4cc9c5b0ab.png

2.3.MAC帧

组成:MAC头部 + MAC尾部(18B) + IP数据报

①源地址和目的地址:6B

②总长度64B - 1518B:控制部分18B(头部尾部)+ 数据部分(46B - 1500B)

cd3e568b265c46bca97ee863de982ec0.png

3.转发表、ARP表和路由表

3.1.转发表

自学习功能:初始转发表为空e55350fd233c4bee86746ee1a154564a.png

(1)当收到A→B的数据时:

①检查发送方的地址:将会检查数据的源MAC地址,发现表中并没有关于A地址和其接口的转发表项,则将A和其数据进来的接口写入表中

②检查接收方的地址:将会检查数据的目的MAC地址,发现表中并没有关于B地址的转发表项,则从除了接口1外的所有接口都将转发该数据(但只有B会真正收到数据,CD收到后将该数据丢弃)

(2)当收到B→A的数据时:

①检查发送方的地址:将会检查数据的源MAC地址,发现表中并没有关于B地址和其接口的转发表项,则将B和其数据进来的接口写入表中

②检查接收方的地址:将会检查数据的目的MAC地址,此时表中有目的地址A的转发表项,从接口1中发出

总结:新源地址进来增加新地址表项,新目的地址广播,旧目的地址单播

9e7ea260c48643a69dd6ab1b55b407fe.png

3.2.ARP表

1.检查ARP缓存是否有该IP地址和MAC地址的映射

2.若1中没有,则广播目的地址为FF-FF-FF-FF的ARP请求分组

3.目的主机(本网络)或者默认网关(其他网络)将会单播返回一个带有其IP地址和MAC地址的ARP响应分组

4.源主机收到后写入ARP缓存8b6291857dcf4078b81b144afac1f9e2.png

3.3.路由表

1.静态路由:事先人为创建

2.动态路由:RIP、OSPF

3.有网络前缀不需要子网掩码:都是表示多少位是网络位,多少位是主机位(不同表示形式)

4.接口:收到前往该地址的数据后,应该从自己的哪个接口转发出去,因此写的是自己的物理接口

5.网关:不与自己直接相连的网络,下一跳地址

源地址和目的地址不在同一网络,需要网关带其进入下一网段,填该网关的IP地址

源地址和目的地址在同一网络,不需要网关,不填

6.题中路由表缺失:路由聚合或者默认路由(网络ID和子网掩码全0,作用是当接收到数据的目的地址在并不在路由表中,则转发给默认路由,通过其去其他网络)

c4502eea56ce4d75a332a3ea4d4b6d73.png

①黄色(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的默认路由ce90adc5763d480d9735d3bef57f8e3c.png

①黄色(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

42e0944c91394ea98306b88a6d0183fc.png

①黄色(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的默认路由

相关文章
|
19天前
【计算机网络】第三章 数据链路层(可靠传输)
【计算机网络】第三章 数据链路层(可靠传输)
31 0
|
19天前
【计算机网络】第三章 数据链路层(概述 封装成桢 差错检错)
【计算机网络】第三章 数据链路层(概述 封装成桢 差错检错)
24 0
|
19天前
|
缓存 网络协议 网络架构
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
31 1
|
19天前
|
网络协议 算法 网络虚拟化
【计算机网络】第三章 数据链路层(点对点协议 媒体介入控制)
【计算机网络】第三章 数据链路层(点对点协议 媒体介入控制)
28 0
|
5天前
|
网络协议 网络架构
网络原理-IP/数据链路层协议
网络原理-IP/数据链路层协议
|
19天前
|
缓存 监控 安全
计算机网络 第六章 数据链路层(习题)
计算机网络 第六章 数据链路层(习题)
|
19天前
|
存储 监控 网络协议
【计算机网络】第三章 数据链路层(虚拟机与局域网)
【计算机网络】第三章 数据链路层(虚拟机与局域网)
28 2
|
19天前
|
存储 安全 数据安全/隐私保护
【计算机网络】第三章 数据链路层(集线器与交换机)
【计算机网络】第三章 数据链路层(集线器与交换机)
28 1
|
19天前
|
算法 网络协议 数据建模
【计算机网络】—— IP协议及动态路由算法(下)
【计算机网络】—— IP协议及动态路由算法(下)
|
19天前
|
算法 网络协议 数据建模
【计算机网络】—— IP协议及动态路由算法(上)
【计算机网络】—— IP协议及动态路由算法(上)