tcpudp,tcpudp协议号
TC与UD
TC(传输控制协议)和UD(用户数据报协议)是网络通信中的两种基本协议。它们分别适用于不同的应用场景,具有各自的特点和优势。
1.TC协议详解
1.1TC连接状态
TC传输是有状态的,这意味着TC会记录自己发送消息的状态,如消息是否发送了、是否被接收了等。为此,TC需要维持复杂的连接状态表。
1.2TC协议特点
-可靠性:TC通过序列号、确认应答、重传机制、流量控制和拥塞控制等手段确保数据的正确传输。 基于字节流:TC将数据视为无结构的字节流,发送方和接收方的缓冲区大小可以不一致。
2.UD协议详解
2.1UD协议特点
与TC不同,UD是一种无连接的、不可靠的、基于数据报的传输层通信协议。
无连接:UD不需要建立连接,发送数据前不需要进行握手。
不可靠:UD不保证数据的可靠传输,可能会出现数据丢失或重复。
基于数据报:UD将数据分割成数据报进行传输,数据报之间相互独立。2.2UD应用场景
-端口使用:端口137、138和139是用于NetIOSNameService的,其中UD端口用于通过网上邻居传输文件,而TC端口则用于进入的连接试图获得NetIOS/S。
Windows文件和打印机共享:这个协议被用于Windows文件和打印机共享以及Sama。
WinsRegistration:WinsRegistration也使用此端口。3.UD协议端格式
3.1UD报文格式
UD报文的格式简单,使用定长报头将报头和有效载荷进行分离。通过目的端口号可以知道将报文的有效载荷交付给上层的哪个协议。
3.2UD首部格式
UD有两个字段,数据字段和首部字段。首部字段包括源端口号、目的端口号、UD长度和校验和等。
4.测试套接字编程通信
在测试套接字编程通信时,先确保C/S能互相ing通,且双方主机防火墙允许目的端口号为“创建的端口号”的数据包通过。
5.UD套接字编程
5.1UDClient.y
fromsocketimort
创建UD客户端套接字
client_socket=socket(AF_INET,SOCK_DGRAM)
设置服务器地址和端口
server_address=('localhost',12345)
message='这是UD客户端发送的数据'
client_socket.sendto(message.encode(),server_address)
data,server=client_socket.recvfrom(4096)
rint('从服务器接收到的数据:',data.decode())
关闭套接字
client_socket.close()
通过以上内容,我们可以了解到TC和UD协议的基本概念、特点和应用场景。在实际应用中,选择合适的协议可以更好地满足我们的需求。