面向数据报:udp没有发送缓冲区,发送几次数据报,读取几次数据报,write和read一一对应
tcp通信时只管识别数据,在应用层才对字节进行拼接分析,得到完整请求
简单来说:udp之间传递的是报文,tcp传递的是报文中字节
数据包粘报问题:用户层读到半个或者不完整报文的行为
解决粘包问题:定协议
定长报文:读取也定长
tcp链接异常
进程终止:连接自动断开
机器重启:杀掉进程->连接自动断开
机器断电/网线断开:服务器认为连接正常,客户端连接断开,导致连接认知不一致
socket 和文件的关系
file和socket
type和flags指向sock类型
sk指向的udp_socket或者tcp_sock的sock内容
网络文件层本质也是文件
传输层,网络层,数据结构链路层的解包操作都在缓冲区中指针操作
tcp协议提供可靠性策略,ip协议实现数据跨网络从主机A送到B主机
前置认识:
要对所有的主机标识,源ip和目的ip来标识主机和目的主机
ip可以分为私有ip和公网ip
ip=目标网络+目标主机
通过路由器转发先到达目标主机的局域网