Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 关于套接字编程的逻辑地址和物理地址_Unix_Networking_Operating System - Fatal编程技术网

Unix 关于套接字编程的逻辑地址和物理地址

Unix 关于套接字编程的逻辑地址和物理地址,unix,networking,operating-system,Unix,Networking,Operating System,从网络/套接字的角度来看,谁能帮助我了解逻辑地址和物理地址模型是如何工作的?为什么需要两种不同类型的地址?不同的网络使用不同的物理地址,例如IEEE 802 MAC地址使用48位地址 为了连接不同的网络并仍然能够寻址不同的机器,他们必须克服这些不同模式的问题,因此他们创建了IPv4和后来的IPv6地址 因此,当您从一台机器向另一台机器发送IP数据包时,它可以通过各种网络传输,每个网络发送具有自己寻址模式的数据包。您需要阅读一本关于操作系统的好书。实际上是关于网络的。。这是否意味着,1逻辑地址支持

从网络/套接字的角度来看,谁能帮助我了解逻辑地址和物理地址模型是如何工作的?为什么需要两种不同类型的地址?

不同的网络使用不同的物理地址,例如IEEE 802 MAC地址使用48位地址

为了连接不同的网络并仍然能够寻址不同的机器,他们必须克服这些不同模式的问题,因此他们创建了IPv4和后来的IPv6地址


因此,当您从一台机器向另一台机器发送IP数据包时,它可以通过各种网络传输,每个网络发送具有自己寻址模式的数据包。

您需要阅读一本关于操作系统的好书。实际上是关于网络的。。这是否意味着,1逻辑地址支持不同的物理地址族2首先将物理地址转换为逻辑地址并发送到内核。基于逻辑地址的前两个字段,内核将确定物理地址族,并将逻辑地址回溯到物理地址。。。2没有强制转换,一切都是在内核级别完成的。b前两个字段??我不知道你的意思。。。c内核根据路由表确定物理接口,除非您明确选择了一个接口,例如:用于多播,那么对于该接口,它将知道地址族,并且再次基于路由表和arp请求,它将确定目标物理地址。逻辑地址是在数据包中发送的,所以下一台机器将再次基于此做出决定……所以,当系统1想要向系统2发送数据包时,系统1的内核将确定系统2的物理地址。根据协议和地址族将其转换为逻辑地址,并与数据包2一起发送。收到数据包后,system 2内核将再次进行逻辑到物理转换。是吗?@user1368949,首先你需要区分同一网络上的机器和不同网络上的机器。如果它在不同的网络上,系统1将不知道系统2的物理地址。因此,如果系统在同一台机器上,我提到的东西将起作用,对吗?如何使用不同n/w的机器处理箱子?