电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Tcp协议栈要点VIP免费

Tcp协议栈要点_第1页
1/13
Tcp协议栈要点_第2页
2/13
Tcp协议栈要点_第3页
3/13
Tcp 协议栈实现要点内容来源于网络,由 boywhp 整理一、协议分层tcp 实现分为 socket 接口层、tcp 层、ip 以及传输接口层,socket 层负责同用户程序交互,对外提供一个 tcp 接口封装,简化起见,socket 层并没有使用标准的 socket 接口,而是使用最简化的读写接口(支持同步和异步模型);一般情况下,用户程序不能直接操作内部 tcp 数据结构;tcp 层负责 tcp 协议的具体实现,IP 和传输接口层负责网络的底层数据接口,IP 层相对比较简单,IP 和网络接口层实现了 Arp 协议,以便处理 MAC 地址处理,通过协议的分层处理可以使得系统比较简明易懂,功能代码集中在相关模块,调试查询相对简单。二、TCP 数据头以及状态迁移图TCP 头数据结构比特 0比特 15 比特 16比特 31源端口(16)目的端口(16)序列号(32)确认号(32)TCP 偏移量(4)保留(6)标志(6)窗口(16)校验和(16)紧急(16)选项(0或 32)数据(可变)源端口:指定了发送端的端口SOCKETTCPIP/ARP 网络接口层目的端口:指定了接受端的端口号序号:指明了段在即将传输的段序列中的位置确认号:规定成功收到段的序列号,确认序号包含发送确认的一端所期望收到的下一个序号TCP偏移量:指定了段头的长度。段头的长度取决与段头选项字段中设置的选项保留:指定了一个保留字段,以备将来使用标志:SYN、ACK、PSH、RST、URG、FINSYN:表示同步ACK:表示确认PSH:表示尽快的将数据送往接收进程RST:表示复位连接URG:表示紧急指针FIN:表示发送方完成数据发送窗口:指定关于发送端能传输的下一段的大小的指令校验和:校验和包含TCP段头和数据部分,用来校验段头和数据部分的可靠性紧急:指明段中包含紧急信息,只有当URG标志置1时紧急指针才有效选项:指定了公认的段大小,时间戳,选项字段的末端,以及指定了选项字段的边界选项TCP 状态图Tcp 三次握手过程TCP在三次握手的时候完成通信双方随机初始序号、Tcp 选项的交互,确保了 TCP 通信的可靠安全。三、TCP 发送(一)TCP 发送流程1用户层调用 Socket_write 发送 Tcp 数据2Socket_write_buf 将用户层数据依次写入 socket 发送缓存3Socket_send_buffersocket 层将数据切割成小的 skb 并交给 tcp4tcp 将 skb 挂入发送队列,并发送5tcp 接受到对方的 ACK,确认发送数据,释放发送队列6通知 socket 层发送完成,释放 socket 缓存,并重新发送过程(二)TCP 滑动窗口协议滑动...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Tcp协议栈要点

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部