首页 > 精品范文库 > 1号文库
网络协议分析实验总结
编辑:梦回唐朝 识别码:10-1052304 1号文库 发布时间: 2024-06-27 21:38:55 来源:网络

第一篇:网络协议分析实验总结

实验一 IP协议

练习一利用仿真编辑器发送IP数据包

描述:收发IPv4报文,不填上层协议.问题:①查看捕获到得报文长度是60,和你编辑的报文长度不同,为什么?

最小帧长度为60,当不足60时,在源数据尾部添加0补足。②讨论,为什么会捕获到ICMP目的端口不可达差错报文? 差错报文的类型为协议不可达,因为上层协议为0,未定义。

练习二编辑发送IPV6数据包

描述:收发IPv6报文.问题:①比较IPV4头,IPV6有了那些变化?IPV4的TTL字段在IPV6里对应那个字段? 比较IPv4 和IPv6 的报头,可以看到以下几个特点:

● 字段的数量从IPv4 中的13(包括选项)个,降到了IPv6 中的8 个; ● 中间路由器必须处理的字段从6 个降到了4 个,这就可以更有效地转发普通的IPv6 数据包;

● 很少使用的字段,如支持拆分的字段,以及IPv4 报头中的选项,被移到了IPv6 报头的扩展报头中;

● ● IPv6 报头的长度是IPv4 最小报头长度(20 字节)的两倍,达到40 字节。然而,新的IPv6 报头中包含的源地址和目的地址的长度,是IPv4 源地址和目的地址的4 倍。

对应:跳限制----这个8位字段代替了IPv4中的TTL字段。

练习三:特殊的IP地址

描述:直接广播地址包含一个有效的网络号和一个全“1”的主机号,只有本网络内的主机能够收到广播,受限广播地址是全为1的IP地址;有限广播的数据包里不包含自己的ip地址,而直接广播地址里包含自身的ip地址 练习四: IP包分段实验

问题:讨论,数据量为多少时正好分两片?1480*2=2960 练习五: netstat命令

描述: C:>netstat –s

;查看本机已经接收和发送的IP报文个数

C:>netstat –s

;查看本机已经接收和发送的IP报文个数 C:>netstat –e

;观察以太网统计信息,实验二2.1 ARP协议

练习一维护 ARP 缓存表

描述: :查看ARP缓存

:arp –a 手动建立 ARP 表 :arp –s IP(如172.16.0.31)MAC(如:00-E0-4D-3D-84-53)

清空 ARP 缓存表:arp –d 练习二仿真发送 ARP 请求报文

描述:ARP协议叫物理解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间

2.2 ICMPv4协议

练习一利用仿真编辑器编辑 ICMP 回显请求报文 练习二仿真发送 ICMP 时间戳请求报文

描述: ICMP封装在IP报文里面,一个ICMP报文32位,8位类型,八位代码,16位校验和

2.3 ICMPv6 只是把ICMP放在了IPv6数据包的载荷中.实验三3.1 ARP 练习一发送 ARP 请求报文(不同网段内)

描述:在跨越路由器进行通信的时候,发起通讯的主机发现目的地址不在同一个网段,会先查询路由器的地址,于是广播出ARP请求,路由器的入口网卡发现有一个ARP请求的目的IP是自己的IP地址,于是回复自己的Mac,得到了Mac,发起通信的主机将通信内容发送到路由器的入口网卡,并选路到出口网卡,此时出口网卡需要知道目标的Mac,于是广播出ARP查询,目标机回复自己的Mac,路由器的出口网卡成功的将信息发送到目标机器.练习二

ICMP 差错报文

描述:ICMP目的端口不可达/超时/的情况.注意为了模拟目的端口不可达,某主机ping一个不存在的IP地址,为了模拟超时,向一个跨路由器的目标通信,但是TTL设置为1,路由器会丢弃TTL耗尽的包,因为根本就收不到,所以当然就没有回复,就会超时

试验3.2 ARP欺骗

描述:

1、ARP 高速缓存

ARP 缓存表是记录 IP 地址和 MAC 地址的映射关系。ARP 表分为动态更新和静态更新两种,系统默认动态,更新时间为 120 秒。ARP 表的建立是通过以下两个途径:

●主动解析:如果一台计算机想与另一台不知道 MAC 地址的计算机通信,则该计算机主动发 ARP 请求;

●被动解析:如果一台计算机接收到了一台计算机的 ARP 请求,则首先在本地建立请求计算机的 IP 地址和 MAC 地址的对应表;

ARP 地址欺骗正是利用高速缓存,使高速缓存中存在错误的映射关系,误导数据包发往错误的目的地。

2、ARP 地址欺骗的原理

一般情况下,当系统收到 ARP 请求或应答时,都要把源端的硬件地址和 IP 地址填入 ARP 高速缓存。正是

根据这一性质,为 ARP 欺骗提供了条件。编辑一个 ARP 应答数据包,将 ARP 层的源 IP 地址为主机 A 的 IP 地址,将 ARP 层的源 MAC 地址填为主机B 的 MAC 地址,将 MAC 层的源地址填为主机 A 的 MAC 地址,发送这个数据包。当到达目的主机时,由于 ARP特性:当系统收到 ARP 请求或应答时,都要把请求端的硬件地址和协议地址填入 ARP 高速缓存。所以在向 ARP 高速缓存中添加表项时,添加的是主机 A 的 IP 地址和主机 B 的 MAC 地址值。当要向主机 A 发送数据包时,要发送的数据包的目的 MAC 地址填入了由高速缓存中提取的地址(主机 B 的 MAC 地址),这样,要发送给主机 A的数据包被发送给了主机 B。

实验 3.3 ICMP Redirect

练习一利用 ICMP 重定向进行信息窃取

描述:主机可能会把某数据发送到一个错误的路由。在这种情况下,收到该数据的路由器会把数据转发给正确的路由器,同时,它会向主机发送 ICMP 重定向报文,来改变主机的路由表。给主机来指出存在一个更好的路由。

试验时,主机A给E发送报文,主机B作为路由器,主机C给A发送ICMP重定向报文,在网关地址中添加自己的IP地址,并按照上表填写ICMP数据部分,此时主机A的路由表中出现了主机A到E的一条记录,网关是C的IP地址;

问题:说明 ICMP 重定向的意义.意义:ICMP 重定向使得客户端管理工作大大减少,使得对于主机的路由功能要求大大降低。而且当路由线路非最优化是线路的速度一定有所损失。而有了重定向之后可以很快的修改非最优线路提高通信速度。

实验四 UDP

练习一利用仿真编辑器编辑 UDP 数据包并发送

描述:UDP和TCP都是传输层的协议,他们被应用层使用,为了实现多路复用和多路分解,应用层使用了端口号,所以UDP中需要填写源端口和目的端口.问题:①将 UDP 的校验和填“0”,在捕获包中查看校验和是否正确?

正,UDP没有纠错能力,也没有回执机制,所以即使它能够发现自身的错误,也没有能力和必要去纠正错误

练习二

UDP 单播通信

描述:使用UDP工具进行通信,确认UDP没有确认报文;

练习三利用仿真编辑器编辑 UDP 数据包,利用工具接收

描述:向目的主机的没有开放的端口发送UDP,会产生目的端口不可达的ICMP信息.练习四

UDP 受限广播通信

描述:使用UDP通信工具,在受限广播地址(全是1)上向发送UDP广播,相连的设备无论是否在同一个网段之内,都能够收到信息,该报文的目的MAC地址是FFFFFF-FFFFFF.练习五

UDP 直接广播通信

描述:使用UDP工具,在直接广播地址上(网络号+255)上发送广播,只有同一个网段的设备能够接收到,该报文的目的MAC地址是FFFFFF-FFFFFF.问题:说明受限广播和直接广播的区别?

直接广播地址包括一个有效网络号和一个全 1 的广播号,主机可能还不知道他所在网络的网络掩码,路由器可能对该种数据报进行转发。

受限广播地址是一个 32 位全为 1 的 IP 地址,在任何情况下这样的数据包仅出现在本地网络中,路由器不对该种数据报进行转发。练习六利用仿真编辑器编辑 IPV6 的 UDP 数据包并发送 描述:在UDP上,IPv4和IPv6没有区别

练习七运行 netstat 命令

描述:netstat 命令是用于显示网络使用协议的统计;

netstat –s

;显示每个协议的使用状态,netstat –a

;显示主机正在使用的端口号

实验五

TCP

练习一观察 TCP 协议的连接和释放过程 描述:

问题::TCP 连接建立时,前两个报文的 TCP 层首部有一个“maximum segment size”字段,它的值是多少?怎样得出的?

最大字段长度为 1460,该字段长度通常受该计算机连接的网络的数据链路层的最大传送单元限制。1460=1500-20(IP 首部)-20(TCP 首部)

练习二利用仿真编辑器编辑并发送 TCP 数据包

描述:使用仿真编辑器手动实现TCP的三次握手连线和四次握手拆线过程.练习三

TCP 的重传机制

描述:接收端开启过滤软件,阻断TCP通信,TCP会进行重传,在这个例子中,重传了五次

实验六6.1 DNS

练习一

nslookup 工具的使用

描述:nslookup 命令是查询域名对应 IP 的工具,其用法是:nslookup 域名, 运行结果:Server:(JServer.NetLab);

Address:(172.16.0.253);

Name:(host34.NetLab);

Address:(172.16.0.34);反向查询某个IP的域名:>nslookup 172.16.0.253 运行结果Server:(JServer.NetLab);

Address:(172.16.0.253);

Name:(JServer.NetLab);

Address:(172.16.0.253);

练习二仿真编辑 DNS 查询报文(正向解析)

描述:这里最重要的东西是DNS的报文格式和”域名循环体”的问题.图片是域名循环体.练习三仿真编辑 DNS 查询报文(反向解析)

练习四

ipconfig 命令

描述:ipconfig/displaydns

;显示本机缓冲区中 DNS 解析的内容;

ipconfig/flushdns

;清空本机 DNS 缓冲区中的内容; 注意DNS缓存是有生存周期的.实验 6.2 UDP 端口扫描

练习一

UDP 端口扫描

描述:向目标端口发送一个 UDP 协议分组。如果目标端口以“ICMP port unreachable”消息响应,那么说明该端口是关闭的;反之,如果没有收到“ICMP port unreachable”响应消息,则端口是打开的.实验 6.3 TCP 端口扫描

1、TCP SYN 扫描

这种方法是向目标端口发送一个 SYN 分组(packet),如果目标端口返回 SYN/ACK 标志,那么可以肯定该端口处于检听状态;否则返回的是 RST/ACK 标志。

3、TCP FIN 扫描

这种方法是向目标端口发送一个 FIN 分组。按 RFC793 的规定,对于所有关闭的端口,目标系统应该返回一个 RST(复位)标志。这种方法通常用在基于 UNIX 的 TCP/IP 协议堆栈,有的时候有可能 SYN 扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描.相反,FIN 数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的 RST 来回复 FIN 数据包。另一方面,打开的端口会忽略对 FIN 数据包的回复。这种方法和系统的实现有一定的关系,Windows 系统不管端口是否打开,都回复 RST,否则就是其他的操作系统,这样,这种扫描方法就不适用了。

实验七 7.1 FTP 协议

练习一

FTP 描述:注意事项:FTP登录的时候,可以捕获到用户名和密码的明文, USER 是用户名命令,PASS 是密码命令,LIST 是dir的命令, 问题:①FTP 服务器是如何知道用户的数据端口?

客户端通过 PORT 命令告知服务器: PORT 172,16,0,16,5,101, 端口是:5*256+101=1381 ②21 端口和 20 端口分别传输什么内容? 端口传输控制信息,20 端口传输数据,数据传输结束后,20 端口关闭,21 端口未关闭,发送quit命令之后,两个端口都关闭.练习二使用浏览器登入 FTP 描述:控制台登录和浏览器登录是不一样的,使用浏览器登录,会启动被动模式.问题:

① FTP 服务器用哪个端口传输数据,数据连接是谁发起的连接?

FTP 服务器用 8361 接口传输数据,数据连接是客户端主动发起(即此时使用的是 PASV 模式)

② 用户是如何知道服务器的数据端口?

服务器对客户端的 PASV 命令返回应答:227 Entering Passive Mode(172,16,0,253,32,169),告知客户端服务器端已经打开了 8361(32*256+169=8361)端口作为数据端口。练习三在窗口模式下,上传/下传数据文件

实验 7.2 HTTP 练习一主页访问

描述:注意HTTP协议的所有东西都封装在TCP中 问题:

① 使用了 HTTP 协议的哪种方法(命令)读取网页文件?网页的文件名什么?

GET 方法,网页文件名:/experiment/

练习二页面提交

描述:页面提交就是提交表单

问题: ① 提交信息的过程使用了 HTTP 协议的哪种方法?

POST 方法

② 传输密码是明文还是密文?粘贴含有用户名和密码的捕获包。

明文

③ 每次 HTTP 命令都是单独连接完成的(一次一个连接),这样有什么好处?

因为 HTTP 是无状态协议,短连接(一次一个连接)实现、管理起来比较简单,存在的连接都是有用连接,不需要额外的的控制手段

实验 7.3 DHCP DHCP 工作原理

①发现阶段:DHCP 客户机以广播方式发送 DHCP discover 报文来寻找 DHCP 服务器。

②提供阶段:DHCP 服务器在网络中接收到 DHCP discover 报文后会做出响应,它从尚未出租的 IP 地址中挑选一个分配给 DHCP 客户机,向 DHCP 客户机发送一个包含出租的 IP 地址和其他设置的 DHCP offer 报文。③选择阶段:如果有多台 DHCP 服务器向 DHCP 客户机发来的 DHCP offer 提供报文,则 DHCP 客户机只接受第一个收到的 DHCP offer 提供报文,然后它就以广播方式回答一个 DHCP request 请求报文,该报文中包含向它所选定的 DHCP 服务器请求 IP 地址的内容。

④确认阶段:DHCP 服务器收到 DHCP 客户机回答的 DHCP request 请求报文之后,它便向 DHCP 客户机发送一个包含它所提供的 IP 地址和其他设置的 DHCP ack 确认报文,告诉 DHCP 客户机可以使用它所提供的 IP 地址。

⑤重新登录:以后 DHCP 客户机每次重新登录网络时,就不需要再发送 DHCP discover 发现报文了,而是直接发送包含前一次所分配的 IP 地址的 DHCP request 请求报文。

⑥更新租约:DHCP 服务器向 DHCP 客户机出租的 IP 地址一般都有一个租借期限,期满后 DHCP 服务器便会收回出租的 IP 地址。练习一使用 DHCP 获取 IP 地址

问题:说明捕获到的 DHCP 协议中,Request(discovery)、Reply(offer)、Request(Request)、Reply(Ack)报文的作用是什么?

DHCP 客户机以广播方式发送 DHCP discover 报文来寻找 DHCP 服务器。

DHCP 服务器在网络中接收到 DHCP discover 报文后会做出响应,它从尚未出租的 IP 地址中挑选一个分配给DHCP 客户机,向 DHCP 客户机发送一个包含出租的 IP 地址和其他设置的 DHCP offer 报文。

如果有多台 DHCP 服务器向DHCP 客户机发来的 DHCP offer 提供报文,则 DHCP客户机只接受第一个收到的 DHCP offer 提供报文,然后它就以广播方式回答一个 DHCP request 请求报文,该报文中包含向它所选定的 DHCP 服务器请求 IP 地址的内容。

DHCP 服务器收到 DHCP 客户机回答的 DHCP request 请求报文之后,它便向 DHCP 客户机发送一个包含它所提供的 IP 地址和其他设置的 DHCP ack 确认报文,告诉 DHCP 客户机可以使用它所提供的 IP 地址。

实验 8.1 SMTP 和 POP 协议

练习一

Outlook 发送电子邮件 描述: SMTP使用TCP端口号为25,报文内容看不见,不需要密码用户名认证

练习二

Outlook 接收电子邮件

描述:Pop3使用TCP端口号是110,能看见用户名和密码

第二篇:网络协议分析期末总结

TCP/IP网络协议分析期末总结

第一章

1、TCP四层模型与OSI七层模型之间的对应关系?各层完成的功能?

2、一个路由器最基本的功能(书后P12第七题)

第二章

1、PPP帧格式

2、PPP帧类型

3、PPP认证协议有哪两种类型?哪种安全?哪种不安全?

第三章

1、ARP协议的工作流程?

2、ARP欺骗的原理是什么?最终效果如何?如何防范

3、书上P34第二题

第四章

1、为何要进行分片?分片的依据是什么?

2、IP包头的校验和针对什么进行校验?

3、书上P41图4-7分片示例?

5、查看本机路由表的两条命令?

6、以太网IP包的最大长度?包头长度?

第五章

1、ICMP包封装在哪个协议中?

2、ICMP协议有几种类型?

3、ICMP协议经常用的两个命令?

第六章

1、UDP包头校验和的特点?UDP包头的固定长度?

2、书P72习题第七、八题?

3、知名端口范围?自定义端口范围?

第七章

1、TCP三次握手建立连接过程?

2、TCP四次握手断开连接过程?

3、关闭TCP连接有几种方法?

4、TCP的确认重传机制?何时重传某序号的数据包?

5、TCP的流量控制机制?

6、TCP的拥塞控制?

7、TCP包各字段的含义?PSH?URG?

8、书P93第十四题、第十六题?

第八章

1、定长子网掩码的划分

2、超网

第三篇:网络协议分析期中

网络协议分析

CHAPTER 1

为什么要进行网际互连?

1.没有一种单一的网络硬件技术可以满足所有的要求

2.用户期待一种通用的互连

网络互连的目的就是要隐藏底层网络硬件的细节,同时提供一般的服务通信。

网络互连的方式:应用级互连 网络级互连

TCP/IP分层模型

分层优势:简化问题,分而治之,有利于软件升级换代

应用层、传输层、IP层、网络接口层、物理层

分层缺点:效率低

1.各层之间相互独立,都要对数据进行分别处理

2.每层处理完毕都要加一个头结构,增加了通信数据量

TCP/IP的分层原则:信宿机第n层收到的数据与信源机第n层发出的数据完全一致。

1.应用层:提供通用的应用程序,如电子邮件、文件传输等。

2.传输层:提供应用程序间端到端的通信

① 格式化信息流 ② 提供可靠传输 ③ 识别不同应用程序

3.IP层:负责点到点通信

① 处理TCP分层发送请求

② 为进入的数据报寻径

③处理ICMP报文:流控、拥塞控制

④ 组播服务

4.网络接口层:接收IP数据报并通过选定的网络发送。

总结:TCP/IP模型是在1个硬件层上构建的4个软件层

CHAPTER 2

PPP 协议有三个组成部分:

一个将 IP 数据报封装到串行链路的方法。

链路控制协议 LCP(Link Control Protocol)。

网络控制协议 NCP(Network Control Protocol)。

认证协议:c023:PAPc223:CHAP

CHAP-Challenge-Handshake Authentication Protocol 发生时机:建立连接时和连接建立之后的任何时间

1.认证端发送“challenge”到对等端

2.对等端根据这个“challenge”和共享密钥,利用一个单向散列函数计算一个散列值并发回给认证端;

3.认证端把这个数字和自己计算出来的数据进行比较,如果匹配,则确认;否则否认;

4.在连接建立后,会随机地重复上述过程。

CHAPTER 3

Internet地址类型

A类: 0 —8位网络号首字节1—126

B类: 10 —16位网络号首字节128—191

C类: 110 —24位网络号首字节192—223

D类: 1110 —组播地址首字节224—239

E类: 11110--(保留未用)首字节240—247

特殊IP地址 :

网络地址:主机号全0;广播地址:主机号全‘1’

有限广播地址:32位全‘1’;回送地址:127.*.*.*,网络软件测试及本机进程间的通信。IP编址的缺陷:

①限制网络的平滑升级

②对主机的移动性支持不够

③ 限制多地址主机的可访问性

ARP地址转换协议基本步骤:(总结:广播请求,单播回应!)

步骤一:源端A广播包含目标B的IP地址IPb的ARP请求报文,请B回答自己的物理地址PAb;

步骤二:网络上的主机将IPb与自身的IP地址比较,若相同,则转步骤三,否则忽略; 步骤三:B将PAb封装在ARP应答报文中,之后发送给A;

步骤四:A从应答报文中提取IPb和PAb,从而获得IPb和PAb之间的映射关系。提高ARP的效率

①设置ARP cache,存放最近解析出来的IP/MAC对。

②请求解析时,把自己的IP/MAC地址也放在报文中。

③收到ARP请求的所有主机都缓存其中的IP/MAC。

④ 主机入网时,主动广播它的IP/MAC。

CHAPTER 4

1.IP层是通信子网的最高层,提供无连接的数据报传输机制。目的是屏蔽底层物理网络细节,向上提供一致性。

IP层的主要功能

(1)无连接数据报的投递(数据结构,静态特性)

(2)数据报寻径(选路,操作特性)

(3)差错与报文控制(管理特性)

2.IP层的特点

A.不可靠:分组可能丢失,乱序等,不做确认;

B.无连接:每个分组都独立对待;

C.尽力投递: 不随意放弃分组;

D.点到点。

问题1:如何组装分片?重新设置首部的某些字段

(1)如何标识同一个数据报的各个分片?修改分片标志

(2)如何标识同一个数据报分片的顺序? 片偏移量字段

(3)如何标识同一个数据报分片的结束? MF字段

IPv6使用路径MTU发现机制,路由器不再分片

3.分片攻击

(1)Tiny Fragment:发送极小分片,让TCP报头的端口号包含在第二个分片中,绕过防火墙或者IDS过滤系统。(nmap-f)

(2)Ping of Death:发送长度超过65535的IP报(封装了ICMP Echo Request包),目标主机重组分片时会造成事先分配的65535字节缓冲区溢出,系统通常会崩溃或者挂起。

(3)teardrop:第二个IP分片偏移量小于第一个分片结束的位置,出现重叠。

实现Ping of Death:

MF=0(最后一片),报文长度为49,偏移量为0x1FFE

重组后长度为0x1FFE * 8 +(49-20)= 65549

4.间接选路和间接投递:信源和信宿不在同一物理网络上或者信宿不在当前路由器直连的网络上。

IP要解决的问题:间接选路

5.选路方式:表驱动:每个主机和路由器都有一张路由表,指明去往某信宿应该走哪条路径。选路时,查询路由表。

6.IP软件对数据报的处理

主机:主机不转发数据报。是自己的:交上层;不是自己的:丢弃。

路由器:若是自己的,交上层;若是邻网,直接投递;其它的转发。(TTL –1,重新计算校验和)

重要说明:IP协议不涉及选路技术细节,只描述原理和规则,具体选路技术指路由表的建立与刷新,由专门的路由协议完成CHAPTER 5

1.路由器通告报文的使用时机:

(1.对路由器恳求报文的回应

(2.路由器定期(通常为10分钟,而一条路由的生命期通常为30分钟)向相邻网络中各主机发通告报文,告诉(组播或有限广播)各主机可使用的路由器。

作用:

(1.主机可以不必配置默认网关。

(2.使用软状态技术,防止主机保持一个无效路由。

2.ICMP差错报告的特点

(1)只向源站提供报告,本身一般不处理差错。

(2)差错报文作为一般数据传输。

(3)数据报出错时,放弃数据报。

3.拥塞处理步骤:

(1.网关发现拥塞,按一定策略向某些源站发出源站抑站报文;

(2.源站收到源抑制报文后,按一定速率降低发往某信宿的数据报的速率;

(3.在一定时间间隔内若无源抑制报文到达,则源站认为拥塞解除,逐渐提高发送速率。

4.路径MTU发现

要点:利用数据报的分片标志。

当路由器收到一份需分片的数据报,但在IP首部中又设置了不分片(DF)标志,则路由器向源端发ICMP不可达报文。

CHAPTER 6

1.传输层要提供端到端的进程通信,但是不能把进程作为通信的最终目的地,所以用协议的端口作为最终目的地。

端口:用一个16bit的正整数标识,称为端口号

端口的数据管理:每一端口有一缓冲区来存放进出该端口的数据队列

2.UDP的特点

① 无连接 ② 不可靠 ③ 传输效率高 ④ 适用于传输量比较少的情况

CHAPTER 7

1.可靠性:

①防丢失:确认与重传;带重传的肯定确认技术

① 接收方收到数据后向源站发确认(ACK);

② 设置定时器,源站在限定时间内未收到ACK,则重发。

②防重复:报文段序号;可捎带的累计确认技术

①为每一分组赋予序号。

② 确认时也指明确认哪个分组。

③序号同时保证了分组间的正确顺序。

2.传输效率、流量控制:滑动窗口机制;

3.拥塞控制:加速递减与慢启动技术;

4.建立连接:三次握手协议;

5.关闭连接:改进的三次握手协议。

6.SYN洪泛攻击

三次握手过程中不发送最后一个确认

构造大量半开连接

耗尽服务器资源(DoS)

7.TCP确认机制的特点

① TCP的确认指明的是期望接收的下一个报文段的序号,而不是已经接收到的报文段序号

② 累计确认

③ 捎带确认

8.RTT:往返时间,报文段发出到收到确认信息间的时间段。

9.TCP的滑动窗口技术

(1)数据流的各字节被编上序号。

(2)TCP的滑动窗口按字节操作而不是按报文段或分组操作。

(3)TCP窗口大小为字节数。最大为65535字节。

(4)通信双方都设有发送和接收缓冲区(相当于发送窗口和接收窗口)。默认大小各系统有差异,如4096、8192、16384等。发送缓冲区大小为默认窗口大小。

(5)TCP连接两端各有两个窗口(发送窗口和接收窗口)

10.TCP端到端流量控制-窗口大小可变技术

时机:目的主机缓冲区变小而不能接收源主机更多的数据时,就要进行流量控制。TCP技术:可随时改变窗口大小。目的主机在确认时,还向源主机告知目的主机接收缓冲区的大小。

说明:接收方使用0窗口通告来停止所有的传输。此时,除了紧急数据和窗口试探报文外,不发其它数据。窗口试探报文:防止非0窗口通告丢失或造成死锁

11.坚持定时器

1.死锁的发生

确认仅包含非0的窗口通告信息,丢失则导致双方死锁

2.避免策略:

接收到0窗口通告后,开始设置坚持定时器

指数退避

12.糊涂窗口综合症SWS :接收方的小窗口通告造成发送方发送一系列小的报文段,严重浪费网络带宽。启发式的避免策略

13.TCP拥塞控制技术

TCP采用了一种主动控制机制。

1.拥塞控制技术:

① 拥塞窗口cwnd

② 加速递减技术

③ 慢启动技术

① 拥塞窗口cwnd

每个连接都有一个拥塞窗口,该窗口大小以字节为单位,但是增加和减少以MSS为单位;

初始大小:1个MSS;

临界值:64KB

② 慢启动技术

指数递增:每次成功发送1个MSS长度的报文段,则发送方拥塞窗口加倍;

线性递增:增长到临界值后,每次增加1个MSS

发送窗口 = min(接收方窗口通告,cwnd)

③ 加速递减技术

指数级递减:出现超时重传时,将临界值设为当前拥塞窗口的1/2,拥塞窗口恢复为1个MSS大小;

指数退避:对保留在发送窗口中的报文段,将重传时限加倍。

14.带外数据:源站不能按字节流的顺序而需要立即发给接收方并及时处理的数据(普通数据流中的紧急数据)。

15.TCP端口扫描

TCP实现的基本规则:若SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包。

① 全连接扫描

扫描主机用三次握手与目的机指定端口建立正规连接。

实现方式:connect()函数调用,若端口打开则连接成功,否则失败。

优点:实现简单

缺点:很容易被发现,目前通常被禁止

CHAPTER 8

要解决的问题:

1.IP地址不足,特别是B类地址不足

2.网络数目增长过快造成路由表急剧膨胀

主要解决方案:

1.子网编址2.超网编址和CIDR3.NAT

1.子网编址(Subnet Addressing, Subnet Routing, Subnetting)

IP地址不足的原因:主机号浪费严重,而网络号又严重缺乏

解决思路:从IP地址的主机部分“借”位,并把它们用在网络部分

IP地址主机号进一步划分为:子网号 + 主机号

2.超网编址和CIDR

问题的起因:若某单位有800台主机,分配一个C类地址不够,分配一个B类地址浪费过大或得不到B类地址.解决思路:集合多个小的,变成一个大的(与子网编址正好相反)

方法:分配一块连续的C类地址来代替B类地址(块的大小是2的幂次)

3.CIRD的含义 4.

第四篇:实验8 网络协议分析和实现(综合设计性)

实验八网络协议分析和实现

1.实验目的掌握网络应用程序的开发方法;

掌握Client/ Server结构软件的设计与开发方法

掌握Socket机制的工作原理

2.实验前的准备

阅读教材关于TCP/IP协议和Socket的相关内容;

阅读WinSock编程指南;

阅读本实验所附内容;

熟悉VC++6.0开发工具

3.实验内容

学生可以从以下实验题目中任选一个来完成也可以自己命题。

(1)用掌握的语言和所学网络知识设计实现FTP的客户端;

(2)用掌握的语言和所学网络知识设计实现收发邮件的客户端;

(3)使用Winsock实现点对点通信;

(4)对网络实验中的停止等待协议或滑动窗口协议的程序提出改进并实现;

(5)自己设计网络要求条件,对其进行详细需求分析(包括对条件的分析和实现,网络设备的选择,网络拓扑的选择,经费的考虑,以及网络的可容性、可扩充性等),并划出拓扑图。

(6)按照所给综合设计实验1或是综合设计实验2的要求分别配置构建符合要求的网络,并给相应的配置说明。

4.实验要求

学生可以根据所选题目大小,独立或两人一组完成实验。要求实验报告中应包括所选实验题目和一些必备内容。

若选择具体网络协议的实现,则应该能够在理解所选择的网络协议的基础上,对其进行分析和实现,要求给出分析和实现的过程,以及必要的程序代码。程序语言不限,但不能直接调用模块实现,必须通过调用socket或底层网络接口实现。

若是选择组网实现,则必须对网络做出详细的需求分析,包括对条件的分析和实现、网络设备的选择、网络拓扑的选择、经费的考虑、网络的可容性、可扩充性、安全性等等,并划出网络拓扑图。

若选择综合设计实验1或综合设计实验2,需给出相应的网络拓扑和配置说明。

第五篇:网络协议分析选修论文

网络协议分析选修论文

姓名:杨道元班级:网络技术081301学号:082103130140

一、IP协议

1、IP协议简介

IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守 IP协议就可以与因特网互连互通。正是因为有了IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。因此,IP协议也可以叫做“因特网协议”。通俗的讲:IP地址也可以称为互联网地址或Internet地址。是用来唯一标识互联网上计算机的逻辑地址。每台连网计算机都依靠IP地址来标识自己。就很类似于我们的电话号码样的。通过电话号码来找到相应的使用电话的客户的实际地址。全世界的电话号码都是唯一的。IP地址也是一样。

2、IP地址(IP v4)

所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP(Transport Control Protocol/Internet Protocol,传输控制协议/Internet协议)协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“******01”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。

有人会以为,一台计算机只能有一个IP地址,这种观点是错误的。我们可以指定一台计算机具有多个IP地址,因此在访问互联网时,不要以为一个IP地址就是一台计算机;另外,通过特定的技术,也可以使多台服务器共用一个IP地址,这些服务器在用户看起来就像一台主机似的。

将IP地址分成了网络号和主机号两部分,设计者就必须决定每部分包含多少位。网络号的位数直接决定了可以分配的网络数(计算方法2^网络号位数);主机号的位数则决定了网络中最大的主机数(计算方法2^主机号位数-2)。然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明的选择了一种灵活的方案:将IP地址空间划分成不同的类别,每一类具有不同的网络号位数和主机号位数。

IP地址是IP网络中数据传输的依据,它标识了IP网络中的一个连接,一台主机可以有多个IP地址。IP分组中的IP地址在网络传输中是保持不变的。

3、IPV6发展及其特点

IPv6是“Internet Protocol Version 6”的缩写,也被称作下一代互联网协议,它是由IETF小组(Internet工程任务组Internet Engineering Task Force)设计的用来替代现行的IPv4(现行的IP)协议的一种新的IP协议。

我们知道,Internet的主机都有一个唯一的IP地址,IP地址用一个32位二进制的数表示一个主机号码,但32位地址资源有限,已经不能满足用户的需求了,因此Internet研究组织发布新的主机标识方法,即IPv6。在RFC1884中(RFC是Request for Comments Document的缩写。RFC实际上就是Internet有关服务的一些标准),规定的标准语法建议把IPv6地址的128位(16个字节)写成8个16位的无符号整数,每个整数用四个十六进制位表示,这些数之间用冒号(:)分开,例如:3ffe:3201:1401:1280:c8ff:fe4d:db39

二、TCP协议

1、TCP简介

2、TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transpor

t layer)通信协议,由IETF的RFC 793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议。

在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。

应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK); 如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

首先,TCP建立连接之后,通信双方都同时可以进行数据的传输,其次,他是全双工的;在保证可靠性上,采用超时重传和捎带确认机制。

在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。

在拥塞控制上,采用慢启动算法。

2、TCP所支持的服务类型

不管怎样,TCP/IP是一个协议集。为应用提供一些“低级”功能,这些包括IP、TCP、UDP。其它是执行特定任务的应用协议,如计算机间传送文件、发送电子邮件、或找出谁注册到另外一台计算机。因此, 最重要的“商业”TCP/IP服务有:

* 文件传送File Transfer。

文件传送协议FTP(File Transfer Protocol)允许用户从一台计算机到另一台取得文件,或发送文件到另外一台计算机。从安全性方面考虑,需要用户指定一个使用其它计算机的用户名和口令。它不同与NFS(Network File System)和Netbios协议。一旦你要访问另一台 系统中的文件,任何时刻都要运行FTP。而且你只能拷贝文件到自己的机器中去来使用它。(RFC 959中关于FTP的说明)

* 远程登录Remote login

网络终端协议TELNET允许用户登录到网络上任一计算机上。你可启动一个远程进程连接到指定的计算机,直到进程结束,期间你所键入的内容被送到所指定的计算机。值得注意的是,这时你实际上是与你的计算机进行对话。TELENET程序使得你的计算机在整个过程中不见了,所敲的每一个字符直接送到所登录的计算机系统。一般的说,这种远程连接是通过类式拨号连接的,也就是,拨通后,远程系统提示你输入注册名和口令,退出远程系统,TELNET程序也就退出,你又与自己的计算机对话了。微电脑中的TELNET工具一般含有一个终端仿真程序。

* 计算机邮件Mail

允许你发送消息给其它计算机的用户。通常,人们趋向于使用指定的一台或两台计算机。计算机邮件系统只需你简单地往另一用户的邮件文件中添加信息,但随之产生问题,使用的微电脑的环境不同,还有重要的是宏(MACRO)不适合于接受计算机邮件。为了发送电子邮件,邮件软件希望连接到目的计算机,如果是微电脑,也许它已关机,或者正在运行另一个应用程序呢?出于这种原因,通常由一个较大的系统来处理这些邮件,也就是一个一直运行着的邮件服务器。邮件软件成为用户从邮件服务器取回邮件的一个界面。

任何一个的TCP/IP工具提供上述这些服务。这些传统的应用功能在基于TCP/IP的网络中一直扮演非常重要的角色。目前情况有点变化,这些功能使用也发生变化,如老系统的改造,计算机的发展等,出现了各种安装版本,如:微电脑、工作站、小型机、和巨型机等。这些计算机好像在一起完成指定的任务,尽管有时看来像是只用到某个指定 的计算机,但它是通过网络得到其它计算机系统的服务。服务器Server是为网络上其它提供指定服务的系统,客户Client是得到这种服务的另外计算机系统。(值得注意的是,服务/客户机不一定是不同的计算机,有可能是同一计算机中的不同运行程序)。以下是几种目前计算机上典型的一些服务,这些服务可在TCP/IP网络上调用。* 网络文件系统(NFS)

这种访问另一计算机的文件的方法非常接近于流行的FTP。网络文件系统提供磁盘或设备服务,而无需特定的网络实用程序来访问另一系统的文件。可以简单地认为它是一个外加的磁盘驱动器。这种额外“虚拟”磁盘驱动器就是其它计算机系统的磁盘。这非常有用。你只需加大几台计算机的磁盘容量,就可使网络上其他用户访问它,且不说所带来的经济效益,它还能够让几台工作的计算机共享相同的文件。它也使得系统维护和备份易如反掌,因为再不必为大量的不同机器上 的文件的升级和备份而担心。

* 远程打印(Remote printing)

允许你使用其它计算机上的打印机,好像这些打印机直接连到你的计算机上。* 远程执行(Remote execution)

允许你请求运行在不同计算机上的特殊程序。当你在一个很小的计算机上运行一个需要大机系统资源的程序时,这时候远程执行非常有用。

* 名字服务器(Name servers)

在一个大的系统安装过程中,需要用到大量的各种名字,包括用户名、口令,姓名、网络地址、帐号等,管理这些是非常令人乏味的。因此将这些数据形成数据库,放到一个小系统中去,其它系统通过网络来访问这些数据。

* 终端服务器(Terminal servers)

很多的终端连接安装不再直接将终端连到计算机,取而代之的是,将他们连接到终端服务器上。终端服务器是一个小的计算机,它只需知道怎样运行TELNET(或其它一些完成远程登录的协议)。如果你的终端想连上去,只用键入要连的计算机名就可。通常有可能同时有几个这种连接,这时终端服务器采用快速开关技术来切换。

上述所描述的一些协议是由Berkeley, Sun,或其它组织定义的。因此,它们不是互联网协议集(Internet Protocol Suite)的一部分, 只是使用到TCP/IP的工具,如同一般的TCP/IP 应用协议。因为协议的定义不一致,并且商业支持的TCP/IP工具广泛应用,也许会把这些协议作为互联协议集中的一部分。上述列出的只是基于TCP/IP部分服务的一些简单例子,但包含了一些“主要”的应用。

TCP功能:提供计算机程序间连接、检测和丢弃重复的分组、完成数据报的确认、流量控制和网络拥塞。

三、其他常见协议

IPX/SPX是基于施乐的XEROX’S Network System(XNS)协议,而SPX是基于施乐的XEROX’S SPP(Sequenced Packet Protocol:顺序包协议)协议,它们都是由novell公司开发出来应用于局域网的一种高速协议。它和TCP/IP的一个显著不同就是它不使用ip 地址,而是使用网卡的物理地址即(MAC)地址。在实际使用中,它基本不需要什么设置,装上就可以使用了。由于其在网络普及初期发挥了巨大的作用,所以得到了很多厂商的支持,包括microsoft等,到现在很多软件和硬件也均支持这种协议。

NetBEUI即NetBios Enhanced User Interface,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。总之NetBEUI协议是一种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别适合于在“网络邻居”传送数据。所以建议除了TCP/IP协议之外,局域网的计算机最好也安上NetBEUI协议。另外还有一点要注意,如果一台只装了TCP/IP协议的WINDOWS98机器要想加入到WINNT域,也必须安装NetBEUI协议。

网络协议分析实验总结
TOP