计算机网络重点知识

stephanie-boke stephanie-boke     2023-04-01     366

关键词:

1、计算机网络体系结构

1.1 网络协议是什么?

  • 网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。

1.2 为什么要对网络协议分层?

  • 各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口所提供的服务。这样,整个问题的复杂程度就下降了。也就是说上一层的工作如何进行并不影响下一层的工作,这样我们在进行每一层的工作设计时只要保证接口不变可以随意调整层内的工作方式。

  • 灵活性好。当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。当某一层出现技术革新或者某一层在工作中出现问题时不会连累到其他层的工作,排除问题时也只需要考虑这一层单独的问题即可。

  • 结构上可分割开。各层都可以采用最合适的技术来实现。技术的发展往往是不对称的,层次化的划分有效避免了木桶效应,不会因为某一方面技术的不完善而影响整体的工作效率。

  • 易于实现和维护。这种结构使得实现和调试一个庞大又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统。进行调试和维护时,可以对每一层进行单独的调试,避免了出现找不到问题、解决错问题的情况。

  • 能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。标准化的好处就是可以随意替换其中的某几层,对于使用和科研来说十分方便。

https://www.applysquare.com/topic-cn/V9UHWe49W/

1.3 在浏览器地址栏输入URL,按下回车后究竟发生了什么?

  • 输入地址。
  • DNS解析。
  • TCP连接。
  • 发送http请求。
  • 返回http响应。
  • 浏览器解析渲染页面。
  • 断开连接。

https://zhuanlan.zhihu.com/p/78677852
https://blog.csdn.net/jiao_0509/article/details/82491299?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1

2、OSI 7层网络

应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet

表示层 数据格式化,代码转换,数据加密 没有协议

会话层 解除或建立与别的接点的联系 没有协议

传输层 提供端对端的接口 TCP,UDP

网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP

数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU

物理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2

https://www.cnblogs.com/dadadechengzi/p/7999371.html

3、TCP的三次握手四次挥手

3.1 TCP报文的头部结构
https://blog.csdn.net/zeqi1991/article/details/81582985

3.2 三次握手,四次挥手
发起断开连接请求可以是客户端也可以是服务器,即主机1,主机2可以是客户端也可以是服务器。
https://baijiahao.baidu.com/s?id=1654225744653405133&wfr=spider&for=pc
https://blog.csdn.net/qq_38950316/article/details/81087809?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

3.3 UDP 和 TCP区别
https://blog.csdn.net/sifanchao/article/details/82285018?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1

4、HTTP、HTTPS

4.1 HTTP 1.0、 1.1、 2.0区别
https://blog.csdn.net/weixin_44489066/article/details/88640088
https://www.cnblogs.com/heluan/p/8620312.html

4.1 什么是HTTP,HTTP 与 HTTPS 的区别

  • https协议需要到CA  (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(原来网易官网是http,而网易邮箱是https。)
  • http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  • http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  • http的连接很简单,是无状态的。Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。) 
    https://www.runoob.com/w3cnote/http-vs-https.html
    https://www.cnblogs.com/wqhwe/p/5407468.html

4.2 常用HTTP状态码

  • 1XX:表示通知信息的,如请求收到了或正在进行处理
  • 2XX:表示成功,如接受或知道了
  • 3XX:表示重定向,如要完成请求还必须采取进一步的行动
  • 4XX:表示客户的差错,如请求中有错误的语法或不能完成
  • 5XX:表服务器的差错,如服务器失效无法完成请求

https://www.cnblogs.com/postw/p/9671160.html

4.3 GET和POST区别

  • GET提交的数据放在URL中,POST则不会。这是最显而易见的差别。这点意味着GET更不安全(POST也不安全,因为HTTP是明文传输抓包就能获取数据内容,要想安全还得加密)
  • GET回退浏览器无害,POST会再次提交请求(GET方法回退后浏览器再缓存中拿结果,POST每次都会创建新资源)
  • GET提交的数据大小有限制(是因为浏览器对URL的长度有限制,GET本身没有限制),POST没有
  • GET可以被保存为书签,POST不可以。这一点也能感受到。
  • GET能被缓存,POST不能
  • GET只允许ASCII字符,POST没有限制
  • GET会保存再浏览器历史记录中,POST不会。这点也能感受到。

总之,两者之间没有本质区别,区别就在于数据存储的位置。各自有适用环境,根据需求选择合适的方法即可。

https://www.zhihu.com/question/28586791
https://www.cnblogs.com/liziweiblog/p/11066333.html

4.4 什么是对称加密与非对称加密
https://blog.csdn.net/qq_29689487/article/details/81634057

4.5 Session、Cookie和Token的主要区别
https://www.cnblogs.com/wxinyu/p/9154178.html

4.6 如果客户端禁止 cookie 能实现 session 还能用吗?

  • Cookie与 Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案。但为什么禁用Cookie就不能得到Session呢?因为Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于失去了Session ID,也就得不到Session了。

https://blog.csdn.net/u010433704/article/details/40950599?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3

https://blog.csdn.net/qq_39207948/article/details/80969968

5、网络安全

5.1 签名、编码、加密区别

  • 编码 
    在Web开发中,需要通过URL的query参数来传递数据,但是对于URL来说,有些字符是不安全的,所以需要对此进行编码。对于发送方来说,就是编码,反之,对于接收方来说,就是解码。
    常见的编码方式有Base64。
  • 签名 
    签名的场景很多,比如:在云盘中,会对文件进行MD5签名,对于相同文件之存一份来节省空间和做到秒传;在TCP/IP中,会用CRC来对通讯数据做签名,用于校验数据是否被篡改,已决定是否丢弃。 
    常见的签名方式有很多,比如:MD5、SHA系列、HmacSHA系列、CRC等。
  • 加密 
    有时候对数据签名并不能满足我们的需求,比如:在移动应用中明文传递imei、idfa或者mac会存在一定的风险;在Web开发中传递密码或者价格有关的信息,这些都需要接收方反解数据,这种场景仅仅签名就不够了。
    加密与解密简单说就是发送方用密钥对数据进行加密,接收方用密钥对数据进行解密来满足上面场景需求。 
    常用的加密与解密算法有很多种,比如:DES系列、RC系列、AES(Rijndael)、BlowFish、RSA等。

https://www.cnblogs.com/lulu638/p/4624762.html

机器学习中的重点数学知识

...工具2、深度学习基本全是优化问题(数学)微积分知识重点:① 导数:导数法则、常见的函数的导数、② 多元函数的导数:求梯度(偏导数)、二阶导数和hess矩阵l 为什么需要使用矩阵表达多元函数?方便计算、简... 查看详情

计算机网络重点知识

1、计算机网络体系结构1.1网络协议是什么?网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送... 查看详情

java重点知识点收集

什么是Java的序列化 就是将一个对象保存到一个文件,可以通过流的方式进行传输,可以将文件内容的读取,转化为一个对象,序列化是为了解决对象流在进行读写操作的时候的引发的问题, 对象流就是将对象进行流化... 查看详情

嵌入式c语言重点知识点

参考技术A  嵌入式C语言重点知识点  嵌入式LINUX  嵌入式Linux是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。Linux做嵌入式的优势,首先,Linux是开放源代码;其次,Linux的内... 查看详情

最全面的python重点知识汇总,建议收藏!

...是一份来自于SegmentFault上的开发者@二十一总结的Python重点。由于总结了太多的东西,所以篇幅有点长,这也是作者"缝缝补补"总结了好久的东西。Py2VSPy3print成为了函数,python2是关键字不 查看详情

《路由协议与交换技术》重点知识总结(路由交换知识点)(代码片段)

本文目录前言交换机与路由器基础交换机和路由器组成二层交换机与虚拟局域网VLAN工作机制(重要)VLAN划分方法重要代码同一VLAN不同交换机的数据转发单臂路由实现不同VLAN之间的数据转发三层交换机实现不同VLAN数据转... 查看详情

计算几何

粗体表示概念上的重点;斜体表示行文逻辑上的重点;下划线表示个人理解,可能含有大量的直觉,缺乏严谨的数学推导。顺序与OI知识的学习顺序和难度不一定相关!!!你发现这里是空的 查看详情

网络流

粗体表示概念上的重点;斜体表示行文逻辑上的重点;下划线表示个人理解,可能含有大量的直觉,缺乏严谨的数学推导。顺序与OI知识的学习顺序和难度不一定相关!!!没做过什么题,先不写了 查看详情

软件重点9网络基础(代码片段)

软件重点9网络基础一、网络基础知识1.基本概念2.网络传输介质(1)有线传输介质(2)无线传输介质二、OSI和TCP/IP协议簇1.OSI参考模型2.TCP/IP协议簇3.重要的协议三、IP地址与子网划分1.IP构成与分类2.子网划分3.特... 查看详情

面试重点:建立java并发知识体系(含工具全图鉴)

...互联网公司。面试久了,你会发现Java并发编程是面试的重点考察点。并且随着公司的发展,用户量级会与日俱增,高性能、高并发的问题自然避免不了,因此具备并发处理能力的Java程序员必然是广大公司渴求的香饽饽。接下来... 查看详情

软考网络工程师要怎么复习?

一、明确考试重点和难点网络工程师考试主要考察网络基础知识、网络架构设计、网络安全、网络管理等方面的知识。因此,我们在复习的时候,一定要明确考试重点和难点,将重点知识点逐一梳理,逐一掌握。... 查看详情

网络安全技术概论知识点

...章电子商务安全知识点本文为《网络安全技术及应用》中重点知识点的提炼,以便于记忆。第一章网络安全基础知识点1.网络安全威胁现状、成因࿱ 查看详情

网络安全技术概论知识点

...章电子商务安全知识点本文为《网络安全技术及应用》中重点知识点的提炼,以便于记忆。第一章网络安全基础知识点1.网络安全威胁现状、成因࿱ 查看详情

网络安全技术概论知识点

...章电子商务安全知识点本文为《网络安全技术及应用》中重点知识点的提炼,以便于记忆。第一章网络安全基础知识点1.网络安全威胁现状、成因:缺乏相关网络安全法律法规、管理缺失和安全意识不强;政府机构与... 查看详情

网络安全技术概论知识点

...章电子商务安全知识点本文为《网络安全技术及应用》中重点知识点的提炼,以便于记忆。第一章网络安全基础知识点1.网络安全威胁现状、成因:缺乏相关网络安全法律法规、管理缺失和安全意识不强;政府机构与... 查看详情

网络知识--第二部

...主要是实现骨干网络时间的优化传输,骨干层设计任务的重点通常是冗余能力,可靠性和高速的传输.  汇聚层:汇聚层是楼群或小区的信息汇聚点,是连接介入层和核心层的网络设备,为接入层提供数据的汇聚传输管理分发处理.汇... 查看详情

css重点知识属性计算的过程(代码片段)

✍️作者简介:前端新手学习中。💂作者主页:作者主页查看更多前端教学🎓专栏分享:css重难点教学 Node.js教学从头开始学习 ajax学习标题什么是计算机属性确定声明值层叠冲突继承使用默认值总结什么是计算机属... 查看详情

初级程序员软考重点10知识产权

初级程序员软考重点10知识产权一、著作权1.著作权的理解(1)版权:(2)人身权与财产权2.知识产权的归属判定3.知识产权的归属判定(1)委托创作(2)合作开发4.著作权保护对象及范围5.著... 查看详情