您的位置:首页 > 理论基础 > 计算机网络

网络基础知识总结

xredm 2017-07-26 16:14 67 查看
计算机网络的基础,可以简单的总结为以下条例;

Ⅰ.网络层次的划分
为了以便在更大范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联网参考模型”,即著名的OSI(Open System Interconnection)模型。
除了标准的OSI七层模型以外,常见的网络层划分还有TCP/IP四层协议,他们之间的对应关系如下图:




Ⅱ.OSI七层网络模型

不管是OSI七层模型还是TCP/IP的四层模型,每一层中都要有自己的专属协议,完成自己相应的工作以及上下层之间进行沟通。下面开始细说OSI的七层模型:

⑴物理层
物理层是最基础的网络结构,其由各种各样的设备组成,该层为上层协议提供了一个传输数据的可靠的物理媒体,简单的说,物理层可确保原始数据在各个物理媒体上传输。

⑵数据链路层
数据链路层是在物理层的基础上向网络层提供服务,其最基本的服务是将源自网络来的数据可靠的传输到相邻节点的目标机网络层。

该层的作用包括:物理地址寻址,数据的成帧、流量控制、数据的检错重发等;

主要协议:以太网协议;

重要的设备:网桥,交换机;

⑶网络层
网络层的目的是实现两个端系统之间的数据传输;

网络层中设计众多的协议:包括最重要的协议TCP/IP的核心协议——IP协议。IP协议仅仅提供不可靠、无连接的传输服务。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。

重要的设备:路由器

⑷传输层
第一个端到端,主机到主机的层次;传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题;

主要包括的协议:TCP协议、UDP协议;

重要设备:网关

⑸会话层
会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。

⑹表示层
表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。

⑺应用层
为操作系统或网络应用程序提供访问网络服务的接口。

Ⅲ.IP地址

IP地址由两部分组成:网络位+主机位

网络部分:用来描述指定主机所在网络范围

主机部分:用来描述指定主机在特定的网络范围中的具体位置;

⑴IP地址分类:(这里指的是IPv4协议定义的IPv4地址 整个地址由32位二进制构成)
A类:第一个二进制位为0,网络位8位;0.0.0.0~127.255.255.255

B类:前两个二进制位为10,网络位16位;128.0.0.0~191.255.255.255
C类:前三个二进制位为110,网络位24位;192.0.0.0~223.255.255.255
D类:224-239

E类:240-255

D类和E类没有划分网络位和主机位

⑵A、B、C类私有地址
为了解决IP地址枯竭的问题,增加IP地址的服用次数;可以重复使用,互联网无法为其路由

A类:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255

B类:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255

C类:192.168.0.0/16,范围是192.168.0.0~192.168.255.255

⑶保留地址(环回地址),不能被选择为其他主机配置使用的IP地址、
0.0.0.0~0.255.255.255

127.0.0.0~127.255.255.255

⑷自动分配地址段:
169.254.0.0~169.254.255.255

⑸网络地址:主机位全是0的地址(二进制位全为0)
例如:1.0.0.0 表示一个范围的名称
⑹广播地址:主机位全为1的地址
例如:1.255.255.255:作为目的地址代表整个网段中的所有IP地址

⑺定向广播地址:
255.255.255.255:作为目的地址代表整个IP地址栈中的所有IP地址

Ⅳ.子网掩码的划分
随着互联网应用的不断扩大,IPv4的弊端也逐渐暴露出来,即网络位占据太多,而主机位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。

子网划分实际上就是增加IP地址中的网络位的数量,减少主机位的数量;以此达到缩小广播域范围,减少逻辑网段中的主机数量,便于管理和安全策略的精准应用;

Ⅴ.TCP/IP协议
TCP/IP协议是Internet最基本的协议,是由网络层的IP协议和传输层的TCP协议组成;

TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务。TCP采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。

TCP报文的首部格式:




16位源端口
16位目的端口号
32位的序列号:范围(1 ~ 2^32-2)SEQ
第一个数据段的序列号为随机选择;
第二个数据段的序列号:前一个数据段的序列号+前一个数据段数据部分大小+1
...
32位的确认号:范围(2 ~ 2^32-1)
接收方用来对已经接受到的数据进行确认,并要求发送方继续传输后续数据段的标识;
一般来讲,确认号是发送方要发送的下一个数据段的序列号;
4位的首部长度,24字节~60字节
3位的保留标志位
3位的认证加密标志位
6位的TCP特性标志位:
urg:紧急指针标志位;如果该标志位置1,该数据的转发优先级将会被提高,以使得这样的数据被优先转发;如果多个数据的URG标志位同时置1,则后面16位的紧急指针越大的,优先级越高;
ACK:与连接管理有关的确认标志位;用来响应主动发起连接的建立请求或拆除请求的那一方;
PSH:推进位,如果该标志位置1,则在接收方可以将该数据不加入缓存队列,直接交给应用程序进程进行处理;
RST:重置连接标志位;在TCP连接耗尽或出现故障的时候,重新构件TCP连接的标志位;
SYN:同步标志位,用于在建立TCP连接的过程中,主动发生连接建立请求的那一方发起连接的信号;
FIN:结束连接标志位,如果该标志位置1,则另一方将指导此次TCP连接将被拆除,予以确认即可;
16位的窗口尺寸:主要实现流量协商及控制,可以防止网络拥塞;
滑动窗口:
拥塞窗口:
紧急窗口:

窗口的大小,意为着我们一次可以传输的数据段的数量;
16位的数据段校验和:保证数据的完整性的校验信息;
16位的紧急指针:在URG标志位都置1时,用于区分其优先级;
选项:数据段分段的时间戳

TCP协议的面向连接的特性:
1.连接建立;三次握手
1)发送方生成一个TCP首部数据,在首部中,源、目的端口由应用层协议给出;序列号为随机选择,确认号为0,标志位SYN置1;
2)接收方收到由发送方发来的SYN请求数据之后,判断自身能否完成对方所要求的数据通信;如果可以,则返回一个由其生成的TCP首部数据;源、目的端口与之前的数据正好相反;序列号随机,确认号为对方下一个数据的序列号,SYN和ACK两个标志位同时置1;
3)发送方在接受了对方的响应数据之后,检查其ACK标志位是否置1;如果为1再看SYN标志位是否置1,如果也是1,就予以确认;随即生成第二个TCP首部数据;序列号为前一个数据的序列号+1,确认号为接收方下一个数据的序列号;ACK标志位置1;
2.拆除连接,四次挥手
1)当所有的数据传输结束之后,由一方主动向另一方发送一个FIN标志位置1的TCP首部数据;
2)另一方收到这样的FIN置1的数据之后,回应一个ACK置1的确认数据
3)另一方主动发出一个FIN置1的数据,请求拆除连接
4)主动结束方予以确认,发送ACK置1的TCP首部数据;

Ⅵ.UDP协议
UDP用户数据协议,是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象;

UDP与TCP位于同一层;

UDP报头:

16位源端口:发送方在封装数据的时候选择的端口号,一般来讲,客户端发送的数据的源端口号是随机选择的空闲端口
16位目的端口:此次数据通信的接收方在传输层向应用层进行数据传递时所必须使用的端口号;一般来讲,数据的目的端口号是固定的;
16位UDP长度 :整个数据报的报文长度,包括首部;
16位UDP校验和:整个UDP数据报的校验和,一定程度上保证数据完整性;