![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
计算机网络
计算机网络
大虎牙
一物不知 深以为耻 便求知若渴
展开
-
学习笔记 | 粘包 拆包
一、前言TCP数据传输中发生的粘包、拆包问题,首先描述一下这两种情况的概念分析它们发生的原因,最后再来谈一谈解决方式。二、正文 2.1 什么是粘包、拆包由于TCP传输协议是面向字节流的传输协议,没有消息保护边界,所以发送方发送的多个数据包,接收方应用层不知如何区分,可能会被当成一个包来处理,这就是粘包;或者,发送方将一个打包分成多个小包发送,而接收方将它们当成多个包进行处理,这就是拆包。看下面这张图来具体理解一下:看上面这张图片,演示了TCP传输的四种情况:客户端向服务器发送原创 2020-08-25 16:32:20 · 223 阅读 · 0 评论 -
学习笔记 | 协议栈
问题TCP如何有序性的。ARPTCP的拥塞控制。TCP的半链接队列和全链接队列。TCP粘包与分包。网线断了,TCP怎么处理。TCP的长连接和短连接。TCP的11个状态迁移。send返回正数,是不是成功。阻塞与非阻塞,send/recv,-1。协议栈是一种特定的沟通模式。七层模型 (学术界)------》 五层模型(工业界)物理层里面传输的是光电信号。数据链路层传输的数字信号。网卡:光电信号转化为数字信号,数字信号转化为光电信号。以太网协议头mac地址只在原创 2020-08-20 23:57:24 · 271 阅读 · 0 评论 -
学习笔记 | cookie 和session、三种保持登陆会话的方式
cookie 和session 的区别:cookie数据存放在客户的浏览器上,session数据放在服务器上。cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE。单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。三种保持会话的方式(一)session机制保持原创 2020-08-08 13:38:04 · 1805 阅读 · 0 评论 -
学习笔记 | 会话层
会话层会话层允许不同主机上的各个进程之间进行会话。会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务。这种服务主要为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也称建立同步SYN。会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。会话层可以使用校验点是通信会话在通信失效时从校验点继续恢复通信,实现数据同步。...原创 2020-07-20 12:49:45 · 2094 阅读 · 0 评论 -
学习笔记 | 计算机网络 应掌握 思维导图
TCPTCP 的报文状态标志与链接状态,在排查网络问题时非常重要,必须要明白协议状态,才方便抓包分析。另一个知识点是 Nagel 算法和 ACK 延迟,需要了解产生的背景,是要解决小包问题,提高数据载荷比。知道对于延迟比较敏感且发送数据频率较低的场景可以关闭 Nagel 算法。关于 TCP 的 Keepalive,是一种长时间没有数据发送的场景下,TCP 保持链接可用的机制,需要知道 TCP Keepalive 的开启和设置方式。需要明白 TCP 是如何通过滑动窗口机制来实现流量控制的。Ht.原创 2020-07-05 18:07:26 · 151 阅读 · 0 评论 -
学习笔记 | 应用层 FTP协议 HTTP协议
多总结、多思考、多刷题01 应用层概述02 网络应用模型客户/服务器模型 Client/ServerP2P模型 Peer-to-Peer原创 2020-07-05 16:24:35 · 222 阅读 · 0 评论 -
学习笔记 | 电子邮件
01 电子邮件 > 在应用层原创 2020-07-05 16:22:28 · 175 阅读 · 0 评论 -
学习笔记 | DNS系统
01 DNS系统高速缓存,进行定时更新信息。设置一个时间限制,到期了就更新。原创 2020-07-05 16:16:53 · 109 阅读 · 0 评论 -
学习笔记 | 网络层
01 电路交换02 报文交换03 分组交换数据报方式虚电路方式原创 2020-07-03 19:59:42 · 116 阅读 · 0 评论 -
学习笔记 | 数据链路层
透明传输透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传达。因此,链路层就看不见有什么妨碍数据传输的东西。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。检错编码——CRC循环冗余码在数据链路层仅仅使用循环冗余检查CRC差错检测技术,只能做到对帧的无差错接收,即凡是接收端数据链路层接收的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有...原创 2020-07-03 12:38:21 · 393 阅读 · 0 评论 -
学习笔记 | 传输层
传输层只有主机才有的层次。为应用层提供通信服务。使用网络层的服务。传输单位是报文段或用户数据包,传输层负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。传输层的协议有TCP和UDP。传输层的功能:传输层提供进程和进程之间的逻辑通信。复用和分用。复用是指多个应用层进程可同时使用下面传输层的服务,分用是指传输层把收到的信息分别交付给上面应用层中相应的进程。传输层对收到的报文进行差错检测。...原创 2020-07-02 23:26:10 · 143 阅读 · 0 评论 -
学习笔记 | 输入baidu url找到服务器的过程
搜索 baidu,会用到计算机网络中的什么层? 每层是干什么的浏览器中输入 URL。浏览器要将 URL 解析为 IP 地址,解析域名就要用到 DNS 协议,首先主机会查询 DNS 的 缓存,如果没有就给本地 DNS 发送查询请求。DNS 查询分为两种方式,一种是递归查询, 一种是迭代查询。如果是迭代查询,本地的 DNS 服务器,向根域名服务器发送查询请求, 根域名服务器告知该域名的一级域名服务器,然后本地服务器给该一级域名服务器发送查询 请求,然后依次类推直到查询到该域名的 IP 地址。DNS 服务原创 2020-07-01 20:36:11 · 340 阅读 · 0 评论 -
学习笔记 | TCP和UDP的区别和各自适用的场景
TCP和UDP的区别和各自适用的场景01 TCP和UDP区别1. 连接TCP是面向连接的传输层协议,即传输数据之前必须先建立好连接。UDP无连接。2. 服务对象TCP是点对点的两点间服务,即一条TCP连接只能有两个端点;UDP支持一对一,一对多,多对一,多对多的交互通信。3. 可靠性TCP是可靠交付:无差错,不丢失,不重复,按序到达。UDP是尽最大努力交付,不保证可靠...原创 2020-04-26 11:32:03 · 1313 阅读 · 2 评论 -
学习笔记 | GET和POST的区别
请求方法 | GET和POST的区别01 概括对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200 OK(返回数据)。而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 OK(返回数据)。02 区别GET参数通过url传递,POST放在request body中。GET请求...原创 2020-04-23 19:57:12 · 135 阅读 · 0 评论 -
学习笔记 | TCP & UDP 滑动窗口 流量控制 拥塞控制
目录01 UDP 和 TCP 的特点02 UDP 首部格式03 TCP 首部格式04 TCP 可靠传输05 TCP 滑动窗口06 TCP 流量控制07 TCP 拥塞控制7.1 慢开始与拥塞避免7.2 快重传与快恢复01 UDP 和 TCP 的特点传输控制协议 TCP(Transmission Control Protocol)是面向连接的,提供可靠交付,有流量控制,拥塞...原创 2020-04-15 23:40:32 · 1333 阅读 · 0 评论 -
学习笔记 | OSI七层模型 & TCP/IP五层模型
目录01 OSI七层模型02 OSI七层模型 & TCP/IP五层模型01 OSI七层模型每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下层的一种能力,它通过接口提供给更高一层。应用层OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用...原创 2020-04-15 16:19:30 · 461 阅读 · 0 评论 -
学习笔记 | 确保Web安全的HTTPS
在HTTP协议中有可能存在信息窃听或身份伪装等安全问题。目录 | 第7章 确保Web安全的HTTPS7.1 HTTP的缺点7.1.1 通信使用明文可能会被窃听7.1.2 不验证通信方的身份就可能遭遇伪装7.1.3 无法证明报文完整性,可能已遭篡改7.2 HTTP+加密+认证+完整性保护 = HTTPS7.2.1 HTTP加上加密处理和认证以及完整性保护后即是HTTPS7.2....原创 2020-04-13 17:23:12 · 231 阅读 · 0 评论 -
学习笔记 | 与HTTP协作的Web服务器
目录 | 第5章 与HTTP协作的Web服务器5.1 用单台虚拟主机实现多个域名5.2 通信数据转发程序:代理、网管、隧道5.3 保存资源的缓存5.1 用单台虚拟主机实现多个域名HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点。即使物理层面只有一台服务器,但只要使用虚拟主机的功能,则可以假想已具有多台服务器。在相同的IP地址下,由于虚拟主机可以寄存多个不同主机名和域...原创 2020-04-11 13:34:02 · 123 阅读 · 0 评论 -
学习笔记 | HTTP状态码 1XX 2XX 3XX 4XX 5XX
目录 | 第4章 返回结果的HTTP状态码4.1 状态码告知(客户端)从服务器端返回的请求结果4.2 2XX成功4.3 3XX重定向4.4 4XX客户端错误4.5 5XX服务端错误4.1 状态码告知(客户端)从服务器端返回的请求结果HTTP状态码负责表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。状态码如200 OK,以3位数字和原因短语组成...原创 2020-04-11 12:30:54 · 557 阅读 · 0 评论 -
学习笔记 | HTTP报文内部的HTTP信息
目录 | 第3章 HTTP报文内部的HTTP信息3.1 HTTP报文3.2 请求报文及响应报文的结构3.3 编码提升传输速率3.4 发送多种数据的多部分对象集合3.5 获取部分内容的范围请求3.6 内容协商返回最合适的内容3.1 HTTP报文用于HTTP协议交互的信息被称为HTTP报文。请求端(客户端)的HTTP报文叫做请求报文。响应端(服务器端)的叫做响应报文。HTTP...原创 2020-04-10 23:13:15 · 206 阅读 · 0 评论 -
学习笔记 | 简单的HTTP协议
目录 | 简单的HTTP协议2.1 HTTP协议用于客户端和服务器端之间的通信2.2 通过请求和响应的交换达成通信2.3 HTTP是不保存状态的协议2.4 请求URI定位资源2.5 告知服务器意图的HTTP方法2.6 使用方法下达命令2.7 持久连接节省通信量2.8 使用Cookie的状态管理第2章 简单的HTTP协议2.1 HTTP协议用于客户端和服务器端之间的通信请求...原创 2020-04-10 20:59:22 · 165 阅读 · 0 评论 -
学习笔记 | 了解Web及网络基础
第1章 了解Web及网络基础1.1 使用HTTP协议访问WebWeb是建立在HTTP协议(HyperText Transfer Protocol,超文本传输协议)上通信的。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。我们把这种规则称为协议。1.2 HTTP的诞生1.2.1 为知识共享而规划Web现在已提出了3项WWW构建技术,分别是:把SGML(Standa...原创 2020-04-10 12:58:52 · 125 阅读 · 0 评论 -
学习笔记 | TCP、IP网络 概述
LAN是什么?WAN是什么?LAN是Local Area Network局域网的缩略语。WAN是Wide Area Network广域网的缩略语。协议信息可以以电信号的形式在网线中传播,所以计算机彼此之间就能够进行信息交换。但为了交换信息,还必须在发送者和接受者之间事先确定发送方式。这种对信息发送方式的规定或约束就称为“协议”。IP地址IP地址是一个32比特的整数,每8比特为...原创 2020-03-24 13:22:19 · 219 阅读 · 0 评论 -
学习笔记 | TCP 三次握手,四次挥手
为什么需要三次握手,两次不行吗?第一次握手:客户端发送网络包,服务端收到了。这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。第二次握手:服务端发包,客户端收到了。这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。第三次握手:客户端发包,服务端收到了。这样服务端就能得出结论:客户端的接收...原创 2020-04-08 23:04:03 · 265 阅读 · 0 评论