精华内容
下载资源
问答
  • dog-tunnel: GO开发的网络隧道,使用 KCP极大的改进传输速度,并移植一份 GO版本 KCP v2ray: 著名代理软件,Shadowsocks 代替者,1.17后集成 kcp协议,使用UDP传输,数据包特征。 HP-Socket: 高性能网络...
  • 计算机网络

    2019-05-09 16:24:45
    提供了应用进程间端到端的连接,网络包从客户端到服务器后通过传输层作用来识别自己属于哪个进程,另外传输层协议能提供应用多路复用、分用功能、可靠数据传送、带宽保证,因为网络层提供是尽力而为的服务,...

    1.传输层的作用

    提供了应用进程间的端到端的连接,网络包从客户端到服务器后通过传输层的作用来识别自己属于哪个进程,另外传输层协议能提供应用的多路复用、分用功能、可靠数据传送、带宽保证,因为网络层提供的是尽力而为的服务,它不保证数据的有序性和非重复性,是不可靠的无连接服务。所以需要传输层来进行数据包的丢失、损坏、乱序等检测。

    多路复用:指多个应用进程都可以使用同一个传输层协议传送数据.

    分用:接收端将传输层报文段交付到正确的套接字的工作

    可靠数据传送:从握手和松手连接来保证连接的建立和释放的可靠,然后在连接当中通过超时重传和确认机制来具体保证数据的可靠性,通过拥塞控制和流量控制来保证数据传输过程的稳定性

    (1)超时重传:客户端在一定时间内没有收到来自服务端的确认报文就认为刚才发送的数据分组丢失了,因此要重传,所以要注意客户端在发送完分组后,必须暂时保留已发送分组的副本,在收到确认后才能清楚。  分组和确认分组必须编号来明确哪个发出去的分组收到了确认. 超时计时器的设置应当比数据在分组传输的往返时间更长一些,如果重传s时间设置的很长就会降低通信效率,很短的话会产生不必要的重传.

    公式 : 新的RTT = (1 - a) * 旧的RTT + a * 新的RTT   ( RTT : 往返时间)

     

    (2)停止等待协议:停止等待就是每发送完一个分组后就停止发送,等待对方确认,在收到确认后再发送下一个分组.信道利用率极低.

    (3)连续ARQ协议:将位于发送窗口内的分组连续发送出去,而不需要每次发送都等待对方的确认。在收到分组确认后发送窗口前移一个分组位置。实际上接收方一般都是采取累计确认的方式,不必对分组进行逐个确认,在收到数个分组后,只对按序到达的最后一个分组发送确认。表明到这个分组为止的所有分组都已经收到了。 会产生Go-back-N情况,就是如果发送了5个分组,如果中间第3个分组丢失了,那么接收方只能确认前两个分组。

    (首先,什么是信道利用率呢?也就是信道的效率,假设在一个发送周期为1s,但实际传输数据的时间只用了0.5s,那么效率就是50%。)

    2.传输层和网络层的区别:

    网络层负责ip数据报的产生以及ip数据报在逻辑网络上的路由转发,而传输层提供端到端的进程通信服务,提供可靠和非可靠的连接

    网络层主要任务是通过路由选择算法为报文或分组通过通信子网选择最适当的路径。

    路由选择算法

    (1).距离矢量路由算法:每个路由器维护一个距离矢量表,然后通过相邻路由器之间的距离矢量通告进行距离矢量表的更新,

    每个距离矢量表项包括两部分:到达目的结点的最佳输出线路,和到达目的结点所需时间或距离,还有下一跳路由器的地址,通信子网中的其它每个路由器在表中占据一个表项,并作为该表项的索引。每隔一段时间,路由器会向所有邻居结点发送它到每个目的结点的距离表,同时它也接收每个邻居结点发来的距离表。这样以此类推,经过一段时间后便可将网络中各路由器所获得的距离矢量信息在各路由器上统一起来,这样各路由器只需要查看这个距离矢量表就可以为不同来源分组找到一条最佳的路由。

    特点:注意 是只和相邻路由器交换信息,交换的是路由表的所有信息,且按 固定时间交换。 

    RIP实现简单、开销小,但是限制了网络规模,最大距离为15跳,且路由器之间交换的是完整路由表的信息,导致坏消息传的慢,对于规模大的网络应该使用OSPF协议

    (2).开放最短路径优先OSPF协议:最主要的特征是使用分布式的链路状态协议,  它会向所有路由器发送信息,使用洪泛法,

    发送的信息是与本路由器相邻的所有路由器的链路状态(链路状态就是说明本路由器与哪些路由器相邻、以及该链路的度量) 度量表示费用、距离、时延、带宽等等。只有链路状态发生变化时路由器才用洪范法发送信息。

    3.TCP协议和UDP协议的特点、区别

    TCP

    (1)TCP是面向连接的运输层协议;

    (2)每一条TCP连接只能有两个端点(即两个套接字),只能是点对点的;

    (3)TCP提供可靠的传输服务。传送的数据无差错、不丢失、不重复、按序到达;

    (4)TCP提供全双工通信。允许通信双方的应用进程在任何时候都可以发送数据,因为两端都设有发送缓存和接受缓存;

    (5)面向字节流。虽然应用程序与TCP交互是一次一个大小不等的数据块,但TCP把这些数据看成一连串无结构的字节流,它不保证接收方收到的数据块和发送方发送的数据块具有对应大小关系,例如,发送方应用程序交给发送方的TCP10个数据块,但就受访的TCP可能只用了4个数据块久保收到的字节流交付给上层的应用程序(粘包拆包问题)但字节流完全一样。

    UDP

    (1)UDP是无连接的传输层协议;

    (2)UDP使用尽最大努力交付,不保证可靠交付;

    (3)UDP是面向报文的,对应用层交下来的报文,不合并,不拆分,保留原报文的边界;

    (4)UDP没有拥塞控制,因此即使网络出现拥塞也不会降低发送速率;

    (5)UDP支持一对一 一对多 多对多的交互通信;

    (6)UDP的首部开销小,只有8字节.

    (小贴:我们的一条带宽同时只能发送一个以太网帧。如果同时发送多个,那么对端就无法重组成一个以太网帧了, 对MTU最大传输单元的理解,  MTU大了会导致一次帧的发送延迟太高, 太小的话由于一些固定报文结构的原因会导致发送效率太低,)

    补充: 
    TCP字节流和UDP数据报区别 
    两者的区别在于TCP接收的是一堆数据,而每次取多少由主机决定;而UDP发的是数据报,客户发送多少就接收多少。

    拥有这些区别的原因是由于TCP和UDP的特性不同而决定的。TCP是面向连接的,也就是说,在连接持续的过程中,socket中收到的数据都是由同一台主机发出的,因此,知道保证数据是有序的到达就行了,至于每次读取多少数据自己看着办。 而UDP是无连接的协议,也就是说,只要知道接收端的IP和端口,且网络是可达的,任何主机都可以向接收端发送数据。这时候,如果一次能读取超过一个报文的数据,则会乱套。比如,主机A向发送了报文P1,主机B发送了报文P2,如果能够读取超过一个报文的数据,那么就会将P1和P2的数据合并在了一起,这样的数据是没有意义的。

    HTTP

    HTTP 是一种无状态协议 . 无状态是指客户端和服务端之间不需要建立持久的连接 , 客户端发起一个请求 , 服务器端返回响应 , 这个连接就会被关闭 , 在服务器端不会保留该请求的有关信息 .

    HTTP工作流程:

    1.地址解析

    Http协议通过标准的URL来请求指定的服务器中的指定服务的

    http://www.baidu.com:80/index.html?name=tom&age=18

    http 代表协议类型,指明发送的是什么协议

    www.baidu.com代表主机名(域名),通过主机名来定位到是哪台服务器

    80:端口号.

    index.html:请求的文件名.

    2.封装HTTP请求

    把URL以及本机信息封装成一个HTTP请求数据包

    3.封装TCP包

    封装TCP包,建立TCP连接。

    4.客户端发送请求命令

    连接建立之后,客户端发送HTTP请求到服务端与请求相关的信息都会包含在请求头和请求体重发送给服务器端。

    5.服务端响应

    对客户端做出的请求进行响应。返回响应信息

    6.关闭连接

    服务器端在发送完响应之后 , 就会关闭连接 , 如果过客户端的请求的头部信息中有 Connection-alive , 那么客户端在响应完这个请求之后不会关闭连接 , 知道客户端的所有请求都响应完毕 , 才会关闭连接 , 这样大大节省了带宽和 IO 资源。

    HTTP的请求由3部分组成(请求头、请求行、请求正文)

    https://blog.csdn.net/heyue_99/article/details/74689057 参考

    HTTP8种请求:

    GET: 请求指定的页面信息,并返回实体主体

    HEAD: 类似于Get请求,但是返回的响应当中没有具体的内容,用于获取报文头部。

    POST:向指定资源提交数据进行处理请求(提交表单、上传文件).

    PUT:从客户端向服务器传送的数据指代指定的文档的内容   (PUT是幂等的, POST是非幂等性的).

    DELETE:请求服务器删除指定的页面信息

    CONNECT:就是把服务器作为跳板,让服务器代替用户去访问其它网页,之后把数据原原本本的返回给用户。这样用户就可以访问到一些只有服务器上才能访问到的网站了,这就是HTTP代理。

    OPTIONS:获取服务器支持的HTTP请求方法;也是黑客经常使用的方法(在响应报文中包含一个Allow首部字段,该字段的值表明了服务器支持的所有HTTP方法)。允许客户端查看服务器的性能(AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全)。

    TRACE:回显服务器收到的请求,主要用于测试或诊断.

     

     

     

    超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

    一、HTTP和HTTPS的基本概念

      HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

      HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。(SSL:是为网络通信提供安全及数据完整性的一种安全协议,一个有效、可信的 SSL 数字证书包括一个公共密钥和一个私用密钥。公共密钥用于加密信息,私用密钥用于解译加密的信息。)

      HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

    二、HTTP与HTTPS有什么区别?

      HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

      HTTPS和HTTP的区别主要如下:

      1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

      2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

      3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

      4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

    客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

      (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

      (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

      (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

      (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

      (5)Web服务器利用自己的私钥解密出会话密钥。

      (6)Web服务器利用会话密钥加密与客户端之间的通信。

    四、HTTPS的优点

      尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行架构下最安全的解决方案,主要有以下几个好处:

      (1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

      (2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

      (3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

      (4)谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。

    五、HTTPS的缺点

      虽然说HTTPS有很大的优势,但其相对来说,还是存在不足之处的:

      (1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;

      (2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;

      (3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。

        (4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。

      (5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。

    展开全文
  •  B、提供无连接服务  C、提供端到端服务  D、提供全双工服务  Key: A 16、无线居域网需要实现移动结点哪几层功能?  1.物理层 2.数据链路层 3.网络层  A、1和2 B、1、2和3 C、1和3 D、2和3  Key: 未...
  • 深入理解UDP编程

    2021-01-27 12:00:04
    IP提供了一种尽力而为、无连接的数据报交付服务。IP基于IP地址实现路由和分组转发,可以将一个IP数据报从网络的一台主机传送到另一台主机,IP地址决定IP数据报将被送往哪个主机。所以,IP提供主机到主机的数据报传输...
  •  继承是一种联结类层次模型,并且允许和鼓励类重用,它提供了一种明确表述共性方法。对象一个新类可以从现有类中派生,这个过程称为类继承。新类继承了原始类特性,新类称为原始类派生类(子类),而...
  • 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
  • ET框架不但支持TCP,而且支持可靠的UDP协议(ENET跟KCP),ENet是英雄联盟所使用的网络库,其特点是快速,并且网络丢包的情况下性能也非常好,这个我们做过测试TCP在丢包5%的情况下,moba游戏就卡的不行,但是使用...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
  • java源码包2

    千次下载 热门讨论 2013-04-20 11:28:17
     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
  • java源码包3

    千次下载 热门讨论 2013-04-20 11:30:13
     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
  • 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。...
  • 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。...
  • rich:一个在终端中支持富文本和格式美化 Python 库, 同时提供了RichHandler日志处理程序。 tqdm:一个可在循环和命令行中使用快速、可扩展进度条。 生产力工具 aws-cli:Amazon Web Services 通用...
  • 下面哪个是合法操作符?(选择1项) A) s3=s1 + s2; B) s3=s1-s2; C) s3=s1 & s2; D) s3=s1 && s2 题目15:b 下列描述中错误是:(选择1项) A) 在一个类声明里声明类,也叫做内部类或嵌套类,内部类...
  • java源码包

    2015-12-01 16:29:37
     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
  • 多媒体教室

    2013-06-14 08:10:31
    1、打开控制面板的网络设置项,将 TCP/IP 协议添加到网络组件中(如下图),再选择与网卡绑定的 TCP/IP 协议。 2、在 TCP/IP 属性页中设置正确的 IP 地址,注意不要使 IP 地址重复,设置完成后重新启动计算机。 注:...
  • java 面试题 总结

    2009-09-16 08:45:34
    继承是一种联结类层次模型,并且允许和鼓励类重用,它提供了一种明确表述共性方法。对象一个新类可以从现有类中派生,这个过程称为类继承。新类继承了原始类特性,新类称为原始类派生类(子类),而...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    -i:关机(或重启)前,关掉所有的网络接口。 -f:强迫关机,不呼叫shutdown这个指令。 -p: 当关机的时候顺便做关闭电源的动作。 -d:关闭系统,但不留下纪录。  4.命令说明 halt 就是调用shutdown -h。...
  • 网络转发支持多个目标IP,这样就实现本地采集软件,自由将数据转到客户端,随时查看探测器数据。 自动记住用户最后停留界面+其他信息,重启后自动应用。 报警自动切换到对应地图,探测器按钮闪烁。 双击探测...
  •  本书还提供了dba完成本职工作必备基本uniix、sql、pl/sql和数据建模知识,也给出了许多富有趣味性例子,通过这些实例详细、循序渐进地说明了oracle database 11g数据库各个概念和特性。 作译者  Sam...
  • netstat -n 查看端口的网络连接情况,常用netstat -an netstat -v 查看正在进行的工作 netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况 netstat -s 查看正在使用的所有协议使用情况 nbtstat -A ip ...
  • 操作系统五大类型是批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。 多道程序设计:即在系统内(内存)同时存放并运行几道相互独立程序。 多道程序设计基础:是将...
  • 会计理论考试题

    2012-03-07 21:04:40
    6.为了以最佳方式、最少重复,为多种应用服务,把数据集中起来以一定组织方式存在计算机外存储器中,就构成 __D___ 。 A、FoxBASE B、DOS C、数据库管理系统 D、数据库 7.用紧急启动盘(ESD)启动计算机后,屏幕...
  • 就是如此简单,你现在已经能够将HanLP提供的最新深度学习模型应用到你研究和工作中。下面是一些小技巧: 打印 hanlp.pretrained.ALL 来列出HanLP中所有预训练模型。比如,LARGE_ALBERT_BASE是在世界上最大...

空空如也

空空如也

1 2
收藏数 27
精华内容 10
关键字:

哪个协议提供了无连接的网络层服务