一张图搞定TCP/UDP
2016-02-14 12:16
471 查看
一张图搞定TCP/UDP
TCP/UDP是大家学习网络过程中的重点也是面试过程中的常客,今天我不用长篇大论,仅仅一张图搞定TCP/UDP,图片不清晰请复制到本地查看,或联系我,我这边直接给发原图接下来是自动生成的目录
传输层
1 UDP1.1 UDP报文格式
1.1.1 源端口
1.1.2 其他UDP控制信息
1.1.3 校验和
1.1.4 目的端口
2 TCP
2.1 报文格式
2.1.1 源端口和目的端口
2.1.2 发送序号和确认序号
2.1.3 头部长度
2.1.4 保留
2.1.5 6个控制位
2.1.5.1 URG
2.1.5.2 SYN
2.1.5.3 ACK
2.1.5.4 PSH
2.1.5.5 RST
2.1.5.6 FIN
2.1.6 窗口
2.1.7 校验和
2.2 TCP数据编号与确认
2.2.1 面向字节的
2.2.2 连接前商定初始序号
2.2.3 确认序号是接受到的最大序号+1
2.3 三次握手
2.3.1 1发送SYN
2.3.2 2发送SYN,ACK
2.3.3 3发送ACK
2.4 四次挥手
2.4.1 1.发送FIN
2.4.2 2.发送ACK
2.4.3 3.发送FIN,ACK
2.4.4 4.发送ACK
2.5 功能
2.5.1 面向连接协议,全双工,虚电路,实现无乱序,无重复,无丢失的可靠连接
2.5.2 流量控制:窗口机制
2.5.3 差错控制:校验和,超时重传和确认
2.5.3.1 快重传
2.5.3.1.1 超过3个相同ACK重传
2.5.3.2 快恢复
2.5.3.3 重传机制
2.5.3.3.1 平均往返时延RTT=α x(旧RTT)+(1-α) x(新的RTT)
2.5.3.3.2 超时重传时间RTO=RTT*β
2.5.4 拥塞控制:慢开始,加法增大,乘法减小
2.5.4.1 2个状态量
2.5.4.1.1 接收窗口
2.5.4.1.2 阻塞窗口
2.5.4.2 慢开始
2.5.4.2.1 开始:拥塞窗口设置一个MSS
2.5.4.2.2 变化:每收到一个确认,至多增加一个MSS
2.5.4.3 乘法减小
2.5.4.3.1 只要发生超时ssthresh就减半
2.5.4.4 加法增大
2.5.4.4.1 超过ssthresh时,收到多个确认只增加一个MSS
3 传输层基本概念
3.1 端口
3.1.1 熟知端口
3.1.2 注册端口
3.1.3 动态端口
3.2 SOCKET
大家有什么问题可以积极讨论
相关文章推荐
- iOS网络状态模拟——Network Link Conditioner
- exchange IE登录提示http 500 内部服务器错误
- TCP协议的三次握手
- iOS开发之网络编程--中文转码
- VMware网络连接三种模式bridged、host-only、NAT
- OKHttp使用简介
- HTTP与HTTPS的区别
- iOS开发使用GDataXML框架解析网络数据
- jQuery全屏滚动插件fullPage(转自https://github.com/powy1993/fullpage)
- scapy-掌控网络-窃取email认证
- scapy-网络掌控者-基本
- Android 网络编程--socket tcp/ip udp http之间的关系
- iOS开发使用XML解析网络数据
- iOS开发使用JSON解析网络数据
- iOS开发之网络数据解析--GDataXML解析框架的使用
- iOS开发之网络数据解析--中文输出
- 用Wireshark分析HTTP通信
- iOS开发之网络数据解析(二)--XML解析简介
- Android Studio apk 打包流程(转)http://blog.chinaunix.net/uid-26000296-id-5567890.html
- 《HTTP权威指南》学习笔记——HTTP报文