IPCTCPIP协议
IPC,全名Inter Process Communication即进程间通讯,在同⼀台机器上的两个进程就⽤IPC,不能跨物理机器。IPC包括共享内存、队列、信号量等⼏种⽅式,由于IPC通讯效率之⾼,所以⼤量的Unix下软件都⽤IPC通讯,如oracle。
tcpip协议pdfTCP/IP,全名Transmission Control Protocol/Internet Protocol即传输控制协议/⽹间⽹协议,TCP/IP可在同⼀台机⼦或两台物理机或不同操作平台之间的两个进程进⾏通讯。标准IPC/IP通讯过程:在主机1上,应⽤层将⼀串应⽤数据流传送给传输层;传输层将应⽤层的数据流截成分组,并加上TCP报头形成TCP段,送交⽹络层;在⽹络层给TCP段加上包括源、⽬的主机2 IP地址的IP报头,⽣成⼀个IP数据包,并将IP数据包送交链路层;链路层在其MAC帧的数据部分装上IP数据包,再加上源、⽬的主机2的MAC地址和帧头,并根据其⽬的MAC地址,将MAC帧发往⽬的主机2或IP路由器。在⽬的主机2,链路层将MAC帧的帧头去掉,并将IP数据包送交⽹络层;⽹络层检查IP报头,如果报头中校验和与计算结果不⼀致,则丢弃该IP数据包;若校验和与计算结果⼀致,则去掉IP报头,将TCP段送交传输层;传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据。若正确,则向源主机1发确认信息;若不正确或丢包,则向源主机1要求重发信息;在⽬的主机2,传输层去掉TCP报头,将排好顺序的分组组成应⽤数据流送给应⽤程序。这样⽬的主机2接收到的来⾃源主机1的字节流,就像是直接接收来⾃源主机1的字节流⼀样。
如果两个进程在同⼀台机⼦且在同⼀个操作平台,可选择IPC或TCI/IP两种通讯⽅式都可以,但IPC效率⾼于TCP/IP。采⽤IPC通讯,进程1直接把通讯包发给进程2,采⽤TCP/IP通讯,进程1将要先把通讯包发给“LO”即本地环路接⼝,通过"LO"再把通讯包发给进程2。
如果两个进程在不同的物理机上或在不同的操作平台,则不能⽤IPC,这时⽤TCP/IP通讯,进程1把通讯包发给本机的物理⽹卡1,物理⽹卡1通过⽹线把通讯包发给进程2所在的机器的物理⽹卡2,⽹卡2再把通讯包发给进程2。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。