计算机网络
文章平均质量分 73
种向日葵的小仙女
这个作者很懒,什么都没留下…
展开
-
OSI7层模型数据分层传输的过程
计算机网络的7层模型,物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。下面给大家详细分析一下数据传输时,具体每个模型在干什么。 图1大概过程是从客户端应用层开始,一步一步向下封装数据。服务器端从物理层开始,一步...原创 2018-03-07 19:52:48 · 4597 阅读 · 0 评论 -
TCP与UDP的区别。
1. TCP是面向连接的传输层协议(3次握手),UDP是无连接的,即发送数据之前不需要建立连接。2. TCP保证可靠传输,UDP尽最大努力交付,即不保证可靠交付。3. TCP保证数据的有序性。数据是按照他的发送数据到达服务器端的。而UDP不提供任何有序性,数据包可能以任何顺序到达。4. TCP有流量控制,拥塞控制。UDP不使用拥塞控制。(都是全双工)5. TCP面向字节流,数据分...原创 2018-04-13 16:32:42 · 277 阅读 · 0 评论 -
TCP报文结构。
TCP报文段是由TCP首部和TCP数据部分组成。TCP首部结构如下:首部长度:一般为20字节,选项最多40字节,限制60字节。源端口、目的端口。序号:TCP协议面向字节流,传输文件按顺序在缓存里面分块存放,要组建数据包,一块一块的往外发,加上IP,Mac等。序号就是指这个数据包的编号,通过这个来确认发送的数据有序,比如现在序列号为1000,发送了1000,下一个序列号就是2000。确认号:接收端缓...原创 2018-04-13 16:33:55 · 2163 阅读 · 0 评论 -
TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用。
TCP建立连接要进行3次握手,大致流程如下:SYN(同步序号,表示此报文是一个连接请求或者连接接收报文),ACK(确认位,对接收到报文的确认),FIN(表示发送方发送完数据,用来释放一个连接)1) 客户端向服务器端发送一个SYN J,表示客户端向服务器端发送一个连接请求报文,该报文的初始序列号为J。客户端进入SYN_SENT状态,等待服务器端确认。2) 服务器端向客户端响应一个SYN K, 表...原创 2018-04-13 16:35:53 · 2045 阅读 · 0 评论 -
TCP中的四大定时器
对于每个TCP连接,TCP一般要管理4个不同的定时器:重传定时器、坚持定时器、保活定时器、2MSL定时器。重传定时器每发送一个报文段就会启动重传定时器,如果在定时器时间到后还没收到对该报文段的确认,就重传该报文段,并将重传定时器复位,重新计算;如果在规定时间内收到了对该报文段的确认,则撤销该报文段的重传定时器。坚持定时器主要是为了应付零窗口大小通知可能导致的死锁问题。如果接收端在向发送端发送了零窗...原创 2018-04-13 16:36:42 · 382 阅读 · 0 评论 -
TCP可靠性、滑动窗口、流量控制、拥塞控制。
1. 概念:TCP是面向连接的以字节流方式传输的协议,他提供可靠、有序。全双工的传输(TCP通信的每一段都维护着一个发送缓存和接收缓存)。TCP连接的端点不是主机中的应用进程,而是应用进程维护的套接字接口(socket),其基本的结构包含【IP:Port】。2. TCP可靠传输的工作原理TCP实现可靠传输的工作原理主要有两个,我们分别来看:1) 停止等待协议*1. 发送方A向接收方B发送数据...原创 2018-04-13 22:34:22 · 1054 阅读 · 0 评论 -
TCP粘包
1 什么是粘包现象 TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。2 为什么出现粘包现象 (1)发送方原因 我们知道,TCP默认会使用Nagle算法。而Nagle算法主要做两件事:1)只有上一个分组得到确认,才会发送下一个分组;2)收集多个小分组,在一个确认到来时一起发送。 所以,正是Nagle算法造成了发送方有可能造成粘包...原创 2018-04-27 15:01:37 · 143 阅读 · 0 评论 -
Oauth 协议
1、什么是Oauth 协议 ?OAuth 2.0 专注于简化客户端开发人员,他的最终目的是为第三方应用颁发一个有时效性的令牌token。使得第三方应用能够通过该令牌获取相关的资源。常见的场景就是:第三方登录。当你想要登录某个论坛,但没有账号,而这个论坛接入了如 QQ、Facebook 等登录功能,在你使用 QQ 登录的过程中就使用的 OAuth 2.0 协议。1.0协议每个token都有一个加密,...原创 2018-06-13 22:37:50 · 189 阅读 · 0 评论 -
幂等性
幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品使用约支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水记录也变成了两条...步骤:1、查询订单支付状态2、如果已经支付,直接返回结果3、如果未支付,则支付...原创 2018-06-21 17:20:26 · 164 阅读 · 0 评论 -
OSI与TCP/IP各层的结构与功能,都有哪些协议。
应用层:所有能产生网络流量的程序(QQ,淘宝等)表示层:在传输之前是否进行加密或压缩处理,图片文件二进制,英文文档用ASCII传送(可节省带宽,比如QQ视频,账号密码,可把人像加密快速传输)会话层:查看木马(打开一个网页就是打开一个会话),netstat-n,可看到建立这个会话的程序,放置时木马传输层:可靠传输(客户端没有确认收到数据,服务器会一直发,会分为好几个包),流量控制,不可靠传输(一个包...原创 2018-04-13 15:02:04 · 992 阅读 · 0 评论 -
路由器与交换机区别
路由器是在网络层,交换机在数据链路层。交换机用来将一根网线变为多根,如果网络需要登录大家各自分别登录。路由器用来将一条网络变为多条,分出的多条网络共享主线的网络带宽。...原创 2018-04-17 10:34:32 · 251 阅读 · 0 评论 -
浏览器中输入URL到页面返回的全过程
在java软件开发的面试中,浏览器中输入URL到页面返回的全过程是一道非常经典的面试题。下面就给大家详细讲解一下。 总共分为7个步骤:浏览器中输入域名+域名解析+浏览器与目标服务器建立TCP连接+浏览器通过http协议向目标服务器发送请求+服务器给出响应,将指定文件发送给浏览器+TCP释放链接+浏览器显示页面中所有文本第一步、浏览器中输入域名www.baidu.com第二步、域名解析 浏览...原创 2018-03-01 19:25:46 · 4677 阅读 · 0 评论 -
分析网络出现故障的原因
大家在上网的时候可能出现连不了网的情况,从OSI7层模型上面来考虑。1.物理层:a.网线没有接上,本地连接断了,在计算机上检查发现本地连接断了,出现一个×,有线网断了。b.本地连接没有断,打开属性,发现发送数据包有数字,接收数据报为0。应该是网线水晶头接触不好,水晶头里面有8根线,计算机通信是2根线发2根线收。可能是接收的2根没接好。物理层故障 查看连接状态 发送和接收的数据包。C.也有可能计...原创 2018-03-05 22:27:24 · 2486 阅读 · 0 评论 -
Http的报文结构。
HTTP请求报文格式:请求行,多个请求头,一个空行,实体内容。1. 请求行:请求方法,请求资源部分名称、协议版本组成。请求方法包括GET、HEAD、PUT、POST、TRACE、OPTIONS、DELETE以及扩展方法。常用的有HTTP/1.0和HTTP/1.1。Post和get的区别:如果是get提交,请求参数就会附在请求的URL后面作为请求地址的一部分传到服务器,暴露数据,有安全隐患,可以传...原创 2018-04-15 20:50:06 · 1645 阅读 · 0 评论 -
Http request的几种类型。
1. OPTIONS:允许客户端查看服务器的性能。2. HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。3. GET:向特定的资源发出请求。4. POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。5. PUT:向指定资源位置上传其最新内容。6...原创 2018-04-15 21:06:56 · 5786 阅读 · 1 评论 -
Http1.1和Http1.0,HTTP2.0的区别
1. 缓存处理:在HTTP1.0中主要使用header里的If-Modified-Since(和Last-Modified结合,If-Modified-Since是标准的HTTP请求头标签,在发送HTTP请求时,把浏览器端缓存页面的最后修改时间一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。如果时间一致,那么返回HTTP状态码304(不返回文件内容),客户端接到之后,...原创 2018-04-15 22:09:23 · 251 阅读 · 0 评论 -
Http怎么处理长连接。
在HTTP1.0和HTTP1.1协议中都有对长连接的支持。其中HTTP1.0需要在request中增加Connection: keep-alive header才能够支持,而HTTP1.1默认支持。http1.0请求与服务端的交互过程:(1)客户端发出带有包含一个header:”Connection: keep-alive“的请求(2)服务端接收到这个请求后,根据http1.0和”Connecti...原创 2018-04-16 10:58:38 · 2328 阅读 · 0 评论 -
Cookie与Session的作用与原理
HTTP是一个无状态的协议,对事物处理没有记忆功能。为了解决http的无状态现象,引入cookie和session。1. Cookie详解1) 简介:Cookie,是指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。Cookie是由服务端生成的,发送给客户端(通常是浏览器)的。Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Coo...原创 2018-04-16 15:46:06 · 356 阅读 · 0 评论 -
http和HTTPS的区别
数字证书就是经过CA认证过的公钥,而私钥一般情况都是由证书持有者在自己本地生成的,由证书持有者自己负责保管。具体使用时,签名操作是发送方用私钥进行签名,接受方用发送方证书来验证签名;加密操作则是用接受方的证书进行加密,接受方用自己的私钥进行解密。1) HTTP与HTTPS有什么区别HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能...原创 2018-04-16 20:44:57 · 735 阅读 · 0 评论 -
IP协议,OSPF,RIP
IP协议的功能,寻址和路由(根据对方的IP地址,寻找最佳路径传输信息);传递服务,IP协议只是尽自己最大努力去传输数据包,可靠性由上层协议(TCP)获得;数据包的分片与重组。OSPF(开放式最短路径优先):判断标准是带宽高,开销少。RIP(判断标准,过的路由器越少路径越优)...原创 2018-04-16 21:01:20 · 833 阅读 · 0 评论 -
Ping的整个过程,ICMP报文是什么?IGMP是什么?
ICMP(网际控制报文协议):用来测试网络层是不是有故障,若有故障,该协议还能报告故障。Ping命令来使用这个协议。先看拓扑图:在这里讲ping的两情况:一种是同一网段内,一种是跨网段的ping。1. 同一网段首先,如果主机A,要去ping主机B,那么主机A,就要封装二层报文,他会先查自己的MAC地址表,如果没有B的MAC地址,就会向外发送一个ARP广播包。交换机会收到这个报文后,交换机有学习M...原创 2018-04-17 09:44:30 · 12422 阅读 · 0 评论 -
C/S模式下使用socket通信,几个关键函数。
一个基于TCP的socket通信:先从服务器端开始,服务器端先调用socket函数,返回一个套接字。然后该套接字与地址,端口绑定,对端口进行监听,调用accept阻塞,等待客户端连接。在这个时候如果有客户端调用socket函数,返回一个套接字,接着调用connect函数连接服务器。如果连接成功,这时客户端与服务器端的连接就建立了。客户端调用write函数发送数据请求,服务器端调用read函数接收请...原创 2018-04-17 10:16:24 · 1145 阅读 · 1 评论 -
正向代理和反向代理
1. 正向代理:比如,客户端要访问Google,但是不直接去访问,而且让一个代理服务器去访问Google,然后代理服务器再将访问到的信息返回给客户端。这里的代理服务器所实现的功能就叫做正向代理。特点:Google并不知道是哪个客户端访问的。客户端要进行一些设置才能使用正向代理。根据这个特点,我们就可以在国外部署一个代理服务器,这个服务器有正向代理的功能。我们就可以通过这个代理服务器实现科学...原创 2018-07-25 20:16:27 · 354 阅读 · 0 评论