路由 交换机 及数据流向(数据包 浏览网页)

路由 交换机 及数据流向(数据包 浏览网页)
路由 交换机 及数据流向(数据包 浏览网页)

一层交换机:只支持物理层协议。

二层交换机:支持物理层和数据链路层协议,如以太网交换机。

三层交换机:支持物理层,数据链路层及网络层协议,如某些带路由功能的交换机。

二层交换机是基于MAC地址访问的,而三层交换机是带路由功能的交换机,可以一次路由多次交换。

二层交换机基于MAC,2层快速交换,所有接口同在一个广播域。

三层交换机可以起到路由功能。

一次路由多次交换。

解释:在广域网中,当然跑的都是3层数据包(被路由的),而路由需要确定每次源到目的的最优路径,每次都要重新进行选择,而如果您使用3层交换机,就可以第一次进行源到目的的路由,3层交换机会将此数据转到2层,那么下次无论是目的到源,还是源到目的都是进行快速交换.

三层交换机的结构:ASIC芯片和CPU

ASIC芯片用于完成二层和三层的转发,内部包含用于二层转发的MAC地址表和用于IP转发的三层转发表。

CPU用于转发的控制,主要维护一些软件表项(包括路由表,ARP表),并根据软件表项的转发信息来配置ASIC的硬件三层转发表。

真正决定高速转交换转发的是ASCIC的二三层硬件表项,而ASIC的硬件表来源于CPU维护的软件表项。

假设A和B处于两个不同网段的不同VLAN,中间通过三层交换机的SVI接口进行路由转发。

ApingB数据流分析如下:

主机A检查目标B的IP地址,与自己不在同一个网段,因此需通过网关转发,首先查询ARP缓存,没找到网关的MAC,所以广播ARP请求(目标MAC为全F,源MAC为A的MAC,源IP为A的IP,目标IP为网关IP),请求网关的MAC地址,三层交换机收到后,发现是广播帧,进行解封装,发现目标IP是给自己的,所以返回ARP应答,把自己的MAC 告诉A,A收到ARP应答后,更新ARP缓存,再重新封装ICMP(目标MAC为网关,源MAC为A,目标IP为B,源IP为A),交换机收到以后,首先根据报文的源MAC+VID更新MAC表,根据报文的目的MAC+VID进行查MAC表,发现匹配自己的三层接口的MAC 表项(说明:三层交换机给分配SVI的IP地址时,会在交换机的MAC表项中添加三层接口的MAC+VID),当报文中的目的MAC与这个三层接口的MAC表项匹配时,就进行三层转发,查找三层表项,因为第一次是空的,所以查找失败,于是将报文交给CPU进行软件处理,CPU根据目标IP进行查找路由,匹配到一个直连网段,于是查找ARP表,第一次还是空的,所以查找失败,则在目标网段进行广播ARP请求B的MAC地址,B收到后给出ARP应答,交换机收到应答,更新MAC表和ARP表,同时重新封装ICMP发送给B(目标MAC为B,源MAC为三层交换接口的MAC,目标IP为B,源IP为A)。同时,交换机的三层表项根据刚刚得到到三层转发信息添加表项(包括IP,MAC,VLAM,出接口),这样后续的报文如果匹配三层表项,就可以直接进行硬件转发了,这样就叫做一次路由多次交换。B收到后给出ICMP应答,就是以上过程的逆过程,所以PING通了。

1.3层交换机有路由功能,但不能完全取代路由器,因为基础原理并不相同.

2.3层交换机从某种意义上来说会比路由器策略转发快的多!

3.3层交换机能很方便的节约网络资源,防止拥塞现象.

交换机与路由器的不同

1.工作层次不同

2.数据转发所依据的对象不同

交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。(网卡硬件本身的地址MAC)

而路由器则是利用不同网络的ID号(即IP地址)来确定数据转发的地址。(软件实现,网络地址/协议地址/IP地址)

3.传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域

4.路由器提供了防火墙的服务

路由器仅仅转发特定地址的数据包,不传送不支持路由协议的数据包传送和未知目标网络数据包的传送,从而可以防止广播风暴。

交换机一般用于LAN-WAN的连接,交换机归于网桥,是数据链路层的设备,有些交换机也可实现第三层的交换。路由器用于W AN-WAN之间的连接,可以解决异性网络之间转发分组,作用于网络层。他们只是从一条线路上接受输入分组,然后向另一条线路转发。这两条线路可能分属于不同的网络,并采用不同协议。

三个表:mac地址表ARP表路由表

Mac地址表:记录局域网主机mac地址和交换机接口的对应关系。交换机具有动态学习源MAC地址的功能,并且交换机的一个接口可以对应多个MAC地址,但是一个MAC地址只能对应一个接口。

ARP表:每台主机都会有一个ARP表。我们是如何获得目标主机的MAC地址呢?这时我们就需要使用ARP协议了,在每台主机中都有一张ARP表,它记录着主机的IP地址和MAC地址的对应关系。

路由表:路由器中有一张表,这张表叫路由表,记录着到不同网段的信息。路由表中的信息分为直连路由和非直连路由。

路由器是工作在网络层的,在网络层可以识别逻辑地址。当路由器的某个接口收到一个包时,路由器会读取包中相应的目标的逻辑地址的网络部分,然后在路由表中进行查找。如果在路由表中找到目标地址的路由条目,则把包转发到路由器的相应接口,如果在路由表中没有找到目标地址的路由条目,那么,如果路由配置默认路由,就科举默认路由的配置转发到路由器的相应接口;如果没有配置默认路由,则将该包丢弃,并返回不可到达的信息。这就是数据路由的过程

ARP工作原理:

局域网内两台主机A B。A发数据包给B,首先检查自己的ARP缓存表,发现没有与B的ip地址对应的mac地址,于是需要发ARP请求(源IP自己的,源MAC自己的,目标IP

是B的,目标MAC为FF-FF-FF-FF-FF-FF)。

交换机收到数据包后,发现目标MAC是广播帧,因此将该数据包从所有端口发送出去。B收到广播包后,发现IP地址是自己的,于是记录下A的IP和MAC地址到ARP缓存表上,并将自己的MAC地址回发给A。

A收到B的回复后,将B的IP和MAC更新到ARP缓存表中。

(而此时,交换机已经学习到了A和B的mac地址和相应的端口的对应关系)

打开一个网页数据的传输过程。

1.打开一个网页,首先是将域名解析到对方服务器的ip地址。系统先查看本机DNS,并比对本机ip地址,看是否是一个网段。(一般都不是)发现不是同一网段,需要将解析数据发往网关ip中转,查看本机arp缓存,发现没有对应的ip与mac地址arp缓存,则发送arp 广播包,网关回应arp报文告知网关mac地址。数据将封装成帧发往网关。

2.网关收到数据帧后,根据目的地址查看路由表,根据路由将数据帧封装成数据包发送到下一跳设备上,路由器需要做nat转换,并维护nat转换表项,内网ip端口对应路由器的外网ip端口。

3.下一跳设备受到包后,根据目的地址再转发到下一设备,(需要多次转发),转发过程中源地址一直是首次发包的源地址,目的地址一直是dns服务器。改变的只是传输途中数据帧mac地址的变化。

4.最终到达dns服务器,服务器将此域名和对应的ip地址回发回去。中间过程省略。到达用户路由器后,路由器根据源目的地址查找nat表项,并修改数据包再次回发到电脑上。

5.电脑获知此域名的ip地址。再次发起http会话连接。也是跟上面的过程一样。

HostA向HostB发数据包过程。

1.HostA将上层的报文封装成IP数据包,其中源IP为HostA,目标IP为HostB,HostA将自己的IP地址与子网掩码位与操作,发现与HostB不在同一网段,需要通过网关A转发。

2.HostA查看本机ARP缓存表,发现没有网关A的E0端口的mac地址对应关系,则会发送ARP请求,求得EO端口的mac地址,将数据包发往E0端口。(源IP 是自己的,源MAC自己的,目标MACE0的,目标IPHostB的)

3.E0端口收到数据包后,将数据链路层的封装去掉,查看数据包的网络部分的目标IP地址,查找路由表,发现了目标IP地址对应的网段,重新封装数据帧(源MAC变为A的E1端口的,目标MAC变为B的E1端口的),发往下一跳。

4.B的E1端口收到数据包后,查看数据包的网络部分的目标IP地址,查找路由表,发现正好是自己的一个直连网段,B先通过ARP获取HostB的mac地址,重新封装数据帧(源MAC变为B的E0端口的,目标MAC变为HostB的),发往对应主机HostB。

数据包转发过程

路由器转发数据包过程详解 (2010-05-22 20:59:09) 转载 标签: 分类:学习交流 路由器 数据包转发 it 主机PC1向主机PC2发个数据包,中间经过B路由器,请问源地址和源MAC是怎么变化的? 答:就假设拓扑图是这个样子吧:PC1-----(B1-B2) -------PC2 B1和B2是路由器B上的两个接口, PC1和PC2是PC,由主机PC1向主机PC2发送数据包,那么在主机PC1形成的数据包的目的IP就是PC2的IP,源IP就是主机PC1的IP地址,目标MAC地址就是B1的MAC地址,源MAC地址就是PC1的MAC地址。 转发过程:假如是第一次通信PC1没有PC2的ARP映射表 PC1在本网段广播一个数据帧(目的MAC地址为:FFFF:FFFF:FFFF:FFFF)帧格式为: 段的路由。此时路由器给PC1回复一个应答数据包,告诉PC1自己的MAC地址就是PC1要通信的PC2主机的MAC地址。而此时PC1建立ARP映射表,将该MAC地址(即路由器的B1接口)与PC2的IP地址建立映射关系。实际上是路由器对其进行了“欺骗”。 其应答数据帧格式为: 对于路由器B同样建立了自己的ARP映射表:将PC1的MAC地址与PC1的IP地址映射。

数据包在流出B2接口的时候其数据包的帧格式为: PC2所在的网段各主机将自己的IP地址与数据包中的目的IP地址比对。若符合则将自己的MAC地址替换上广播MAC地址,并回复该数据帧: 的对应关系调出来。将PC1的MAC地址覆盖路由器B2接口的MAC地址。另一方面路由器更新ARP映射表,将PC2的MAC地址与PC2的IP地址映射。 此时流出路由器B1接口的数据包的帧格式为: 地址建立对应关系。 此后每次通信时由于PC1要与PC2通信时。由于PC1已经建立了到PC2IP地址的ARP映射,所以下次要通信时直接从本地ARP调用。 简单说一下,网络设备间(包括设备之间和计算机之间)如果要相互通信的话必需经过以下这几个步骤: (以TCP/IP协议通信为例) 1、发送端的应用程序向外发出一个数据包。 2、系统判断这个数据包的目标地址是否在同一个网段之内。 3、如果判断出这个数据包的目标地址与这台设备是同一个网段的,那么系统就直接把这个数据包封装成帧,这个数据帧里面就包括了这台设备的网卡MAC地址,然后这个帧就直接通过二层设备(也就是大家说的不带路由的交换机/HUB之类的~^-^)发送给本网段内的目标地址。

IP及IPSEC协议数据包的捕获与分析分析

IP及IPSEC协议数据包的捕获与分析 为了掌握掌握IP和IPSEC协议的工作原理及数据传输格式,熟悉网络层的协议。我进行了以下实验:首先用两台PC互ping并查看其IP报文,之后在两台PC上设置IPSEC互ping并查看其报文。最终分析两者的报文了解协议及工作原理。 一、用两台PC组建对等网: 将PC1与PC2连接并分别配置10.176.5.119和10.176.5.120的地址。如图1-1所示。 图1-1 二、两PC互ping: IP数据报结构如图1-2所示。 图1-2 我所抓获的报文如图1-3,图1-4所示:

图1-3 请求包 图1-4 回应包 分析抓获的IP报文: (1)版本:IPV4 (2)首部长度:20字节 (3)服务:当前无不同服务代码,传输忽略CE位,当前网络不拥塞

(4)报文总长度:60字节 (5)标识该字段标记当前分片为第1367分片 (6)三段标志分别指明该报文无保留、可以分段,当前报文为最后一段 (7)片偏移:指当前分片在原数据报(分片前的数据报)中相对于用户数据字段 的偏移量,即在原数据报中的相对位置。 (8)生存时间:表明当前报文还能生存64 (9)上层协议:1代表ICMP (10)首部校验和:用于检验IP报文头部在传播的过程中是否出错 (11)报文发送方IP:10.176.5.120 (12)报文接收方IP:10.176.5.119 (13)之后为所携带的ICMP协议的信息:类型0指本报文为回复应答,数据部分 则指出该报文携带了32字节的数据信息,通过抓获可看到内容为:abcdefghijklmnopqrstuvwabcdefghi 三、IPSec协议配置: 1、新建一个本地安全策略。如图1-5。 图1-5 2、添加IP安全规则。如图1-6.

内核协议栈数据包转发完全解析

内核协议栈数据包转发 目录 1 NAPI流程与非NAPI 1.1NAPI驱动流程 1.2非NAPI流程 1.3NAPI和非NAPI的区别 2内核接受数据 2.1数据接收过程 2.2 采取DMA技术实现 3 e100采用NAPI接收数据过程 3.1 e100_open 启动e100网卡 3.2 e100_rx_alloc_list 建立环形缓冲区 3.3 e100_rx_alloc_skb 分配skb缓存 3.4 e100_poll 轮询函数 3.5 e100_rx_clean 数据包的接收和传输 3.6 e100_rx_indicate 4 队列层 4.1、软中断与下半部 4.2、队列层 5采用非NAPI接收数据过程 5.1netif_rx 5.2轮询与中断调用netif_rx_schedule不同点 5.3 netif_rx_schedule 5.4 net_rx_action 5.5 process_backlog 6数据包进入网络层 6.1 netif_receive_skb(): 6.2 ip_rcv(): 6.3 ip_rcv_finish(): 6.4 dst_input(): 6.5本地流程ip_local_deliver: 6.6转发流程ip_forward(): 1 NAPI流程与非NAPI 1.1NAPI驱动流程: 中断发生 -->确定中断原因是数据接收完毕(中断原因也可能是发送完毕,DMA完毕,甚至是中断通道上的其他设备中断) -->通过netif_rx_schedule将驱动自己的napi结构加入softnet_data的poll_list 链表,禁用网卡中断,并发出软中断NET_RX_SOFTIRQ -->中断返回时触发软中断调用相应的函数net_rx_action,从softnet_data的poll_list

实验1:网络数据包的捕获与协议分析

实验报告 ( 2014 / 2015 学年第二学期) 题目:网络数据包的捕获与协议分析 专业 学生姓名 班级学号 指导教师胡素君 指导单位计算机系统与网络教学中心 日期2015.5.10

实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。(4)执行命令:ping https://www.360docs.net/doc/5815626136.html,,观察执行后的结果并记录。

此时,Wireshark所观察到的现象是:(截图表示) 2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分析和统计。(截 图加分析) 3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分析和统计。要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP 报文。(截图加分析) 4. 设计一个用Wireshark捕获IP数据包的过程,并对捕获的结果进行分析和统计(截图加分析) 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析在该数据包中的内容:版本首部长度、服务类型、总长度、标识、片偏移、寿命、协议、源Ip地址、目的地址 五、实验总结

网络数据包的捕获与分析毕业设计

网络数据包的捕获与分析 【摘要】网络数据包的捕获对于网络安全有着巨大的作用,为我们更好的分析网络中的数据流提供了帮助。本论文是基于Windows下开发一个网络监听工具,侧重点在于实现网络数据包的捕获,然后分析并显示捕获到的数据包信息这部分功能的实现,如分析:IP首部协议类型、源IP、目的IP和端口号等。采用的是Winpcap(Windows Packet Capture)来实现的抓包功能。通过VC++6.0中MFC编程实现通过一个完整界面来控制调用Winpcap中的函数来实现对网卡信息的捕获和循环捕获数据包,然后通过预先对于IP、TCP、UDP等数据包的定义和TCP/IP等协议来解析其中包含的内容并返回显示捕获到数据包的信息,当然也可以保存捕获到的数据包到指定地点以便进一步分析。 【关键词】Winpcap;数据包;捕获;分析

The Capture and Analysis of Network Data Packets Wang Hang (Grade 11,Class 1, Major Network Engineering, Scho ol of Mathematics and Computer Science Dept, Shaanxi University of Technology, Hanzhong 723003, Shaanxi) Tutor: Jia Wei Abstract: The capture of network data packets plays an important part in network security, which is helpful for our better analysis of network data flow.This paper is about a network monitoring tool based on Windows system, which emphasizes particularly on realizing the capture and analysis of network data packets and then displays them. Take analysis as an example, it will check the type of the IP protocol, the source address of IP, the destination address of IP and the port https://www.360docs.net/doc/5815626136.html,e the Winpcap(Windows Packet Capture)to capture of data packets. In MFC programming of VC++6.0, the capture of network data packets can be realized via the invoking and control of the functions through a full control panel, and then the analysis of IP ,TCP,UDP and TCP/IP will be done before they are displayed. Certainly the information captured can be saved to the appointed destination in order to go through an advanced analysis. Key words:Winpcap;Data Packets;Capture;Analysis

计算机网络__交换机工作原理

计算机网络交换机工作原理 在前面了解到根据交换机在OSI参考模型中工作的协议层不同,将交换机分为二层交换机、三层交换机、四层交换机。交换机工作的协议层不同,其工作原理也不相同。下面我们将介绍各层交换机的工作原理。 1.二层交换机工作原理 二层交换机能够识别数据包中的MAC地址信息,然后根据MAC地址进行数据包的转发,并将这些MAC地址与对应的端口记录在内部的地址列表中。二层交换机的工作原理如下:当交换机从端口收到数据包后,首先分析数据包头中的源MAC地址和目的MAC地址,并找出源MAC地址对应的交换机端口。然后,从MAC地址表中查找目的MAC地址对应的交换机端口。 如果MAC地址表中存在目的MAC地址的对应端口,则将数据包直接发送到该对应端口。如果MAC地址表中没有与目的MAC地址的对应端口,则将数据包广播到交换机所有端口,待目的计算机对源计算机回应时,交换机学习目的MAC地址与端口的对应关系,并将该对应关系添加至MAC地址表中。 这样,当下次再向该MAC地址传送数据时,就不需要向所有端口广播数据。并且,通过不断重复上面的过程,交换机能够学习到网络内的MAC地址信息,建立并维护自己内部的MAC地址表。如图6-10所示,为二层交换机工作原理示意图。 图6-10 二层交换机工作原理 2.三层交换机工作原理 三层交换机是在二层交换机的基础上增加了三层路由模块,能够工作于OSI参考模型的网络层,实现多个网段之间的数据传输。三层交换机既可以完成数据交换功能,又可以完成数据路由功能。其工作原理如下: 当三层交换机接收到某个信息源的第一个数据包时,交换机将对该数据包进行分析,并判断数据包中的目的IP地址与源IP地址是否在同一网段内。如果两个IP地址属于同一网段,

路由器的工作原理

路由器的工作原理 路由器的是实现网络互连,在不同网络之间转发数据单元的重要网络设备。路由器主要工作在OSI参考模型的第三层(网络层),路由器的主要任务就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路由表(Routing Table),供路由选择时使用。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。因此,当路由器接收到来自一个网络接口的数据包时,首先根据其中所含的目的地址查询路由表,决定转发路径(转发接口和下一跳地址),然后从ARP缓存中调出下一跳地址的MAC地址,将路由器自己的MAC 地址作为源MAC,下一跳地址的MAC作为目的MAC,封装成帧头,同时IP数据包头的TTL(Time To Live)也开始减数,最后将数据发送至转发端口,按顺序等待,传送到输出链路上去。在这个过程中,路由器被认为了执行两个最重要的基本功能:路由功能与交换功能。 路由功能 路由功能是指路由器通过运行动态路由协议或其他方法来学习和维护网络拓扑结构,建立,查询和维护路由表。 路由表里则保存着路由器进行路由选择时所需的关键信息,包含了目的地址、目的地址的掩码、下一跳地址、转发端口、路由信息来源、路由优先级、度量值(metric)等。 路由信息可通过多种协议的学习而来,其来源方式可分为直连路由、静态路由、缺省路由和动态路由。一个路由器上可以同时运行多个不同的路由协议,每个路由协议都会根据自己的选路算法计算出到达目的网络的最佳路径,但是由于选路算法不同,不同的路由协议对某一个特定的目的网络可能选择的最佳路径不同。此时路由器根据路由优先级(决定了来自不同路由来源的路由信息的优先权)选择将具有最高路由优先级(数值最小)的路由协议计算出的最佳路径放置在路由表中,作为到达这个目的网络的转发路径。(优先级顺序:直连路由>静态路由>动态路由(OSPF>RIP)) 而对于一个特定的路由协议,可以发现到达目的网络的所有路径,根据选路

捕获数据包

希望通过这一系列的文章,能使得关于数据包的知识得以普及,所以这系列的每一篇文章我都会有由浅入深的解释、详细的分析、以及编码步骤,另外附上带有详细注释的源码 文章作者:nirvana 经常看到论坛有人问起关于数据包的截获、分析等问题,幸好本人也对此略有所知,也写过很多的sniffer,所以就想写一系列的文章来详细深入的探讨关于数据包的知识。 我希望通过这一系列的文章,能使得关于数据包的知识得以普及,所以这系列的每一篇文章我都会有由浅入深的解释、详细的分析、以及编码步骤,另外附上带有详细注释的源码(为了照顾大多数朋友,我提供的都是MFC的源码)。 不过由于也是初学者,疏漏之处还望不吝指正。 本文凝聚着笔者心血,如要转载,请指明原作者及出处,谢谢!^_^ OK,. Let’s go ! Have f un!! q^_^p 第一篇手把手教你玩转ARP包 目录: 一.关于ARP协议的基础知识 1.ARP的工作原理 2.ARP包的格式 作者: CSDN VC/MFC 网络编程PiggyXP ^_^ 一.关于ARP协议的基础知识 1.ARP的工作原理 本来我不想在此重复那些遍地都是的关于ARP的基本常识,但是为了保持文章的完整性以及照顾初学者,我就再啰嗦一些文字吧,资深读者可以直接跳过此节。 我们都知道以太网设备比如网卡都有自己全球唯一的MAC地址,它们是以MAC地址来传输以太网数据包的,但是它们却识别不了我们IP包中的IP地址,所以我们在以太网中进行IP通信的时候就需要一个协议来建立IP地址与MAC地址的对应关系,以使IP数据包能发到一个确定的地方去。这就是ARP(Address Resolution Protocol,地址解析协议)。 讲到此处,我们可以在命令行窗口中,输入 arp –a 来看一下效果,类似于这样的条目 210.118.45.100 00-0b-5f-e6-c5-d7 dynamic 就是我们电脑里存储的关于IP地址与MAC地址的对应关系,dynamic表示是临时存储在ARP缓存中的条目,过一段时间就会超时被删除(xp/2003系统是2分钟)。 这样一来,比如我们的电脑要和一台机器比如210.118.45.1通信的时候,它会首先去检查arp缓存,查找是否有对应的arp条目,如果没有,它就会给这个以太网络发ARP请求包广播询问210.118.45.1的对应MAC地址,当然,网络中每台电脑都

Ip数据包捕获设计报告

解析IP数据包程序设计与实现 学生姓名:梁帅指导老师:谢晓巍 摘要现如今,计算机网络已经彻彻底底地改变了人们的生活。大量的数据都是经过计算机网络传输的,而TCP/IP协议是计算机网络中最重要的协议之一。计算机网络中绝大多数数据都是以IP数据包的形式发送和接受的。所以IP数据包的捕获是很多计算机安全技术的基础。本课程设计实现了可以捕获流经本地网卡的IP数据包并将其头部信息解析输出的程序。 关键词TCP/IP;IP数据包;计算机网络;捕获

Design and implementation of IP data packet Student name: LIANG Shuai Advisor:XIE Xiao-wei Abstract Nowadays, computer network has completely changed people's life. A large amount of data is transmitted through computer networks, and the TCP/IP protocol is one of the most important protocols in computer networks. Most of the data in the computer network are sent and received in the form of IP data packets. So IP packet capture is the basis of many computer security technology. This course is designed to capture the IP data packet that flows through the local network card and the program to parse the output of its head. Key words TCP/IP;IP data packet;Computer network;Capture

交换机VLAN数据转发过程说明(802.1Q:基于端口的VLAN)

交换机对带802.1q标签的以太网帧转发过程说明(802.1q:基于端口的VLAN)一、带802.1q标签的以太网帧说明: IEEE于1999年正式签发了802.1q标准,即Virtual Bridged Local Area Networks协议,规定了VLAN的国际标准实现,从而使得不同厂商之间的VLAN互通成为可能。 在802.1q以太网帧中,在原有的标准的以太网帧头中的源地址后增加了一个4字节的802.1q 帧头来实现该技术的。在这4字节的802.1q标签头包含了2个字节的标签协议标识(TPID:Tag Protocol Identifier,它的值是8100),和2个字节的标签控制信息(TCI:Tag Control Information)。TPID是IEEE定义的新的类型,表明这是一个加了802.1q标签的文本。 TCI(标签控制信息):包括了三个方面的内容:Priority、CFI、VLAN ID。现对这三个内容进行详细的解释: Priority:这3位指明帧的优先级。一共有8种优先级,主要用于当交换机阻塞时,优先发送哪个数据包; CFI(Canonical Format Indicator):这一位主要用于总线型的以太网与FDDI、令牌环网交换数 据时的帧格式; VLAN ID(VLAN Identified):这是一个12位的域,指明VLAN的ID,一共有4096个,每个支持802.1q协议的设备发送出来的数据包都会包含这个域,以指明自己属于哪个VLAN; 二、交换机对带802.1q标签的以太网数据帧转发说明: 从第一点可以看出,802.1q标签头的4个字节是新增加的,目前一般的网卡和原来老式的交换机和HUB并不支持802.1q,因此这些设备发送出来的数据包的以太网帧头不包含这4个字节,同时也无法识别这4个字节。因此,对于支持802.1q交换机来说,如果某个端口上所连接的设备也都能够识别和发送这种带802.1q标签头的数据包文,那么我们将这种端口称为Tag端口;相反,如果该端口所连接的设备不能够识别和发送这种带802.1q标签头的数据包文,那么我们将这种端口称为

数据传输过程详解

数据传输过程详解 一、FTP客户端发送数据到FTP服务器端,详述其工作过程。两台机器的连接情况如下图所示: 详细解答如下 1.1、假设初始设置如下所示: 客户端FTP端口号为:32768 协议是水平的,服务是垂直的。 物理层,指的是电信号的传递方式,透明的传输比特流。 链路层,在两个相邻结点间的线路上无差错地传送以帧为单位的数据。 网络层,负责为分组交换网上的不同主机提供通信,数据传送的单位是分组或包。 传输层,负责主机中两个进程之间的通信,数据传输的单位是报文段。 网络层负责点到点(point-to-point)的传输(这里的“点”指主机或路由器),而传输层负责端到端(end-to-end)的传输(这里的“端”指源主机和目的主机)。 1.3、数据包的封装过程 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。两台计算机在不同的网段中,那么数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。 1.4、工作过程 (1)在PC1客户端,将原始数据封装成帧,然后通过物理链路发送给Switch1的端口1。形成的帧为: 注:发送方怎样知道目的站是否和自己在同一个网络段?每个IP地址都有网络前缀,发送方只要将目的IP地址中的网络前缀提取出来,与自己的网络前缀比较,若匹配,则意味着数据报可以直接发送。也就是说比较二者的网络号是否相同。本题中,PC1和PC2在两个网络段。 (2)Switch1收到数据并对数据帧进行校验后,查看目的MAC地址,得知数据是要

IP及IPSEC协议数据包的捕获与分析

IP及IPSEC协议数据包的捕获与分析

IP及IPSEC协议数据包的捕获与分析 为了掌握掌握IP和IPSEC协议的工作原理及数据传输格式,熟悉网络层的协议。我进行了以下实验:首先用两台PC互ping并查看其IP报文,之后在两台PC上设置IPSEC互ping并查看其报文。最终分析两者的报文了解协议及工作原理。 一、用两台PC组建对等网: 将PC1与PC2连接并分别配置10.176.5.119和10.176.5.120的地址。如图1-1所示。 图1-1 二、两PC互ping: IP数据报结构如图1-2所示。 图1-2 我所抓获的报文如图1-3,图1-4所示:

图1-3 请求包 图1-4 回应包 分析抓获的IP报文: (1)版本:IPV4 (2)首部长度:20字节 (3)服务:当前无不同服务代码,传输忽略CE位,当前网络不拥塞

(4)报文总长度:60字节 (5)标识该字段标记当前分片为第1367分片 (6)三段标志分别指明该报文无保留、可以分段,当前报文为最后一段 (7)片偏移:指当前分片在原数据报(分片前的数据报)中相对于用户数据字段 的偏移量,即在原数据报中的相对位置。 (8)生存时间:表明当前报文还能生存64 (9)上层协议:1代表ICMP (10)首部校验和:用于检验IP报文头部在传播的过程中是否出错 (11)报文发送方IP:10.176.5.120 (12)报文接收方IP:10.176.5.119 (13)之后为所携带的ICMP协议的信息:类型0指本报文为回复应答,数据部分 则指出该报文携带了32字节的数据信息,通过抓获可看到内容为:abcdefghijklmnopqrstuvwabcdefghi 三、IPSec协议配置: 1、新建一个本地安全策略。如图1-5。 图1-5 2、添加IP安全规则。如图1-6.

交换机基本原理和转发过程

交换机基本原理和转发过程 (李建昂 0023000149 专用设备/驱动科室) 本文主要介绍了一下交换机的工作原理,通过本文能够熟悉交换机的原理并对二层交换的一些概念有较深的理解。 首先介绍一下几个设备。我们经常会看到一些设备的名字,比如HUB、交换机等。这些设备之间到底有什么区别和联系,下面就简单说一下。 1、Ethernet HUB Ethernet HUB的中文名称叫做以太网集线器,其基本工作原理是广播技术(broadcast),也就是HUB从任何一个端口收到一个以太网数据帧后,它都将此以太网数据帧广播到其它所有端口,HUB不存储哪一个MAC地址对应于哪一个端口。 以太网数据帧中含有源MAC地址和目的MAC地址,对于与数据帧中目的MAC地址相同的计算机执行该报文中所要求的动作;对于目的MAC地址不存在或没有响应等情况,HUB既不知道也不处理,只负责转发。 HUB工作原理: (1) HUB从某一端口A收到的报文将发送到所有端口; (2) 报文为非广播报文时,仅与报文的目的MAC地址相同的端口响应用户A; (3) 报文为广播报文时,所有用户都响应用户A。 随着网络应用不断丰富,网络结构日渐复杂,导致传统的以太网连接设备HUB已经越来越不能满足网络规划和系统集成的需要,它的缺陷主要表现在以下两个方面: (1) 冲突严重——HUB对所连接的局域网只作信号的中继,所有物理设备构成了一个冲突域; (2) 广播泛滥 2、二层交换技术 二层交换机的出现能够在一定程度上解决HUB存在的缺陷——主要是冲突严重的问题,其与HUB的区别从大的方面来看可以分为以下三点: (1)从OSI体系结构来看,HUB属于OSI模型的第一层物理层设备,而交换机属于OSI的第二层数据链路层设备。也就意味着HUB只是对数据的传输起到同步、放大

数据包从源到目的地的传输过程

数据包从源到目的地的传输过程 步骤1:PC1 需要向PC2 发送一个数据包 PC1 将IP 数据包封装成以太网帧,并将其目的MAC 地址设为R1 FastEthernet 0/0 接口的MAC 地址。 PC1 是如何确定应该将数据包转发至R1 而不是直接发往PC2?这是因为PC1 发 现源IP 地址和目的IP 地址位于不同的网络上。 PC1 通过对自己的IP 地址和子网掩码执行AND 运算,从而了解自身所在的网络。同样,PC1 也对数据包的目的IP 地址和自己的子网掩码执行AND 运算。如果两次运算结果一致,则PC1 知道目的IP 地址处于本地网络中,无需将数据包转发到默认网关(路由器)。如果AND 运算的结果是不同的网络地址,则PC1 知道目的IP 地址不在本地网络中,因而需要将数据包转发到默认网关(路由器)。 注:如果数据包目的IP 地址与PC1 子网掩码进行AND 运算后,所得到的结果并非PC1 计算得出的自己所在的网络地址,该结果也未必就是实际的远程网络地址。在PC1 看来,只有当掩码和网络地址相同时,目的IP 地址才属于本地网络。远程网络可能使用不同的掩码。如果目的IP 地址经过运算后得到的网络地址不同于本地网络地址,则PC1 无法知道实际的远程网络地址,它只知道该地址不在本地网络上。 PC1 如何确定默认网关(路由器R1)的MAC 地址?PC1 会在其ARP 表中查找默认网关的IP 地址及其关联的MAC 地址。 如果该条目不存在于ARP 表中会发生什么情况?PC1 会发出一个ARP 请求,然后路由器R1 作出ARP 回复。

步骤2:路由器R1 收到以太网帧 1. 路由器R1 检查目的MAC 地址,在本例中它是接收接口FastEthernet 0/0 的MAC 地址。因此,R1 将该帧复制到缓冲区中。 2. R1 看到“以太网类型”字段的值为0x800,这表示该以太网帧的数据部分包含IP 数据包。 3. R1 解封以太网帧。

捕获数据包并分析

河南工业大学实验报告 课程计算机网络实验 _ 实验名称实验三捕获数据包并分析 系别 ____信息科学与工程学院计算机科学系 _______________ 专业班级 ___ 计科级班 ____ _________ 实验报告日期 2012-11-18 姓名 _______ 学号 教师审批签字 一.实验目的 掌握Windows系统中IP地址、子网掩码配置方法,熟悉Windows系统中网络连通测试、网络配置查看等命令,理解网段配置与主机间通信基本原理。 二.实验内容 1、实验目的 通过实验掌握Packet tracer工具的安装及使用, 1)实现捕捉ICMP、IP等协议的数据报; 2)理解TCP/IP协议中IP、ICMP数据包的结构,了解网络中各种协议的运行状况。 3)并通过本次实验建立安全意识,防止明文密码传输造成的泄密。 2、实验环境 使用Packet tracer模拟软件组建一个简单网络,网络至少包含两个路由器和两个主机。配置相关信息使得全网络互通。 3、实验任务 1)了解Packet tracer安装和基本使用方法,监测网络中的传输状态; 2)定义过滤规则,使用Packet tracer软件开始捕获; 3)定义指定的捕获规则,触发并进行特定数据的捕获: ●ping ip-address ●ping ip-address –l 1000 4)记录捕获到的数据包; 5)分析数据包; 6)完成实验报告。 ------3.2 捕获运输层数据包 1、实验目的 通过实验掌握Packet tracer工具的安装及使用, 4)实现捕捉ICMP、IP等协议的数据报; 5)理解TCP/IP协议中IP、ICMP数据包的结构,了解网络中各种协议的运行状况。 6)并通过本次实验建立安全意识,防止明文密码传输造成的泄密。 2、实验环境 使用Packet tracer模拟软件组建一个简单网络,网络至少包含两个路由器和两个主机。

IP 数据报捕获与分析实验报告

实验报告 专业班级成绩评定______ 学号姓名教师签名______ 实验题目IP 数据报捕获与分析实验时间 一、实验目的: 1.掌握IP数据报格式。 2.理解IP协议的工作原理及工作过程。 3.掌握使用wireshark捕获IP等数据报并分析。 二、实验环境:以太网。 三、实验内容: 1.熟悉WinPcap的体系构架和提供的函数。 2.学习IP数据报校验和计算方法。 3.掌握使用wireshark捕获IP等数据报。 4.对捕获的IP数据报进行分析。 四、实验步骤: 1.在PING之前先运行wireshark熟悉页面并进行一些设置

a.单击Capture Filter过滤器:可以设置捕捉一些特殊规则 的数据报。 b.在选中Capture packets in promiscuous mode:可以设置 为混合全处理模式。 c.可以点击Start开始捕捉。过一段时间后,点击Stop停止, 观察捕捉到的数据报,并进行分析。 2.使用wireshark捕获和分析IP数据包。 a.打开wireshar并开始捕获数据包。 b.然后在系统的“开始”—“运行”—输入“CMD”命令,进 入DOS命令窗口,并输入“ping”命令测试网络的情况. c.如“ping 192.168.0.1”。 Ping 命令的使用

d.再回到wireshar点击停止后查看捕获到的数据,双击打开 “ping”后的数据包,分析数据包的内容。 分片的数据包 (以下图片全部通过wireshark捕获数据包,然后用QQ中的截图功能截取) IP协议节点

IP协议节点 上面节点说明如下: 3.进制数据包窗口 16进制数据包窗口将数据包的所有内容以16进制的形式显示出来,如下所示:

交换机的工作过程

交换机的功能及工作过程 By:吾怜茜 一.交换机概述: 交换机是一种工作在二层的设备,但是随着技术的不断进步,现在已经出现了诸如三层交换机,多层交换机产品。在本篇中讨论的是二层交换机的一些特性。 二.交换机的功能: 1.地址学习 有些地方也叫做基于源MAC地址学习,这个功能主要就是学习和存储MAC 地址。 2.帧的转发/过滤 数据帧的转发主要是交换机能够根据MAC地址表来转发数据,过滤则是对一些受限制的数据进行阻止或丢弃。 3.环路避免 由于交换机的某些特性会带来一些问题,比如形成环路,因此为了保证网络上数据的正确传输以及网络的稳定要采取一些措施来避免这些问题,主要是通过STP来实现,稍后会讲到。 三.交换机的工作过程: 交换机在运行的时候要维护几张表,比如CAM表,vlan.data表。CAM表用来保存学到的MAC地址;VLAN.DATA文件用来保存VLAN相关的信息。 1.在交换机初始加电的时候它的MAC地址表是空的,当其他与其相连的设备(PC,交换机,路由器等)向它发送一个信息的时候,交换机就会根据数据的源MAC和目标MAC对数据进行处理,因为发的是第一个包,所以这时候交换机会把源MAC地址和数据从本交换机进来的端口号做关联,然后加上VLAN号保存起来形成一个CAM表条目。因为交换机的MAC地址表现在是空的,所以它不知道数据的目的地在那里,这时候交换机会发送ARP请求把数据从除了数据进来的端口之外的所有端口广播,这个过程称为泛洪,当目标主机收到数据之后会返回一个回应包,告诉交换机自己的MAC地址,这时候交换机又会根据目标主机返回的包把目标主机的MAC地址和进来的端口关联起来加上VLAN号形成一个新的CAM表条目。这个过程就是地址学习。我们通过下面的图来详细了解一下。

计算机网络实验应用层数据包的捕获和分析报告

淮海工学院计算机工程学院 实验报告书 课程名:《计算机网络》 题目:应用层数据报捕获和分析 班级: Z计121 学号: 93 姓名:薛慧君

1.目的与要求 熟悉网络数据包捕获与分析工具SNIFFER的操作和使用方法,掌握数据包捕获和分析的基本过程;掌握协议过滤器的设定方法,能够捕获并分析常见的网络层和运输层数据包。 2.实验内容 (1)运行SNIFFER软件并设定过滤器,将捕获数据包的范围缩小为常见的协议; (2)开始捕获数据包,同时制造特定协议的数据; (3)对捕获的数据包进行分析,解析出常见的网络层和运输层数据包的格式,重点要求解析出DNS、FTP、Telnet的数据包。 3.实验步骤 ①打开Sniffer?Pro程序后,选择Capture(捕获)—Start(开始),或者使用F10键,或者是工具栏上的开始箭头。?? ②?一小段时间过后,再次进入Capture(捕获)菜单,然后选择Stop(停止)或者按下F10键,还可以使用工具栏。?? ③还可以按F9键来执行“停止并显示”的功能,或者可以进入Capture(捕获)菜单,选择“停止并显示”。?? ④停止捕获后,在对话框最下角增加了一组窗口卷标,包括高级、解码、矩阵、主机表单、协议分布和统计信息。?? ⑤选择解码卷标,可以看到Sniffer?Pro缓冲器中的所有实际“数据”。分析该卷标结构及其内容。? 具体结构:分割为上中下三个相连接的窗口,分别用于显示不同信息内容;? 内容: 1)最上面得窗口显示的是捕获各帧的数量和主要信息(包括帧编号,帧状态,源地址与目的地址,摘要等信息);? 2)中间的窗口显示的是所选取帧的协议信息(DLC,IP,UDP及TCP协议等的协议内容);? 3)最下面得窗口显示的是帧中协议各项内容对应的位置和机器码(默认以ASCII码显示)。?? 4. 测试数据与实验结果 实验1捕获DNS协议数据包 (1)设定过滤器,将捕获数据包的范围缩小为DNS协议;

数据包捕获与解析

数据包捕获与解析课程设计报告 学生姓名:董耀杰 学号:1030430330 指导教师:江珊珊

数据包捕获与分析 摘要本课程设计通过Ethereal捕捉实时网络数据包,并根据网络协议分析流程对数据包在TCP/IP各层协议中进行实际解包分析,让网络研究人员对数据包的认识上升到一个感性的层面,为网络协议分析提供技术手段。最后根据Ethereal的工作原理,用Visual C++编写一个简单的数据包捕获与分析软件。 关键词协议分析;Ethereal;数据包;Visual C++ 1引言 本课程设计通过技术手段捕获数据包并加以分析,追踪数据包在TCP/IP各层的封装过程,对于网络协议的研究具有重要的意义。Ethereal是当前较为流行的图形用户接口的抓包软件,是一个可以用来监视所有在网络上被传送的包,并分析其内容的程序。它通常被用来检查网络工作情况,或是用来发现网络程序的bugs。通过ethereal对TCP、UDP、SMTP、telnet和FTP等常用协议进行分析,非常有助于网络故障修复、分析以及软件和协议开发。,它以开源、免费、操作界面友好等优点广为世界各地网络研究人员使用为网络协议分析搭建了一个良好的研究平台。 1.1课程设计的内容 (1)掌握数据包捕获和数据包分析的相关知识; (2)掌握Ethreal软件的安装、启动,并熟悉用它进行局域网数据捕获和分析的功能; (3)设计一个简单的数据包捕获与分析软件。 1.2课程设计的要求 (1)按要求编写课程设计报告书,能正确阐述设计结果。 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。 (3)学会文献检索的基本方法和综合运用文献的能力。 (4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

网络中数据传输过程的分析

网络中数据传输过程的分析 我们每天都在使用互联网,我们电脑上的数据是怎么样通过互联网传输到到另外的一台电脑上的呢?把自己的理解写一下,可能有很多细节还没有能的很清楚!希望在以后可以使之更加的完善!有不对的地方还请指正. 我们知道现在的互联网中使用的TCP/IP协议是基于,OSI(开放系统互联)的七层参考模型的,(虽然不是完全符合)从上到下分别为应用层表示层会话层传输层网络层数据链路层和物理层。其中数据链路层又可是分为两个子层分别为逻辑链路控制层(Logic Link Control,LLC )和介质访问控制层((Media Access Control,MAC )也就是平常说的MAC层。LLC对两个节点中的链路进行初始化,防止连接中断,保持可靠的通信。MAC层用来检验包含在每个桢中的地址信息。在下面会分析到。还要明白一点路由器是在网路层的,而网卡在数据链路层。 我们知道,ARP(Address Resolution Protocol,地址转换协议)被当作底层协议,用于IP地址到物理地址的转换。在以太网中,所有对IP的访问最终都转化为对网卡MAC地址的访问。如果主机A的ARP列表中,到主机B的IP地址与MAC地址对应不正确,由A发往B数据包就会发向错误的MAC地址,当然无法顺利到达B,结果是A与B根本不能进行通信。 首先我们分析一下在同一个网段的情况。假设有两台电脑分别命名为A和B,A需要相B发送数据的话,A主机首先把目标设备B的IP地址与自己的子网掩码进行“与”操作,以判断目标设备与自己是否位于同一网段内。如果目标设备在同一网段内,并且A没有获得与目标设备B的IP地址相对应的MAC地址信息,则源设备(A)以第二层广播的形式(目标MAC地址为全1)发送ARP请求报文,在ARP请求报文中包含了源设备(A)与目标设备(B)的IP地址。同一网段中的所有其他设备都可以收到并分析这个ARP请求报文,如果某设备发现报文中的目标IP地址与自己的IP地址相同,则它向源设备发回ARP响应报文,通过该报文使源设备获得目标设备的MAC地址信息。为了减少广播量,网络设备通过ARP表在缓存中保存IP与MAC地址的映射信息。在一次ARP 的请求与响应过程中,通信双方都把对方的MAC地址与IP地址的对应关系保存在各自的ARP表中,以在后续的通信中使用。ARP表使用老化机制,删除在一段时间内没有使用过的IP与MAC地址的映射关系。一个最基本的网络拓扑结构:

sniffer数据包捕获

实训报告 一、sniffer的功能认知; 1. 实时网络流量监控分析 Sniffer Portable LAN能够对局域网网络流量进行实时监控和统计分析,对每个链路上的网络流量根据用户习惯,可以提供以表格或图形(条形图、饼状图和矩阵图等)方式显示的统计分析结果,内容包括: ·网络总体流量实时监控统计:如当前和平均网络利用率、总的和当前的帧数、字节数、总网络节点数和激活的网络节点数、当前和总的平均帧长等。 ·协议使用和分布统计:如协议类型、协议数量、协议的网络利用率、协议的字节数以及每种协议中各种不同类型的帧的数量等。Sniffer包含通用的TCP和UDP网络应用协议如HTTP, Telnet, SNMP, FTP等。同时,Sniffer 也具有特有的灵活性允许增加自定义的应用。一旦应用协议加入Sniffer,针对应用的所有的监控、报警和报告便自动生效;

·包尺寸分布统计:如某一帧长的帧所占百分比,某一帧长的帧数等。 ·错误信息统计:如错误的CRC校验数、发生的碰撞数、错误帧数等; ·主机流量实时监控统计:如进出每个网络节点的总字节数和数据包数、前x个最忙的网络 节点等;

话节点对等;

·Sniffer还提供历史统计分析功能,可以使用户看到网络中一段时间内的流量运行状况,帮助用户更好的进行流量分析和监控。

2.应用响应时间监控和分析 Sniffer 在监控网络流量和性能的同时,更加关注在网络应用的运行状况和性能管理,应用响应时间(ART)功能是Sniffer中重要的组成部分,不仅提供了对应用响应时间的实时监控,也提供对于应用响应时间的长期监控和分析能力。 首先ART监控功能提供了整体的应用性能响应时间,让用户以多种方式把握当前网络通讯中的各类应用响应时间的对比情况,如客户机/服务器响应时间、服务器响应时间,最 快响应时间、最慢响应时间、平均响应时间和90%的请求的响应时间等。

相关文档
最新文档