{"title":"实现与TCP/IP的共识","authors":"Parshal Chitrakar, P. Ranjan","doi":"10.1109/CSNT51715.2021.9509664","DOIUrl":null,"url":null,"abstract":"Distributed systems need to work with multiple processes and hence, the need for consensus among them is paramount. Large number of such technical processes are implemented on TCP/IP communication framework. TCP is used in conjunction with IP to maintain a connection between the sender and receiver to ensure packet order and to exchange data. The interfaces and protocols needed by the users on the application layer leverage the implementation of consensus to help all the nodes communicate and evolve to a common state. In this work, we use Python3.7 socket programming to demonstrate consensus between two programs running on a network. Further, these programs implement their own version of consensus protocols to achieve a single state. We demonstrate this in action for various time integration steps which can be both matched i.e. same integration time steps on both sides and mismatched, i.e. different time integration steps for both peers. Further, since Consensus protocol analysis suffers from unrealistic instantaneous information communication assumption, delayed version of consensus protocol is explored. Role of increased round trip delay or RTT has also been documented by making the programs sleep for some predetermined time interval. Insights into implementation of consensus using TCP-IP have been presented.","PeriodicalId":122176,"journal":{"name":"2021 10th IEEE International Conference on Communication Systems and Network Technologies (CSNT)","volume":"63 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Implementation of consensus with TCP/IP\",\"authors\":\"Parshal Chitrakar, P. Ranjan\",\"doi\":\"10.1109/CSNT51715.2021.9509664\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Distributed systems need to work with multiple processes and hence, the need for consensus among them is paramount. Large number of such technical processes are implemented on TCP/IP communication framework. TCP is used in conjunction with IP to maintain a connection between the sender and receiver to ensure packet order and to exchange data. The interfaces and protocols needed by the users on the application layer leverage the implementation of consensus to help all the nodes communicate and evolve to a common state. In this work, we use Python3.7 socket programming to demonstrate consensus between two programs running on a network. Further, these programs implement their own version of consensus protocols to achieve a single state. We demonstrate this in action for various time integration steps which can be both matched i.e. same integration time steps on both sides and mismatched, i.e. different time integration steps for both peers. Further, since Consensus protocol analysis suffers from unrealistic instantaneous information communication assumption, delayed version of consensus protocol is explored. Role of increased round trip delay or RTT has also been documented by making the programs sleep for some predetermined time interval. Insights into implementation of consensus using TCP-IP have been presented.\",\"PeriodicalId\":122176,\"journal\":{\"name\":\"2021 10th IEEE International Conference on Communication Systems and Network Technologies (CSNT)\",\"volume\":\"63 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-06-18\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2021 10th IEEE International Conference on Communication Systems and Network Technologies (CSNT)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CSNT51715.2021.9509664\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 10th IEEE International Conference on Communication Systems and Network Technologies (CSNT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSNT51715.2021.9509664","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Distributed systems need to work with multiple processes and hence, the need for consensus among them is paramount. Large number of such technical processes are implemented on TCP/IP communication framework. TCP is used in conjunction with IP to maintain a connection between the sender and receiver to ensure packet order and to exchange data. The interfaces and protocols needed by the users on the application layer leverage the implementation of consensus to help all the nodes communicate and evolve to a common state. In this work, we use Python3.7 socket programming to demonstrate consensus between two programs running on a network. Further, these programs implement their own version of consensus protocols to achieve a single state. We demonstrate this in action for various time integration steps which can be both matched i.e. same integration time steps on both sides and mismatched, i.e. different time integration steps for both peers. Further, since Consensus protocol analysis suffers from unrealistic instantaneous information communication assumption, delayed version of consensus protocol is explored. Role of increased round trip delay or RTT has also been documented by making the programs sleep for some predetermined time interval. Insights into implementation of consensus using TCP-IP have been presented.