精华内容
下载资源
问答
  • 互联网上使用的基本协议是
    千次阅读
    2022-04-24 10:59:52

    实验一 wireshark基本操作及ARP协议分析

    一、实验目的

    1、熟悉并掌握Wireshark的基本使用;

    2、了解网络协议实体间进行交互以及报文交换的情况

    3、分析以太网帧,MAC地址和ARP协议。

    二、实验环境

    与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。

    三、预备知识

    (1)wireshark安装

    下载地址:https://www.wireshark.org/#download

    注意操作系统版本,特别是32位操作系统和64位操作系统的区别。

    安装时选择默认设置即可。

    2)分组嗅探器

    要深入理解网络协议,需要观察它们的工作过程并使用它们,即观察两个协议实体之间交换的报文序列,探究协议操作的细节,使协议实体执行某些动作,观察这些动作及其影响。这种观察可以在仿真环境下或在因特网这样的真实网络环境中完成。

    观察正在运行的协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer),又称分组捕获器。顾名思义,分组嗅探器捕获(嗅探)你的计算机发送和接收的报文。

    图1显示了一个分组嗅探器的结构。

    图1

    图1右边是计算机上正常运行的协议和应用程序(如:Web浏览器和FTP客户端)。分组嗅探器(虚线框中的部分)主要有两部分组成:第一是分组捕获器,其功能是捕获计算机发送和接收的每一个链路层帧的拷贝;第二个组成部分是分组分析器,其作用是分析并显示协议报文所有字段的内容(它能识别目前使用的各种网络协议)。

    3)wireshark简介

    Wireshark是一种可以运行在Windows, UNIX, Linux等操作系统上的分组嗅探器,是一个开源免费软件。

    运行Wireshark程序时,其图形用户界面如图2所示。最初,各窗口中并无数据显示。Wireshark的界面主要有五个组成部分:

    图2

    命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。

    协议筛选框(display filter specification):在该处填写某种协议的名称,Wireshark据此对分组列表窗口中的分组进行过滤,只显示你需要的分组。

    捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,其中包括:分组序号、捕获时间、源地址和目的地址、协议类型、协议信息说明。单击某一列的列名,可以使分组列表按指定列排序。其中,协议类型是发送或接收分组的最高层协议的类型。

    分组首部明细(details of selected packet header):显示捕获分组列表窗口中被选中分组的首部详细信息。包括该分组的各个层次的首部信息,需要查看哪层信息,双击对应层次或单击该层最前面的“+”即可。

    分组内容窗口(packet content):分别以十六进制(左)和ASCII码(右)两种格式显示被捕获帧的完整内容。

    四、实验步骤

    1、wireshark基本操作

    (1)查看自己的IP地址和MAC地址。Windows系统用命令提示符查看,在运行中输入CMD,或在开始菜单“Windows附件”/“Windows系统”中打开命令提示符。在命令提示符中输入ipconfig  -all,查看本机物理地址和IP地址。MAC系统在系统更偏好设置-网络-选择已连接网络查看本机物理地址和IP地址。

    (2)启动wireshark软件,选择准备捕获数据包的网卡接口。

    (3)过几秒钟后停止捕获,观察捕获到的数据包。

    (4)在过滤条件中,选择查看自己IP地址发出的数据包,使用过滤条件“ip.src==步骤2中查看到的IP地址”,并在数据包详情窗口查看源MAC地址是否是步骤2中查看到的本机的物理地址。

    (5)重新设置过滤条件,选择查看由自己MAC地址接收的数据包,使用过滤条件“eth.dst == 步骤2中查看到的物理地址”( 注意地址内16进制以冒号隔开),并在数据包详情窗口查看目的IP地址是否是自己的IP地址。

    (6)思考

    • 每次自己发出或接收的数据包,自己的IP地址和MAC是否总是对应的?
    • 尝试写一条规则,查找所有的HTTP协议的数据包。
    • 尝试写一条规则,查找所有自己的IP地址发出的DNS数据包。

    2、ARP协议的分组结构

    (1)在命令提示符输入arp,查看arp工具的参数。输入arp –a,查看本地的arp缓存表,并记录下表(不够可添加行):

    Internet地址

    物理地址

    类型

    1. 输入arp –d(若不能运行,则在C:/windows/system32中找到cmd.exe,单击右键选择“以管理员身份运行”),删除本地的arp缓存表,使用arp –a再次查看arp缓存表,发生了什么变化。

    ARP的包减少了

    1. 输入“ping 网关地址”,再次查看arp缓存表,说明发生了什么变化。通过以上实验的结果,尝试分析arp缓存表的工作模式。

    (4)运行wireshark抓包分析工具,开始进行捕获,捕获前或者捕获中运行arp –d清除arp缓存表然后在命令提示符输入“ping 网关地址”,过一段时间后停止捕获,观察捕获到的数据包。

    说明:很多时候不需要“ping 网关地址”,系统很快也会自动运行ARP协议,获得网关物理地址。因此往往在删除缓存表后再查看缓存表时,会发现网关的ARP项目仍然存在。

    (5)在过滤栏中,设置过滤条件为arp数据包。

    (6)查看从本机mac地址发出的arp数据包,查看捕获数据包的第一个分组的链路层帧结构及arp协议分组结构,截图并记录下表

    目的MAC地址

    源MAC地址

    类型

    90:e7:10:b8:13:3e

    c8:d9:d2:19:fe:c8

    ARP

    硬件类型

    上层协议类型

    MAC长度

    IP长度

    操作类型

    Ethernet(1)

    IPv4

    6

    4

    Request(1)

    源MAC地址

    源IP地址

    c8:d9:d2:19:fe:c8

    10.0.132.22

    目的MAC地址

    目的IP地址

    90:e7:10:b8:13:3e

    10.0.132.254

    根据捕获的数据包信息思考并回答以下问题

    • arp分组结构中的目的MAC地址是多少?为什么是这个取值?

    90:e7:10:b8:13:3e  目的主机收到了该ARP请求之后,会发送一个ARP应答,里面包含了目的主机的MAC地址。 

    • arp分组结构中的硬件类型、上层协议类型、操作类型分别是起什么作用的?

    硬件类型:该字段2个字节,用于表明ARP分组是跑在什么类型的网络上的,例如如果是我们最常用的以太网值是1。

    协议类型:该字段2个字节,用于表明使用ARP分组的上层协议是什么类型,例如如果是我们最常用的IPv4协议值是32。

    操作类型:该字段2个字节,用于表明该ARP分组的类型。现在已经有的类型只有2中:ARP请求(值是1),ARP应答(值是2)

    1. 查看从网关MAC地址发出的arp数据包,查看捕获数据包的数据链路层帧结构及arp协议分组结构,截图并记录下表

    目的MAC地址

    源MAC地址

    类型

    c8:d9:d2:19:fe:c8

    90:e7:10:b8:13:3e

    ARP

    硬件类型

    上层协议类型

    MAC长度

    IP长度

    操作类型

    Ethernet(1)

    IPv4

    6

    4

    Request(2)

    源MAC地址

    源IP地址

    90:e7:10:b8:13:3e

    10.0.132.254

    目的MAC地址

    目的IP地址

    c8:d9:d2:19:fe:c8

    10.0.132.22

    根据捕获的数据包信息回答以下问题

    • 从帧头中的MAC地址来看这个数据帧是谁发给谁的?

    主机发送给本机

    • arp分组结构中的操作类型字段与步骤7)中的对应字段有何变化?

    Request(1)→Request(2)

    源IP地址和MAC地址与目的IP地址和MAC地址交换

    (6)思考:请根据今天实验的所有实验结果

    • 说明arp协议工作的触发条件是什么?

    在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

    • 分析arp协议在主机中工作的完整工作过程是如何进行的?

    1、每个主机都会有自己的ARP缓存区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系
    2、当源主机要发送数据时,首先检测ARP列表中是否对应IP地址的目的主机的MAC地址如果有,则直接发送数据如果没有,就向本网段所有主机发送ARP数据包

    3、当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包如果是,则首先从数据包中取出源主机的IP和mac地址写入到ARP列表中,如果以存在,则覆盖然后将自己的mac地址写入arp响应包中,告诉源主机自己是它想要找的mac地址
    4、源主机收到ARP响应包后,将目的主机的IP和mac地址写入arp列表,并利用此信息发送数据如果源主机一直没有收到arp响应数据包,表示arp查询失败。

    • arp协议可能存在的安全风险是什么?

    1. 假冒ARP应答

    2. 点对点的假冒查询

    3. 自动定时ARP欺骗

    4. 对网关的干扰

    5. 推测ARP解析时间

    更多相关内容
  • JAVA面向对象程序设计 网络编程 软件技术专业教学资源库 TCP协议基本使用 TCP通信步骤 客户端 1.创建Soket客户端 2.执行输入/输出操作 3.释放资源 服务器 1.创建ServerSoket服务端 2.接收客户端请求socket 3.处理...
  • 文章目录通讯协议TCP/IP协议TCP/IP模型osi版基本版应用层传输层网络层数据链层 通讯协议 我们想要进⾏数据通讯分⼏步? 1、找到对⽅ip 2 、数据要发送到对⽅指定的应⽤程序。为了标识这些应⽤程序,所以给这些 ⽹络...

    通讯协议

    我们想要进⾏数据通讯分⼏步?
    1、找到对⽅ip
    2 、数据要发送到对⽅指定的应⽤程序上。为了标识这些应⽤程序,所以给这些 ⽹络应⽤程序都⽤数字进⾏了标识。为了⽅便称呼这个数字,叫做 端⼝。这⾥ 的端⼝ 我们⼀般都叫做 ‘逻辑端⼝’
    3、 定义通讯规则。这个通讯规则我们⼀般称之为协议

    通讯协议又称通信规程,是指通信双方对数据传送控制的一种约定。约定中包括对数据格式,同步方式,传送速度,传送步骤,检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守,它也叫做链路控制规程。
    电脑与电脑之间的沟通必须讲述相同的语言,才能互相传输信息,自然资料在国际互联网上传递,每一份都要符合一定的规格(即是相同的语言),否则中国送出的资料,在美国那边要怎么收下呢?
    这些规格(语言)的规定都是事先在会议上讲好的,一般我们称之为“协议”(英文称为protocol),而这种在网络上负责定义资料传输规格的协议,我们就统称为通讯协议

    其实每一种网络所使用的通讯协议都不太一样,但就以我们最常用的Internet为例,当资料要送到Internet上时,就必须要使用Internet用的通讯协议。

    TCP/IP协议

    TCP/IP协议定义了在互联网络中如何传递、管理信息(文件传送、收发电子邮件、远程登录等),并制定了在出错时必须遵循的规则。

    TCP/IP(Transmission Control Protocol/Internet
    Protocol,传输控制协议/网际协议)是指能够在多个 不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP
    和IP两个协议,而是指一个由 FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,
    只是因为在TCP/IP协议中TCP协议和IP协议最 具代表性,所以被称为TCP/IP协议

    TCP/IP模型

    osi版

    OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。
    OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型
    在这里插入图片描述

    基本版

    在这里插入图片描述
    TCP/IP协议层按照层次由上到下,层层包装。
    数据就像被层层包装的快递,一层一层被包裹着,当传输到传输对象手中被一层一层剥开,这就是通讯,通讯中数据的传递

    应用层

    最上面的是应用层,这里面有http,ftp,等等我们熟悉的协议。

    作用:控制应用程序;

    典型协议:telnet, ssh, http, ftp, smtp, rip, BGP, …

    备注:为应用程序提供网络服务;
    HTTPS是什么呢?

    https=http+ssl,顾名思义,https是在http的基础上加上了SSL保护壳,信 息的加密过程就是在SSL中完成的 https,是以安全为⽬标的HTTP通道,简单讲是HTTP的安全版。即HTTP下 加⼊SSL层,HTTPS的安全基础是SSL
    SSL怎么理解? SSL也是⼀个协议主要⽤于web的安全传输协议
    在这里插入图片描述

    传输层

    而第二层则是传输层,著名的TCP和UDP协议就在这个层次。
    作用:提供可靠和尽力而为的传输;

    典型协议:TCP,UDP,SPX,port(65535个端口),EIGRP,OSPF,

    PDU:fragment 段;

    无典型设备;

    备注:负责网络传输和会话建立;

    网络层

    第三层是网络层,IP协议就在这里,它负责对数据加上IP地址和其他的数据以确定传输的目标。

    作用:定义一个逻辑的寻址,选择最佳路径传输,路由数据包;

    典型协议:IP,IPX,ICMP,ARP(IP->MAC),IARP;

    PDU:packet/数据包;

    设备:路由器

    备注:实现寻址

    数据链层

    第四层是数据链路层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输做准备。
    作用:定义如何格式化数据,支持错误检测;

    典型协议:以太网,帧中继(古董级VPN)

    PDU:frame(帧)设备:以太网交换机;

    备注:交换机通过MAC地址转发数据,逻辑链路控制;
    我们举个栗子
    在这里插入图片描述
    x从新疆某地到美国拉斯维加斯某酒店:

    1. 汽车:坐汽车到火车站
    2. 火车:坐火车到北京
    3. 地铁:坐地铁到北京国际机场
    4. 飞机:坐飞机到纽约国际机场
    5. 地铁:坐地铁到火车站
    6. 火车:坐火车到拉斯维加斯
    7. 汽车:坐汽车到最终目的地

    而x就相当于数据,汽车、火车、地铁、飞机等等就相当于数据链层

    物理层

    作用:定义一些电器,机械,过程和规范,如集线器;

    PDU(协议数据单元):bit/比特

    设备:集线器HUB;

    注意:没有寻址的概念;

    展开全文
  • z z 中小型网络组建实验报告 实验名称使用软件 Wireshark 分析网络协议 班级通信 姓名 学号 '实验目的 1 熟悉并掌握wireshark的基本使用 2 了解网络协议实体间进行交互以及报文交换的情况; 3 具体分析ICMP网络协议 ...
  • 物理层:如何在线路传递信号,充分利用介质。 介质有金属线缆,比如网线,电话线,光纤,还有无线电磁波。 在金属线缆上传数据,如双绞线是数字信号,跳变这种,比如0和1。 在电话线上面,还可以是模拟信号,...

    物理层:如何在线路上传递信号,充分利用介质。

    介质有金属线缆,比如网线,电话线,光纤,还有无线电磁波。

    在金属线缆上传数据,如双绞线是数字信号,跳变这种,比如0和1。

    在电话线上面,还可以是模拟信号,比如正选波,余旋波。

    在光纤上传递光信号。

    总而言之,物理层涉及更多的是通信机制,如何利用这些介质如金属,光纤,更快的传输数据。

    物理层基本概念


    物理层考虑的是怎样才能在连接各种计算机的传输媒体上 传输数据 比特流 ,而 不是指具体的传输媒体(传输媒体如光纤,电缆) 。(如何传输比特流)
    物理层的作用是要尽可能地 屏蔽 掉不同传输媒体和通信手段的差异。
    用于物理层的协议也常称为物理层 规程 (procedure)。

    物理层是线缆和接口的规范,也可以理解为物理层的协议

    物理层主要任务


    主要任务:确定与传输媒体的接口的一些特性

    物理层定义了与传输媒体的接口有关的一些特性。

    机械特性 :指明接口所用接线器的形状和尺寸、引线数目和排列、 固定和锁定装置等。

    电气特性:指明在接口电缆的各条线上出现的电压的范围。

    功能特性:指明某条线上出现的某一电平的电压的意义。

    过程特性 :指明对于不同功能的各种可能事件的出现顺序。

     

     

    展开全文
  • 一实验名称网络协议分析工具的使用 二实验目的 了解协议分析仪Ethereal的使用方法和基本特点掌握使用协议分析仪分析协议的方法 了解Ping命令的工作过程 了解FTP协议的工作过程 通过动手实验加强对大学网络课程的理解...
  • 常见网络协议汇总

    万次阅读 多人点赞 2021-08-06 15:03:27
    常用网络协议前言TCP/IP五层网络模型回顾应用层协议DNS协议:HTTP协议HTTPS协议传输层协议UDP协议TCP网络层IP协议ICMP协议数据链路层ARP协议物理层整体的网络传输流程 前言 本篇博客将对基于 TCP/IP的五层网络模型 ...

    前言

    本篇博客将对基于 计算机网络五层模型 中的常见协议做以总结 ,目的通过这些具体的协议更深刻的认识整体网络的传输流程及相关网络原理

    计算机网络五层模型回顾

    在这里插入图片描述

    • 应用层:为用户为用户的应用进程提供网络通信服务
      协议——DNS协议、HTTP协议、HTTPS协议
    • 传输层:负责两台主机之间的数据传输,将数据从发送端传输到接收端
      协议——TCP协议、UDP协议
    • 网络层:负责传输的地址管理和路由选择,在众多复杂的网络环境中确定一条合适的路径
      协议——IP协议
    • 数据链路层:负责设备之间数据帧的传送和识别,将网络层传递的数据报封装成帧,在处于同一个数据数据链路节点的两个设备之间传输
      协议——ARP协议、MTU协议
    • 物理层:负责光电信号的传递方式,实现相邻计算机节点之间比特流的透明传输

    对于五层网络模型基本都是耳熟能详,但是有没有思考过,网络为什么要这样分层呢?

    最直接的回答就是为了简化网络设计的复杂性,通信协议采用分层结构,各层之间既相互独立又相互协调工作,如此以来便达到的高效的目的。如同设计模式中对于设计一个复杂的程序时,尽量使程序各功能之间是解耦合的一样,对于复杂的网络设计,分层设计也是很明智的一种做法。

    网络分层的最本质就是每一层独立的完成一个任务而不必考虑自己任务之外的实现,而因为不同的任务因此就有了每一层所对应的不同设备。(实例到应用就是,物理层只需要关系0和1的光电信号如何传输,而对它所表达的内容毫不关心;再往上数据链路层只需要关心封装好的数据帧如何准确的送到对应的MAC地址的目的主机中,而不必关心数据报的具体内容和具体会通过何种方式光纤还是局域网…同理往上对于所有层)

    应用层协议

    应用层协议主要负责各个程序间的通信,发生网络传输一个数据时,先由应用层对数据按照对应的协议封装,然后交给下一层传输层,当经过一系列网络传输,数据达到接收端时,一层层的分用,最后一层再由应用层分用,最终得到数据。

    DNS协议:

    DNS协议是一个应用层协议,建立在TCP和UDP的基础之上,使用默认端口为53,其默认通过UDP协议通信,但如果报文过大是则会切换成TCP协议。

    域名系统 (DNS) 的作用是将人类可读的域名 (如,www.baidu.com) 转换为机器可读的 IP 地址 (如,192.0.2.44),本质是通过DNS域名和IP地址的对应关系转换,而这种对应关系则保存在DNS服务器中

    域名的解析过程:

    域名的解析工作大体上可以分为两个步骤:第一步客户端向本地DNS服务器发起一个DNS请求报文,报文里携带需要查询的域名,第二步本地DNS服务器向本机回应一个DNS响应报文,报文里携带查询域名所对应的IP地址

    具体流程如下:

    1. 在本地缓存中查询,如果有则返回对应IP,如果没有将请求发给DNS服务器
    2. 当本地DNS服务器接收到查询后,先在服务器管理区域记录中查询,若没有再在服务器本地缓存中查询,如果没有将请求发送到根域名服务器
    3. 根域名服务器负责解析请求的根域部分,然后将包含下一级域名信息的DNS服务地址返回给本地DNS服务器
    4. 本地DNS服务器利用根域名服务器解析的地址访问下一级DNS服务器,得到再下一级域的DNS服务器地址
    5. 按照上述递归方法逐级接近查询目标,最后在有目标域名的DNS服务器上找到相应的IP地址信息
    6. 本地DNS服务器将最终查询到的IP返回给客户端,让客户端访问对应主机

    HTTP协议

    HTTP协议是一个简单的请求——响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
    同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP进行通信的HTTP的实现程序。

    HTTP是基于TCP协议,且面向连接的。典型的HTTP事务处理有如下的过程:

    1. 客户端与服务器建立连接;
    2. 客户端向服务器提出请求;
    3. 服务器接受请求,并根据请求返回相应的数据作为应答响应;
    4. 客户端与服务器关闭连接。

    HTTP协议报文格式
    HTTP报文由从客户机到服务器的请求(Request)和从服务器到客户机的响应(Respone)构成

    请求由请求行,请求头,请求体组成
    请求行中包含请求方法、路径、版本号,请求头为多个key-value数据,请求正文包含一些请求的数据
    响应由响应行,响应头,响应体组成
    响应行中包含状态码,状态码描述,版本号,响应头为多个key-value数据,响应正文包含一些响应的数据
    在这里插入图片描述
    常见HTTP响应状态码汇总

    200 OK :客户端请求成功

    3XX系列

    301 Moved Permanently :请求的资源以被永久的移动到新URL中,返回的Response中包含一个Location,浏览器会自动重定向到新URL,以后请求都会被新的URL替代
    302 Found :与301类似,但请求的资源只是临时的被移动到新的URL中,下次请求客户端继续使用原URL
    307 Temporary Redirect : 临时重定向,类似于302,使用GET请求重定向

    4XX系列

    400 Bad Request : 客户端请求语法错误,服务器无法理解(在 ajax 请求后台数据时比较常见)
    401 Unauthorized :请求要求用户的身份认证
    403 Forbidden : 服务器理解客户端请求,但是拒绝执行(一般用于用户级别为达到要求等等不支持访问)
    404 Not Found : 服务器无法根据客户端请求找到对应资源
    405 Method Not Allowed : 服务器不支持该方法

    5XX系列

    500 Internal Server Error : 服务器内部错误,无法完成请求
    503 Service Unavailable :由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中

    HTTP协议的特点

    1. 支持服务器/客户端模式
    2. 传输较快速,客户端向服务器发送请求,只需要传输请求方法和路径
    3. 灵活,HTTP允许传输任意类型的数据对象
    4. 无连接,每次连接只能处理一个请求,服务器处理完客户端请求,客户端收到响应后就断开连接
    5. 无状态,协议本身对事务处理没有记忆能力,如果后序连接需要之前发送的信息时就需要重传

    HTTP1.0和HTTP1.1和HTTP2.0的区别:

    HTTP1.0和HTTP1.1的区别:

    1. 长连接:HTTP1.0只支持浏览器与服务器的短连接,即每次请求都要重新建立连接,服务器无法记录每个历史请求,HTTP1.1支持长连接即在一次连接下,浏览器可以向服务器发送多次请求
    2. 增加Host字段:HTTP1.0中认为每个服务器都绑定这唯一一个IP,所有发送的请求头URL中没有host信息,而HTTP1.1在请求和响应中都支持了host头域,且请求消息中如果没有Host头域会报告一个错误(400 Bad Request)
    3. 缓存:HTTP1.1在1.0的基础上加入了一些cache的新特性,当缓存对象的Age超过Expire时变为stale对象,cache不需要直接抛弃stale对象,而是与源服务器进行重新激活(revalidation)。
    4. 错误提示:HTTP1.0中定义了16个状态码,对错误或警告的提示不够具体。HTTP1.1引入了一个Warning头域,增加对错误或警告信息的描述,并且还新增了24个状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除

    HTTP1.X和HTTP2.0的区别

    1. 增加二进制格式解析:HTTP1.X解析基于文本,而文本格式本身就具有多样性,很多场景下不方便,而引入二进制后,只有0和1组合,使解析更加方便也增强了健壮性
    2. 多路复用:即每个request都是是用作连接共享机制的,每个request都对应一个id,使一个连接可以有多个请求,再根据id将request归属到不同的服务端请求里
    3. header压缩:HTTP1.X中,每次传输都要写点header头,占用了大量数据,因此HTTP2.0在客户端和服务端各保存了一份header fields表,每次传输时只需传输header的更新信息,将header fields表更新即可实现header传输
    4. 服务端推送:HTTP2.0也添加了server push功能

    HTTPS协议

    HTTPS同样作为应用层协议,可以说它是HTTP的升级版,增加了传输数据的安全性,HTTPS协议是在HTTP的基础上增加了一个SSL外壳,HTTPS运行在SSL上,SSL运行在TCP上,对数据的加密工作就是在SSL上完成的
    在这里插入图片描述

    其保证安全性的做法是通过证书验证和对信息混合加密的方式
    混合加密技术:

    混合加密技术:结合对称加密与非对称加密
    服务端生成私钥,再通过私钥生成公钥,然后将公钥放在证书中颁发给客户端
    使用公钥和私钥以非对称方式加密生成密钥
    客户端接下来的传输数据中,都会用密钥以对称方式对信息加密,再传输给服务端

    在这里插入图片描述

    对于,上述提到的公钥和私钥,我们规定用公钥加密的内容必须用私钥才能解开,同样,私钥加密的内容只有公钥能解开

    所以HTTPS传输数据是用被密钥加密的密文和用公钥加密的私钥来保证数据安全的

    HTTPS加密,只用对称加密可以吗?
    不行!无法保证安全性,因为只用对称加密即只用密钥对数据加密传输的话,如果传输途中,信息被第三方劫持,获取到密钥,那接下来的传输,第三方都可以通过密钥对数据解密从而得到原始数据。

    HTTPS加密,只用非对称加密可以吗?两次呢?
    同样不行,如果只用非对称加密。客户端每次传输数据用公钥加密,服务端再用私钥解密这一方向看似安全,但当服务端发送数据用私钥加密,客户端收到用公钥解密时,第三方劫持到信息,但可能在此之前就获得公钥,因为首次服务端向客户端发送公钥是明文传输的。
    而换个角度如果使用两次非对称加密,即两组公钥,两组私钥,客户端服务端各持一组,理论上可以达到安全,但实际HTTPS并未采用,因为非对称加密耗时十分大

    证书:

    单有混合加密技术,看似已经保证了传输的安全性,实则还是有漏洞,问题就在于服务器根本无法识别发送过来的公钥是否是自己的,如此以来在第三方劫持到数据后,自行再定义一个公钥B,并将公钥B传回给客服端,此时客户端就会利用该公钥B重新加密数据然后发送,此时第三方就可以通过自己的公钥B解密得到原始数据了。

    证书就解决了这一问题,指定颁发的为CA机构,当网站使用HTTPS时,会向CA机构申请一个数字证书,证书中可以存放公钥、数据等信息,由此以来,服务端就可以通过证书来向客户端证明正确的公钥是哪一个,以此保证安全。
    而对于证书,还有一些自己的放篡改机制,防止第三方获取到使用
    在这里插入图片描述

    传输层协议

    传输层的主要功能是为了实现“端口到端口”的通信,以确保一条数据发送到主机上后,能够正确的传递到对应的端口上

    UDP协议

    UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法,但是UDP也有自己的缺陷,一旦进行通信,就不知道对方是否接收到数据了,很有可能会造成传输数据的丢包问题

    在这里插入图片描述
    特点:

    • 无连接:只需要知道目的ip和端口号就可以发送数据,无需建立连接
    • 不可靠:没有一系列机制来应对传输数据时的丢包问题
    • 面向数据报发送:应用层交给UDP什么样的报文,UDP就会发送什么样的,不会进行拆分,合并
    • UDP一次传输的数据大小有限,最大64k

    UDP的传输流程
    在这里插入图片描述
    UDP的适用范围:

    由于UDP不属于连接型协议,所以具有资源消耗小。处理速度优的特点,因此经常使用与视频、音频通话传输中,因为发送的数据较多,偶尔丢包一两个不会产生太大影响

    TCP

    因为上述讲到UDP的传输是不可靠的,经常会导致连接错误、数据丢包问题,针对这些问题规定了另一个传输层协议——TCP协议,TCP是一种面向连接、可靠的、基于字节流的传输层协议

    在这里插入图片描述

    TCP的特点:

    • 面向连接:在传输数据是,要先建立起客户端与服务端的连接,才能进行数据传输
    • 可靠的通信:TCP输出数据中,会基于内部的各种机制保证数据传输到目的端口
    • 基于字节流:TCP传输数据是基于字节传输的,易于对数据的拆分与合并发送
    • TCP的头部比UDP的开销要打,因为要存放更多的信息

    关于TCP内部各种机制,在这里不做过多的介绍,需要博友可以参考之前的一篇博客网络原理基础

    TCP与UDP的区别:

    • UDP是无连接的,TCP是有连接的
    • UDP是不可靠的,TCP是可靠的
    • UDP面向数据报,TCP面向字节流
    • UDP比TCP的传输消耗小,速度更快

    这里分享一张神图,以便于更加形象的理解TCP和UDP的区别
    在这里插入图片描述

    网络层

    网络层是基于数据链路层和传输层之间的第三层协议,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务

    网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。

    IP协议

    IP协议是TCP/IP网络模型中的核心部分,他提供了一种分层的、无关硬件的寻址方式,可以在复杂的路由式网络中传递数据所需的服务

    IP协议可以将多个交换网络连接起来,在源地址和目的地址之间传输数据包,同时它还能提供数据的组装功能,以适应不同网络对数据包大小的要求

    预研知识:

    IP地址:
    IP地址是互联网协议特有的一种地址,它是IP协议提供的一种统一的地址格式,IP地址为互联网的每个网络和每台主机分配了一个逻辑地址,以此来屏蔽物理地址的差异

    IP地址的格式:
    IP地址为32位地址,被分为4个部分,如XXX.XXX.XXX.XXX,IP地址又被划分为两个部分
    网络号:前三部分用于标识网段,保证相互连接的两个网段有不同标识
    主机号:由最后一部分组成,用于标识主机,保证处于同一网段的两台主机有不同的主机号
    通过合理设置主机号和网络号, 就可以保证在相互连接的网络中, 每台主机的IP地址都不相同4

    MAC地址:
    被称为物理地址,是用来标识网络中每个设备的,MAC地址是设备出厂之后就写死的

    引入IP地址的目的:
    在单个局域网网段中,计算机与计算机之间可以使用数据链路层提供的MAC地址进行通信
    如果在路由式网络中,计算机之间就不能用MAC地址实现通信,主要是因为在路由式网络中,数据只是经过一次简单的利用两个计算机之间的MAC地址建立通信,而是需要进行多次的通信,每次跳转都会体目的主机更近一步,经历都次跳转,最终找到目的主机实现通信,而这个过程中,要知道每次向哪跳转才能更接近目的主机,必须使用一种逻辑化、层次化的寻址方案对网络进行组织,这就是 IP 地址

    IP协议数据报格式这里是引用

    IP协议的工作方式:

    由于网络分为同网段和不同网段,所以会分成两种方式

    • 同网段:如果源地址主机和目的地址主机处于同一网段,则目的IP地址被 ARP协议 解析为MAC地址后,源主机会根据目的MAC地址直接将数据包发送给目的主机
    • 不同网段:
      如果源地址主机和目的地址主机不处于同一网段,则数据包会经历多个过程最终发送给目的主机
      1、网关(一般为路由器)的 IP地址 被 ARP协议 解析为 MAC地址,根据该 MAC地址 源主机会将数据包发送到网关
      2、网关根据数据包中的网段ID找到目标网络,如果找到,将数据包发送给目标网路,如果没有则重复第一步发送到更高一级网关
      3、数据包经过网关发送到正确的网段后,目标IP被 ARP协议 解析为MAC地址,在根据该 MAC地址 将数据包发送给目标地址的主机

    ICMP协议

    ICMP协议又叫控制报文协议,ICMP协议用于在IP 和 路由器之间传递控制消息,描述网络是否通畅、主机是否可达、路由器是否可用等网络状态,ICMP本身并不传输数据,但对于用户间数据的传递起着重要的作用

    作用:
    在数据包从源主机传输到目的主机的过程中,会经历一个或多个路由器,而数据包在经过这些路由器传输过程中,可能会遇到很多问题,最终导致数据包没有成功传递给目的主机。为了了解数据包在传输过程中在哪个环节出了问题,就需要用到ICMP协议,它可以跟踪数据包,并把消息返回给源主机。

    在这里插入图片描述

    数据链路层

    数据链路层是TCP/IP网络模型的第二层,基于物理层和网络层之间,数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层

    ARP协议

    ARP协议是数据进行网络传输过程中,通过IP地址向MAC地址的转换,解决网络层和物理层衔接问题

    引入ARP协议的目的:
    由于 IP 地址和 MAC 地址定位方式不同,ARP 协议成为数据传输的必备协议。主机发送信息前,必须通过 ARP 协议获取目标 IP 地址对应的 MAC 地址,才能正确地发送数据包。
    在这里插入图片描述
    ARP的工作流程:
    在这里插入图片描述
    在这里插入图片描述
    如图展示的是同一网段下的两台主机,ARP的工作流程

    • 主机A以广播的形式向该网段内的所有主机发送ARP请求,请求中包含了目的主机的IP地址
    • 主机B接收到请求,通过请求中的目的IP地址发现自己是主机A要找的,返回响应,响应包括主机B的 MAC地址

    ARP缓存:
    在请求目标主机的 MAC 地址时,每次获取目标主机 MAC 地址都需要发送一次 ARP 请求,然后根据响应获取到 MAC 地址。

    为了避免重复发送 ARP 请求,每台主机都有一个 ARP 高速缓存。当主机得到 ARP 响应后,将目标主机的 IP 地址和物理地址存入本机 ARP 缓存中,并保留一定时间。

    只要在这个时间范围内,下次请求 MAC 地址时,直接查询 ARP 缓存,而无须再发送 ARP 请求,从而节约了网络资源。

    物理层

    物理层,顾名思义就是用物理手段将两个要通信的电脑连接起来,主要用来传输0、1光电信号,因为这一层过于偏硬件,所以本文不做过多的赘述

    整体的网络传输流程

    经过以上对网络传输层中每一层理解下面我们来看看,当访问一个网页时,到底发生了什么?

    主机A:发送http://www.baidu.com网络数据报

    1. DNS解析:将域名转换成对应IP地址(本机DNS缓存栈开始找—>逐级向上查找,如果根域服务器找不到,表示公网上没有该域名主机)
    2. 找到IP后:通过目的IP找到对应的目的MAC地址
    3. 根据目的IP计算目的主机是否和主机A处于同一网段
    4. 如在同网段:接通过ARP协议解析出对应的目的MAC,跳转到底9步
    5. 如不在同一网段:发送数据报到网关,现在ARP缓存表查找,通过网关IP查找MAC地址,找不到发送查询MAC广播数据报,最终返回网关自己的MAC
    6. 交换机转发:在MAC地址转换表中找到对应MAC交换机接口
    7. 路由器接收:分用数据报
      在这里插入图片描述
    8. 途中的设备:与第7步同样操作如目的IP对应的MAC地址不是当前设备则继续重复该操作继续往更接近目的IP的路由发送
      在这里插入图片描述
    9. 找到目的主机B,主机B的服务器开始接受分用请求,解析,最终组织响应
      在这里插入图片描述
    10. 同上述操作一样,由主机B向主机A发送数据
    11. 最终主机A接受到数据报,经过分用,解析,最终得到响应
    展开全文
  • 网络协议 ——— IP协议

    万次阅读 多人点赞 2022-07-17 21:26:37
    IP协议全称为“网际互连协议(Internet Protocol)”,IP协议是TCP/IP体系中的网络协议。 双方在进行网络通信时,发送的数据并不是直接从一方的传输层直接发送到了另一方的传输层,而是需要传输层将数据继续向下...
  • Wireshark软件使用协议分析 ARP协议分析 使用 Wireshark 抓取局域网的数据包并进行分析: 1. 学习 Wireshark 基本操作:重点掌握捕获过滤器和显示过滤器。 2. 观察 MAC 地址:了解 MAC 地址的组成,辨识 MAC 地址...
  • 实验01 使用网络协议分析仪Wireshark

    千次阅读 2022-04-27 11:33:20
    2. 熟悉使用Wireshark工具分析网络协议基本方法,加深对协议格式、协议层次和协议交互过程的理解。 实验内容和要求 1. 安装和配置网络协议分析仪Wireshark(Wireshark · Go Deep.); 2. 使用并熟悉Wireshark...
  • SIP协议基本概述

    千次阅读 2022-03-11 09:45:14
    因为最近项目需要涉及到SIP协议,通过自己查阅网上的资料,感觉还是比较杂乱的,现在项目结束了,打算梳理记录一下,仅供个人学习使用,不涉及任何商业用途,也希望能帮助到刚接触SIP项目的新人。什么是SIP,这里讲...
  • 网络协议分层的作用是什么

    千次阅读 2021-06-28 02:08:07
    网络协议(Protocol)是一种特殊的软件,是计算机网络实现其功能的最基本机制。网络协议的本质是规则,即各种硬件和软件必须遵循的共同守则。网络协议并不是一套单独的软件,它融合于其他所有的软件...
  • 计算机网络实验——使用网络...熟悉使用Wireshark工具分析网络协议基本方法,加深对协议格式、协议层次和协议交互过程的理解。 三、实验内容和要求 安装和配置网络协议分析仪Wireshark(http://www.wireshark.org...
  • 网络通信协议中,TCP/IP(transmission contro1 protoco1/internet protoco1)是互联网使用的最基本协议互联网的广泛使用使TCP/IP成为网络协议标准。TCP/IP内部分为4层:链路层、网络层、传输层和应用层,如...
  • 中小型网络组建实验报告 实验名称使用软件 Wireshark 分析网络协议 班级通信 姓名 学号 一实验目的 1熟悉并掌握 wireshark 的基本使用 ; 2 了解网络协议实体间进行交互以及报文交换的情况 3具体分析 ICMP网络协议 ...
  • DNS用的是TCP协议还是UDP协议

    万次阅读 2022-06-27 04:14:27
    DNS用的是TCP协议还是UDP协议
  • 网络通讯协议——TCP/IP协议

    千次阅读 2020-09-01 15:32:05
    它是在网络使用中的最基本的通信协议。TCP/IP传输协议互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个...
  • 【计算机网络】HTTPS 协议详解

    千次阅读 多人点赞 2022-03-09 19:54:47
    前言: 之前详细介绍了 HTTP 协议,在 HTTP 协议的基础,本章详细介绍 HTTPS 协议的内容。如果对于 HTTP 协议有疑问的友友们,可以看看之前的文章《HTTP 协议详解》,希望能够给大家带来帮助! 文章目录1. HTTPS ...
  • 计算机网络协议——通信协议综述

    万次阅读 多人点赞 2019-09-03 23:20:58
    通信协议综述概述一、为什么学习网络协议1.1 常见的网络协议二、网络分层的真正含义2.1 为什么网络要分层?2.2 浏览点击请求过程2.3 揭秘层与层之间的关系三、ifconfig 命令行的由来3.1 ip地址3.2 无类型域间选路...
  • 所有网络协议(已知汇总)

    千次阅读 2022-04-01 16:56:43
    UDP (用户数据报协议:User Datagram Protocol) SCTP (流控制传输协议:Stream Control Transmission Protocol) 网络协议(第三层) IP (互联网协议:Internet Protocol) ICMP (互联网控制消息协议:Internet ...
  • 【计算机网络】HTTP协议详解

    万次阅读 多人点赞 2022-08-04 10:56:56
    HTTP协议是应用层最重点的协议,也是应用层应用最广泛的协议,同样也是面试非常重要的考点,本篇文章对HTTP协议进行剖析,分析了HTTP协议的格式,HTTP协议的工作过程,分别对请求和响应进行展开介绍,如认识URL,...
  • STP协议基本原理

    千次阅读 2018-12-17 17:04:18
    但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议STP。 运行STP协议的设备通过彼此交互...
  • 简单了解几种常见的网络通信协议

    千次阅读 2022-05-15 22:02:18
    它是在网络使用中的最基本的通信协议。TCP/IP传输协议互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。 2.TCP/IP协议的组成 TCP/IP...
  • HDLC协议(一)——基本概念

    万次阅读 多人点赞 2020-11-10 14:05:48
    主要参考百度百科。 1. 什么是HDLC 广域网简称WAN,是一种跨越超大的、地域性...HDLC就是一种面向比特的网络节点之间同步传输数据的数据链路层协议。 【注】:OSI是Open System Interconnect的缩写,意为开放式系统
  • 网络协议主要由三个基本要素组成,分别是语法、语义和时序。 语法:用于定义数据和控制信息的结构或格式。 语义:用于解释数据或控制信息的具体含义。 时序(同步):用于对事件实现顺序的详细说明。 二、计算机...
  • 但是PPP协议虽然提供了通信双方身份验证的功能,其协议中没有提供地址信息,而以太网是一个广播类型的多路访问网络,因而PPP协议是无法直接应用在以太网链路的。它通过在以太网提供点到点的连接,建立PPP
  • 网络通信协议(互联网协议)

    千次阅读 2019-08-19 15:00:13
    一、操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件...2.1 互联网的本质就是一系列的网络协议 一台硬设有了操作系统,然后装软件你就可以正常使用了,然而你也只能自己使用 像...
  • 1.计算机网络基本概念 1.1计算机网络定义 利用通信设备与通信链路或者通信网络,相连但位值不同的独立的计算及系统。但在能够进行信息交换且遵循一定的协议。 通俗来讲:计算机网络由若干结点和连接这些结点的链路...
  • 【计算机网络】HTTP 协议详解

    万次阅读 多人点赞 2022-03-06 16:55:26
    Fiddler 抓包工具介绍3.1 抓包工具的使用3.2 抓包结果3.3 抓包工具原理4. HTTP 协议格式总览5. HTTP 请求(Request)5.1 认识 URLURL 基本介绍URL 基本格式URL 参数介绍URLencode 介绍5.2 认识“方法”(method)...
  • 网络协议大纲

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 673,195
精华内容 269,278
热门标签
关键字:

互联网上使用的基本协议是