网络编程(二)——tcp、udp基础

1.ipv4数据包最大大小是65535字节,包括ipv4首部
2.最大传输单元MTU通常为1500字节,IPv4要求的最小链路MTU是68字节,这是允许最的IPv4首部拼接最小的片段,当一个IP数据包大小超过MTU时,将会分片
3.TCP中的MSS(最大分节大小),用于向对端通告对端在每个分节中能发送的最大数据量
4.tcp发送缓冲区
在这里插入图片描述
在这里插入图片描述
tcp调用write只是把应用程序缓冲区的数据拷贝到套接字的缓冲区,如果套接字缓冲区的数据放不下应用程序缓冲区的内容,则write调用一直阻塞到所有数据都拷贝到套接字缓冲区,然后write调用返回;write调用返回成功,只是代表数据拷贝到了套接字缓冲区,并不代表发送成功
5.UDP发送大小限制
udp没有发送缓冲区,但是有UDP数据报的大小上限值,如果发送的数据报超过这个限制,内核将返回给该进程一个EMSGSIZE错误,该限值可以使用SO_SNDBUF设置;
UDP的write成功返回表示所写的数据报已被加入数据链路层的输出队列,如果该队列没有足够的空间,内核通常返回一个ENOBUFS错误给应用进程
6.套接字read/write
EINTR错误表示系统调用被一个信号中断,如果发生该错误则继续进行被打断的读写操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/chengcheng1024/article/details/115230803