1、理论上通过物理地址可以标识唯一的主机,那么通信的时候只要知道了源物理地址和目物理地址,即Mac地址,实际上就可以标识到唯一的源主机和目主机,但为何有了物理地址还需要ip地址呢?
解答: 主要是物理地址存在以下两种缺陷:
- 物理地址分布杂乱无章,难有逻辑上的连续关系。
- 物理地址一般都直接烧录在了硬件中,无法软件修改。
物理地址为何分布杂乱无章,可以自行去了解,至于ip地址如何解决了杂乱无章的问题,还请往下阅读。在局域网中,随着主机规模的增加,为了方便管理,我们更希望得到一片连续的地址或编号,用来标识主机,比如像1-1000,2000-3000,这要比ab-33-12-98-19-fa、ab-33-12-98-11-fa、cb-33-12-98-19-fa…这样散乱的物理地址要方便管理得多,更好编程也更好记忆。将不连续的的物理地址映射成虚拟的连续地址,学过linux的读者看到这里可能马上就会联想到页表机制,这两者是同一种思想的产物,页表将不连续的内存物理地址映射成了虚拟的连续的逻辑地址,同一片局域网下的不同物理地址自然也可以通过某个表(arp表)映射成连续的ip地址,从此,我们便可以在局域网中用ip地址指代某台设备
2、流量控制和拥塞控制的区别?
答:“流量控制”:
一般说来,我们总是希望数据传输得更快一些。但如果发送方把数据发送得过快,接收方就可能来不及接收,这就会造成数据的丢失。
流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得及接收, 发送方发送的速度不能超过接收方的承受能力。 你要是发的太快,人家接收的速度赶不上你的速度,那肯定不行。
(PS:滑动窗口机制就是为了实现流量控制)
“拥塞控制”:传输链路上的交通太拥堵了,这个时候肯定要限制一下路上的车流量,人流量啊,拥塞控制就是为了解决路上的交通拥挤问题。
拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。
(PS:慢启动算法和拥塞避免算法就是为了实现拥塞控制)
3、数据从网络的一端传送到另一端所需要的总时间,它由4部分组成:时延=发送时延+传播时延+处理时延+排队时延。 分别讲下这4个时延的差别。
发送时延(传输时延):从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需要的时间。(也就是把这些数据从设备上发送到链路上需要用的时间)
发送时延 = 分组长度 / 信道宽度
传播时延:电磁波在信道中传播一定的距离需要花费的时间 (数据从链路的一端传送到另外一端所需要的时间)
传播时延 = 信道长度 / 电磁波在信道上的传播速率
做个类比,比如某个学校的学生要去城外春游,那首先这些学生要从教学楼出来,校门口就那么大,所以只能挨个挨个排队出来,直到最后一个学生出校园为止(这些消耗的时间就是发送时延。把学生从校园发送到校门口外),所以这么来看,所有的学生都出来了校园以后。在集体搭车去城外。(坐车去城外,路上消耗的时间就是传播时延)
处理时延:数据在交换结点为存储转发而进行的一些必要的处理所花费的时间
处理的内容:分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等
比如半路上有学生要上厕所,车队的司机也只能停车一下。等他们方便完之后继续出发去春游
排队时延:分组进入路由器要在输入队列中排队等待处理;路由器确定转发端口后,还要在输出队列中排队等待转发
4、广播域和冲突域的区别主要是什么?
1、概念不同:广播域指的是所有接收广播信息的节点,冲突域指的是同一物理段中的节点。
2、协议不同:广播域采用数据链路层
协议,冲突域采用物理层
协议。
3、网段不同:广播域可以跨网段,冲突域发生在同一个网段中
。
5、数据链路层帧为什么要添加首部和尾部? 答:因为接收端收到的是一串比特流,没有首部和尾部是不能正确区分帧的,接收端要正确地接收帧,必须要清楚该帧在一串比特流中从哪里开始到哪里结束。