西北工业大学计算机网络实验报告3

西北工业大学计算机网络实验报告3

2023年7月15日发(作者:)

西北工业大学<<计算机网络>>

实验报告专用纸

题目:

1、修改udp实验程序完成两台电脑通讯

2、修改tcp实验程序完成两台电脑通讯

3、修改IP源代码实现只调用一个函数

**: ***

学号: **********

班号: 10011303

时间: 2015-12-25

计算机学院

西北工业大学<<计算机网络>>

实验报告专用纸

目 录

摘 要

1 目的 .................................................... 错误!未定义书签。2 要求 .................................................................................... 1

3 相关知识 ............................................................................. 1

4 实验内容及过程 ................................. 错误!未定义书签。5 参考文献 ............................................................................. 4

西北工业大学<<计算机网络>>

实验报告专用纸

1、实验目的

1.学习UDP和TCP及IP的通讯原理。

2.掌握Socket的编程方法。

3.培养学生自己的创新实验的能力。

4、训练修改实验代码能力。

2、实验要求

1、熟悉UDP和TCP通讯的原理及socket编程。

2、自己修改UDP和TCP协议代码中的错误部分,完成两台电脑之间通讯。

3、修改IP源代码使所有外部调用函数都放在一个主函数里面。

3、相关知识

1、UDP协议

UDP协议[2]的全称是用户数据包协议[3],在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在现在,UDP仍然不失为一项非常实用和可行的网络传输层协议。

与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。

UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。

2、TCP协议

TCP提供了一种面向连接的、可靠的字节流服务。面向连接比较好理解,就是连接双方在通信前需 西北工业大学<<计算机网络>>

实验报告专用纸

要预先建立一条连接,这犹如实际生活中的打电话。助于可靠性,TCP协议中涉及了诸多规则来保障通信链路的可靠性,总结起来,主要有以下几点:

(1)应用数据分割成TCP认为最适合发送的数据块。这部分是通过“MSS”(最大数据包长度)选项来控制的,通常这种机制也被称为一种协商机制,MSS 规定了TCP传往另一端的最大数据块的长度。值得注意的是,MSS只能出现在SYN报文段中,若一方不接收来自另一方的MSS值,则MSS就定为536字 节。一般来讲,在不出现分段的情况下,MSS值还是越大越好,这样可以提高网络的利用率。

(2)重传机制。设置定时器,等待确认包。

(3)对首部和数据进行校验。

(4)TCP对收到的数据进行排序,然后交给应用层。

(5)TCP的接收端丢弃重复的数据。

(6)TCP还提供流量控制。(通过每一端声明的窗口大小来提供的)

3、IP

IP协议是用于将多个包交换网络连接起来的,它在源地址和目的地址之间传送一种称之为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。

IP的责任就是把数据从源传送到目的地。它不负责保证传送可靠性,流控制,包顺序和其它对于主机到主机协议来说很普通的服务。

这个协议由主机到主机协议调用,而此协议负责调用本地网络协议将数据报传送以下一个网关或目的主机。例如TCP可以调用IP协议,在调用时传送目的地址和源地址作为参数,IP形成数据报并调用本地网络(协议)接口传送数据报。

4、Socket编程

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。

Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一 般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原 意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电,

有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务

西北工业大学<<计算机网络>>

实验报告专用纸

4、实验内容及过程

1、UDP实验

<1>修改源代码的错误部分,将IP地址改成服务器的地址实现两台机器之间的通讯

<2>客户端向服务器端发送信息:

服务器端接收到信息:

同时向客户端发送接收到的信息以确认:

2、TCP实验

<1>修改源代码的错误部分,将IP地址改成服务器的地址实现两台机器之间的通讯

<2>打开服务器:

客户端向服务器端发送信息:

服务器端接收到信息:

同时向客户端发送接收到的信息以确认:

西北工业大学<<计算机网络>>

实验报告专用纸

3、IP源代码修改实验

将所有的外部调用函数放在一个函数中解决。

详细见修改源代码

运行界面:

5、参考文献

1、计算机网络实验教材(西北工大学计算机学院实验教材) ----张盛兵,吕养天

2 / ----搜狗百科――UDP协议

3/link?url=eEUU9j3SHBgJ6laIJIc4RxWrM9PatmDsjLxYQzPxwHH70VUNQm1WQQCaBvqgJf3RXOEHGYlf8M9qPmqQ64RDeZ71Yh0BLezkKFRISRBCjWe

------ 百度百科--- socket

发布者:admin,转转请注明出处:http://www.yc00.com/news/1689406700a242933.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信