0


网络安全入门学习第九课——计算机网络基础

文章目录


一、网路通信三要素

1、IP地址:互联网协议地址,分为公网地址和私有地址

1.1、公网地址的范围

  • A类:地址范围1.0.0.0~127.255.255.255,主要分配给主机数量多、局域网数量少的大型网络;
  • B类:地址范围为128.0.0.0至191.255.255.255,一般为国际大公司及政府机构使用;
  • C类:地址范围为192.0.0.0至223.255.255.255,为一般小型公司校园网研究机构;

1.2、私网地址的范围

  • A类地址:10.0.0.0~10.255.255.255
  • B类地址:172.16.0.0~172.31.255.255
  • C类地址:192.168.0.0~192.168.255.255

2、端口

2.1、周知端口:

  • 0~1023,被预先定义的知名应用占用(如:HTTP占用 80,FTP占用21)

2.2、注册端口:

  • 1024~49151,分配给用户进程或某些应用程序。(如:Tomcat占 用8080, MySQL占用3306)

2.3、动态端口:

  • 49152到65535,之所以称为动态端口,是因为它 一般不固定分配某种进程, 而是动态分配。

3、协议

  • 数据在网络中传输的规则,常见的协议有UDP协议和TCP协议。
  • 通信协议:计算机网络中,连接和通信数据的规则被称为网络通信协议。

二、两个终端间通信的五大要素

  • 1、发送者
  • 2、接收者
  • 3、介质
  • 4、数据
  • 5、协议通信时双向的。主机A要发送数据给主机B,主机B也要回复。

三、设备

  • 交换机:可以实现多台主机互联,分为广域交换机和局域网交换机
  • 路由器:可以跨网段通信

四、企业网络基本架构

在这里插入图片描述


五、OSI模型(理论上是七层模型,实际使用的五层模型)

1、七层模型结构

在这里插入图片描述

  • 通俗易懂就是:小明要寄快递(应用层),把快递打包(表示层),选择快递公司(会话层),选择快递保价还是不保价(传输层),填写寄件的目的地址(网络层),快递公司开始运输并且打电话叫收件人来收件(数据链路层),收件人处理快递方式(物理层)

2、TCP/IP模型

在这里插入图片描述

3、各层对应的

在这里插入图片描述

  • 3.1、应用层、表示层、会话层(应用层):HTTP、FTP、DNS、SMTP,应用程序要关注的:浏览器、邮箱,程序员一般是在这一层开发。
  • 3.2、传输层:TCP、UDP这两种,选择数据传输的方式。
  • 3.3、网络层:IP、ICMP、ARP、RARP,封装源和目的IP,进行路径选择。
  • 3.4、数据链路层:MAC(物理地址)
  • 3.5、物理层:常见为IEEE 802中定义的规范

六、数据封装(从上往下一级一级封装)

在这里插入图片描述

七、数据链路层

数据链路层功能是:向该层用户提供透明的和可靠的数据传送服务。

  • 1、透明性是指该层上传输的数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义;可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心。
  • 2、在物理层中这些情况都可能发生,在数据链路层中必须用纠错码来检错与纠错。
  • 3、数据链路层是基于MAC地址进行帧的传输。(洪泛攻击)

八、数据链路层——以太网帧格式

在这里插入图片描述

1、Ethernet_II

在这里插入图片描述

1.1、D.MAC:目的地址、C.MAC:源地址

  • 两者的区别:*假设:A和B通信 A——>B Refer——>host C.MAC——>D.MAC

1.2、Type

  • 标识符。使用的协议的标识符,用于区别上层使用什么协议。例如:0x0800(IP协议)、0x0806(ARP协议)

1.3、Data

  • 也称为载荷。是所传输的上层数据帧,而这个数据帧的长度在64-1518字节之间。其中Windows最长在1518字节,Linux数据最长在1500个字节

1.4、FCS

  • 帧检验的序列,相当于校验码。用来保证数据完整性,检验传输的数据有没有出错,一般长度是4个字节。

2、以太网的MAC地址

在这里插入图片描述

  • MAC地址由两部分组成,分别是供应商代码(OUI)和序列号。其中前24位代表该供应商代码,由IEEE管理和分配。剩下的24位序列号由厂商自己分配。

3、MAC地址(单播、组播、广播)

  • 3.1、单播:就是一对一通信。其中就是通过MAC地址识别通信目标的。
  • 3.2、组播:一对多,在以太网中的部分主机通信,相当于只跟我关系好的通信。
  • 3.3、广播:一对多,以太网中的所有主机都能接收,相当于是大喇叭。

4、数据帧的传输

在这里插入图片描述

  • 第一步:主机检查帧头中的目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是 本机侦听的组播或广播MAC地址,则主机会丢弃收到的帧。如果目的MAC地址是本机MAC 地址,则接收该帧。
  • 第二步:检查帧校验序列(FCS)字段,并与本机计算的值对比来确定帧在传输过程中 是否保持了完整性。
  • 第三步:如果检查通过,就会剥离帧头和帧尾,然后根据帧头中的Type字段来决定把数 据发送到哪个上层协议进行后续处理。

5、数据帧的发送和接收

在这里插入图片描述

  • 当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉后送往上层协议。
  • 其中就是通过Type来判断发送给上层哪个协议来处理。

九、网络层

网络层位于数据链路层与传输层之间。网络层中包许多协议,其中最为重要的协议就是IP协议。网络层提供了IP路由功能。理解IP路由除了要熟悉IP协议的工作机制之外,还必须理解IP编址以及如何合理地使用IP地址来设计网络。


十、网络层——协议

1、ICMP

  • 控制报文协议。面向无连接的协议,对应UDP,一般用来传输报错的信息(报告错误,交换机受限制等相关信息的传递)

2、ARP

  • 地址解析协议。根据IP地址来获得MAC地址的(IP——>ARP——>物理地址)。
  • 常见攻击手法有ARP欺骗,因为ARP协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自 主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入 本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法 到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。(协议缺少核验导致的)

3、RARP

  • 反向地址转换协议。假如一个设备不知道它自己的IP地址,但是知道自己的物理地址(物理地址——>RARP——>IP)。

十一、IP地址

1、IP报文头部

在这里插入图片描述
在这里插入图片描述

1.1、TTL:time to live,报文的生存时间,防止协议呈环状。

  • 报文在网段间转发时,如果网络设备上的路由规划不合理,就可能会出现环路,导致报文在网络中无限循环,无法到达目的端。环路发生后,所有发往这个目的地的报文都会被循环转发,随着这种报文逐渐增多,网络将会发生拥塞。为避免环路导致的网络拥塞,IP报文头中包含一个生存时间TTL(Time To Live)字段。报文每经过一台三层设备,TTL值减1。初始TTL值由源端设备设置。当报文中的TTL降为0时,报文会被丢弃。同时,丢弃报文的设备会根据报文头中的源IP地址向源端发送ICMP错误消息。
  • 默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255,当数据包传送到一个路由器之后,TTL就自动减1, 所以:52 = 系统TTL默认值 - 经过的路由个数。

1.2、Protocol

  • 协议号,其中:TCP(6) 、UDP(17)、 ICMP(1) 、IGMP(2)

2、网络通信

  • 同网段不过路由,不同网段需要路由

3、IP编址

在这里插入图片描述

  • 3.1、IP = 网络位 + 主机位
  • 3.2、同网段的IP地址数量是256-2=254个,减去的两个分别是网络地址(00000000)和广播地址(11111111)

4、IP地址类型

分为两大类:私有地址和特殊地址

4.1、私有地址范围

10.0.0.010.255.255.255
172.16.0.0
172.31.255.255
192.168.0.0~192.168.255.255

4.2、特殊地址范围

127.0.0.0 ~ 127.255.255.255
0.0.0.0
255.255.255.255

5、子网掩码

在这里插入图片描述

在这里插入图片描述

5.1、子网掩码作用

  • 用来区分IP地址的网络号与主机号。用来将网络分割为多个子网,减少网络上的通信量,节省IP地址,便于管理。

5.2、常见的IP地址包含子网掩码写法

  • 192.168.1.1/24,后面的24就是代表子网掩码的网络位,是C类掩码。

5.3、地址规划

在这里插入图片描述

  • 网络地址 = IP地址 * 子网掩码
  • 可用的主机数量就是子网掩码主机位0的个数,如上图是:2的8次方-2=256-2=254个。

5.4、缺省子网掩码:会导致地址使用率过低

5.5、变长子网掩码:解决地址使用率过低

在这里插入图片描述
上图IP地址书写一般是:

192.168.1.7/25

网络位借用了一位主机位

,把一个子网划分为两个子网,分别是子网掩码:255.255.255.128 和 255.255.255.0,每一个子网的主机数量是2的7次方-2 = 128 – 2 = 126个 。

十二、网关

在这里插入图片描述

  • 网关用来转发来自不同网段之间的数据包。

十三、传输层

传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol )和 用户数据包协议UDP(User Datagram Protocol)。

1、TCP协议特点

  • 1.1、使用TCP协议,必须双方先建立连接,它是一种面向连接的可靠通信协议。
  • 1.2、传输前,采用“三次握手”方式建立连接,所以是可靠的 。
  • 1.3、在连接中可进行大数据量的传输 。
  • 1.4、连接、发送数据都需要确认,且传输完毕后,还需释放已建立的连接,通信效率较低。

2、TCP协议通信场景

  • 对信息安全要求较高的场景,例如:文件下载、金融等数据通信。

3、TCP端口号,端口号用来区分不同的网络服务

在这里插入图片描述

4、TCP的头部

在这里插入图片描述

在这里插入图片描述

4.1、16位端口号

告知主机该报文段是来自哪里(源端口)以及传给哪个上层协议或应用程序(目的端口)的。请注意:进行TCP通信时,客户端通常使用系统自动选择的临时端口号,而服务器则使用知名服务端口号。

4.2、32位序号(seq)

一次TCP通信(从TCP连接建立到断开)过程中某一个传输方向上的字节流的每个字节的编号。可为随机数生成。

4.3、32位确认号(ack)

用作对另一方发送来的TCP报文段的响应。其值是收到的TCP报文段的序号值加1。

4.4、4位数据偏移(头部长度)

标识该TCP头部有多少个32bit字(4字节)。因为4位最大能表示15,所以TCP头部最长是60字节。

4.5、6位标志位:

4.5.1、URG
  • 表示紧急指针是否有效
4.5.2、ACK
  • 表示确认号是否有效,ACK = 1时才有效,,表示期望收到的下一个字节的序号
4.5.3、PSH
  • 提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后续数据腾出空间(如果应用程序不将接收到的数据读走,它们就会一直停留在TCP接收缓冲区中)
4.5.4、RST
  • 表示要求对方重新建立连接,我们称携带RST标志的TCP报文段为复位报文段
4.5.5、SYN
  • 表示请求建立一个连接。我们称携带SYN标志的TCP报文段为同步报文段
4.5.6、FIN
  • 表示:通知对方本端要关闭连接了,我们称携带FIN的TCP报文段为结束报文段

4.6、16位端口号

  • 告知主机该报文段是来自哪里(源端口)以及传给哪个上层协议或应用程序(目的端口)的。请注意:进行TCP通信时,客户端通常使用系统自动选择的临时端口号,而服务器则使用知名服务端口号。

4.7、16位校验和

  • 由发送端填充,接收端对TCP报文段执行CRC算法以检验TCP报文段在传输过程中是否损坏。注意:这个校验不仅包括TCP头部,也包括数据部分,这也是TCP可靠传输的一个重要保障。

4.8、16位紧急指针

  • 是一个正的偏移量。TCP的紧急指针是发送端向接收端发送紧急数据的方法。

5、TCP建立连接的过程(三次握手)

在这里插入图片描述
TCP是一种可靠的,面向连接的全双工传输层协议。TCP连接的建立是一个三次握手的过程。

  • 第一次:主机A(通常也称为客户端)发送一个标识了SYN=1的数据段,表示期望与服务器A建立连接,此数据段的序列号(seq)为a。
  • 第二次:服务器A回复标识了SYN=1、ACK=1的数据段,此数据段的序列号(seq)为b,确认序列号为主机A的序列号加1(a+1),以此作为对主机A的SYN报文的确认。
  • 第三次:主机A发送一个标识了ACK的数据段,此数据段的序列号(seq)为a+1,确认序列号为服务器A的序列号加1(b+1),以此作为对服务器A的SYN报文段的确认。

6、TCP关闭连接(四次挥手)

在这里插入图片描述
TCP支持全双工模式传输数据,这意味着同一时刻两个方向都可以进行数据的传输。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,因此在传输完毕后,两个方向的连接必须都关闭。

主机在关闭连接之前,要确认收到来自对方的ACK。

  • 第一次挥手:主机A想终止连接,于是发送一个标识了FIN,ACK的数据段,序列号为a,确认序列号为b。
  • 第二次挥手:服务器A回应一个标识了ACK的数据段,序列号为b,确认序号为a+1,作为对主机A的FIN报文的确认。
  • 第三次挥手:服务器A想终止连接,于是向主机A发送一个标识了FIN,ACK的数据段,序列号为b,确认序列号为a+1。
  • 第四次挥手:主机A回应一个标识了ACK的数据段,序列号为a+1,确认序号为b+1,作为对服务器A的FIN报文的确认。以上四次交互便完成了两个方向连接的关闭。

7、UDP协议特点

  • 7.1、UDP是一种无连接、不可靠传输的协议。
  • 7.2、将数据源IP、目的地IP和端口封装成数据包,不需要建立连接
  • 7.3、每个数据包的大小限制在64KB内
  • 7.4、发送不管对方是否准备好,接收方收到也不确认,故是不可靠的
  • 7.5、可以广播发送 ,发送数据结束时无需释放资源,开销小,速度快。

8、UDP协议通信场景

  • 语音通话,视频会话等。

9、UDP头部

在这里插入图片描述

  • UDP头部仅占8字节,传输数据时没有确认机制。

10、UDP传输过程

  • 使用UDP传输数据时,由应用程序根据需要提供报文到达确认、排序、流量控制等功能。
  • UDP不提供重传机制,占用资源小,处理效率高。
  • 一些时延敏感的流量,如语音、视频等,通常使用UDP作为传输层协议。

标签: web安全 学习

本文转载自: https://blog.csdn.net/p36273/article/details/130798709
版权归原作者 p36273 所有, 如有侵权,请联系我们删除。

“网络安全入门学习第九课——计算机网络基础”的评论:

还没有评论