Security+ 学习笔记38 TCP/IP网络

一、介绍TCP/IP

TCP/IP是一个首字母缩写。它代表着传输控制协议(Transmission Control Protocol),TCP,互联网协议(Internet Protocol),IP。TCP和IP是构成所有现代网络的两个主要协议。

1.IP
IP协议负责网络间的信息路由,同时,它也用在我们家里和办公室的网络上。IP协议的主要职责是提供一个被称为IP地址的寻址方案,以唯一的方式识别网络上的计算机,并将信息以数据包的形式从其源头传递到正确的目的地。IP被称为网络层协议(Network layer protocol)。IP支持运输层协议(Transport layer protocal),这些协议具有更高层次的职责。

2.TCP和UDP
两个主要的传输层协议是传输控制协议(Transmission Control Protocol或TCP)和用户数据报协议(User Datagram Protocol或UDP)。在这里插入图片描述
TCP负责大部分的网络流量。它是一个面向连接的协议,意味着它在数据传输之前在两个系统之间建立连接。TCP也是一个可靠的协议,它通过让目标系统确认收到每个数据包来保证交付。TCP的可靠性使它广泛用于需要这种保证交付的应用,如电子邮件和网站。由于TCP是面向连接的,系统在传输数据之前要经过一个握手过程来建立连接。这个过程被称为 “三次握手”。TCP数据包包括特殊的标志,用于识别这个握手过程中的数据包:

  1. SYN标志用于识别要求建立新连接的数据包;
  2. FIN标志用于识别要求关闭现有连接的数据包;
  3. ACK标志是用来确认SYN或FIN请求的。

三次向握手过程:在这里插入图片描述

  1. 在第一步,发起连接的系统发送一个设置有SYN标志的数据包。这表明该系统想打开一个与目标系统的连接。
  2. 目的地系统收到这个数据包,并回复另一个数据包,做两件事。它承认最初的连接请求,然后要求在另一个方向打开一个对等的连接。这个数据包同时设置了SYN和ACK标志。
  3. 最后,开始连接的原始系统收到SYN/ACK数据包,并向目的系统发送最后的ACK数据包,完成对等的连接。

一旦这个三包序列完成,连接就被打开了,各系统可以开始交换数据。另一方面,UDP是一个更轻量级的协议,不使用三次握手,因为它不是面向连接的。系统基本上是直接地发送数据给对方,希望另一端能收到。UDP不执行确认,因此不能保证交付。它通常用于语音和视频等应用,在这些应用中,保证每个数据包的交付并不重要。

3.OSI
网络专业人员使用一个被称为开放系统互连(Open Systems Interconnection)或OSI模型的模型来描述这些协议。该模型将网络描述为有七个不同的层次。

  1. 第一层是物理层(Physcial Layer),负责使用电线、无线电波、光纤和其他手段在网络上发送比特;
  2. 第二层,数据链路层(Data Link Layer),在连接到同一物理网络的两个节点之间传输数据;
  3. 第三层,网络层(Network Layer),将网络扩展到许多不同的节点。互联网协议在此层工作;
  4. 第四层,传输层(Transport Layer),在系统之间建立连接,并以可靠的方式传输数据。TCP和UDP是传输层协议;
  5. 在它们之上,第五层被称为会话层(Session Layer)。这一层管理着系统之间的通信交流;
  6. 第六层,即表现层(Presentation Layer),对数据进行翻译,以便在网络上进行传输。这一层描述了如何用比特来表示一个字符,并进行加密和解密;
  7. 最后,第七层,即应用层(Application Layer),决定了用户如何使用网络浏览器或其他客户端应用程序与数据互动。

在这里插入图片描述
OSI模型是一个很好的参考,可以帮助我们了解网络的功能。

二、IP地址和DHCP

为了使互联网协议能够在网络上的任何两个系统之间成功地传递信息,它必须使用一个寻址方案(Addressing scheme)。就像电话使用电话号码,邮政使用街道地址一样,互联网需要一个寻址方案。

因为这些地址是由互联网协议使用的,所以它们被称为IP地址。IP地址是以所谓的点分十进制(Dotted Decimal Notation) 书写的。这意味着,它们是由"."分隔的四个数字。每个数字的范围在0到255之间,这是因为如果是2进制,那么IP地址一共有32位,4个数字分别对应了八个二进制位,二的八次方是256,但由于我们从零开始计算,我们的IP地址值只能上升到255。一个系统的IP地址在网络上是唯一的标识。如果系统直接连接到互联网,它所使用的IP地址一定不会被世界上任何其他系统使用,就像我们的手机号码不会被世界上其他地方使用。连接到私人网络的系统,如你家里或办公室里的系统,可以使用私人IP地址,在其他网络中可以重复使用。
在这里插入图片描述
当我们在互联网上通信时,我们的路由器或防火墙负责将这些私网地址转换为公共IP地址。这需要使用一个被称为网络地址转换的协议(Network address translation),或称NAT

IP地址分为两部分。地址的网络部分用于识别系统所连接的网络。你的公司可能有自己的网络地址(Network Address)。地址的第二部分,即主机地址(Host Address),唯一标识该网络上的一个系统。在这个如下所示,网络地址是192.168,而主机地址是1.100。分界线在地址的正中间,但它不一定是这样,这个分界线其实并不固定,通常使用了一个叫做子网(subnetting)的概念进行划分。在这里插入图片描述
在每一次网络通信中都有两个IP地址参与。源地址表示发送信息的系统,而目的地址表示接收信息的系统。当两个系统来回通信时,源地址和目的地址将互换位置,这取决于谁发送每个数据包。
在这里插入图片描述
在这里插入图片描述

使用点分十进制的IP地址是第四版IP的一部分,被称为IPv4。但是,世界上的IPv4空间已经耗尽,所以我们正在转向一个新的标准,即IPv6。与32位的IPv4地址不同,IPv6地址使用128位,允许有更多的地址。IPv6地址以十六进制符号书写,使用八组四位十六进制数字,如这里的例子:
在这里插入图片描述
IP地址是计算机网络的核心概念之一,对许多安全任务至关重要。它们可以以两种不同的方式分配。首先,我们可以静态地分配一个IP地址。这意味着,我们需要进入系统的设置,手动指定其IP地址。然后,我们将负责确保选择一个符合你的网络范围的独特地址。第二,我们可以使用动态主机配置协议(Dynamic Host Configuration Protocol),即DHCP。DHCP允许我们配置一个IP地址池,然后当系统加入网络时,DHCP会自动将这些地址分配给它们。通常情况下,服务器被配置为静态IP地址,而终端用户设备被配置为动态变化的IP地址。在这里插入图片描述

三、域名系统(DNS)

在这里插入图片描述
计算机确实使用IP地址在网络上通信,但这些地址对人们来说可能非常难以记住。域名系统(Domain Name System),或称DNS,允许人们使用容易识别的名字来代替这些IP地址。DNS服务器将你比较熟悉的名字,如www.linkedin.com,翻译成计算机用来通信的IP地址,如108.174.11.1。

**DNS作为一项网络服务,通过UDP端口53运行。**每次我们连接到一个网络时,该网络为我们的计算机提供一个本地DNS服务器的IP地址,它可以用来查询IP地址。然后,每当你在浏览器中输入一个网站的域名时,我们的计算机就会向本地DNS服务器发送一个请求,要求它提供与该名称相关的IP地址。如果服务器知道我们问题的答案,它就会用IP地址来回应请求,然后我们的网络浏览器就可以继续使用该IP地址连接到网站。如果本地DNS服务器不知道我们问题的答案,它就会与其他DNS服务器联系,以确定正确的答案,然后向你作出回应。

DNS是一个分层系统(Hierarchical system),拥有域名的组织指定的DNS服务器是有关其域名信息的权威来源。当本地DNS服务器需要进行查询时,它会提出一系列问题,最终让它从对一个域名具有权威性的DNS服务器获得明确的答案。大多数时候,DNS查询发生在幕后,用户永远不会看到它们。然而,我们可以使用一个叫做DIG(Linux上)或nslookup(Windows上)的工具来手动执行DNS查询。

一些内容过滤工具(DNS-based content filtering)改变了DNS查询,以防止用户访问不好的网站。这些工具的工作原理是为那些不好的网站的DNS查询提供不正确的答案。如果我们使用这种方法,需要确保我们也阻止对其他网络服务器的外向DNS请求。8.8.8.8的谷歌公共DNS服务器只是许多公共DNS服务器中的一个,如果我我们所在的网络使用基于DNS的内容过滤,但不阻止出站(Outbound)DNS,我们可以简单地改变网络设置中的DNS服务器,完全避免过滤。网络通信依赖于域名解析,攻击者可能试图在中间的DNS服务器中插入虚假的DNS记录,让毫无戒心的客户访问虚假网站。这些攻击被称为DNS中毒攻击(DNS poisoning attack)。DNSSEC协议为DNS增加了数字签名,允许客户验证他们收到的DNS记录是否真实。

四、网络端口(Network ports)

IP地址可以唯一地识别网络上的每个系统,但这些系统可能负责运行许多不同的服务。这就是网络端口发挥作用的地方。网络端口是一个系统上与特定应用程序相关的特定位置。

我们可以想象一下,网络上的每台计算机是一栋公寓楼,每个应用程序是一个独立的公寓。计算机的IP地址就像公寓楼的街道地址。但是,一旦我们到达大楼,我们需要特定的指示来到达正确的公寓。网络端口就像公寓号码,引导流量到正确的应用程序。
在这里插入图片描述
网络端口用一个16位的二进制数字表示,用十进制表示,有2到16次方或65,536个可能的值,正如我们从0开始计算IP地址一样。因此,端口号的范围可以从0到65,535。不同范围的端口有不同的使用方法:

  1. 0到1023之间的端口被称为知名端口(Well-known ports)。这些端口被保留给由互联网当局分配的普通应用程序。使用众所周知的端口可以确保互联网上的每个人都知道如何在一个系统上找到常见的服务,如Web服务器、电子邮件服务器和其他常用的应用程序。例如,Web服务器使用知名的80端口,而安全Web服务器使用443端口;
  2. 1024和49,151之间的端口被称为注册端口(Registered ports)。应用程序供应商可以注册他们的应用程序来使用这些端口。例如,微软为SQL服务器数据库连接保留了1433端口,而甲骨文则为其自己的数据库注册了1521端口;
  3. 超过49,151的端口被预留为动态端口(Dynamic ports),我们的应用程序可以临时使用。

以下是我们需要知道的重要端口号:在这里插入图片描述

  1. 文件传输协议(File Transfer Protocol),即FTP使用端口21在系统之间传输数据;
  2. SSH使用端口22,用于与服务器的加密管理连接;
  3. 远程桌面协议(Remote Desktop Protocol),即RDP使用3389端口,用于远程连接;
  4. Windows系统使用NetBios协议,端口137、138和139进行网络通信;
  5. 所有系统都使用端口53进行DNS查询。
  6. 简单邮件传输协议(Simple Mail Transfer Protocol),即SMTP使用端口25在服务器之间交换电子邮件,
  7. Post Office Protocol,即POP允许客户在端口110检索邮件。
  8. 而Internet Message Access Protocol,即IMAP使用端口143来实现邮件相关的类似目的;
  9. 超文本传输协议(Hypertext Transfer Protocol),即HTTP使用80端口进行未加密的网络通信。
  10. HTTP的HTTPS则使用443端口进行加密连接。

五、ICMP

互联网控制信息协议(Internet Control Message Protocol),即ICMP,是互联网的内务协议。ICMP执行各种重要的管理功能,其中ping命令是可用的最基本的网络故障排除命令之一。

1.ping
当一个系统在网络上发送ping命令时,接收系统会以确认的方式作出回应。这相当于一个系统问另一个系统,“你在吗?” 而目标系统的回应是:“是的,我在。”

不过,ping命令使用ICMP协议,而不是用语言问这些问题。 发起方会首先向接收放被称为ICMP echo request的数据包来询问,然后对端收到后回复ICMP echo reply。

2.traceroute
ICMP还提供了traceroute命令。Traceroute执行更详细的故障排除,不仅显示一个系统在网络上是否活着,而且还显示两个系统之间的网络路径。
在这里插入图片描述
我们还能注意到traceroute命令也会提供延迟,即在网络上每个节点之间来回移动的时间,这也是我们在排除故障时的有用信息。

3.Others
ICMP还处理其他管理功能。由ICMP发送的这些管理信息中的一些包括目的地不可达信息、重定向信息、时间超时信息和地址掩码请求和回复(Destination unreachable messages, Redirect messages, Time exceeded messages and Address mask requests and replies)。通过这些功能,互联网控制信息协议在维护一个强大、健康的网络和排除网络连接问题方面发挥了重要作用。

整理资料来源:
https://www.linkedin.com/learning/paths/become-a-comptia-security-plus-certified-security-professional-sy0-601

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

格洛米爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值