TCP报头协议实验.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCP报头协议实验

视频信息处理与传输 实验报告 报告名称 TCP协议 专业班级 电子1002班 学生姓名 学号 指导教师 实验三 TCP 实验目的 1、认识TCP协议的相关内容; 2、掌握TCP模块的C语言编程; 实验内容 创建一个头文件,用C语言实现TCP模块所需的所有常量; 完成TCP首部的说明; 最大报文段长度MSS(Maximum Segment Size)是TCP报文段中的数据字段的最大长度。MSS告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是MSS个字节。” 窗口扩大因子,用于长肥管道。 时间戳,可用于测量往返时延RTT。 完成TCP报文段的说明; 图1 TCP报文结构 源端口和目的端口字段——各占2字节。端口是传输层与应用层的服务接口。传输层的复用和分用功能都要通过端口才能实现。   序号字段——占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。   确认号字段——占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。   数据偏移——占4bit,它指出TCP报文段的数据起始处距离 CP报文段的起始处有多远。“数据偏移”的单位不是字节而是32bit字(4字节为计算单位)。   保留字段——占6bit,保留为今后使用,但目前应置为0。   紧急比特URG——当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。   确认比特ACK——只有当ACK=1时确认号字段才有效。当ACK=0时,确认号无效。   复位比特RST(Reset) —— 当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。   同步比特SYN——同步比特SYN置为1,就表示这是一个连接请求或连接接受报文。   终止比特FIN(FINal)——用来释放一个连接。当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。   窗口字段——占2字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。   检验和——占2字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在TCP报文段的前面加上12字节的伪首部。   紧急指针字段——占16bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。   选项字段——长度可变。TCP首部可以有多达40字节的可选信息,用于把附加信息传递给终点,或用来对齐其它选项。   填充字段——这是为了使整个首部长度是4字节的整数倍。 用C语言写出TCP有限状态机的实现函数。 TCP从建立到终止整个过程中,存在11中状态,TCP的有限状态机给出了TCP连接从一个状态转换到另一个状态的规则。 图2 TCP有限状态机 实验过程 1、TCP头文件: #ifndef _TCP_H #define _TCP_H #ifndef _GLOBAL_H #include global.h #endif #ifndef _MBUF_H #include mbuf.h #endif #ifndef _IFACE_H #include iface.h #endif #ifndef _INTERNET_H #include internet.h #endif #ifndef _IP_H #include ip.h #endif #ifndef _NETUSER_H #include netuser.h #endif #ifndef _TIMER_H #include timer.h #endif #define DEF_MSS 512 /* Default maximum segment size */ #define DEF_WND 2048 /* Default receiver window */ #define RTTCACHE 16 /* # of TCP round-trip-time cache entries */ #define DEF_RTT 5000 /* Initial guess at round trip time (5 sec) */ #define MSL2 30 /* Guess at two maximum-segment lifetimes */ #define MIN_RTO 500L /* Minimum timeout, milliseconds */ #define TCP_HDR_PAD 70 /* m

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档