计算机网络知识点总结

写在前面

本文仅作学习记录,并不详尽,已经尽可能保证知识的正确性,请各位评论区斧正
后面有机会会继续补充~

我们学习计算机网络是很有结构的,基本上是分层之后各层作用及完成各层功能的硬件及协议.
所以首先了解什么是分层,如何分层,其次了解什么是协议,再了解各层功能及支持功能实现的协议

1.网络为什么要分层及分层的优缺

1)为什么要分层

在计算机网络中
协议是水平的,通常控制两个对等实体的通信规则。
服务是垂直的,层与层之间,是服务与被服务的关系;每一层使用下层服务,遵循本层协议,实现本层功能,然后向上一层提供服务。
下层对上层是透明的上下层通过接口交互,下层具体是怎么实现的,上层并不关心

2)分层的优缺

优:计算机网络的功能十分的复杂,各层分工使可以厘清网络功能,便于更新和维护,且有利于标准化.
缺:效率低

2.什么是协议

定义了两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作

3.经典分层及各层作用及其协议

应用层
功能:网络程序及协议留存之地
主要协议:FTP、HTTP、DNS、SMTP、POP3
传输层
功能:端与端数据传输
主要协议:TCP、UDP
网络层
功能:端系统间的数据透明传送
主要协议:IP、ICMP、ARP
数据链路层
功能:物理寻址、数据成帧、流量控制
主要协议:P2P、异步传输
物理层
功能:为数据端设备提供传送数据通路、传输数据

3.传输层的多路复用与多路分解

首先,了解概念套接字(socket)
套接字概念:传输层间连接的端点
套接字与端口号之间的关系:
端口号(Port)用于标识网络进程,一个进程可有多个端口号
套接字=IP+端口号(用于表示唯一进程)
下面分别解释多路复用与多路分解的概念
多路复用:从源主机不同socket中收集数据块,封装首部信息,生成报文段传递到网络层的工作
多路分解:将传输层报文段数据放置到正确套接字的工作

4.应用层的HTTP协议(超文本传输协议 HyperText Transfer Protocol)

客户端与服务器端确保信息正确传递的协议,承载于TCP协议之上,默认的端口号为80
关于HTTP的非持续连接与持续连接
非持续连接:请求、响应单独经一个TCP连接发送
持续连接:多个请求、响应经同一个TCP连接发送
HTTP请求头与响应码(常见)
请求头
Get 向服务器取数据
Post 向服务器传数据
响应码
403——禁止访问
500——内部服务器错误

5.应用层Cookie

产生理由:HTTP是无状态的
作用:用于浏览器端存储一段时间内的用户访问信息,便于下次连接时的身份识别

CS与P2P架构

CS:Client/Server,客户—服务器(分客户与服务程序)
P2P:Peer to Peer,对等方式(任两结点之间可以相互通信)

传输层的UDP与TCP

TCP:提供可靠的服务(无差错,不丢失,不重复)
UDP:是尽力而为的(不保证可靠交付)
UDP这么不靠谱要它干啥?
UDP具有实时性,对资源要求少,很多可以容忍丢失但要求实时性的应用很需要UDP。
TCP确保可靠性,提高性能的具体做法
仅作个人记录,具体内容请参考其他博客
1)保证可靠性的机制
1.ACK
2.超时重传
3.流量控制
4.拥塞控制
2)提高性能
1.滑动窗口
2.快速重传
TCP的三次握手与四次挥手
三次握手(客户端、服务器连接的建立)
1)首先客户端向服务器端发送一段TCP报文(第一次
2)服务器端接收到来自客户端的TCP报文之后,结束LISTEN阶段。并返回一段TCP报文(第二次
3)客户端接收到来自服务器端的确认收到数据的TCP报文之后,明确了从客户端到服务器的数据传输是正常的,结束SYN-SENT阶段。并返回最后一段TCP报文(第三次
这就是“三次握手”的过程。
一个栗子计科人的礼貌~):
把客户端比作学生,服务器比作老师。
(1)当学生要与老师取得联系时,要先询问老师当下是否方便~
(2)老师收到询问后,回复:方便,你说~然后等学生的阐述
(3)学生收到回复之后,阐述具体请求
为什么要三次握手
防止服务器端开启一些无用的连接增加服务器开销
防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。
四次挥手(客户端、服务器连接的解除)
1)首先客户端想要释放连接,向服务器端发送一段TCP报文,表示“请求释放连接“
2)服务器端接收到从客户端发出的TCP报文之后,确认了客户端想要释放连接,随后服务器端结束ESTABLISHED阶段,进入CLOSE-WAIT阶段(半关闭状态)并返回一段TCP报文
3)服务器端自从发出ACK确认报文之后,经过CLOSED-WAIT阶段,做好了释放服务器端到客户端方向上的连接准备,再次向客户端发出一段TCP报文
4)客户端收到从服务器端发出的TCP报文,确认了服务器端已做好释放连接的准备,结束FIN-WAIT-2阶段,进入TIME-WAIT阶段,并向服务器端发送一段报文,客户端等待一段时间之后,结束TIME-WAIT阶段,进入CLOSED阶段,由此完成“四次挥手”。
一个栗子计科人的礼貌~):
把客户端比作学生,服务器比作老师。
1)学生把事情说完了,决定和老师告别,于是:老师,我讲完了~(第一次
2)老师收到消息后,知道了学生讲完了,于是:嗯,我捋捋。学生看到之后,等老师一段时间看看有没有忘掉的事情~(第二次
3)过了一会儿,老师说:没啥事儿了,你走吧!(第三次
4)学生收到老师回复之后,再次回复老师:好的,老师再见~(第四次)(PS:如果和他人聊天,结束聊天的一方应该是自己,尤其是长辈或者受尊敬的人)

应用层的电子邮件系统

要素组成:系统由用户代理、邮件服务器、邮件传输协议三部分组成
工作模式:C/S
常见的邮件传输协议
SMTP:简单邮件传输协议(Simple Mail Transfer Protocol),用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地
**POP3:**邮局协议的第3个版本(Post Office Protocol 3),它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件。

应用层的DNS协议

作用:将便于人们使用的机器名字转换为IP地址,运行于UDP之上,采用的端口号是53
分布方式:中心分布与分层分布的特点
中心分布:访问一个DNS,容易单点故障,对通信容量要求高,维护成本很高
分层分布:权威DNS服务器——>顶级域DNS服务器——>根DNS服务器
这样做可以:
避免所有用户访问同一个DNS,降低负荷
便于分区域进行管理,同时分区域也减少了路径,有利于提升用户访问的速度
减少攻击针对性,减轻故障发生时的影响
DNS查询方式
递归查询:向本地服务器发起查询
迭代查询:一直顺层次查到底为迭代查询(亲力亲为

网络层—网际协议IP

Internet Protocol(网际互连协议)的缩写,用于解决互联网问题,实现大规模、异构网络的互联互通,另外分割顶层网络应用和底层网络技术之间的耦合关系。
IP协议的配套协议:
1)地址解析协议ARP
ARP协议用于在已知主机IP地址的情况下,寻找主机的MAC地址
MAC地址()
2)网际控制报文协议ICMP
用于差错控制,包括差错报告报文,询问报文
3)网际组管理协议IGMP(Internet Group Management Protocol)
主机与本地路由器之间使用IGMP来进行组播组成员信息的交互
IP地址与IP地址的划分
IP地址与MAC地址的区别?
MAC地址是物理地址,地理上唯一表示这台主机的,被数据链路层和物理层所使用。IP地址是网络上唯一识别这台主机的,被网络层及以上识别使用,是一种逻辑地址
地址分类
IP地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E。 全0和全1的都保留不用。
A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。
B类:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。
C类:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络。
D类:是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。一般用于多路广播用户[1] 。
E类:是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。
构造超网:
为什么有超网?
在地址分类的方法里面,不管哪一类地址,网络号和主机号所占的长度都是固定不变的,只要你确定了这个网络号,那就是固定长度的,这样用起来就很不灵活,而且也直接导致了IP地址资源的浪费
什么是超网
消除了传统的A类、B类和C类地址以及划分子网的概念,因而能更加有效地分配IPv4的地址空间,并且在新的IPv6使用之前容许互联网的规模继续增长。CIDR把32位的IP地址划分为前后两个部分。前面部分是“网络前缀”,用来指明网络,后面部分则用来指明主机。因此CIDR使IP地址从三级编址(使用子网掩码)又回到了两级编址,但这已是无分类的两级编址
IP 地址由网络号和主机号组成。

交换机与路由器的比较

处于的层数:
路由器 工作在第三层(网络层)
交换机工作在第二层(链路层)
主要工作:
路由器:寻址,转发(依靠 IP 地址)
交换机:过滤,转发(依靠 MAC 地址)

路由器内有一份路由表,里面有它的寻址信息(就像是一张地图),它收到网络层的数据报后,会根据路由表和选路算法将数据报转发到下一站(可能是路由器、交换机、目的主机)

交换机内有一张MAC表,里面存放着和它相连的所有设备的MAC地址,它会根据收到的数据帧的首部信息内的目的MAC地址在自己的表中查找
交换机与路由器的联系
每一个路由器与其之下连接的设备,其实构成一个局域网
交换机工作在路由器之下,就是也就是交换机工作在局域网内
交换机用于局域网内网的数据转发
路由器用于连接局域网和外网

多路访问问题

ALOHA
传输之前不侦听,一旦两帧同时试图占用信道,则全会发生冲突,两帧均被破坏
载波侦听多路协议(Carrier Sense Multiple Access Protocols(CSMA))
1)持续:发现空闲闭发送(持续监听信道)
2)非持续:先侦听信息,若信道忙,则等待随机时间后,再次侦听信道
3)分时隙:先侦听,若信道空闲,以概率P发送,或以1-P概率推迟至下个时隙
带冲突检测的CSMA:需要对信道进行竞争

路由

路由信息分全局信息和分散信息
全局信息:所有路由器都要掌握完整的拓扑结构与链路费用
分散信息:路由器仅掌握物理上相连邻居及链路的费用,邻居间通过信息交换,迭代运算来获得路径
路由算法
1.链路状态(LS)路由算法:
核心思想: 掌握全局信息,核心为迪杰斯特拉算法
2.距离向量(DV)路由算法
核心思想:掌握分散信息,每个节点不定时将自身的距离向量估算值发送给邻居,邻居收到后,根据动态规划方程进行向量估计
路由选择协议
RIP协议:基于距离向量算法,实际中较少使用。使用简单的度量:通往目的站点所需经过的链路数。取值为1~15,数值16表示无穷大。
OSPF协议:基于迪杰斯特拉算法,全称为Open Shortest Path First,即开放的最短路径优先协议,而最短路径优先(SPF)只是OSPF的核心思想

你可能感兴趣的:(计算机网络)