网络应用通信基本原理

 

实验目的与要求

1. 分析数据在五层协议栈中的封装及通信过程,理解通信基本原理;

2. 对典型的网络应用(HTTP、FTP、Email 等)通信进行详细分析;

3. 掌握数据传输过程。

实验原理

(1)网络协议

网络协议是网络设备,如(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式和这些格式的意义。大多数网络都采用分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。

(2)计算机网络体系结构

计算机网络体系结构简称网络体系结构(Network Architecture),是分层结构,每层遵循某些网络协议完成本层功能,计算机网络体系结构是计算机网络的各层及其协议的集合。当前主流的体系结构有三种,分别是OSI七层结构,TCP/IP 参考模型,以及Internet五层协议栈。

开放系统互连(Open System Interconnect,OSI)参考模型是由国际标准化组织(ISO)1984年提出的分层网络体系结构模型。目的是支持异构网络系统的互连互通,是理解网络系统的最佳模型或学习工具。

OSI模型可分为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层七层,每层完成特定的网络功能,具体OSI参考模型如下图1-1所示:

1-1OSI模型

但OSI模型只是一个理论上的网络通信模型,TCP/IP则是实际运行的网络协议;TCP/IP协议族分为四层,分别为应用层,传输层,网络层,网络接口层。具体TCP/IP参考模型如下图1-2所示:

图1-2:TCP/IP模型

Internet五层协议栈综合了OSI七层模型和TCP/IP四层模型的优点,包括:

应用层:支持各种网络应用(FTP,SMTP,HTTP);传输层:进程—进程的数据传输(TCP,UDP);网络层:源主机到目的主机的数据分组与转发(IP 协议,路由协议等);数据链路层:相邻网络元素的数据传输;物理层:比特传输。

三种模型的对比分析图如下图1-3所示:

图1-3:参考模型的对比图

(3)封装

封装(Encapsulation),由上到下在每一层数据增加控制信息(Header),构造协议数据单元(PDU),包括:地址(Address):标识发送端/接收端;差错检测编码(Error-detecting Code):用于差错检测或纠正;协议控制(Protocol control):实现协议功能的附加信息。

解封装,就是封装的逆过程,拆解协议包,由下到上去除报头,数据封装和解封装是一对逆过程。

五层协议栈的封装和解封装过程下图1-4所示。

图1-4:封装和解封装过程示意图

(4)应用层协议

应用层协议(Application Layer Protocol)定义了运行在不同端系统上的应用程序进程如何相互传递报文。包含了:消息的类型(type){请求消息,响应消息};消息的语法(Syntax)格式{消息中有哪些字段(field),每个字段如何描述};字段的语义(semantics){字段中信息的含义};规则(rules){进程何时发送/响应消息,进程如何发送/响应消息}。

典型网络应用服务与协议主要有:

(1).域名系统(Domain Name System,DNS):主要提供域名和 IP 地址之间映射。

(2).文件传输协议(File Transfer Protocol,FTP):在互联网的两个主机间实现文件互传的网络应用。

(3).超文本传输协议(HyperText Transfer Protocol,HTTP):用于实现WWW服务,也就是WEB服务。

(4).SMTP(Simple Mail Transfer Protocol), 使用TCP进行Email消息的可靠传输。

(5).POP3(Post Office Protocol 3), 提供从服务器获取邮件的服务。

(5)Internet 提供的传输服务TCP与UDP

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流、可进行流量控制的、提供拥塞控制的传输层通信协议。

UDP(User Datagram Protocol 数据报协议)一种无连接的传输层协议,提供简单不可靠信息传送服务。

TCP 与 UDP 在传输层为应用层服务和程序提供传输服务。

(6)Socket

网络上的程序进程间通信利用socket发送/接收消息实现,进程的标识符IP地址+端口号。

(7)Port

由于系统加载后服务与程序其进程号是按加载顺序排序的,因此通信的两台主机很难通过进程号找到对方,逻辑上提出了一个Port(端口)的概念(仅限于TCP与 UDP传输过程),该概念将逻辑上同一类的服务和APP归结到一个通信出口,通信另一端通过一个随机选择大于1024以上(因为0-1023用作知名服务器的端口,如 FTP21.HTTP80、SMTP25.TELNET23.SSH22)的端口向固定服务的端口(1024 以下固定服务)发起通信请求。例如:源10.84.218.106通过63366向目的40.100.54.34 的 443 发起加密https(443)请求源 10.84.218.106通过62850向目的 182.250.178.82的80发起http(80 端口)请求

TCP 10.84.218.106:63366 40.100.54.34:443 ESTABLISHED

TCP 10.84.218.106:63730 183.250.178.82:80 CLOSE WAIT

实验设备与软件环境

1. 安装有Wireshark 的客户端,Chrome 浏览器;

2. 安装并配置有outlook 或者Foxmail等邮件客户端,能正常收发邮件;

3. 安装有DNS和WWW、FTP 等服务的服务器,如无则用互联网服务替代;

4. 由交换机搭建的局域网,如无则使用互联网替代;

5. 至少一种 WEB 开发工具。

实验过程与结果

1、电脑自身IP地址的查询

在Window系统下利用Win+R打开CMD命令行,输入ipconfig 命令进行本地IP地址查询,得到基于WIFE条件下的电脑的自身IP地址。如图1.1所示。

1.1

由图1可知,电脑自身的IPv4地址为10.225.107.68。

2、使用Wireshark进行HTTP协议进行捕捉。

在Windows系统下打开CMD命令行,使用ping对hao123网的域名IP地址进行简单初步解析以方便后续使用Wireshark进行本地筛选,如下图2.1所示:

2.1

由图2.1可知,hao123网的IPv4地址为14.215.178.78。

启动抓包软件Wireshark,打开Web浏览器,进入hao123,得到TCP的握手如下图2.2,2,3所示:

2.2

2.3

第一次握手:客户端发送带有 SYN 标志的连接请求数据包给服务端。

第二次握手:服务端发送带有 SYN+ACK 标志的连接请求和应答数据包给客户端。

第三次握手:客户端发送带有 ACK 标志的应答数据包给服务端。

3、使用Wireshark进行FTP协议进行捕捉

利用已存在的FTP服务器,用电脑自身客户端连接FTP服务器,进行连接,登录。进行CS类型的连接方式转换,以及服务器下对应的目录查询,吗,目录文件的下载。

(1)Window命令行连接和登录FTP服务器如下图所示:

         对应的FTP协议捕抓如下图所示:

4、使用WiresharkFormail进行SMTP协议进行捕捉

当前主流的Email服务都提供了加密,可通过搭建SMTP邮件服务器,在客户端通过Foxmail 等邮件代理进行通信。

(1)利用Formail发送邮件给朋友,如下图4.1所示。

图4.1

(2)对应的SMTP协议捕抓如下图4.2所示。

4.2

(3)所截获邮件的编码内容如下图4.3所示:

4.3

Date:时间,From:发件人,To:收件人 ,Subject:标题

5、使用WiresharkFormail进行POP协议进行捕捉

(1)修改Formail的邮箱服务器设置,如下图5.1所示

5.1

(2)继续使用Formail发送邮件给3054723943@qq.com,如下图5.2所示。

图5.2

(2)对应的POP协议捕抓如下图5.3所示。

5.3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

榴某428

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值