本文内容皆为本人在学习过程中所学、所想的内容,如有不对之处,望大家谅解并指出以供修改。所学课程:B站 av9876107
第一章:计算机网络概述
相关概念
带宽 | 单位时间可以传输数据的多少 |
---|---|
ISP | Internet Service Provider,例如联通、移动 |
局域网 | 覆盖范围小,自己花钱购买设备,带宽固定,自行维护 |
广域网 | 覆盖范围高于局域网,带宽不固定(价格不同,带宽不同),有专门的维护人员 |
Internet | 由 ISP 组成 |
1、客户端数据帧的传输
- 数据包:数据、数据源IP、数据传输目标IP构成数据包
- 数据帧:数据包、数据包当前位置MAC地址、数据包转移目标MAC地址构成数据帧
- 网关、子网掩码等相关概念及作用后续学习会详细介绍
2、服务端的响应
- 服务端和相应端都存在缓存,即上图中存储456和3的小方格
- 相应包在传输至客户端后,客户端会返回给服务端一个响应以提示其接收成功并索取下一个数据包,此时表示一个数据包传输成功,缓存中在数据此时删除。有可能遇到线路阻塞造成数据包丢失,客户端没有返回服务端响应,此时服务端会在此给客户端发送同样请求。
3、OSI 参考模型
OSI:开放系统互联(Open System Interconnection),把网络通信的工作分为7层,分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。
应用层 | 产生网络流量的程序 |
---|---|
表示层 | 提供文本压缩、数据加密解密、语法选择、数据转换等服务 |
会话层 | 可以理解为 JAVA WEB中的Session,客户端程序与服务端应用之间的通话 |
传输层 | 可靠/不可靠传输、流量控制 |
网络层 | 传输路线的选择、IP地址的规划 |
数据链路层 | 帧的封装、透明传输、数据校验 |
物理层 | 物理接口标准、电气标准 |
注:TCP/IP中将应用层、表示层、会话层统一为应用层,将数据链路层、物理层统一为物理层。
4、网络性能指标
速率 | 主机在数字信道上传送数据位数的速率 |
---|---|
带宽 | 数字信道能够传送的最高数据率(能达到的最高速率) |
吞吐量 | 单位时间内通过某个网络的数据量 |
时延 | 发送时延+排队时延+处理时延+传输时延 (发送时延=数据块大小/带宽) |
时延带宽积 | 反映数据信道上数据量的多少(传输时延*带宽) |
往返时间 RRT | 请求发出到接收响应的时间 |
利用率 | 信道利用率、网络利用率 |
- 速率、带宽、吞吐量
第二章:物理层
解决问题:如何在连接各种计算机的传输媒体(光缆、网线)上传输数据
主要任务:确定传输媒体接口的一些特性(机械特性、电气特性)
1、数据通信基本知识
码元 | 在使用时间域的波形表示数字信号时,则表示不同离散数值的基本波形就形成码元 |
---|---|
单工通信 | 只有一个方向的通信。无线电广播与收音机之间就是单工通信 |
半双工通信 | 可以进行双向交互,但是同时只能有一个人发送消息 |
全双工通信 | 可以进行双向交互,并且可以同时发送信息 |
- 单/双极性,(不)归零码
- 曼彻斯特码:可以区分数据低电平和无数据传输时的低电平
- 差分曼彻斯特码:异或关系
实例:
2、物理层下面的传输媒体
- 导向传输媒体:双绞线、同轴电缆、光缆等
- 非导向传输媒体:短波、微波通信
3、信道复用技术
- 频分复用
发送端:
接收端: - 时分复用
- 统计时分复用
4、宽带接入技术
- ADSL:将频率拆分为三个频段,分别用于电话、网络上传、网络下载。而下载信道数高于上传信道数,因此称为非对称数字用户电路。
- HFC:光纤同轴混合网,利用有线电视进行部署,其根本还是利用频分复用技术,类似于ADSL。
第三章:数据链路层
解决问题:帧的形成,透明传输,差错控制
1、数据链路层的信道类型
- 点对点信道:一对一通信方式
- 广播信道:一对多通信方式,使用同轴电缆或集线器进行连接。
2、数据帧的封装过程
请求体传输至网络层后,该层为其添加请求源IP和目标地址IP形成数据包,之后传输至数据链路层,该层为其添加帧头、帧尾和校验位形成数据帧。
3、如何实现透明传输
帧头和帧尾都是由一段二进制码组成,接收方读取到对应序列就认为数据接收开始和结束。但是所传输数据中含有相同的二进制序列该如何解决?
4、如何实现差错控制
帧检验序列 FCS:Frame CHECK Sequence
循环冗余检验(CRC):只能检查出数据传输中出现了错误,但是并不能判断出具体的错误位置。
5、点对点传输协议(PPP协议)
字节流检验方式:同样使用转义字符进行控制
二进制流检验方式
6、广播通信
使用协议:载波监听多路访问/碰撞检测(CSMA/CD),该协议模式下只能进行半双工通讯。
7、媒体接入控制MAC
- 单播帧:一对一通讯
- 多播帧:一对多通讯
- 广播帧:一对全部通讯
8、MAC帧格式
9、优化以太网
集线器–>网桥–>交换机
网桥可以对计算机的MAC地址位置进行记录,并决定该通讯信号的通过与否。交换机是接口数量增多的网桥,可以实现全双工通讯,因为接口存在缓存,能够储存MAC帧。
10、虚拟局域网VLAN
在一个交换机中人为将接口分为不同局域网,导致不同虚拟局域网之间不能进行通信。
第四章:网络层
功能:只负责基于IP地址进行数据包的转发,不负责丢包重传与数据包的排序
协议:ARP、IP、ICMP、IGMP
1、OSI模型与硬件的对应及计算机的通信过程
段、包、帧、流
2、ABC类IP地址
- A类:0-127
- B类:127-192
- C类:192-224
可以根据IP地址具体类型自动推出子网掩码
3、几个特殊的IP地址
- 本机IP:127.0.0.1
- 没有配置自动获取IP,并且没有其他手段获得IP,微软自动分配IP:169.254.0.0
- 私网地址:10.0.0.0、172.16.0.0-172.31.0.0、192.168.0.0-192.168.255.0
4、子网划分技术
首先我们要打破一个惯性思维:子网掩码要么是0,要么是255
假如我们想将一个C类IP在划分出2个网段,这时我们可以在剩余的8位主机位中腾出1位作为网络段,其中0为网段1,1为网段2。剩余的7位作为主机位(0和255不能作为主机位),此时子网掩码为255.255.255.128
思考:如何将 192.168.0.2 配置到同单位的两台计算机中?
解决方案:利用子网掩码划分网段
计算机A:255.255.255.128(将主机段分为两个子网)
计算机B:255.255.255.192(将主机段分为四个子网)
5、ARP协议
作用:根据IP获取目标MAC地址
过程:获取数据包中目标IP地址与子网掩码进行与运算,判断目标与源是否在同一网段。若在同一网段,通过ARP协议广播获取目标MAC地址;若不在同一网段,则通过ARP广播获取网关MAC地址。
6、PING命令中的TTL
数据包在传输过程中的存活时间,每经过一个路由器TTL值减一,当减到0时数据包消失。
7、ICMP协议(Internet Control Message Protocol)
它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
主要是利用ping、pathping等命令查看网络通路上的问题,ICMP协议可以将错误信息返回以供我们进行网络排错。
8、动态路由RIP(Routing Information Protocol)内部网关协议
每隔一段时间在网络中广播自身所链接的网段,其他路由器也可以传递此通知并记录到达该网段要经历几跳,在多条线路中选择跳数最少的一条。
9、动态路由OSPF(Open Shortest Path First)内部网关协议
该协议也是服务于动态路由,与RIP协议不同的是,该协议选择最优路径的原则是带宽,并且该协议路由表的改变是触发式的,即当路由器状态改变或网络状态改变时才会重新计算路由表。
10、BGP(Border Gateway Protocol)外部网关协议
作用于各个自治系统之间的通讯
11、VPN(Virtual Private Network)虚拟专用网络技术
通过VPN服务器,使得通过验证的外部网络中的计算机获取一个内部网络的IP地址,相当于此电脑搬进了内部网络中。
12、NAT/PAT(Network/Port Address Translation)网络/端口转换协议
可以实现外部网络对内部网络资源的访问,通过PAT预先设定当前IP:Port对应内部某网络资源,外部网络可以实现访问外部IP获取内部资源的能力。
第五章:传输层
TCP:可靠传输协议,将数据分段、编号,进行流量控制,与服务端建立会话
UDP:不可靠传输,通过一个数据包进行传输,不建立会话,可用于多播系统
1、应用层协议与传输层协议的关系
- HTTP=TCP:80
- HTTPS=TCP:143
- FTP=TCP:21
- SMTP=TOP:25
- POP3=TCP:110
- DNS=UDP:53
服务运行后再TCP/UDP的某个端口监听客户端请求
2、TCP协议头
序号:当前数据包第一个数据在数据源的位置(位于第几个字节)
确认号:接收端回复发送端接受成功并提示其发送下一数据包,确认号等于下一数据包序号
URG:允许发送方将当前数据包优先发送
PST:允许接收方将当前数据包优先接收
SYN:当服务端客户端之间建立连接时,该位为1
3、TCP协议如何实现流量控制
通过在传输过程中,根据接收窗口的状态动态控制发送窗口的大小,限制发送数据的速率
4、网络阻塞
慢开始
快重传与快恢复
5、TCP三次握手
- 客户端发送建立连接请求 SYN=1 ACK=0
- 服务端接受到请求后进行响应 SYN=1 ACK=1
- 客户端对服务器端响应进行再次响应 SYN=0 ACK=1
为什么选择三次握手而不是两次?
为了避免第一次客户端发送多个请求而延时到达服务端,玩成服务端进行长时间等待连接的建立。详细情况参考SYN攻击。
第六章:传输层
1、DNS
作用:进行域名解析,根据域名查找相应IP
先查找子服务器(例如只负责.com对应关系的子服务器),若子服务器没有对应结果则在根服务器中进行查找,查找结果存在缓存。
2、DHCP(Dynamic Host Configuration Protocol)动态主机配置协议
作用:为计算机动态配置IP地址,可以是局域网也可以是跨网段分配,DHCP服务器必须使用静态IP
配置过程:当某台计算器使用动态获取IP地址时,会在网络中发送一个广播包,DHCP服务器接收到广播后会为该计算机分配一个IP地址(若有多台DHCP服务器,则只选择一个IP,其余IP回到原DHCP服务器IP池),若要实现跨网段分配则需在路由器中配置一个"ip helper-adderss"用以指向对应DHCP服务器。
3、FTP(File Transfer Protocol)文件传输协议
1、先通过控制进程使客户端与服务器端建立连接(21端口)
2、在通过其他端口进行数据传输
- 主动传输:FTP客户端通知服务器开启了哪一个端口等待数据的传输,服务器主动连接客户端(服务器端使用20端口)
- 被动传输:FTP服务器开启一定范围内的某个端口并通知客户端连接,服务器被动等待客户端连接
4、Telnet协议
可以通过命令行远程连接其他计算机,只要对方存在该服务并且服务开启。