Research Article

FACSC: Fine-Grained Access Control Based on Smart Contract for Terminals in Software-Defined Network

Algorithm 3

Access phase.
(1)Terminal add Token to the Options field of the IP packet
(2)Initiate access requests
(3)if The terminal is nonfirst-time access then
(4) P4FD parses the IP header of packets
(5)if IHL=0x05 then
(6)  Discard the packets
(7)end if
(8) The packet is mirrored to the P4 control plane
(9) The P4 parses the Options and get the Token
(10) Query the Token from the cache database
(11)if The Token exists and has not expired then
(12)  Distribute the flow table in the p4 control plane
(13)else
(14)  Resend the IP packet with Options to the controller
(15)end if
(16)else
(17) Perform the same operation as in the authentication phase
(18)end if