# Heterogeneous Wireless Networks for Smart Grid Distribution Systems: Advantages and Limitations
## 4 The Proposed HWN Architecture
### Multipath Transmission Control Protocol (MPTCP)  
MPTCP is one among several multi-homing protocols whose aim is to allow concurrent transfer of data over multiple interfaces. At the data link layer, channel bonding is implemented in IEEE 802.11 [27] to increase the bandwidth by combining two adjacent channels within a given frequency band. The technique suffers, however, from performance issues when the links have different rate and delay characteristics, i.e., the links belong to different communication technologies. Stream Control Transmission Protocol (SCTP), defined in RFC 4960 [28], was proposed as a multipath protocol able to run TCP's congestion control on multiple sub-paths. The early version of SCTP, however, used only one path as a primary sub-connection, while the other interfaces were considered as backups. The newer version, Concurrent Multipath Transfer (CMT-SCTP) [29], has extended SCTP to utilize all the paths concurrently. Similar to CMT-SCTP, MPTCP is also designed to allow simultaneous use of multiple physical paths (heterogeneous or homogeneous) in the network, but it adds a management sub-layer at the transport layer. It has been shown experimentally in [30] that the MPTCP outperforms CMT-SCTP in most scenarios. Thus, it is selected as the transport layer protocol in our proposed network architecture. MPTCP acts as a common transport layer that distributes the traffic to different networks in an HWN. Each network forms a sublayer that carries a single TCP connection (sub-flow). Therefore, the MPTCP layer controls how much data is pushed onto each subflow. Besides ensuring reliable data delivery by the usage of acknowledgments and retransmissions, the MPTCP provides flow control and congestion control functions for subflows similar to the TCP protocol. Flow control mandates that the amount of data to be transmitted should be less than the available space in the receiver buffer. Congestion control guarantees that the transmitted data size cannot exceed a certain limit (congestion window size) to be determined by a congestion control algorithm. As the MPTCP main goal is to assign more data to the better subflow (i.e., the less congested), the criteria for traffic distribution among the underlying subflows has been investigated [31; 32]. Several MPTCP implementations available in the literature are designed to resolve the negative impact that highly-congested subflows can cause to other subflows. Linked-increases algorithm (LIA) [33] has been implemented in some operating systems and is utilized in this work. LIA uses a parameter \(\alpha\) to control the aggressiveness of a multipath flow. This congestion control algorithm works as follows. For each acknowledgment (ACK) received on a subflow \(i\), increase the subflow congestion window \(w_{i}\) by  
\[min(\alpha\times\frac{Bytes_{ACKed}\times mss_{i}}{wt_{total}},\frac{Bytes_{ ACKed}\times mss_{i}}{w_{i}}),\]  
where \(w_{total}\) is the sum of the congestion window sizes of all subflows in the connection and \(mss_{i}\) is the maximum segment size on subflow \(i\). The value of \(\alpha\) can make a path aggressive, but, to ensure fairness, it is calculated such that it does not cause a subflow to be more aggressive than a competing TCP in a shared bottleneck. The parameter \(\alpha\) is computed for each subflow considering the current properties of the flow as  
\[\alpha=w_{i}\times\frac{max(\frac{w_{i}\times mss^{2}}{rt_{i}^{2}})}{(sum_{i }\frac{w_{i}\times mss_{i}}{rt_{i}^{2}})^{2}},\]where \(rtt_{i}\) is the round trip time on subflow \(i\). MPTCP connections take place between the substations through dual-interface MCUs. The management sublayer of MPTCP initializes an end-to-end connection with MP-CAPABLE handshake. The two ends initiate the first subflow through one of the interfaces. The other subflow is established next using the MP-JOIN option signal over the other interface.