精华内容
下载资源
问答
  • 应用层常用协议解析

    2021-06-15 10:52:42
    目录应用层常用协议域名系统文件传送协议动态主机配置协议(DHCP)远程登录协议(TELNET)电子邮件协议SMTPPOP3IMAP各种协议常用端口总结 应用层常用协议 域名系统(DNS) 文件传送协议 动态主机配置协议 远程登录...

    应用层常用协议

    • 域名系统(DNS)
    • 文件传送协议
    • 动态主机配置协议
    • 远程登录协议
    • 电子邮件协议

    域名系统

    • DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务。这里的分布式数据库是指,每个站点只保留它自己的那部分数据。
    • 域名具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。
    • 详细链接:https://blog.csdn.net/nk298120/article/details/117663028

    图示:
    在这里插入图片描述

    • DNS 可以使用 UDP 或者 TCP 进行传输,使用的端口号都为 53。大多数情况下 DNS 使用 UDP 进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠性。
    • 在两种情况下会使用 TCP 进行传输:
      • 如果返回的响应超过的 512 字节(UDP 最大只支持 512 字节的数据)。
      • 区域传送(区域传送是主域名服务器向辅助域名服务器传送变化的那部分数据)。

    文件传送协议

    • FTP 使用 TCP 进行连接,它需要两个连接来传送一个文件:

      • 控制连接:服务器打开端口号 21 等待客户端的连接,客户端主动建立连接后,使用这个连接将客户端的命令传送给服务器,并传回服务器的应答。
      • 数据连接:用来传送一个文件数据。
    • 根据数据连接是否是服务器端主动建立,FTP 有主动和被动两种模式:

      • 主动模式:服务器端主动建立数据连接,其中服务器端的端口号为 20,客户端的端口号随机,但是必须大于 1024,因为 0~1023 是熟知端口号。
        图示:
        在这里插入图片描述
      • 被动模式:客户端主动建立数据连接,其中客户端的端口号由客户端自己指定,服务器端的端口号随机。
        图示:
        在这里插入图片描述
    • 主动模式要求客户端开放端口号给服务器端,需要去配置客户端的防火墙。被动模式只需要服务器端开放端口号即可,无需客户端配置防火墙。但是被动模式会导致服务器端的安全性减弱,因为开放了过多的端口号。

    动态主机配置协议(DHCP)

    • DHCP (Dynamic Host Configuration Protocol) 提供了即插即用的连网方式,用户不再需要手动配置 IP 地址等信息。
    • DHCP 配置的内容不仅是 IP 地址,还包括子网掩码、网关 IP 地址。
    • DHCP 工作过程如下:
    1. 客户端发送 Discover 报文,该报文的目的地址为 255.255.255.255:67,源地址为 0.0.0.0:68,被放入 UDP 中,该报文被广播到同一个子网的所有主机上。如果客户端和 DHCP 服务器不在同一个子网,就需要使用中继代理。
    2. DHCP 服务器收到 Discover 报文之后,发送 Offer 报文给客户端,该报文包含了客户端所需要的信息。因为客户端可能收到多个 DHCP 服务器提供的信息,因此客户端需要进行选择。
    3. 如果客户端选择了某个 DHCP 服务器提供的信息,那么就发送 Request 报文给该 DHCP 服务器。
    4. DHCP 服务器发送 Ack 报文,表示客户端此时可以使用提供给它的信息。

    图示:
    在这里插入图片描述

    远程登录协议(TELNET)

    • TELNET 用于登录到远程主机上,并且远程主机上的输出也会返回。
    • TELNET 可以适应许多计算机和操作系统的差异,例如不同操作系统系统的换行符定义。

    电子邮件协议

    • 一个电子邮件系统由三部分组成:用户代理、邮件服务器以及邮件协议
    • 邮件协议包含发送协议和读取协议,发送协议常用 SMTP,读取协议常用 POP3 和 IMAP

    电子邮件的最主要的组成构件:
    在这里插入图片描述

    SMTP

    • SMTP 只能发送 ASCII 码,而互联网邮件扩充 MIME 可以发送二进制文件。MIME 并没有改动或者取代 SMTP,而是增加邮件主体的结构,定义了非 ASCII 码的编码规则。

    图示:
    在这里插入图片描述

    POP3

    • POP3 的特点是只要用户从服务器上读取了邮件,就把该邮件删除。但最新版本的 POP3 可以不删除邮件。

    IMAP

    • IMAP 协议中客户端和服务器上的邮件保持同步,如果不手动删除邮件,那么服务器上的邮件也不会被删除。IMAP 这种做法可以让用户随时随地去访问服务器上的邮件。

    各种协议常用端口总结

    在这里插入图片描述

    展开全文
  • 常用应用层协议:超文本传输协议HTTP,域名系统DNS,FTP文件传输协议,SMTP电子邮件传输协议,POP3邮件读取协议,SNMP简单网络管理协议,Telnet远程中断协议应用层协议应规定下内容: 1、应用进程间交换的...

    简介

    应用层协议是用于精确定义不同主机件通信的规则,传输层提供端到端的数据逻辑传输,应用层则规定了具体的数据格式类型。
    常用的应用层协议:超文本传输协议HTTP,域名系统DNS,FTP文件传输协议,SMTP电子邮件传输协议,POP3邮件读取协议,SNMP简单网络管理协议,Telnet远程中断协议;
    应用层的协议应规定下内容:
    1、应用进程间交换的报文类型,如请求报文或响应报文;
    2、各种报文段类型的语法;
    3、字段的含义,即报文段中的内容;
    4、进程发送报文的规则以及响应报文规则;

    DNS:Doming Name System域名系统,方便的从域名中解析出IP地址;它的主要内容是规定了域名结构,为三级域名二级域名顶级域名每个域名用”.“隔开,如mail.cctv.com;常用的顶级域名分为NTLD,GTLD,事实上具体实现域名系统的是域名服务器:根域名服务器,顶级域名服务器,本地域名服务器,权限域名服务器。
    FTP文件传输协议,提供交互式的访问,允许客户指定文件类型与格式,允许文件读取,基于TCP;使用客户服务器的模式,一个FTP服务器可以为多个客户服务,主要由一个主进程和多个从属进程实现。
    SMTP:简单邮件传输协议,SMTP规定了在两个相互通信的SMTP进程应如何交换信息;
    POP3:邮件读取协议,常用于接受电子邮件;

    HTTP

    HTTP协议定义了浏览器如何向万维网请求万维网文档,以及服务器怎样把数据传输给浏览器。它是一个面向事务的应用层协议。
    万维网:一个大规模的联机式的信息储藏所。在各个万维网的站点存储着信息,通过站点间的访问实现信息的获取。工作流程,建立连接,请求响应,释放连接。
    上述连接均为TCP连接,而请求与响应的规则则由HTTP实现;
    HTTP使用TCP来保证数据的可靠,所以自身不用考虑传输过程问题;

    HTTP协议特点

    HTTP协议是无状态的,即两次相同的访问之间是独立的,没有状态记录,这种特性简化了服务器的设计,使服务器能轻易支持大量并发的HTTP请求。

    HTTP1.0 的缺点:每请求一个文档会有更多资源上的的消耗,因为需要先建立TCP连接,所以几乎两倍于RTT Round-Trip Time,。另外一点是每一次请求都要重新建立连接,这种短链接也会浪费很多资源。

    HTTP1.1的改进:使用了长连接(persisitent connetion),这种连接在发送响应后的一段时间里仍然保持连接,使后续的相同端发送不在需要建立连接。这种持续连接主要由两种工作方式:非流水线方式和流水线方式:
    在客户端收到前一个响应后才能发送下一个请求,或者客户收到HTTP响应报文前就可以发送的两种形式。

    HTTP的组成结构

    开始行:用于区分报文类型,在请求报文中是请求行;
    首部行:用来说明浏览器,服务器,或报文主体的一些信息;
    实体主体:
    请求报文特点:请求行中只有方法(POST/GET/…),URL,HTTP版本号;
    常见请求方法:OPTION 请求选项信息,如预检请求
    GET:请求URL标志的信息
    POST:携带数据形式的请求
    HEAD:请求读取URL标志信息的首部

    响应报文特点:状态行:版本、状态码、状态码简介
    5类状态码:
    1xx:通知信息,如正在请求处理中
    2xx:成功,已接受
    3xx:重定向,还需再进行进一步的行动
    4xx:客户请求出错,如404找不到页面400请求错误
    5xx:服务器出错,

    HTTPS

    Https:Https是http加上SSL外壳。通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,
    利用SSL/TLS建立安全信道,加密数据包。HTTPS使用的主要目的是提供身份认证,数据交换的隐私和完整性;
    1、首先在内容上:采用混合加密技术;
    2、验证身份:通过证书认证客户端访问的服务器签名;
    3、保证数据的完整性:防止传输的内容被中间人篡改;

    数据加密过程:
    1、发送方的数据使用对称加密生成密钥对对传输的数据进行加密,
    2、然后使用非对称加密的公钥对于上述密钥在进行加密,这个公钥是数字证书中的。
    3、发送方数据的hash单项加密后得到数字摘要,再用私钥加密,得到加密后的数字签名;
    4、最后一共由发送方发出了三类文件:加密文件,加密数字签名,加密后的秘密密钥;
    解密过程:
    1、接受方通过发送方的公钥对于数字签名进行解密得到数字摘要1;
    2、接收方通过非对称的私钥解密堆成加密的密钥;
    3、通过上面解密的私钥对于原文进行解密得到原文;
    4、使用单项hash加密对于原文进行加密得到数字摘要2;
    5、比对数字摘要1和2的到文档内容是否相同;

    数字摘要:通过单项加密的算法对原文进行加密,
    将需要加密的明文摘要程一串密钥,不同明文摘要的密文结果不同,同种加密一定一致。
    数字签名技术:数字签名建立在公钥加密体制的基础上,是公钥加密技术的一类应用,
    即公钥加密加数字摘要结合起来的。
    公钥在数字证书中,由CA机构颁发,证书中包含有一对公司钥和所有者识别信息,
    数字证书保存再服务端,具有身份验证和数据加密传输的功能。

    http与https的区别:
    数据上:http明文传输信息;https则是加密传输。
    连接上:http连接是无状态的,即数据包的发送传输接受都是相互独立的,不会记录每次连接信息。https是http+ssl协议构建的加密传输、身份认证协议;且需要CA证书;

    https因为保证了安全也相对留下一些问题:
    HTTPS的问题:
    SSL证书需要购买申请,功能越强大的证书费用越高
    SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,
    HTTPS连接缓存不如HTTP高效,流量成本高。
    HTTPS连接服务器端资源占用高很多,支持访客多的网站需要投入更大的成本。
    HTTPS协议握手阶段比较费时,对网站的响应速度有影响,影响用户体验。
    比较好的方式是采用分而治之,类似12306网站的主页使用HTTP协议,
    有关于用户信息等方面使用HTTPS。

    HTTP2.0

    相对于1.1主要做了以下改动:
    http1.0和http2.0的区别:
    新的二进制格式(Binary Format),HTTP1.x的解析是基于文本。基于文本协议的格式解析存在天然缺陷
    ,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认0和1的组合。
    基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。

    多路复用(MultiPlexing),即连接共享,即每一个request都是是用作连接共享机制的。
    一个request对应一个id,这样一个连接上可以有多个request,每个连接的request可以随机的混杂在一起,
    接收方可以根据request的 id将request再归属到各自不同的服务端请求里面。
    header压缩,对前面提到过HTTP1.x的header带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,
    既避免了重复header的传输,又减小了需要传输的大小。
    服务端推送(server push),同SPDY一样,HTTP2.0也具有server push功能。
    基于TCP协议和TLS协议的HTTP2.0在真正发送数据包之前需要花费一些时间来完成握手和加密协商,完成之后才可以真正传输业务数据。

    HTTP 3.0

    HTTP2.0的问题:尽管再应用层上做了很多改进,但是由于TCP的问题,为了提高效率,HTTP3.0舍弃了TCP。具体原因:
    建立连接时间长:批评3次握手。。。。。
    队头阻塞:HTTP2使用的单TCP连接复用,在同一个连接上可能有多个并行传输,但是由于TCP的可靠传输和有序传输,如果说有数据包丢包了,会导致后续的其他包都受影响。比如,有多个报文端,如果中途有一个分组没能到达接收端,那么后续分组必须保存在接收端的TCP缓冲区上,等待丢失分组重发并到达接收端。

    http3.0采用了 QUIC协议;
    QUIC其实是Quick UDP Internet Connections的缩写,快速UDP互联网连接。基于UDP主体将TCP的重要功能转移到用户空间来实现,从而绕开内核实现用户态的TCP协议,但是真正实现起来还是非常复杂的。
    HTTP2.0协议的多路复用机制解决了应用层的队头阻塞问题,但是在传输层仍然存在队头阻塞问题。
    QUIC协议是基于UDP协议实现的,在一条链接上可以有多个流,流与流之间是互不影响的,当一个流出现丢包影响范围非常小,从而解决队头阻塞问题。

    使用QUIC协议的客户端和服务端要使用1RTT进行密钥交换,使用的交换算法是DH(Diffie-Hellman)迪菲-赫尔曼算法。

    首次连接:
    算法流程:
    1、客户端对于首次连接的服务端先发送client hello请求。
    2、服务端生成一个素数p和一个整数g,同时生成一个随机数 (笔误-此处应该是Ks_pri)为私钥,然后计算出公钥 = mod p,服务端将,p,g三个元素打包称为config,后续发送给客户端。
    3、客户端随机生成一个自己的私钥,再从config中读取g和p,计算客户端公钥 = mod p。
    4、客户端使用自己的私钥和服务端发来的config中读取的服务端公钥,生成后续数据加密用的密钥K = mod p。
    5、客户端使用密钥K加密业务数据,并追加自己的公钥,都传递给服务端。
    6、服务端根据自己的私钥和客户端公钥生成客户端加密用的密钥K = mod p。
    7、为了保证数据安全,上述生成的密钥K只会生成使用1次,后续服务端会按照相同的规则生成一套全新的公钥和私钥,并使用这组公私钥生成新的密钥M。
    8、服务端将新公钥和新密钥M加密的数据发给客户端,客户端根据新的服务端公钥和自己原来的私钥计算出本次的密钥M,进行解密。
    9、之后的客户端和服务端数据交互都使用密钥M来完成,密钥K只使用1次。

    非首次连接
    前面提到客户端和服务端首次连接时服务端传递了config包,里面包含了服务端公钥和两个随机数,客户端会将config存储下来,后续再连接时可以直接使用,从而跳过这个1RTT,实现0RTT的业务数据交互。
    参考: https://baijiahao.baidu.com/s?id=1677802258258817086&wfr=spider&for=pc

    展开全文
  • 网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。为了能进行...

    网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。

    为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。当然,对于不相容终端,除了需变换字符集字符外还需转换其他特性,如显示格式、行长、行数、屏幕滚动方式等也需作相应的变换。

    应用层网络协议(DHCP)是一种使网络治理员能够中心治理和自动分配IP网络地址的通信协议。IP网络中,每件连接Internet的设备都需要分配唯一的IP地址。

    50e92a00aa33e6a69c870afac49b9e09.png

    应用层网络协议

    (1)域名系统(Domain Name System,DNS):用于实现网络设备名字到IP地址映射的网络服务。

    (2)文件传输协议(File Transfer Protocol,FTP):用于实现交互式文件传输功能。

    (3)简单邮件传送协议(Simple Mail Transfer Protocol, SMTP):用于实现电子邮箱传送功能

    (4)超文本传输协议(HyperText Transfer Protocol,HTTP):用于实现WWW服务。

    (5)简单网络管理协议(simple Network Management Protocol,SNMP):用于管理与监视网络设备。

    (6)远程登录协议(Telnet):用于实现远程登录功能。

    网络上的计算机之间又是如何交换信息的呢?就像我们说话用某种语言一样,在网络上的各台计算机之间也有一种语言,这就是网络协议,[3] 不同的计算机之间必须使用相同的网络协议才能进行通信。

    网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式和这些格式的意义。大多数网络都采用分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。

    一台设备上的第 n层与另一台设备上的第n层进行通信的规则就是第n层协议。在网络的各层中存在着许多协议,接收方和发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息。网络协议使网络上各种设备能够相互交换信息。常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。

    当然了,网络协议也有很多种,具体选择哪一种协议则要看情况而定。Internet上的计算机使用的是TCP/IP协议。

    ARPANET成功的主要原因是因为它使用了TCP/IP标准网络协议,TCP/IP(Transmission Control Protocol/Internet Protocol)----传输控制协议/互联网协议是Internet采用的一种标准网络协议。它是由ARPA于1977年到1979年推出的一种网络体系结构和协议规范。随着Internet网的发展,TCP/IP也得到进一步的研究开发和推广应用,成为Internet网上的“通用语言”。

    动态主机配置协议

    (DHCP)是一种使网络治理员能够中心治理和自动分配IP网络地址的通信协议。IP网络中,每件连接Internet的设备都需要分配唯一的IP地址。当计算机接入到网络的不同位置时,DHCP使网络治理员能从中心监控和分配计算机的IP地址并自动发送其新的IP地址。

    DHCP使IP地址可以租用。租用时间是不定的,主要取决于用户在某地联接Internet需要多久,这对于教育和其它用户频繁改变的环境是很实用的。通过租期,DHCP能够自动地重新配置网络,这样,网络可支持的计算机可以比IP地址要多。DHCP支持计算机的静态地址,其中包括永久性IP地址的Web服务器。

    d6d139e901f499153625fb96d651efe5.png

    DHCP是对网络IP治理协议BOOTP的扩展。目前两种配置治理协议都得到了普遍使用,其中DHCP更为先进。一般的操作系统包括WindowsNT/2000,都装有DHCP服务器。每个DHCP或BOOTP客户机是一个程序装在每台计算机中,用作此机的IP配置操作。

    展开全文
  • TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UDP协议与TCP/IP...TCP/IP协议集包括应用层,传输层,网络层,网络访问层。 其中应用层包括: 1、超文本传输协议(HTTP):万维网的基本协议; 2、文件传输(TFTP简单文

    TCP协议与UDP协议的区别
    首先咱们弄清楚,TCP协议和UDP协议与TCP/IP协议的联系,很多人犯糊涂了,
    一直都是说TCP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!
    TCP/IP协议是一个协议簇。里面包括很多协议的,UDP只是其中的一个, 之所以命名为TCP/IP协议,因为TCP、IP协议是两个很重要的协议,就用他两命名了。

    TCP/IP协议集包括应用层,传输层,网络层,网络访问层。

    其中应用层包括:
    1、超文本传输协议(HTTP):万维网的基本协议;
    2、文件传输(TFTP简单文件传输协议);
    3、远程登录(Telnet),提供远程访问其它主机功能, 它允许用户登录internet主机,并在这台主机上执行命令;
    4、网络管理(SNMP简单网络管理协议),该协议提供了监控网络设备的方法, 以及配置管理,统计信息收集,性能管理及安全管理等;
    5、域名系统(DNS),该系统用于在internet中将域名及其公共广播的网络节点转换成IP地址。

    其次网络层包括:
    1、Internet协议(IP);
    2、Internet控制信息协议(ICMP);
    3、地址解析协议(ARP);
    4、反向地址解析协议(RARP)。

    最后说网络访问层:
    网络访问层又称作主机到网络层(host-to-network),网络访问层的功能包括IP地址与物理地址硬件的映射, 以及将IP封装成帧.基于不同硬件类型的网络接口,网络访问层定义了和物理介质的连接. 当然我这里说得不够完善,TCP/IP协议本来就是一门学问,每一个分支都是一个很复杂的流程, 但我相信每位学习软件开发的同学都有必要去仔细了解一番。

    下面着重讲解一下TCP协议和UDP协议的区别
    TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。 一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂, 只简单的描述下这三次对话的简单过程:

    1)主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;

    2)主机B向主机A发送同意连接和要求同步 (同步就是两台主机一个在发送,一个在接收,协调工作)的数据包 :“可以,你什么时候发?”,这是第二次对话;

    3)主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”, 这是第三次对话。

    三次“对话”的目的是使数据包的发送和接收同步, 经过三次“对话”之后,主机A才向主机B正式发送数据。

    TCP三次握手过程
    第一次握手:主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B,向主机B 请求建立连接,通过这个数据段, 主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。

    第二次握手:主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:我已经收到你的请求了,你可以传输数据了;你要用那个序列号作为起始数据段来回应我

    第三次握手:主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:"我已收到回复,我现在要开始传输实际数据了,这样3次握手就完成了,主机A和主机B 就可以传输数据了。

    3次握手的特点
    没有应用层的数据 ,SYN这个标志位只有在TCP建立连接时才会被置1 ,握手完成后SYN标志位被置0。

    TCP建立连接要进行3次握手,而断开连接要进行4次
    第一次: 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求 ;

    第二次: 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1;

    第三次: 由B 端再提出反方向的关闭请求,将FIN置1 ;

    第四次: 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.。

    由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式, 大大提高了数据通信的可靠性,使发送数据端和接收端在数据正式传输前就有了交互, 为数据正式传输打下了可靠的基础。

    名词解释
    1、ACK 是TCP报头的控制位之一,对数据进行确认。确认由目的端发出, 用它来告诉发送端这个序列号之前的数据段都收到了。 比如确认号为X,则表示前X-1个数据段都收到了,只有当ACK=1时,确认号才有效,当ACK=0时,确认号无效,这时会要求重传数据,保证数据的完整性。

    2、SYN 同步序列号,TCP建立连接时将这个位置1。

    3、FIN 发送端完成发送任务位,当TCP完成数据传输需要断开时,,提出断开连接的一方将这位置1。

    TCP的包头结构:
    源端口 16位;

    目标端口 16位;

    序列号 32位;

    回应序号 32位;

    TCP头长度 4位;

    reserved 6位;

    控制代码 6位;

    窗口大小 16位;

    偏移量 16位;

    校验和 16位;

    选项 32位(可选);

    这样我们得出了TCP包头的最小长度,为20字节。

    UDP(User Data Protocol,用户数据报协议)
    1、UDP是一个非连接的协议,传输数据之前源端和终端不建立连接, 当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。 在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、 计算机的能力和传输带宽的限制; 在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

    2、 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等, 因此一台服务机可同时向多个客户机传输相同的消息。

    3、UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

    4、吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、 源端和终端主机性能的限制。

    5、UDP使用尽最大努力交付,即不保证可靠交付, 因此主机不需要维持复杂的链接状态表(这里面有许多参数)。

    6、UDP是面向报文的。发送方的UDP对应用程序交下来的报文, 在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界, 因此,应用程序需要选择合适的报文大小。

    我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常, 其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包, 如果数据包是否到达的消息及时反馈回来,那么网络就是通的。

    ping命令是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。ping命令是使用 IP 和网络控制信息协议 (ICMP),因而没有涉及到任何传输协议(UDP/TCP) 和应用程序。它发送icmp回送请求消息给目的主机。

    ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。如果源主机在一定时间内收到应答,则认为主机可达。

    UDP的包头结构:
    源端口 16位

    目的端口 16位

    长度 16位

    校验和 16位

    小结TCP与UDP的区别:
    1、基于连接与无连接;

    2、对系统资源的要求(TCP较多,UDP少);

    3、UDP程序结构较简单;

    4、流模式与数据报模式 ;

    5、TCP保证数据正确性,UDP可能丢包;

    6、TCP保证数据顺序,UDP不保证。

    展开全文
  • 应用层协议

    2021-07-31 10:06:22
    中文名应用层协议外文名application layer protocol目的网络进程间相互通信类型请求报文和响应报文应用层协议工作原理语音应用层协议(application layer protocol)定义了运行在不同端系统上的应用程序进程如何相互...
  • 文档介绍:常用应用层协议实验报告篇一:实验三:常用应用层协议实验项目三:常用应用层协议(1) 了解常用应用层协议(DNS、FTP、、SMTP、POP、HTTP等)的基本原理、工作过程等;(2) 熟悉FTP、、OUTLOOK使用方法;(3) 认真...
  • 应用层协议 运输层协议 端口号 HTTP TCP 80 SMTP TCP 25 POP3 TCP 110 FTP TCP 21,20 TELNET TCP 23 DNS UDP 53 DHCP UDP 67,68
  • Internet协议族(Internet...数据链路层协议ARP协议(Address Resolution Protocol),地址解析协议,该协议在特定电缆网段上将数字IP网络地址转换为媒体访问控制地址,即MAC地址。RARP协议(Reverse Address Resolution...
  • 我们个人的电脑通常可以通过查看我们系统上的“网络和Internet” → “网络和共享中心” → “查看网络信息并设置连接” → “网络连接” → “属性” → “Internet协议版本4” → “属性”就可以看到我们的DNS...
  • ****大学实验报告 课程名称:计算机网络 开课实验室:6313 专业班级 计科F15xx 学号 ************* 姓名 实验项目名称 实验五:应用层协议的综合实现 实验日期 2017.12.28 成绩评定 实验内容(30) 实验结果(20) ...
  • 应用层的典型协议:自定制协议;知名协议—HTTP协议 自定制协议 自定制协议:其实就是程序员自己定制的协议,程序员自己规定一种数据格式,按照这种数据格式进行网络通信,定制的同时要考虑数据的传输性能以及解析...
  • 今天我们来详细解析一下当今应用层常用协议 — http协议 从各种格式出发详细介绍,感兴趣的小伙伴千万不要错过~ 文章目录http协议介绍URLurl的组成结构及解析http协议实现http协议格式1. 首行请求首行响应首行2...
  • 应用层负责程序之间的数据沟通,其中协议大概分为两类,自定制协议和知名协议。自定制协议就是程序员自己定义的协议,用来对应用程序发送的数据进行整理或者加密,对端只有了解这种协议才能对数据进行解析。   在...
  • 我们在上文中给大家简单介绍了计算机网络传输层的常用协议类型等内容,而今天我们就再来了解一下计算机网络应用层的常见应用协议类型。应用层位于操作系统用户态运行,而我们前面讲到的那层是运行在操作系统内核态的...
  • 同时属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。HTTP客户端通过URL向HTTP服务端发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP底层协议:TCP ...
  • 常用协议和端口号: 常用服务 协议 端口号 POP3 TCP 110 IMAP TCP 143 SMTP(简单邮件传输协议) TCP 25 Telnet(远程登陆) TCP 23 终端服务 TCP 3389 PPTP ...
  • 计网实验 应用层协议消息的捕获和解析 一、实验内容和实验步骤描述 1.实验类别 协议分析验证型。 2.实验任务 应用层协议消息的捕获和解析。 3.实验内容 本次实验主要包含下列内容: (1)使用 Wireshark 软件捕获 ...
  • 应用层协议原理 网络应用程序体系结构 规定如何在各种端系统上组织应用程序,由研发者设计 客户机/服务器 服务器:对外提供服务的一系列硬件和软件 客户机:使用服务器提供的服务 服务器 7*24小时提供服务 永久...
  • 【单选题】我们在浏览网页时,所用到的应用层协议是()协议。A. HTTP协议 B. IP协议 C. TCP协议 D. HTML协议更多相关问题(),始建于北魏,为我国现存最古老的砖砌佛塔。A.六和塔B.北京妙应寺白塔C.应县木塔D.嵩岳寺塔...
  • TCP/IP协议架构介绍(四):应用层 目录系列文章目录FTPFTP传输模式TFTPSSHTelnet实现NVT 的组成RDPHTTPHTTP请求报文方法常见状态码工作原理HTTP报文chrome开发者工具分析网络请求DNS域名DNS协议DNS报文...
  • 网络层协议应用及传输TCP/UDP协议 目录 一.IP数据包格式 二.ICMP协议 三.ARP协议及ARP工作原理 四.TCP协议常用端口号 五.UDP协议常用端口号 一.IP数据包格式 网络:网络负责定义数据流通所经过的路径,...
  • OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。 二、五层体系结构 五层体系...
  • 网络应用的实例:互联网流行的应用层协议 HTTP FTP SMTP / POP3 / IMAP DNS 编程:网络应用程序 Socket API 一些网络应用的例子: E-mail、Web、文本消息、远程登录、P2P文件共享、即时通信、多用户网络游戏、流...
  • 第 6 章 应用层

    2020-12-30 21:32:40
    应用层协议定义的内容: 应用进程交换的报文类型,请求还是响应? 各种报文类型的语法,如报文中的各个字段及其详细描述。 字段的语义,即包含在字段中的信息的含义。 进程何时、如何发送报文,以及对报文进行响应...
  • 1. 应用层概述1.1 课后练习2. 客户/服务器方式(C/S方式)和对等方式(P2P方式)2.2 课后练习3. 动态主机配置协议DHCP3.1 总结3.2 课后练习 1. 应用层概述   ■ 应用层是计算机网络体系结构的最顶层,是设计和建立...
  • 本文是计算机网络中最顶层——应用层的知识讲解,主要是万维网的相关知识和HTTP、SMTP等协议的讲解。
  • 会话的功能会话的主要功能是在两个节点间建立、维护和释放面向用户的连接,并对会话进行管理和控制,保证会话数据可靠传送。在会话和传输我们都提到了连接,那么会话连接和传输连接到底有什么区别呢?假设你...
  • 功能:提供各种各样的应用层协议,为用户与网络之间提供一个打交道的接口。 常见协议:DNS,HTTP,HTTPS,FTP 协议介绍: DNS(域名解析协议):将域名解析为IP地址 HTTP(超文本传输协议):规定web服务端和客户端的数据传输格式...
  • “我是哟哟吼说科技,专注于数据网络的回答,欢迎大家与我交流数据网络的问题”HTTP(HyperText Transfer ...如题,通信网络中应用层的HTTP协议基于什么协议实现的?怎样简单的理解?HTTP协议是基于TCP协议来实现的,...
  • 应用层的基本概念

    2021-03-25 23:38:23
    每个应用层协议都是为了解决某一类应用问题,而这种问题的解决又必须通过位于不同主机中的多个应用进程之间的通信和协同工作完成。应用进程之间的这种通信情况必须严格遵守这些规则。 所以应用层的具体内容就是精确...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 218,194
精华内容 87,277
关键字:

应用层常用协议