上网可以干什么较全归纳(计算机网络知识点全面总结(这也太全了吧!))

一、计算机网络概述




1.1 计算机网络的分类

按网络范围分:广域网、城域网、局域网;

根据网络用户:公网、专网。

1.2 计算机网络的层次结构




TCP/IP四层模型与OSI体系结构的比较:




1.3 层次结构设计的基本原则
  • 这些层是相互独立的;
  • 每一层都需要足够灵活;
  • 这些层是完全分离的。



  • 1.4 计算机网络的性能指标

    速率:bps=bit/s时延:传输时延、传播时延、排队时延、处理时延往返时间RTT:端到端通信中数据报文往返一次的时间。

    二、物理层

    物理层的功能:连接不同的物理设备,传输比特流。这一层为上层协议传输数据提供了可靠的物理介质。简单来说,物理层保证原始数据可以在各种物理介质上传输。

    物理层设备:

  • 中继器【中继器,也叫放大器】:同一局域网的再生信号;两个端口的网段必须具有相同的协议;5-4-3规定:10BASE-5以太网中,最多串联4个中继器,5段只能有3个连接的主机;
  • Hub:同一局域网(多端口中继器)信号的再生放大;半双工,不能隔离冲突域或广播域。
  • 信道的基本概念:信道是单向传递信息的介质,通信电路包括发送信道和接收信道。

  • 单工通信信道:只能在一个方向进行通信而没有反方向反馈的信道;
  • 半双工通信通道:双方可以发送和接收信息,但不能同时发送或接收信息;
  • 全双工通信信道:双方可以同时收发。
  • 三、数据链路层3.1 数据链路层概述

    数据链路层在物理层提供服务的基础上为网络层提供服务,其最基本的服务是将数据从网络层可靠地传输到邻居节点的目标网络层。数据链路层通过不可靠的物理介质提供可靠的传输。

    这一层的功能包括:物理地址寻址、数据成帧、流量控制、数据检错重传等。

    关于数据链路层的重要知识点:

  • 数据链路层为网络层提供可靠的数据传输;
  • 基本数据单元是帧;
  • 主要协议:以太网协议;
  • 两个重要的设备名称:网桥和交换机。
  • 封装成帧:“帧”是数据链路层数据的基本单位;




    透明传输:“透明”是指即使控制字符在帧数据中,也应被视为不存在。也就是说,转义字符ESC被添加在控制字符之前。



    3.2 数据链路层的差错监测

    错误检测:奇偶校验码,循环冗余校验码

  • 奇偶校验码限制:当有两个错误时,无法检测到任何错误。
  • 循环冗余校验码:根据传输或保存的数据生成固定比特校验码。
  • 3.3 最大传输单元MTU

    MTU(最大传输单元(Maximum Transmission Unit,MTU),数据链路层的数据帧不是无限的,数据帧的长度受到MTU的限制。

    路径MTU:由链路中MTU的最小值决定。



    3.4 以太网协议详解

    MAC地址:每台设备都有一个唯一的48位MAC地址,用十六进制表示。

    以太网协议:这是一种广泛使用的局域网技术,也是一种应用于数据链路层的协议。利用以太网可以完成相邻设备的数据帧传输;



    局域网分类:

    以太网以太网IEEE802.3:

  • 以太网是第一个广泛部署的高速局域网。
  • 以太网数据速率很快。
  • 以太网硬件便宜,网络成本低。
  • 以太网帧结构:
  • 类型:标识上层协议(2字节)
  • 目的地和源地址:MAC地址(每个6字节)
  • 数据:上层协议封装包(46~1500字节)
  • CRC:循环冗余码(4字节)
  • 最短的以太网帧:最短的以太网帧是64字节;除数据部分以外的以太网帧18字节;最短的数据是46字节;
  • MAC地址(物理地址、局域网地址)
  • MAC地址长度为6字节,48位;
  • MAC地址是唯一的,每个网卡对应一个MAC地址;
  • 通常采用十六进制记数法,每个字节代表一个十六进制数,用-或:;
  • MAC广播地址:FF-FF-FF-FF-FF-FF。
  • 四、网络层

    网络层的目的是实现两端系统之间透明的数据传输,具体功能包括寻址和路由、连接建立、维护和终止等。数据交换技术是报文交换(基本被包代替):采用存储转发方式,数据交换单位是报文。

    网络层涉及的协议很多,其中最重要的协议,也是TCP/IP-IP协议的核心协议。IP协议非常简单,只提供不可靠和无连接的传输服务。IP协议的主要功能是无连接的数据报传输、数据报路由和差错控制。

    用于实现其功能的其他IP协议包括ARP、RARP、ICMP和IGMP。我们将在下一部分总结具体的协议,重点是网络层,如下所示:

  • 网络层负责在子网之间路由数据包。此外,网络层还可以实现拥塞控制和互联网互联的功能。
  • 基本数据单元是IP数据报;
  • 主要协议包括:
  • IP协议(互联网协议);
  • ICMP协议(互联网控制消息协议);
  • ARP(地址解析协议);
  • RARP协议(反向地址解析协议)。
  • 重要设备:路由器。


  • 路由器相关协议



    4.1 IP协议详解

    IP互联网协议是互联网网络层的核心协议。虚拟互联网的出现:实际的计算机网络是复杂的;物理设备通过使用IP协议屏蔽物理网络之间的差异;当网络中的主机使用IP协议进行连接时,不需要关注网络的细节,就形成了虚拟网络。



    IP协议使复杂的实际网络成为一个虚拟的互联网络;解决了虚拟网络中数据报传输路径的问题。



    其中,版本是指IP协议的版本,占4位,如IPv4、IPv6;第一部分的长度表示IP头的长度,占4位,最大值为15位;总长度代表IP数据报的总长度,占16位,最大值为65535位;TTL表示IP数据报文在网络中的使用寿命,占8位;协议表示IP数据承载的具体数据是什么协议,比如TCP和UDP。

    4.2 IP协议的转发流程



    4.3 IP地址的子网划分




    A类(8个网络号+24个主机号)、B类(16个网络号+16个主机号)和C类(24个网络号+8个主机号)可以用来标识网络中的主机或路由器。D类地址用作组播地址,E类地址保留。




    4.4 网络地址转换NAT技术

    用在私有网络中,多台主机通过一个公共IP访问Internet,它减缓了IP地址的消耗,但增加了网络通信的复杂性。

    NAT 工作原理:

    来自内网的IP数据报将其IP地址替换为NAT服务器拥有的合法公有IP地址,并将替换关系记录在NAT转换表中;

    从公网返回的IP数据报根据其目的IP地址搜索NAT转换表,用检索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络。

    4.5 ARP协议与RARP协议

    地址解析协议ARP(Address Resolution Protocol):提供网卡(网卡)IP地址与对应硬件地址的动态映射。网络层32位地址可以转换为数据链路层MAC48位地址。

    ARP是即插即用的,自动建立一个ARP表,不需要系统管理员配置。



    RARP(反向地址解析协议)是指反向地址解析协议,可以将数据链路层的48位MAC48地址转换为网络层的32位地址。

    4.6 ICMP协议详解

    互联网控制消息协议可以报告错误消息或异常情况,ICMP消息封装在IP数据报中。



    ICMP协议的应用:
  • Ping应用:网络故障排除;
  • Traceroute应用:可以检测网络中IP数据报的路径。
  • 4.7网络层的路由概述

    对路由算法的要求:正确完整,计算尽可能简单,适应网络的变化,稳定公平。

    自治系统AS:指一个管理组织下的一组网络设备。AS内部网络自主管理,对外提供一个或多个出入口。自治系统的内部路由协议是内部网关协议,如RIP和OSPF。自治系统外部的路由协议是外部网关协议,如BGP。

    静态路由:手动配置,难度和复杂度高;

    动态路由:

  • 链路路由算法LS:发送到所有隔壁路由的信息收敛快;全局路由算法,每台路由器计算路由时,需要构建整个网络拓扑图;利用Dijkstra算法寻找从源网络到目的网络的最短路径;Dijkstra算法
  • 距离向量路由算法DV:发送到所有隔壁路由的信息收敛慢,会有环路;是基本的贝尔曼-福特方程(简称B-F方程);
  • 4.8 内部网关路由协议之RIP协议

    路由信息协议RIP (应用层],基于距离向量的路由算法,小型AS(自治系统),适用于小型网络;RIP数据包,封装到UDP数据报中。

    RIP协议特性:
  • RIP在测量路径时使用跳数(每台路由器都维护自己与其它路由器之间的距离记录);
  • RIP的开销是在源路由器和目的子网之间定义的;
  • RIP仅限于不超过15跳的网络直径;
  • 和隔壁交换所有信息,30主动广播一次。
  • 4.9 内部网关路由协议之OSPF协议

    开放式最短路径优先协议OSPF(网络层),基于链路状态的路由选择算法(Dijkstra算法),大规模AS,适用于大规模网络,都直接封装在IP数据报传输中。

    OSPF协议优点:
  • 安全性;
  • 支持多个相同的费用路径;
  • 支持差异化的费用计量;
  • 支持单播路由和组播路由;
  • 分层路由。
  • 与OSPF的比较(路由算法决定其性质):



    4.10外部网关路由协议之BGP协议

    BGP(边界网关协议)边缘网关协议【应用层】:是运行在AS之间的协议,寻找一个好的路由:第一次交换所有的信息,然后只交换改变的部分,BGP封装到TCP段。

    五、传输层

    第一个端到端,即主机到主机的层次结构。传输层负责将上层数据分段,并提供端到端、可靠或不可靠的传输。此外,传输层必须处理端到端的错误控制和流量控制。

    传输层的任务是根据通信子网的特点,最大限度地利用网络资源,提供两端系统会话层之间建立、维护和取消传输连接的功能,负责可靠的端到端数据传输。在这一层,信息传输的协议数据单元称为段或消息。

    网络层只根据网络地址将数据包从源节点传输到目的节点,而传输层负责将数据可靠地传输到相应的端口。

    有关网络层的重点:
  • 传输层负责对上层数据进行分段,提供端到端、可靠或不可靠的传输以及端到端的差错控制和流量控制问题;
  • 主要协议包括:TCP(传输控制协议)、UDP(用户数据报协议);
  • 重要设备:网关。




  • 5.1 UDP协议详解

    UDP(用户数据报协议)是一个非常简单的协议。



    UDP协议的特征:

  • UDP是一种无连接协议;
  • UDP不能保证可靠的传递数据;
  • UDP是面向消息传输的;
  • UDP没有拥塞控制;
  • UDP报头开销非常小。
  • UDP数据报结构:

    报头:8B,四个字段/2B[源端口|目的端口| UDP长度|校验和]数据字段:应用数据



    5.2 TCP协议详解

    Tcp(传输控制协议)是计算机网络中非常复杂的协议。



    TCP协议的功能:
  • 对应用层消息进行分段和重组;
  • 应用层的重用和分解;
  • 实现端到端的流量控制;
  • 拥塞控制;
  • 传输层寻址;
  • 接收消息的错误检测(报头和数据部分的错误检测);
  • 实现进程间端到端的可靠数据传输控制。
  • TCP协议的特点:
  • TCP是面向连接的协议;
  • TCP是面向字节流的协议;
  • 一个TCP连接有两端,即点对点通信;
  • TCP提供可靠的传输服务;
  • TCP协议提供全双工通信(每个TCP连接只能一对一);
  • 5.2.1 TCP报文段结构:

    最大数据段长度:封装在数据段中的应用层数据的最大长度。



    TCP标头:

  • 序列号字段:TCP的序列号是对每个应用层数据的每个字节进行编号。
  • 确认序列号字段:要从对方接收的数据的字节序列号,即该序列号对应的字节还没有收到。由ack_seq标识;
  • TCP数据段报头的最短长度为20B,最长为60字节。但是长度必须是4B的整数倍。
  • TCP标记的作用:




    5.3 可靠传输的基本原理

    基本原则:

  • 数据传输中传输信道不可靠可能出现的情况:误码、乱序、重传、丢失。
  • 基于不可靠信道实现可靠数据传输的措施:
  • 检错:通过编码实现数据包传输过程中的比特错误检测和确认:接收方将接收状态重传反馈给发送方:发送方重新发送接收方没有正确接收的数据的序列号:保证数据按顺序提交给定时器:解决数据丢失问题;

    上网可以干什么

    Stop协议:是最简单可靠的传输协议,但是这种协议的信道利用率不高。

    ARQ(自动重复请求ARQ)协议:滑动窗口+累积确认,大大提高了信道的利用率。

    5.3.1TCP协议的可靠传输

    基于连续ARQ协议,在某些情况下,重传的效率并不高,一些已经成功接收的字节会被重复发送。

    5.3.2 TCP协议的流量控制

    流量控制:让发送方不要发送太快。TCP协议使用滑动窗口实现流量控制。



    5.4 TCP协议的拥塞控制

    拥塞控制和流量控制的区别:流量控制考虑的是点对点流量的控制,而拥塞控制考虑的是全网,是全局的考虑。拥塞控制的方法:慢启动算法+拥塞避免算法。

    慢启动和拥塞避免:

  • 【慢启动】拥塞窗口从1开始指数增长;
  • 当达到阈值时,进入【拥塞避免】,变成+1增长;
  • [超时],阈值变为当前cwnd的一半(不能
  • 从[慢速启动]开始,拥塞窗口从1开始呈指数增长。


  • 快速重传和快速恢复:

  • 发送方连续收到3个冗余ACK,不等待定时器超时就执行【快速重传】;
  • 执行【快速恢复】,阈值变为当前cwnd的一半(不能


  • 5.5 TCP连接的三次握手(重要)

    TCP三次握手使用说明:




    面试官:为什么需要三次握手?

  • 第一次握手:客户发送请求,此时服务器知道客户可以发送了;
  • 第二次握手:服务器发送确认,此时客户知道服务器可以收发;
  • 三次握手:客户发送确认,此时服务器知道客户可以收到。
  • 建立连接(三次握手):

    第一次:客户向服务器发送连接请求段,建立连接请求控制段(SYN=1),表示发送报文段第一个数据字节的序号为X,这个序号代表整个报文段的序号(SEQ = X);客户端进入SYN_SEND(同步发送状态);

    第二次:服务器发回确认消息段,同意建立新的连接确认段(SYN=1),确认序列号字段有效(ACK=1)。服务器告诉客户端消息段的序列号为y(seq=y),表示服务器已经收到客户端X序列号的消息段,准备接受客户端x+1序列号的消息段(ACK _ SEQ = X+1);由服务器监听进入SYN_RCVD(同步接收状态);

    第三次:客户确认服务器连接相同。确认序列号字段有效(ACK=1),客户这次的报文段序列号为x+1(seq=x+1),客户期望接受服务器序列号为y+1的报文段(ACK _ seq = y+1);当客户端发送ack时,客户端进入建立状态;当服务收到客户发送的ack时,也进入建立状态;三次握手便携式数据;




    5.6 TCP连接的四次挥手(重要)

    释放(四波)

    第一次:客户向服务器发送释放连接的消息段,当发送方的数据结束时,请求释放连接(FIN=1),发送的第一个数据字节的序号为x(seq = x);客户端状态从ESTABLISHED进入FIN_WAIT_1(停止等待1状态);

    第二次:服务器向客户发送确认段,确认字体大小段有效(ACK=1),服务器发送的数据序号为y(seq=y),服务器期望从客户接收的数据序号为x+1(ACK _ seq = x+1);服务器状态从ESTABLISHED更改为CLOSE _ WAIT客户端收到ACK段后,从FIN_WAIT_1进入FIN _ WAIT _ 2;

    第三次:服务器向客户发送释放连接的消息段,请求释放连接(FIN=1),确认字体大小段有效(ACK=1),表示服务器期望接收序列号为x+1的客户数据(ACK _ seq = x+1);表示自身发送的第一个字节的序列号为Y+1(SEQ = Y+1);服务器状态从CLOSE_WAIT变为LAST_ACK(最后确认状态);

    第四次:客户向服务器发送确认段,确认字体大小段有效(ACK=1),表示客户发送的数据序列号为x+1(seq=x+1),表示客户期望收到的服务器数据序列号为Y+1+1(ACK _ SEQ = Y+1+1);客户端状态从FIN_WAIT_2变为TIME_WAIT,等待2MSL时间,进入关闭状态;收到最后一个ACK后,服务器进入关闭状态;由LAST _ ACK







    为什么我要等2MSL?

  • 最后一条消息未被确认;
  • 确保发送方的ACK能够到达接收方;
  • 如果在2MSL时间内没有收到,接收方将重新发送;
  • 确保当前连接的所有消息都已过期。
  • 六、应用层

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

  • 数据传输的基本单位是消息;
  • 主要协议包括:FTP(文件传输协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传输协议)、POP3协议(邮局协议)、HTTP协议(超文本传输协议)。
  • 6.1 DNS详解

    DNS(域名系统)[C/S,UDP,port 53]:解决IP地址复杂难记的问题,存储并完成辖区内主机的域名到IP地址的映射。

    域名解析的顺序:

  • [1]浏览器缓存,
  • [2]找到这台机器的主机文件,
  • [3]路由缓存,
  • [4]查找DNS服务器(本地域名、顶级域名和根域名)-& gt;迭代、递归查询。
  • IP—& gt;DNS服务->记忆友好的域名
  • 域名由点、字母、数字组成,分为顶级域名(com、cn、net、gov、org)、二级域名(百度、淘宝、qq、阿里巴巴)、三级域名(www)(12-2-0852)。



  • 6.2 DHCP协议详解

    DHCP(动态配置协议):是一种局域网协议,也是使用UDP协议的应用层协议。功能:自动为临时接入局域网的用户分配IP地址。

    6.3 HTTP协议详解

    文件传输协议(FTP):控制连接(端口21):7位ASCII码格式的传输控制信息(连接,传输请求)。会议期间一直开放。

    HTTP(超文本传输协议)[TCP,端口80]:是一种可靠的数据传输协议。在浏览器向服务器发送和接收消息之前,会建立一个TCP连接。http使用TCP连接(HTTP本身没有连接)。

    HTTP请求消息模式:

  • GET:请求指定的页面信息并返回实体主体;
  • POST:将数据提交给指定的资源进行处理;
  • 删除:请求服务器删除指定页面;
  • HEAD:请求读取URL标识的信息头,只返回消息头;
  • 操作:请求关于一些选项的信息;
  • PUT:将文档存储在指定的URL下。





  • 6 . 3 . 1 HTTP工作的结构




    6.3.2 HTTPS协议详解

    HTTPS(安全)是一种端口号为443的安全HTTP协议。SSL或TLS基于HTTP协议,提供加密处理数据、认证对方身份和数据完整性保护。

    https://blog.csdn.net/Royalic/article/details/119985591的原始链接

    您可以还会对下面的文章感兴趣

    使用微信扫描二维码后

    点击右上角发送给好友