网络层(IP)和数据链路层(以太网)的关系

一、路由选择

路由选择过程,其实就是选择一条合适的路径,这个“合适”并不是一个容易衡量的事情,要综合考虑路径的长短,通信的速度,设备开销的大小。此处的路由指的是IP协议中的“路径规划功能”。

二、IP协议中的路由选择

IP协议中,数据到达某个路由器,这个路由器只知道它近况(相当于路由表),不知道整个网络整体的环境,是一个探索式的过程。路由表中描述了“什么样的IP”从“什么样的网络接口传输”

三、数据链路层协议(以太网)

1.负责的工作

两个相邻节点之间数据的传输

2.核心的协议

以太网(涉及到数据链路层+物理层的协议)如:平时的网线一般就是以太网线

3.举例说明传输层,网络层,数据链路层之间的关系

要回老家,老家在东北,吉林省,白城市,大安市(县),安广镇
(1)站在传输层
起始位置:陕西省西安市未央区1号路
目标位置:吉林省白城市大安市安广镇
(2)站在网络层
可选路线1:西安-北京-白城-安广
可选路线2:西安-长春-白城-安广
可选路线3:西安-沈阳-大安-安广
可选路线4:西安-北京-长春-白城-安广
(3)站在数据链路层
选线路2:西安-长春-白城-安广
西安-长春:坐飞机
长春-白城:坐火车
白城-安广:坐公交

4.描述数据使用的不同术语(很少区分)

传输层:一个数据段(segement)同步报文段(syn),确认报文段(ack),结束报文段(fin),复位报文段(rst)
网络层:一个数据报(packet)
数据链路层:一个数据帧(frame)

5.以太网帧格式

在这里插入图片描述
(1)此处的目的地址,源地址指的是mac地址,这个和IP地址还是有很大区别。
(2)一个mac地址占6个字节,一般用十六进制表示。
(3)一个IP数据报的长度范围:46-1500(其中46-1500是由MTU控制的)
MTU:物理层存在硬性限制,对应的数据链路层的数据帧,是有一定的大小范围,这个范围就是MTU,不同的硬件介质对应的MTU是不同的,IP数据包分包往往不是因为达到了IP长度,而是因为达到了MTU上限产生了分包。
(4)CRC:校验和

四、mac地址(数据链路层的地址)

1.mac地址介绍

一个mac地址占6个字节,表示的范围比IPV4大很多,mac可以做到每个主机都有唯一的地址,如果打游戏的时候发现两个账号对应的mac地址是同一个,就是在多开。

2.如何查看自己主机的mac地址

mac地址:cmd中输入ipconfig查看物理地址,一般使用十六进制表示

2.IP地址和mac地址区别

IP地址和mac地址都可以描述一个主机的位置,但发明之初是各自独立的,还是有区别的。
IP地址是动态分配(连上网络之后,对应的路由器/其他设备会给这个主机自动分配一个IP)
mac地址是写死的(网卡出场的时候就被写死了)

3.画图描述mac地址

主机A 要给主机B传输一个数据报,略过应用层和传输层的封装过程,直接考虑网络层。
在这里插入图片描述

五、ARP协议

1.作用

辅助性协议,这个协议严格的说不仅仅是属于数据链路层的,而是横跨数据链路层和网络层的。这个协议的功能就是根据IP查询对应的mac地址。

2.工作过程

简单来说,设备接入网络的时候,先广播一个ARP请求(当前局域网中广播)收到这个请求的设备返回ARP响应(包含了每个设备的IP和mac)。新接入网络的设备,就把这样的关系给保存起来了(利用哈希表或者是一个硬表,如转发芯片(LSW)上的寄存器中的表)。这样的过程可能会周期性的进行,主要是因为网络环境可能会动态变化。

六、DNS 域名解析系统

1.为什么发明DNS域名解析系统?

DNS 域名解析系统既是应用层协议也是一套系统。域名,类似www.baidu.com这样的, 就是IP地址的马甲,虽然IP地址可以通过点分十进制来表示,更方便用户查看,但点分十进制仍然不太方便记忆和传播,所以才有域名,就是一串单词,.用来分割。传输的时候其实就是先根据域名,转换成对应的IP地址,再根据IP地址来进行传输。

2.DNS域名解析系统作用

最初的DNS其实就是一个文本文件,叫做hosts文件保存在每一个主机上,文件中保存的是键值对,ip和域名的对应关系,一旦域名和ip的映射关系改变了,就麻烦了。因此hosts文件机制已经被淘汰了,但文件仍然存在。现在使用hosts的场景,一般是进行测试的时候,某个程序里面依赖另一个服务器(通过域名来访问这个服务器),测试该程序性的时候就可以修改hosts,把这个域名映射到测试的服务器IP上,保证不修改原码,就可以进行测试,也不会影响到正常的线上环境。
现在的DNS是一组专门的服务器,通过这个服务器就可以完成域名解析,如图。
在这里插入图片描述

3.全世界这么多的电脑,都需要访问DNS服务器,怎么解决此问题?

(1)浏览器/客户端本身会对域名解析结果进行缓存。(域名和IP的对应关系,是可能改变的,但是并不频繁),避免了大量的不必要的DNS请求
(2)DNS服务器有多台
最初由专门的组织机构来负责维护,根域名服务器,如果想要申请个域名就需要机构批准然后把结果放入到DNS服务器中
(3)为了缓解机构的压力,各种网络运营商,也会构建自己的域名服务器镜像。
在国内(每个地区甚至每个城市)就近构造一些DNS服务器,定期从根域名服务器这边同步数据过来,国内用户使用DNS的时候就只要查国内的DNS服务即可。
(4)针对DNS服务器做镜像的时候还可以按照域名来进行进一步的划分
com,org,vip做一个专门的服务器,就能够保证每一个服务器的数据量和请求量不是太大。

猜你喜欢

转载自blog.csdn.net/stitchD/article/details/123965098