网络知识点总结

计算机网络技术总结

1.IP地址分类

分类 可用范围 用途
A类 1.0.0.0 - 127.255.255.255 A类网络有127个,每个网络能容纳1亿多个主机
B类 128.0.0.0 - 191.255.255.255 B类网络有16382个,每个网络能容纳6万多个主机
C类 192.0.0.0 - 223.255.255.255 C类网络可达209万余个,每个网络能容纳254个主机
D类 224.0.0.0 - 239.255.255.255 广播地址
E类 240.0.0.0 - 255.255.255.255 保留地址

2.数据封装与解封

数据发送处理过程

  1. 应用层将数据转交给传输层,传输层添加上TCP 的控制信息(称为TCP头部),这个数据单元称 为段(Segment),加入控制信息的过程称为封 装。然后,将段交给网络层。
  2. 网络层接收到段,再添加上IP头部,这个数据单 元称为包(Packet)。然后,将包交给数据链路 层。
  3. 数据链路层接收到包,在添加MAC头部和尾部, 这个数据单元称为帧(Frame)。然后将帧交给 物理层。
  4. 物理层将接收到的数据转化为比特流,然后在网 线中传输

数据接受处理过程

  1. 物理层接收到比特流,经过处理后将数据交给数 据链路层。
  2. 数据链路层将接收到的数据转化为数据帧,再去 除MAC头部和尾部,这个去除控制信息的过程称 为解封,然后将包交给网络层。
  3. 网络层接收到包,再去除IP头部,然后将段交给 传输层。
  4. 传输层接收到段,再去除TCP头部,然后将数据 交给应用层

综上所述,我们可以总结如下:

• 发送方的数据处理方式是从高层到底层,逐层进行数据封装。
• 接收方的数据处理方式是从底层到高层,逐层进行数据解封

3.TCP协议三次握手

三次握手.png

序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。
确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字节的编号;因此当前报文段最后一个字节的编号+1即为确认号。

TCP协议是面向连接的,所谓面向连接,就是当计算机双方 通信时必须经过先建立连接,然后传送数据,最后拆除连接的三个过程。

  • 第一次握手:客户端发送一个含SYN同步标志的TCP报文,SYN同步报文会指明客户端使用的端口以及TCP连接的初始序号;
  • 第二次握手:服务器在收到客户端的SYN报文后, 将返回一个SYN+ACK报文,表示客户端的请求被接收;同时TCP序号被加1;
  • 第三次握手:客户端返回一个确认报文ACK给服务器端,同样TCP序号被加1,至此一个TCP连接完成;然 后才开始通信的第二步,数据处理。

4.为什么是三次握手?不是两次、四次?

  • 三次握手可以组织重复历史连接的初始化(主要原因)
  • 三次握手才可以同步双方的初始化序列号
  • 三次握手才可以避免资源浪费

5.TCP协议四次挥手

四次挥手.png
  • 第一次挥手:客户端打算关闭连接,此时会发送一个TCP首部FIN被置为1的报文,即FIN报文,之后客户端进入FIN_WAIT_1状态;
  • 第二次挥手:服务端收到该报文后,就向客户端发送ACK应答报文,接着服务端进入CLOSED_WAIT状态;客户端收到服务端的ACK应答报文后,之后进入FIN_WAIT_2状态;
  • 第三次挥手:等待客户端处理完数据后,也像客户端发送FIN报文,之后客户端进入LAST_ACK状态;
  • 第四次挥手:客户端收到服务端的FIN报文后,回一个ACK应答报文,之后进入TIME_WAIT状态;服务器收到了ACK应答报文后,就进入了CLOSE状态,至此服务端已经完成连接的关闭;客户端在经过2MSL(最长报文段寿命)的时间后,自动进入CLOSE状态,至此客户端也完成连接的关闭。

6.TCP与UDP的区别

TCP和UDP的区别.png

总结:

TCP向上层提供面向连接的可靠服务 ,UDP向上层提供无连接不可靠服务;
虽然 UDP 并没有 TCP 传输来的准确,但是也能在很多实时性要求高的地方有所作为;
对数据准确性要求高,速度可以相对较慢的,可以选用TCP。

7.常见的状态码

404:客户端所访问的页面不存在
405:禁用请求中指定的方法
500:服务器内部发生错误

你可能感兴趣的:(网络知识点总结)