一 tcp/ip初探
说明: '宏观'理解皆可,形成'tcp'框架,不要陷入到'细节'中
① 概念
通用: 任何一种'网络'应用只要需要的是'可靠'的通信服务,都可以使用'tcp'
备注: 无论应用是'下载文件'、'远程登陆'、'访问主页'等
可靠: '流控'和'差错'控制
tcp为'上面的应用程序'提供的是一个'投递服务'的接口,是以'数据流'的方式投递的
② 报文和数据流
1、UDP IP ICMP 协议都是以'报文 DataGram'的方式来进行投递
2、TCP以'数据流 Data Stream'的方式来投递
③ 可靠性
说明: 可靠体现在下面'几个'方面
全双工是针对'虚连接'
tcp在传递过程还提供一种'确认'机制 --> '接收方'正确接收后'发送'确认信息给'发送方'
捎带: 可以在'自己发送的数据'当中包含'对自己所接收数据'的确认信息
④ TCP端口、端点、连接
标示'一条'tcp连接:用的是'两端'的'端点'信息,包含'四个'因素
如果'确定是tcp'的话 就是 '四'元组 可以唯一确定'一个连接'
如果'不能确定是tcp',而是'传输层'的话,就是'五元组',外加一个'协议'
原因: 传输层还有'UDP'协议
⑤ TCP报文段格式
tcp是面向'字节数据流'
数据流指的是针对'tcp与上层应用协议'实体的服务关系
也即'为上面的应用程序'提供一种'面向字节流'的通信方式
目标: 理解下面的'tcp首部图',能清晰的'画图'
+++++++++++++++ "分割线" +++++++++++++++
补充: tcp'传输的单位'仍然是'数据段或者报文段 Segment'
报文段有'边界'有'格式'
TCP的'控制字段': 每一位'bit'代表tcp协议的'操作 operation'和'报文类型'
操作: 包含连接的'建立'、'拆除'、'流控'、'滑动窗口'机制,全都是'这几个控制字段'来实现的
强调: TCP的'固定'首部长度为'20'个字节,'可变'长度为'0~40个'字节
+++++++++++++++ "连接管理" +++++++++++++++
RST --> 连接'复位'
SYN --> 连接'建立'
FIN --> 连接'终止'或连接'拆除'
ACK 为1 --> 意味着序列号是'有效'值,这个报文里面'携带'了确认信息
ACK可以针对'任意类型的TCP报文数据'进行确认,并'不是'只针对SYN报文
TCP OPTIONS应用之 lvs fullnat toa原理
⑥ tcp粗略知识点汇总