ps:部分图源自小林图解
这里就涉及到数据链路层的东西,比较底层。一般在TCP/IP协议里,MAC包头的协议类型只使用:
IP协议和ARP协议,这里就不聊IP协议了,来谈谈ARP协议。
首先既然要传送数据,就自然涉及到发送方和接收方是谁
发送方:MAC 地址是在网卡生产时写入到 ROM 里的,只要将这个值读取出来写入到 MAC 头部就可以了
接收方:
那么怎么知道接收方的MAC地址呢?那就需要用到ARP协议了,我们可以把ARP协议理解为广播协议,它最喜欢广播给以太网所有设备,问:“次IP地址是谁的?需要你的MAC地址”,然后对应的IP就会告诉它
A 客户端浏览器通过DNS解析到www.jd.com的ip地址,通过ip地址找到客户端对应的服务器地址,客户端发起HTTP会话到IP,通过tcp进行封装数据包,输入到网络层
B 在客户端的网络层,把http会话请求分成报文段,添加源地址和目的地址
C 客户端的网络层主要通过查找路由确定到达服务器
D 数据包通过链路层发送到路由器,通过邻居协议查找给定ip地址的mac地址,然后发送ARR请求查找目的地址,得到回应就可以使用ARP的请求应答交换的IP数据包,发送IP数据包到达服务器地址
解析:选B,B错错在用语混淆上,HTTP通信通常不涉及源地址和目的地址,而是依赖于TCP/IP协议栈来处理源和目的地址的问题。HTTP协议位于应用层,而源地址和目的地址通常由传输层(如TCP或UDP)和网络层(如IP)处理