温州大学

WENZHOU UNIVERSITY

实 验 报 告

学 期2016-2017学年第一学期课 程数据通信与计算机网络专  业电子信息科学与技术班 级14电科1学生姓名徐炜学 号14211111132指导教师李志红

实验五 传输层TCP和UDP协议分析实验

实验时间

一、实验目的

分析传输层TCP和UDP协议

二、实验环境

与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。

三、实验原理

1、TCP介绍

(1)连接建立:

TCP连接通过称为三次握手的三条报文来建立的。第一条报文是没有数据的TCP报文段,并将首部SYN位设置为1。因此,第一条报文常被称为SYN分组。这个报文段里的序号可以设置成任何值,表示后续报文设定的起始编号。SYN分组通常是从客户端发送到服务器。这个报文段请求建立连接。一旦成功建立了连接,服务器进程必须已经在监听SYN分组所指示的IP地址和端口号。如果没有建立连接,SYN分组将不会应答。如果第一个分组丢失,客户端通常会发送若干SYN分组,否则客户端将会停止并报告一个错误给应用程序。

如果服务器进程正在监听并接收到来的连接请求,它将以一个报文段进行响应,这个报文段的SYN位和ACK位都置为1。通常称这个报文段为SYNACK分组。SYNACK分组在确认收到SYN分组的同时发出一个初始的数据流序号给客户端。

最后,客户端发送带有标志ACK的TCP报文段,而不是带SYN的报文段来完成三次握手的过程。这个报文段将确认服务器发送的SYNACK分组,并检查TCP连接的两端是否正确打开和运行。

三次握手的建立过程第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;

第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包

第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。

完成三次握手,主机A与主机B开始传送数据。

第一次握手:客户发送?FIN=1,seq=u?给服务器。客户把连接释放报文段首部的?FIN = 1,其序号seq = u,等待服务器的确认。?

第二次握手:服务器发送?ACK=1,seq=v,ack=u+1给客户。服务器发出确认,确认号ack = u +1,而这个报文段自己的序号seq = v。TCP?服务器进程通知高层应用进程。从客户到服务器这个方向的连接就释放了,TCP?连接处于半关闭状态。服务器若发送数据,客户仍要接收。?

第三次握手:服务器发送?FIN=1,ACK=1,seq=w,ack= u+1?给客户。若服务器已经没有要向客户发送的数据,其应用进程就通知?TCP?释放连接。?

第四次握手:客户发送?ACK=1,seq=u+1,ack=w+1给服务器。客户收到连接释放报文段后,必须发出确认。在确认报文段中?ACK = 1,确认号?ack =w +1。自己的序号?seq = u + 1。?随之服务器TCP关闭,而客户必须等待2MSL的时间,然后关闭。

三实验步骤

2、访问一个网站;

3、页面全都加载完成后,关闭网页、关闭浏览器;

4、停止捕获分组;

5、使用ip.addr==(此处添加目的ip地址) && tcp.flags

在实验的基础上,回答以下问题:

分析TCP连接建立的“三次握手”过程,找到对应的报文段,截图并填写下表。

第一次握手

第二次

第三次握手

TCP连接建立报文分析

分组序号源IP地址目的IP地址源端口目的

端口序号确认号同步位SYN确认位ACK1129.9.0.13192.168.10.495738780c2eb65da102192.168.10.49129.9.0.1380573877e093449c2eb65db113129.9.0.13192.168.10.495738780c2eb65db7e09344a01

TCP建立连接过程中发送的三次握手分组,总长度分别为多少?是否包含数据?怎么判断?

答:52 52 40 不包含数据 len等于几或者看选项或者填充后面有没有

答:了option 得到最大部分窗口衡量 SACK允许选项信息 ACK分组,其首部长度为多少?是否为20字节

温州大学计算机网络,数据通信与计算机网络(温州大学)实验四 - 运输层TCP和UDP协议分析.doc...相关推荐

  1. 【计算机网络】实验四 应用层和传输层协议分析(PacketTracer)

    一.实验目的 通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解. 二.实验内容 研究应用层和传输层协议 从 P ...

  2. 《计算机网络—自顶向下方法》 Wireshark实验(二):HTTP协议分析

    HTTP 协议工作于客户端-服务端架构上.浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求. WEB 服务器有:Apache服务器,IIS服务器(Inter ...

  3. 实验四 应用层和传输层协议分析(PacketTracer)

    具体细节待完善!! 一.实验目的: 通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解. 二.实验内容: 研究应 ...

  4. 计算机网络-传输层(传输层概述,TCP,UDP协议概述)

    文章目录 1. 传输层概述 2. TCP,UDP协议概述 3. 传输层的寻址与端口 1. 传输层概述 传输层是只有主机才有的层次. 传输层功能: 传输层提供进程和进程之间的逻辑通信. 网络层提供主机到 ...

  5. 计算机网络实验二抓包协议分析,计算机网络实验-使用Wireshark分析TCP和UDP协议...

    <计算机网络实验-使用Wireshark分析TCP和UDP协议>由会员分享,可在线阅读,更多相关<计算机网络实验-使用Wireshark分析TCP和UDP协议(6页珍藏版)>请 ...

  6. 计算机网络实验 ——wireshark抓包简要分析TCP、UDP协议

    [计算机网络实验 --wireshark抓包简要分析TCP.UDP协议] (1)分析 TCPheader: Source Port:16bit源端口,数据发起者的端口号: Destination Po ...

  7. 计算机网络实验五——应用层和传输层协议分析

    计算机网络实验五--应用层和传输层协议分析 一.实验目的 二.实验内容 三.实验步骤 (一)任务1: 从 PC 使用 URL 捕获 Web 请求 1.配置Packet Tracer文件 2.使用URL ...

  8. matlab 迭代 混沌与分形实验报告,实验四 函数的迭代混沌与分形.doc

    实验四 函数的迭代混沌与分形.doc 实验四函数的迭代.混沌与分形实验目的1认识函数的迭代:2了解混沌和分形迭代在数值计算中占有很重要的地位,了解和掌握它是很有必要的本实验将讨论用NEWTON迭代求方 ...

  9. Java基础学习总结:网络编程之(四)TCP与UDP的区别及常见的网络协议(转)

    TCP和UDP的区别 原文:https://blog.csdn.net/li_ning_/article/details/52117463 1.TCP与UDP基本区别 基于连接与无连接 TCP要求系统 ...

最新文章

  1. Transport (VMDB) error -44: Message
  2. [TypeScript] Overload a Function with TypeScript’s Overload Signatures
  3. [Python图像处理] 三十八.OpenCV图像增强和图像去雾万字详解(直方图均衡化、局部直方图均衡化、自动色彩均衡化)
  4. 你怎么了珍妮,你醒醒啊珍妮~ | 今日最佳
  5. mysql 中文字段排序( 按拼音首字母排序) 的查询语句
  6. 2019 7.14学习笔记
  7. LNMP一键安装包+Thinkphp搭建基于pathinfo模式的路由(可以去除url中的.php)
  8. 常用shell命令介绍
  9. Android中后台线程如何与UI线程交互
  10. Unity上传图片到服务器及服务器如何配置
  11. matlab曲线拟合后怎么看公式,matlab拟合曲线并输出公式
  12. 超全SQL注入实用语句
  13. 游戏首选高性能台式机显示器,240hz的刷新率够吗?
  14. Numpy学习07-随机抽样
  15. C1认证学习六(HTTPS)
  16. 我的世界服务器如何修改天气,我的世界怎么改变天气 我的世界改变天气指令代码大全...
  17. 认证资料大全(八)------ SUN认证列表
  18. C#、打开basler相机
  19. Ubuntu 18.04 版本中安装mysql 8的方法
  20. Java基于网络爬虫的股票信息收集软件

热门文章

  1. mac+修改+ssh文件夹权限_linux ,mac连接, git pull error, chmod修改文件的权限/chown修改文件和目录的所有者...
  2. FPGA基础之锁存器与触发器的设计
  3. 嵌入式volatile关键字
  4. android.animation(1) - ValueAnimator的ofInt(), ofFloat(), addUpdateListener(), addListener()(转)
  5. Java设计模式(7)装饰模式(Decorator模式)
  6. C++ new delete(二)
  7. PHPsymfony
  8. RequestQueue
  9. C#完整执行存储过程的代码加实例
  10. Java 斐波那契数列