Skip to content

efframia/computer-networks-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

computer-networks-lab

bit计算机网络编程实验个人负责的部分

第三章

实验4 编程:基于连续ARQ协议的可靠通信

采用UDP Socket编程接口作为模拟物理层接口实现帧的发送和接收,协议采用双工方式进行数据通信。假设Host1和Host2分别向对方发送大文件,Host1先发送一帧到Host2,通过数据链路层的帧每次完成数据块的可靠传输,采用GBN协议,差错编码采用CRC-CCITT标准。以教材协议5为基础,在帧末尾增加CRC校验字段。

配置文件关键要点:
数据传输目的UDP端口
UDPPort=8888
增添发送过滤程序,模拟传输出错或丢数据帧,下面两项指明每发送多少帧出现一次出错或丢帧,此例表示每10帧中一帧出错,每10帧中一帧丢失
FilterError=10
FilterLost=10

Host1程序运行屏幕输出关键要点:
显示ack_expected, next_frame_to_send和frame_expected变量的值,以及正在发送帧的编号和确认序号
显示经过过滤器后是正确发送、模拟传输出错还是模拟帧丢失(实际没有发送)
显示接收到对方帧,该帧的发送序号和确认序号,以及当前frame_expected变量的值
或者显示超时,重传帧的发送序号,以及ack_expected, next_frame_to_send变量的值
回到开始重复一直到文件发送完成

Host2程序运行屏幕输出关键要点:
显示frame_expected变量的值
接收帧是否出错(CRC余数是否为零),正确则显示接收帧的发送帧序号
显示ack_expected, next_frame_to_send和frame_expected变量的值,以及正在发送帧的编号和确认序号
显示经过过滤器后是正确发送、模拟传输出错还是模拟帧丢失(实际没有发送)
或者显示超时,重传帧的发送序号,以及ack_expected, next_frame_to_send变量的值
回到开始重复一直到文件接收完成

实验5 编程:CHAP身份验证口令验证算法程序

PPP协议的身份验证方法包括PAP和CHAP,PAP口令验证协议由于直接传输明文用户名和口令,通过网络抓包很容易进行破解。CHAP协议由于不直接传输口令,而是采用生成随机数(不重字)和口令进行拼接和MD5摘要计算,通过MD5摘要值进行验证,安全性较高,本次实验内容为查阅CHAP标准规范,编写口令验证算法程序。

配置文件关键要点:

程序运行屏幕输出关键要点:
通过命令行参数给出要验证的口令
屏幕显示当前要验证的口令
屏幕显示当前生成的随机数
屏幕显示当前生成的MD5摘要值

第六章

实验2编程:TCP协议服务器和客户

客户发送命令行文本给服务器,服务器转换大写后返回给客户并显示。
配置文件关键要点:
无,对方的IP地址、端口以及发送串以命令行参数的形式提供

程序运行屏幕输出要点:
客户和服务器显示发送和接收的文本

实验4编程:UDP校验和计算程序

计算UDP校验和,UDP段从wireshark中截获一个作为计算基础放入配置文件。

配置文件关键要点:
udpsegment=FCE5003500227EED93……….01
sourceip=192.168.1.104
destip=202.106.195.68

程序运行屏幕输出要点:
输出伪首部各字段值
输出UDP首部各字段值
计算产生显示UDP校验和

实验6编程:基于TCP拥塞控制算法实现数据发送

按照TCP拥塞控制算法实现数据发送,不必考虑接收确认,仅仅按照拥塞窗口的变化进行数据发送。配置文件指定MSS和初始门限,出现三个重复ACK的轮次,出现超时的轮次,以及最后的结束轮次。接收程序简单接收信息即可。

配置文件关键要点:
MSS=1024
Threshold=32768
TriACKRound=16
TimeoutRound=22
EndRound=26

程序运行屏幕输出要点:
发送程序显示MSS和初始门限值
显示轮次数和当前拥塞窗口值
显示发送数据
重复一直到结束轮次

About

bit计算机网络编程实验个人负责的部分

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages