培训Cisco 200-125 CCNA v3.0。 第6天。填写空白(DHCP,TCP,“握手”,通用端口号)

在开始今天的视频教程之前,我要感谢为我的课程在YouTube上的受欢迎程度做出贡献的每一个人。 大约8个月前开始学习时,我没想到会取得如此成功-如今,有312724人查看了我的课程,我有11208位订阅者。 我从来没有梦想过这个谦虚的事业会达到这样的高度。 但是我们不会浪费时间,而是立即开始今天的课程。 今天,我们填补了过去7个视频教程中出现的空白。 尽管今天只有6天,但第3天已分为3个视频课程,因此实际上您今天正在观看第八个视频课程。

今天,我们将处理3个重要主题:DHCP,TCP传输和最常用的端口号。 我们已经讨论过IP地址,而配置IP地址中最重要的因素之一就是DHCP。



DHCP代表“动态主机配置协议”,该协议可帮助动态配置主机的IP地址。 所以我们都看到了这个窗口。 当您单击“自动获取IP地址”选项时,计算机将搜索在同一子网上配置的DHCP服务器,并发送各种数据包和IP地址请求。 DHCP有6条消息,其中4条对于分配IP地址至关重要。

第一条消息是DHCP DISCOVERY发现消息。 DHCP发现消息就像问候。 当新设备进入网络时,它将询问网络中是否存在DHCP服务器。

您在幻灯片上看到的内容看起来像是广播请求,设备代码正在访问网络上的所有设备以寻找DHCP服务器。 如我所说,这是一个广播请求,因此所有网络设备都可以听到。



如果网络上有DHCP服务器,它将发送一个数据包-DHCP OFFER语句。 该建议意味着DHCP服务器响应发现请求,将配置发送给客户端,提示客户端接受特定的IP地址。



DHCP服务器保留IP地址(在这种情况下为192.168.1.2),即为设备保留该地址。 同时,商品包包含DHCP服务器自己的IP地址。

如果此网络具有多个DHCP服务器,则另一台已从客户端收到广播请求的DHCP服务器也将为其提供IP地址,例如192.168.1.50。 通常,两个不同的DHCP服务器未在同一网络上配置,但是有时仍然会发生这种情况。 因此,将DHCP提议发送给客户端时,它会收到2个DHCP提议,并且现在必须决定要接受哪个DHCP提议。

假设客户端接受第一个应用程序。 这意味着客户端发出了一个DHCP REQUEST请求,该请求的字面意思是:“我接受DHCP服务器192.168.1.1提供的IP地址192.168.1.2。”



DHCP服务器192.168.1.1收到请求后,回复:“好,我接受”,即确认请求并将此DHCP ACK确认发送给客户端。 但是我们记得另一个DHCP DHCP服务器为客户端保留了1.50的IP地址。 收到客户端的广播请求后,他会了解失败情况,并将此IP地址放回池中,以便在收到另一个请求时可以将其分配给另一个客户端。



这是DHCP在IP地址分配开始时交换的4条关键消息。 此外,DHCP还有2条更多信息消息。 如果客户端需要的信息比第二步中DHCP OFFER语句中收到的信息更多,则由客户端发出参考消息。 如果DHCP服务器在DHCP提议中没有提供足够的信息,或者如果客户端需要的信息比提议数据包中包含的信息更多,则它会请求其他DHCP信息。 客户端发送到服务器的另一条消息-这是DHCP RELEASE的发行版。 它说客户想释放他现有的IP地址。

但是,最常见的情况是,在客户端设法将DHCP RELEASE发送到服务器之前,用户已断开与网络的连接。 当您关闭计算机时,会发生这种情况,我们将与您一起执行此操作。 同时,网络客户端或计算机根本没有时间通知服务器所使用的地址的释放,因此DHCP RELEASE并不是必需的步骤。 获取IP地址所需的步骤包括:DHCP发现,DHCP提供,DHCP请求和DHCP确认。

在以下课程之一中,我将告诉您在创建DNCP池时如何配置DHCP服务器。 “池”表示您正在通知服务器IP地址的分配范围为192.168.1.1到192.168.1.254。 因此,DHCP服务器将创建一个池,在其中放置254个IP地址,并且只能从该池分配网络客户端地址。 因此,这类似于用户可以执行的管理设置。

现在考虑TCP的传输。 我不知道您是否熟悉图片中所示的“电话”,但是在我们小的时候,我们用用电线连接的罐子互相交谈。



不幸的是,当前这一代人负担不起这种“奢侈品”。 我的意思是,今天孩子们从一岁开始就在电视前玩PSP,也许这是有争议的,但是我认为我们的童年更好,我们真的到外面玩游戏,并且你不能把今天的孩子从沙发上撕下来。

我儿子只有一岁,我已经看到他沉迷于iPad,我的意思是他还很小,但是在我看来,今天的孩子已经天生具有如何处理电子产品的知识。 因此,我想说的是,在童年时代,我们玩耍时,我们正在撕开罐子,当我们用绳子捆住罐子,并说一个罐子里的东西时,另一方面,一个人可以听到他们在说什么,只要将罐子放在他的耳朵里。 因此,这与网络连接非常相似。

今天,即使对于TCP传输,也必须在实际数据传输开始之前建立连接。 正如我们在前面的课程中讨论的那样,TCP是一种传输,它专注于预先建立与网络的连接,而UDP是一种传输,不需要建立连接。 您可以说UDP是我扔球的时间,这取决于您是否可以接住。 您准备好要这样做了,这不是我的问题,我只是要放弃它。

TCP更像是与一个人交谈并警告他要扔球,也就是说,你们之间建立了联系,然后才扔球,所以您的伴侣很可能会准备好接住他。 因此,TCP实际上建立了一个连接,然后开始执行真正的传输。

考虑一下它如何创建这样的连接。 要创建连接,此协议使用3步握手。 这不是一个技术性术语,但是长期以来一直用于描述TCP连接。 发送设备启动三步握手,然后客户端将带有SYN标志的数据包发送到服务器。

假定前景中我们可以看到的女孩是设备A,而背景中看不见的女孩是设备B。女孩A向女孩B发送了一个SYN数据包,她说:“太好了,有人他想和我说话。 所以我需要回答我已经准备好进行交流了!” 怎么做? 一个人可以简单地发回另一个SYN数据包,然后发送一个ACK确认,指示已收到原始SYN数据包。 但是,服务器不是单独发送ACK,而是形成一个包含SYN和ACK的通用数据包,并通过网络进行传输。



因此,此刻,设备A发送了一个SYN数据包并收到了一个SYN / ACK数据包。 现在,设备A应该将ACK发送到设备B,即确认它已收到设备B的同意以建立通信。 因此,两个设备都接收到SYN和ACK数据包,现在我们可以说已建立连接,即,实现了通过TCP的3阶段握手。



接下来,我们将研究TCP窗口技术。 简而言之,这是TCP / IP用来协商发送方和接收方功能的方法。



假设在Windows上,我们试图将一个大文件(例如2 GB)从一个驱动器传输到另一个驱动器。 在传输的最开始,系统会告诉我们文件传输大约需要1年。 但是几秒钟后,系统将恢复并说:“哦,等等,我认为这将不需要6个月,而是大约6个月。” 再过一点时间,Windows会说:“我想也许可以在1个月内传输文件。”然后显示消息“ 1天”,“ 6小时”,“ 3小时”,“ 1小时”,“ 20分钟” “,” 10分钟“,” 3分钟。“实际上,传输文件的整个过程仅需3分钟。这是怎么发生的?最初,当您的设备尝试联系另一台设备时,它会发送一个数据包并等待确认。如果设备正在等待确认了很长时间之后,它认为:“如果我必须以这种速度传输2 GB数据, 这大约需要2年的时间。“一段时间后,您的设备会收到一个ACK并认为:“好,我发送了一个数据包并收到ACK,因此,收件人可以收到1个数据包。现在,我将尝试向他发送10个数据包,而不是给他一个。 10个数据包,过一会儿就会从接收设备收到ACK确认,这意味着接收方正在等待下一个第11个数据包。发送方认为:“很好,因为接收方立即处理了10个数据包,现在我将尝试发送给他100包而不是10包。” 他发送了100个数据包,而收件人则答复说他已收到它们,现在正在等待101个数据包。 因此,随着时间的过去,发送的分组的数量增加。

这就是为什么您看到文件复制时间与最初所说的相比迅速减少的原因-这是由于传输大量数据的能力增加了。 但是,有一点变得不可能进一步增大传输量。 假设您发送了10,000个数据包,但是接收方的设备缓冲区只能接收9,000个数据包。在这种情况下,接收方会发送一个ACK消息:“我已经收到9000个数据包,现在准备接收9001”。 据此,发送方得出结论,接收设备的缓冲区仅具有9000个容量,这意味着从现在开始,我一次将发送不超过9000个数据包。 在这种情况下,发件人可以快速计算出将其以9000个数据包为单位传输剩余数据量所花费的时间,并给出3分钟。 这三分钟是实际的传输时间。 这就是TCP Windowing所做的。

这是传输控制设备随时间了解实际网络带宽的那些流量控制机制之一。 您可能想知道为什么他们不能预先就接收设备的容量达成一致? 事实是,这在技术上是不可能的,因为网络上存在各种类型的设备。 假设您有一台iPad,并且其数据传输/接收速度与iPhone不同,则您可能拥有不同类型的手机,或者您有一台非常旧的计算机。 因此,每个人都有不同的网络带宽。

因此,当数据传输以低速或最小数据包数量开始传输时,便逐渐开发出TCP Windowing技术。 您发送一个数据包,5个数据包,10个数据包,1000个数据包,10000个数据包,然后逐渐逐渐打开此窗口,直到“扩展”达到在特定时间段内发送流量的最大可能值。 因此,窗口化的概念是TCP协议的一部分。

接下来,我们将查看最常见的端口号。 典型的情况是当您有1个主服务器时,也许这是一个数据中心。 它包括文件服务器,Web服务器,邮件服务器和DHCP服务器。 现在,如果其中一台客户端计算机与位于图片中间的数据中心联系,它将开始向客户端设备发送文件服务器流量。 此流量以红色显示,并且将使用来自特定服务器的特定应用程序的特定端口进行传输。



服务器如何知道某些流量应该流向何处? 他将从目标端口号中找出。 如果看一下框架,您会发现在每次数据传输中都提到了目标端口号和源端口。 您会看到蓝色和红色流量,以及蓝色流量是Web服务器流量,两者都到达安装了不同服务器的同一台物理服务器上。 如果它是数据中心,则它使用虚拟服务器。 那么,他们怎么知道红色流量应该返回到具有该IP地址的左手提电脑? 由于端口号,他们知道这一点。 如果参考Wikipedia文章“ TCP和UDP端口列表”,则会看到它列出了所有标准端口号。



如果滚动此页面,则可以看到此列表的大小。 它包含大约61,000个房间。 从1到1024的端口号被称为最常见的端口号。 例如,端口21 / TCP用于传输ftp命令,端口22用于ssh,端口23用于Telnet,即用于传输未加密的消息。 一个非常流行的端口80用于通过HTTP传输数据,端口443用于使用HTTPS传输加密数据,这与HTTP的安全版本相似。
有些端口是同时设计用于TCP和UDP的,而某些端口则根据使用的连接(TCP或UDP)执行不同的任务。 因此,正式将端口80 TCP用于HTTP,非正式地将端口80 UDP用于HTTP,但是使用另一种HTTP协议QUIC。



因此,TCP中的端口号并非总是设计为与UDP中的端口号相同。 您无需全心学习此列表,无法记住它,但是您需要了解一些流行且最常见的端口号。 正如我所说,这些端口中有一些具有官方目的(如标准所述),有些具有非官方目的,例如Chromium。

因此,该表列出了所有通用端口号,并且在使用特定应用程序时,这些端口号用于发送和接收流量。

现在,让我们根据已知的少量信息来查看数据如何在网络上移动。 假设计算机10.1.1.10要与地址为30.1.1.10的该计算机或服务器联系。 每个设备的IP地址下方是其MAC地址。 我以MAC地址为例,该地址仅包含最后4个字符,但实际上,它是一个12位字符的48位十六进制数字。 由于这些数字均由4位组成,因此12个十六进制数字代表48位数字。



众所周知,如果该设备要与该服务器联系,则必须首先完成3阶段握手的第一步,即发送SYN数据包。 创建此请求时,计算机10.1.1.10将指示Windows动态创建的源端口号。 Windows会在1到65,000之间随机选择一个端口号。 但是,由于从1到1024范围内的初始编号是众所周知的,因此在这种情况下,系统将考虑大于25000的编号并创建一个随机源端口,例如,编号为25113。

接下来,系统将目标端口添加到程序包中,在本例中为端口21,因为尝试连接到此FTP服务器的应用程序知道它必须发送FTP通信。

此外,我们的计算机说:“好的,我的IP地址是10.1.1.10,我需要联系IP地址30.1.1.10。” 这两个地址也都包含在数据包中,形成一个SYN请求,并且直到连接结束该数据包才被更改。

我希望您从此视频中了解数据如何在网络中移动。 当我们发送请求的计算机看到源IP地址和目标IP地址时,它就会知道目标地址不在此本地网络中。 我忘了说这些都是24个IP地址。 因此,如果您查看IP地址/ 24,您将了解计算机10.1.1.10和30.1.1.10不在同一网络上。 因此,请求的发送计算机了解到,为了退出该网络,它必须转向在路由器接口之一上配置的网关10.1.1.1。 , 10.1.1.1, MAC- 1111, MAC- 10.1.1.1. ? ARP-, , IP- 10.1.1.1.



MAC- , MAC- – — . , , , CRC, .
CRC , , SYN MAC-, , , MD5, . , MD5, .



FCS/CRC, FCS – , CRC. FCS, — CRC, . . , , , , . , , , , FCS CRC, . , , , , .

MAC- : «, MAC- AAAA , », , MAC-.



IP- 30.1.1.10, , .

«» , , 30.1.1.10. , , . 30.1.1.0. , IP- , . «» , 30.1.1.0/24, 20.1.1.2.

, ? , , , . , , , 20.1.1.2. , MAC- , . , ARP, MAC- 20.1.1.2, .

, , MAC-, MAC- BBB MAC- CCC. FCS/CRC .



, 20.1.12, , , , FCS/CRC. «» MAC-, , 30.1.1.10. , . , MAC- , , .



, - SYN-, , , . MAC-, IP- , .
IP-, OSI, .



21, FTP-, SYN , - .

, , , 30.1.1.10 SYN/ACK 10.1.1.10. , 10.1.1.10 ACK, , SYN, ACK .

, — . , , .
希望您从本教程中学到的东西能派上用场。如果您有任何疑问,请发送电子邮件至imran.rafai@nwking.org,或在此视频下发布问题。

从下一课开始,我将从YouTube中选择3个最有趣的问题,我将在每个视频的结尾考虑这些问题。从现在开始,我将有“最佳问题”部分,因此我将用您的名字发布问题并实时回答。我认为它将受益。


感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们,为我们为您开发的入门级​​服务器的独特模拟,为Habr用户提供30%的折扣: 关于VPS(KVM)E5-2650 v4(6核)的全部真相10GB DDR4 240GB SSD 1Gbps从$ 20还是如何划分服务器? (RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。

VPS(KVM)E5-2650 v4(6核)10GB DDR4 240GB SSD 1Gbps直到夏天免费,在六个月内付款,您可以在此处订购。

戴尔R730xd便宜2倍? 只有我们有2台Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100电视在荷兰起价199美元 戴尔R420-2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB-$ 99起! 阅读有关如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?

Source: https://habr.com/ru/post/zh-CN454404/


All Articles