A transmission method based on a Management Data Input/Output Multi-Source Agreement, comprising: sending at least one frame; indicating, by a host, to perform a data reading operation or a continuous data reading operation or a data writing operation on an optical module according to opcodes carried by the at least one frame, wherein the at least one frame is used, during checking, for respectively calculating check values at the host and the optical module; determining whether the check values are correct according to a result of comparison between the check values; and deciding whether it is needed to repeat the data reading operation or the continuous data reading operation or the data writing operation, wherein in the case that the data reading operation is performed, when the opcodes carried by the at least one frame comprise a first address code, indicating a first register address for the data reading operation; when the opcodes carried by the at least one frame comprise a first reading opcode, indicating to read first register data; calculating, at the optical module, a check value according to the read first register address and the first register data; when the opcodes carried by the at least one frame comprise a second address code, indicating a second register address for the reading operation, and writing, by the optical module, the calculated check value in the second register address; when the opcodes carried by the at least one frame comprise a second reading opcode, indicating to read the check value from the second register address; comparing, at the host, a check value calculated in the host with the check value read from the second register address; if the check values are the same, ending a current flow; if the check values are not the same, indicating that the transmission is wrong, and it is needed to repeat the data reading operation. sending at least one frame; indicating, by a host, to perform a data reading operation or a continuous data reading operation or a data writing operation on an optical module according to opcodes carried by the at least one frame, wherein the at least one frame is used, during checking, for respectively calculating check values at the host and the optical module; determining whether the check values are correct according to a result of comparison between the check values; and deciding whether it is needed to repeat the data reading operation or the continuous data reading operation or the data writing operation, wherein in the case that the data reading operation is performed, when the opcodes carried by the at least one frame comprise a first address code, indicating a first register address for the data reading operation; when the opcodes carried by the at least one frame comprise a first reading opcode, indicating to read first register data; calculating, at the optical module, a check value according to the read first register address and the first register data; when the opcodes carried by the at least one frame comprise a second address code, indicating a second register address for the reading operation, and writing, by the optical module, the calculated check value in the second register address; when the opcodes carried by the at least one frame comprise a second reading opcode, indicating to read the check value from the second register address; comparing, at the host, a check value calculated in the host with the check value read from the second register address; if the check values are the same, ending a current flow; if the check values are not the same, indicating that the transmission is wrong, and it is needed to repeat the data reading operation.