TCP/IP协议

1.为什么有了IP地址还需要MAC地址?

  首先,数据或者信息在网络上的传输需要两个地址:目的地址和下一跳地址。其中IP地址就是目的地址,而MAC地址则是下一跳地址。目的地址在经过路由器转发的时候是不会变的,而下一跳地址转发一次就变一次。

  其次,如果在IP包头里增加“下一跳IP地址”,并且IP地址够用,交换机支持IP地址转发,没有MAC地址也可以。这样的一个后果就是IP协议变得很复杂、不清晰。用MAC地址和IP地址分别表示物理地址和逻辑地址,使用网络层和链路层两个协议,使数据转发更清晰。

2.为什么有了MAC地址还需要IP地址?

  使用IP地址来设计路由选择更方便,便于设备的维护和移动。比如,某个网络设备的网卡坏了,只需更换网卡即可,不需要改变IP地址;但若使用MAC地址设计了路由选择,更换网卡就破坏了网络拓扑。再如,将一个设备从一个网络移到另一个网络,重新分配IP地址即可,不需要更换网卡。

3.数据链路层的作用

  数据链路层是为了保证数据的传输质量而存在的。数据在物理媒介上传输时由于受到不同因素的影响会出现差错。数据链路层就用来对数据进行检错、纠错。

  数据链路层分为媒体访问控制子层(MAC子层)和逻辑链路控制子层(LLC子层)。其中MAC子层指定如何使用传输媒体的通信协议(如以太网协议、无线网协议)(MAC地址的使用也是这里吧)。LLC子层用来实现数据流量控制,数据的检错、纠错等。(参考:百度知道

上一篇:dubbo源码研究(一)


下一篇:php ord和chr函数