计算机网络知识点补充
计算机网络知识点补充
目录:
1. HTTP和HTTPS的区别
http协议是运行在tcp之上,明文传输,客户端和服务器端都无法验证对方的身份;https是运行在ssl(Secure Socket Layer)上,ssl协议运行于tcp之上。是添加了加密和认证机制的http。二者有以下不同:
- 端口不同:http和HTTPS使用的连接方式不同,端口也不一样。前者是80,后者是443端口。
- 资源消耗不同:与HTTP通信相比,HTTPS通信会由于加密解密处理消耗更多的cpu和内存资源。
- 开销不同:HTTPS通信要证书,而证书一般需要向认证机构购买。
- HTTPS有加密机制,是一种共享秘钥和公开秘钥加密并用的混合加密机制。
2. 对称加密和非对称加密
对称秘钥加密是指加密和解密都使用同一个秘钥的方式,这种方式存在的最大问题就是秘钥发送问题,即如何安全地将秘钥发送给对方。非对称加密是指使用一对非对称秘钥,即公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方收到加密信息后,使用自己的私钥进行解密。
由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。
3. 为什么TCP链接需要三次握手,两次不可以么,为什么?
为了防止已失效的链接请求报文突然又传送到了服务端,因而产生错误。
客户端发出的连接请求报文并未丢失,而是在某个网络节点长时间滞留了,以致延误到链接释放以后的某个时间才到达Server。这时,Server误以为是Client发出的一个新的链接请求,于是就向客户端发送确认数据包,同意建立链接。若不采用“三次握手”,那么Server发出确认数据包,新的链接就建立了。由于client此时并未发出建立链接的请求,所以其不会理睬Server的确认,也不会与Server通信;而这时Server值在等待Client的请求,这样Server就白白浪费了一定的资源。若采用“三次握手”,在这种情况下,由于Server端没有收到来自客户端的确认,则就会知道Client并没有要求建立请求,就不会建立链接。
5、TCP协议如何来保证传输的可靠性
TCP提供一种面向连接的、可靠的字节流服务。其中,面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信;而字节流服务意味着两个应用程序通过TCP链接交换8bit字节构成的字节流,TCP不在字节流中插入记录标识符。
对于可靠性,TCP通过以下方式进行保证:
数据包校验:目的是检测数据在传输过程中的任何变化,若校验出包有错,则丢弃报文段并且不给出响应,这时TCP发送数据端超时后会重发数据;
对失序数据包重排序:既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。TCP将对失序数据进行重新排序,然后才交给应用层;
丢弃重复数据:对于重复数据,能够丢弃重复数据;
应答机制:当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒;
超时重发:当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段;
流量控制:TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据,这可以防止较快主机致使较慢主机的缓冲区溢出,这就是流量控制。TCP使用的流量控制协议是可变大小的滑动窗口协议。
6、客户端不断进行请求链接会怎样?DDos(Distributed Denial of Service)攻击?
服务器端会为每一个请求创建一个链接,并向其发送确认报文,然后等待客户端进行确认。
DDos(分布式拒绝服务攻击)攻击
- 客户端向服务端发送请求链接数据包
- 服务端向客户端发送确认数据包
- 客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认
DDos 预防 ( 没有彻底根治的办法,除非不使用TCP )
- 限制同时打开SYN半链接的数目
- 缩短SYN半链接的Time out 时间
- 关闭不必要的服务
计算机网络知识点补充相关推荐
- 计算机网络知识点总结(第六版,谢希仁)
计算机网络知识点总结 1.三网:现如今最重要的三种网络 电信网络(电话网) 有线电视网络(电视网) 计算机网络(发展最快,信息时代的核心技术,连通性,共享) 1.1. 计算机网络的定义:是指将地理位置 ...
- 计算机网络知识点复习(适合春招面试复习)
计算机网络知识点 HTTP协议 HTTP协议各版本之间的区别 **HTTP1.0默认是短链接.** **HTTP1.1默认持久连接.** **HTTP2.0** **HTTP3.0** HTTPS的过 ...
- set集合以及知识点补充
str知识点补充: #join() 将列表中的每个元素中间加上一个字符,连接成一个字符串 list = ['a','b','c','d'] str = '*'.join(list) print(str ...
- 计算机网络知识点整理---应用层(六)
本文章是根据B站的王道计算机考研-计算机网络进行整理 *建议使用电脑观看 计算机网络知识点整理-概述(一) 计算机网络知识点整理-物理层(二) 计算机网络知识点整理-数据链路层 (上)(三) 计算机网 ...
- 计算机网络知识点全面总结(一篇全懂)
一.计算机网络概述 1.1 计算机网络的分类 按照网络的作用范围:广域网(WAN).城域网(MAN).局域网(LAN):按照网络使用者:公用网络.专用网络. 1.2 计算机网络的层次结构 TCP/I ...
- Jaeger知识点补充
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos <Jaeger实战(Java版)>系列全文 ...
- 云日记_登出操作个人中心页面js和jsp知识点补充
用户退出 前端: 设置超链接的请求地址 user?actionName=logout 后台: 1. 销毁Session对象 2. 删除 ...
- 2021研面准备 -- 计算机网络知识点整理(一)概述
参考教材为<计算机网络>(第7版)-- 谢希仁,电子版 pdf 下载链接:点击下载,提取码:s4jp 文章目录 第一章 概述 一.计算机网络的概念和发展 二.计算机网络的组成 三.计算机网 ...
- 计算机网络知识点总结周报
2020/06/07 计算机网络知识点总结周报 1.IPV4地址类型 0.0.0.0-127.255.255.255 128.0.0.0-191.255.255.255 192.0.0.0-223.2 ...
最新文章
- 有这10个特征的项目领导者做的项目,失败率增加60%
- python 正则学习笔记
- 荣耀手表2鸿蒙,鸿蒙2.0曝光 计划在明年用于手表手环上
- 全球知名跨境电商,.Net软件工程师招聘,约么?
- DreamFacotry 第4章 如何保护REST API
- 格力接受美国5.83亿巨额罚款!官方紧急回应...
- 中国“鸭王”失宠的第8年,终于撑不住了!
- 人类赋予人工智能伦理,生物进化方向的突破是关键【刘锋博士南科大发言】
- Java Web程序设计——图书管理系统
- 福师计算机应用基础离线作业一答案,20年秋福师《计算机应用基础》在线作业一【标准答案】...
- android 图片3d旋转动画效果,图片UI特效-3D罗盘旋转
- python海贼王_Python 学习笔记---爬取海贼王动漫
- iOS12 Xcode10正式版问题汇总以及新特性(持续更新中....)
- linux系统登陆微信,在Deepin 20系统下实现电脑端登陆两个微信账号的方法
- 测试用例的思路---矿泉水瓶
- 记录 java + selenium脚本实现网页自动化
- 基于微信平台的电影购票系统设计与实现(程序+论文)
- 登录可以用微信的163邮箱!TOM VIP商务邮全新而来!
- 深度学习几个基础知识
- 大数据图书分享-Python数据可视化实战课程
热门文章
- gRPC-rs:从 C 到 Rust
- SAS实现四十年连续增长,2015年全球营收达31.6亿美元
- 网络服务器开发总结(转:http://my.oschina.net/u/181613/blog/596022)
- 可自动定时切换的选项卡/滑动门导航代码
- Flex, SilverLight 和 JavaFX
- CodeForces - 507E Breaking Good(二分+贪心)
- HDU - 5521 Meeting(最短路+思维建边)
- CodeForces - 103E Buying Sets(最小权闭合子图)
- 2019ICPC(上海) - Light bulbs(离散化+差分)
- BZOJ3231(矩阵连乘,稍有点复杂)