通信导论-IP数据网络基础(1)
TCP/IP封装过程:

端口号:服务器一般都是通过知名端口号(1~1023)来识别应用程序,(TCP)21、23、25,(UDP)53、69、161
TCP报文格式:
- 字节号:TCP把连接中发送的所有数据字节都编上号,产生一个随机数作为第一个字节的编号
- 序号字段:4字节,序号字段的值则指本段文段所发送的数据的第一个字节的序号,即表示报文段携带的第一个字节数据的编号
- 确认号字段:4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号,即把正确收到的最后一个字节的编号+1
- 首部长度:4字节,指出TCP首部共有多少个4字节,首部长度在20-60字节之间,该字段值在5-15(?)之间
- 紧急URG:当URG=1时,表明紧急指针字段有效,告诉系统此报文段中有紧急文段,应尽快传送(相当于高优先级的数据)
- 确认ACK:只有当ACK=1时确认号字段才有效,当ACK=0时,确认号无效
- 推送PSH(push):接收TCP收到PSH=1的报文段,就尽快的交付接收应用进程,而不再等到整个缓存就填满后再向上交付
- 复位RST(reset):当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,再重新建立传输连接
- 同步SYN:SYN=1表示这是一个连接请求或连接接受报文
- 终止FIN(finis):用来释放一个连接,FIN=1表明此报文段的发送端的数据已发送完毕,并要求释放传输连接,序号字段有效
- 窗口字段:发送端窗口是由接收端决定的,用来告知发送端接受端的缓存大小
- 校验和:检测受到损伤的报文段,检验和字段检验的范围包括首部和数据两部分,要在报文段的前面加上12字节的伪首部
单位换算:1 Byte=8bit;1KB=1024 B=1024 Byte=8*1024bit;1 MB=1024KB;1 GB=1024 MB;
10TB大约等于一个人脑的存储量
TCP的连接管理:面向连接的传输需要3个阶段,连接建立、数据传输、连接终止
TCP的三次握手(连接建立):
|
A客户 (主动打开) |
连接请求报文段A→B,同步位SYN=1,序号seq=x(传送数据时第一个数据字节序号是x) |
B服务器 (被动打开) |
| 确认报文段A←B,同步位SYN=1,确认位ACK=1,确认号ack=x+1,自己选择序号seq=y | ||
| A→B,确认位ACK=1,序号seq=x+1,确认号ack=y+1,TCP连接已经建立 |
TCP的三次握手(连接释放):
|
A客户 (主动关闭TCP连接) |
客户连接释放,连接释放报文段A→B,终止位FIN=1,序号seq=u |
B服务器 (被动关闭) |
| 确认报文段A←B,确认位ACK=1,确认号ack=u+1,自己选择序号seq=v,A到B的连接释放,TCP连接处于半关闭状态,B若发送数据,A任要接收 | ||
| 服务器连接释放,A←B,终止位FIN=1,序号seq=w,确认位ACK=1,确认号ack=u+1 | ||
| A→B,确认位ACK=1,确认号ack=w+1,序号seq=u+1 |
TCP流量控制:让发送方的发送速率不要太快,纪要让接收方来得及接收,也不要使网络发生拥塞(滑动窗口协议)
注意:要求避免缩回窗口;接收端可以发送rwnd为0的报文段来暂时关闭窗口;不按序到达的数据先在接收窗口空着,收到后再按序交付
接收窗口(rwnd):由对方发送的包含确认的报文段中所给出的值(窗口大小取决于rwnd和cwnd 2个中较小的)
拥塞窗口(cwnd):由网络为避免拥塞而确认的值
2019-03-6 星期三
通信导论-IP数据网络基础(1)的更多相关文章
- 通信导论-IP数据网络基础(4)
IP地址的编址方法--IP地址+掩码地址=网络地址 分类的IP地址 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,标志主机或路由器所连接到的网络,另一个字段则是主机号 ho ...
- 通信导论-IP数据网络基础(3)
ICMP(IP辅助协议)--网际控制报文协议 ICMP报文种类:ICMP差错报文(终点不可达.时间超过等5种)和ICMP询问报文(回送请求和回答请求.时间戳请求和回答报文2种) ICMP是一种集差错报 ...
- 通行导论-IP数据网络基础(2)
传输控制协议(TCP) 差错控制:TCP使用差错控制提供可靠性,包括检测受到损伤.丢失.失序的报文段 实现方法:1.16位检验和,2.确认机制:采用确认证实收到的报文段,3.重传(设置一个重传超时RT ...
- 图解TCP/IP笔记-网络基础知识
1.计算机网络发展的7个阶段1)批处理服务器一次只能处理一批程序指令2)分时服务器可以分时为多台客户端服务3)计算机之间通信计算机之间由通信线路连接,互相通信4)计算机网络的产生通过分组交换技术,在不 ...
- TCP/IP协议栈---网络基础篇(3)
TCP/IP协议栈 在网络中实际使用的是TCP/IP,OSI是参考模型. TCP/IP协议栈 – 是由一组不同功能的协议组合在一起构成的协议栈 – 利用一组协议完成OSI所实现的功能 应用层协议 传输 ...
- TCP/IP协议(一)网络基础知识
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- 转:TCP/IP协议(一)网络基础知识
转载:http://www.cnblogs.com/imyalost/p/6086808.html 参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知 ...
- TCP/IP协议(一)网络基础知识 网络七层协议
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- 网络基础知识-TCP/IP协议各层详解
TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...
随机推荐
- 转发:VB程序操作word表格(文字、图片)
很多人都知道,用vb操作excel的表格非常简单,但是偏偏项目中碰到了VB操作word表格的部分,google.baidu搜爆了,都没有找到我需要的东西.到是搜索到了很多问这个问题的记录.没办法,索性 ...
- .net core2 api
[Produces("application/json")][Consumes("application/json")][Consumes("appl ...
- 安卓版的pvr图片查看
public class PVRTDecompress { /* author:FormatFa mail :1758759399@qq.com date :2017-6-14 */ //modify ...
- Python 递归的练习
递归的练习 递归的了解实例 # 定义一个类(num是需要给出的参数) # 一定要有临界值 # 要有递推的关系 def digui(num): # 打印num print('$'+str(num)) # ...
- Linux 下的 Docker 安装与使用
一.安装与配置 1.安装依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2.设置阿里云镜像源 sudo yum ...
- uva-108-贪心
题意: 求二维数组中子数组中的最大和. 使用二维数组,第i行表示前i行的和.那么a[i-j]表示从j行到i行的和.注意第三层循环,每次都保存当前最大的sum,如果sum小于0,直接置0. #inclu ...
- 分组密码算法AES-128,192,256 C语言实现第一版
AES的C语言实现入门版 AES分组密码算法中明文分组位128bits,密钥分组可以为128,192,256bits.AES也是由最基本的变换单位——“轮”多次迭代而成的.我们将 AES 中的轮变换计 ...
- abp.net zero 运行报500.21,错误模块AspNetCoreModuleV2
关于这个运行时提示的问题,导致项目无法运行,之前我是遇到过的,也是查了很久最后解决了 但忘记记录了...岁数大了脑袋不好用了...这次依然找了各种方案,有很多都说由于net core 不是最新的,但我 ...
- orcal - 多表查询
SQL1999语法标准 CROSS JOIN 产生笛卡尔积 SELECT * from EMP CROSS JOIN dept; NATURAL JOIN 自然连接 相同列 SELECT * from ...
- Lightgbm 随笔
lightGBM LightGBM 是一个梯度 boosting 框架,使用基于学习算法的决策树.它可以说是分布式的,高效的,有以下优势: 更快的训练效率 低内存使用 更高的准确率 支持并行化学习 可 ...