老男孩教育每日一题-2017年3月17日: linux网络tcp报文中控制字段都有什么,简述大概作用
2017-04-10 16:35
531 查看
【源端口】- 16bit来源处的端口号; 【目的端口】- 16bit 目的处的端口号; 【序号】- 32bit 每一个TCP报文段都会有一个序号,序号字段的值其实是本报文段所发送的数据的第一个字节的序号。 这是因为TCP是面向连接的可靠服务,其每一个字节都会对应一个序号,通过序号来确保服务的可靠性和有序性。 【确认号】- 32bit 确认号,是期望收到对方的下一个报文段的数据的第一个字节的序号。 【数据偏移】- 4bit 其实它本质上就是“首部长度”,因为“数据偏移”是指TCP报文段的数据部分的起始处距离TCP报文段的起始处的距离。 数据偏移总共占4bit,因此最大能表示的数值为15。而数据偏移的单位是“4字节”, 此处的设计和IP数据报的设计是完全相同的,所以说TCP报文段首部的长度最长为15×4=60字节,且首部长度必须为4字节的整数倍。 【保留字段】- 6bit 这6bit在标准中是保留字段,我猜测,有两个目的, 第一个是预留除URG/ACK/PSH/RST/SYN/FIN/之外的冗余功能位; 第二个是为了对其字节位。 【紧急字段URG】- 1bit 此字段告诉系统此报文段中有紧急数据,应尽快传送。当URG=1时, 【确认字段ACK】- 1bit 当ACK=1时,表示确认,且确认号有效;当ACK=0时,确认号字段无效。 【推送字段PSH】- 1bit 当PSH=1时,则报文段会被尽快地交付给目的方,不会对这样的报文段使用缓存策略。 【复位字段RST】- 1bit 当RST为1时,表明TCP连接中出现了严重的差错,必须释放连接,然后再重新建立连接。 【同步字段SYN】- 1bit 当SYN=1时,表示发起一个连接请求。 【终止字段FIN】- 1bit 用来释放连接。当FIN=1时,表明此报文段的发送端的数据已发送完成,并要求释放连接。 【窗口字段】- 16bit 此字段用来控制对方发送的数据量,单位为字节。 一般TCP连接的其中一端会根据自身的缓存空间大小来确定自己的接收窗口大小,然后告知另一端以确定另一端的发送窗口大小。 【校验和字段】- 16bit 这个校验和是针对首部和数据两部分的。 【紧急指针字段】- 16bit 紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。
相关文章推荐
- linux网络tcp报文中控制字段都有什么,简述大概作用
- 老男孩教育每日一题-2017年3月16日: linux网络配置中如何给一块网卡添加多个IP地址
- 老男孩教育每日一题-2017年5月11-基础知识点: linux系统中监听端口概念是什么?
- 老男孩教育每日一题-第60天-一道实用Linux运维问题的9种Shell解答方法!
- 四、Linux网络编程-TCP/IP基础(四)传输层协议TCP、TCP报文格式、连接三次握手、终止四次挥手
- 老男孩教育每日一题-第69天-shell脚本知识点:linux系统脚本中trap信号都有哪些,如何进行使用?
- 百度笔试题2005题目大致是这样的: 第一部分选择题: 有几道网络相关的题目,巨简单,比如第一题是TCP、RIP、IP、FTP中哪个协议是传输层的......。有一道linux的 chown使用题目。其他的全是数据结构的题目!什么链,表
- 老男孩教育每日一题-2017年5月2日-Linux系统中,不小心把chmod命令的权限弄没了,怎么解决?
- 【网络】TCP报文中的PSH和URG字段的介绍
- 老男孩教育每日一题-2017年5月12日-磁盘知识点:linux系统中LVM配置实现方法?
- Linux下的socket编程实践(一) 网络基本知识以及 TCP/IP简述
- 老男孩教育每日一题-2017年5月7日-加餐-linux下面如何实现,执行rm命令,就显示do not use rm command
- TCP流量控制中的滑动窗口大小、TCP字段中16位窗口大小、MTU、MSS、缓存区大小有什么关系
- Linux网络基础——TCP报文中URG和PSH比较
- 老男孩教育每日一题-第82天-发现文件系统只读了,是什么原因?如何解决?
- 老男孩教育每日一题-day59-Linux root 密码忘了,如何找回来?
- 老男孩教育每日一题:2017年3月13日-如何防止Linux命令行或脚本里MySQL登录密码泄露?
- 老男孩教育每日一题-2017年3月27日-请写出下面linux命令行快捷键的功能?
- 老男孩教育每日一题-2017年4月5日-统计你的linux系统的history历史记录,得出你最喜欢使用的前10个命令