计算机网络中不同层的工作:
你有没有想过网络的不同层是如何协同工作来发送消息的?在详细介绍之前,让我们先了解一些基本术语。
地址解析协议(ARP)请求是一种将IP地址转换为MAC地址的协议。
甲路由表 是一组规则,通常以表格形式显示的,用于确定通过互联网协议(IP)网络传输的数据分组的路由位置。
在典型的网络中,主机设备或主计算机具有所有层,另一方面,路由器具有网络、数据链路层和物理层。
示例
假设我们要向位于不同网络的主机2上的接收器发送消息。
Host1的IP和MAC地址为I1,M1,Host2的IP和MAC地址为I2,M2。
假设Host1的标准网关为router1(IP地址为IR1,Mac地址为MR1),Host2的标准网关为router2(IP地址为IR2,Mac地址为MR2)。
对于主机1:
假设应用层要向Host2发送消息“M”。
Host1的应用层将其传递给Host1的传输层。
传输层给消息M添加一个头,其中包含Host1、Host2(x,y)的端口号。因此,消息现在是(M,x,y)并传递到Host1的网络层。
网络层还会在包含Host1和Host2的IP地址的消息中添加一个标头。消息现在是(M,x,y,I1,I2)并传递到数据链路层。
数据链路层还在消息传递到物理层之前为消息添加一个头。由于Host2不在同一个网络中,所以会输入host1的MAC地址和标准网关的MAC地址(通过发送ARP请求知道MAC地址)。消息现在是(M,x,y,I1,I2,M1,MR1)并传递到物理层。
物理层将给定的消息转换为比特并将其发送到路由器1。
在路由器1中:
Router1的数据链路层看到数据包后,向Host1的数据链路层发送确认,并删除添加到host1DLL中的头信息,然后再转发到Router1的网络层。
网络层接收到的消息是(M,x,y,I1,I2)。
网络层看到目标IP地址。由于目标在其网络中不存在,它将决定将其转发到Router2。
Router1的网络层在查看Router1的路由表后做出决定,并做出决定。
现在路由器的DLL向消息添加了一个标头。这次的源MAC地址是MR1,目的MAC地址是MR2(用Arp找出来)。
这样,接收方只知道源的IP地址,而永远不知道源的MAC地址。消息现在是(M,x,y,I1,I2,MR1,MR2)并被发送到物理层。
物理层将其转换为比特并将其发送到路由器2。
对于路由器2:
位由物理层转换为消息,并通知路由器2的DLL。
现在,Router2的DLL在看到消息后向Router1的DLL发送确认。
Router2的DLL删除MAC地址并转发到网络层。
网络层通过检查router2上存在的路由表,发现host2在同一个网络上。
现在消息是(M,x,y,I1,I2,MR2,M2)并传递到物理层,物理层将其转换为位并发送给主机2。
使用主机2:
物理层将它们转换为位并将消息转发到DLL。
DLL向router2的DLL发送确认,并从传递给网络层的消息中删除MAC地址。
现在网络层删除IP地址并将其提供给传输层。
主机2的传输层向主机1的传输层发送确认并删除端口号并将消息提供给该位置的进程(或应用程序)。