课程学习目标:
- 描述网络服务(包括DHCP、DNS)的角色
- 使用Cisco PT 配置路由器为LAN执行DHCP服务
- 解释将IPv4专用地址与NAT一起使用的用途
- 比较TCP 和 UDP 协议操作的效率和可靠性
- 描述网络服务和应用文件传输,网络访问、电子邮件、远程访问和及时消息
- 观察Web客户端和服务器如何处理Web请求
- 使用各种工具来验证网络操作
Week1 自动获取地址信息
在本模块中,你将学习在网络中使用静态和动态寻址的目的和好处。你将使用Packet Tracer创建小型有效网络,并使设备能够自动获取所需的寻址信息以连接到网络。
1. 静态、动态地址分配
1.1 分配地址
IPv4地址可以进行静态或动态分配
静态分配中,网络管理员必须手工配置主机的网络信息。如图所示,至少得包括:主机IPv4地址、子网掩码、默认网关。
静态分配有一些优点。举个例子,对于网络上的客户端,需要访问打印机、服务器以及其他网络设备十分有用。而如果主机通常以特定的IPv4地址访问服务器,则更改地址不是很好。
静态分配地址信息可以增强对网络资源的控制,但是在每个主机上手动输入是很耗时的一件事。静态输入IPv4地址时,主机仅对IPv4地址执行基本错误检查。因此,就更可能发生错误。
使用静态IPv4地址时,重要的是维护一个准确的列表,以了解将哪些IPv4地址分配给哪些设备。此外,这些是永久地址,通常不会重复使用。

1.2 动态分配IPv4地址
在本地网络上,用户数量经常会发生变化。新用户带着笔记本电脑连接。其他人需要连接新的工作站。与其让网络管理员为每个工作站分配不同的IPv4地址,自动分配会更容易。这是通过一种称为动态主机配置协议(DHCP)的协议来完成的。
DHCP 提供了一种自动分配地址信息的机制,如IPv4地址、子网掩码、默认网关等配置信息,如图所示。

DHCP 通常是将IPv4地址分配给大型网络上的主机的首选方案,因为它减轻了网络支持人员的负担,并且实际上消除了输入错误。
DHCP 的另一个好处是,地址不是永久分配给主机的,而是租用一段时间。如果主机被关闭或者从网络中断开,地址将返回到池中以供重用,这对于在网络上来来往往的移动用户十分有用。
2. DHCP 的配置与使用
2.1 DHCP 地址从哪里来?
如果你在机场或者咖啡店连接一个无线热点,DHCP让你能够上网。当你进入这片区域时,你的笔记本DHCP客户端通过无线连接到本地DHCP服务器。接着DHCP服务器给你的笔记本分配IPv4地址。
只要运行DHCP服务软件,各种设备都可以成为DHCP服务器。对于大多数中型到大型网络,DHCP服务器通常是基于PC的本地专用服务器。
对于家庭网络来说,DHCP 服务器可能位于ISP上,并且家庭网络上的主机直接从ISP接收其IPv4配置。
许多家庭网络和小型企业都使用无线路由器和调制解调器。在这种情况下,无线路由器既是DHCP客户端又是服务器。无线路由器充当客户端从ISP接收其IPv4配置,然后充当本地网络上内部主机的DHCP服务器。路由器从ISP接收公有IPv4地址,并充当DHCP服务器的角色,将私有地址分配给内部主机。
除了基于PC的服务器和无线路由器之外,其他类型的网络设备(例如专用路由器)也可以为客户端提供DHCP服务,尽管不常见。

2.2 IPv4 DHCP如何工作?
主机首次配置为DHCP客户端时,它没有IPv4地址,子网掩码或默认网关。它从本地网络或者ISP上的DHCP服务器获取这些信息。DHCP服务器配置了一个IPV4地址范围(或池),可以分配给DHCP客户端。
DHCP服务器可能位于另一个网络上。只要中间的路由器配置为转发DHCP请求,DHCP客户端仍然能够获取IPv4地址。
需要IPv4地址的客户端将发送DHCP 发现报文,该报文是具有目标IPv4地址(255.255.255.2555(32个1)和目标MAC地址FF-FF-FF-FF-FF-FF(48个1)的广播.网络上的所有主机都将接收此广播的DHCP帧,但是只有DHCP服务器会恢复。服务器将会响应一个DHCP offer,为客户端建议一个IPv4地址。然后,主机向服务器发送DHCP请求,要求使用建议的IPv4地址,服务器以DHCP Acknowledgement 确认响应,如图。

2.3 DHCP服务配置
对于大多数家庭以及小型商业网络来说,无线路由器为本地网络客户端提供了DHCP服务。为了配置家庭无线路由器,通过打开浏览器并在IP地址栏中输入路由器的默认IPv4地址,访问其Web界面,如图所示,导航至显示DHCP配置的界面。
内部路由器接口的默认值为 192.168.1.1 的IPv4地址和255.255.255.0的子网掩码。这是本地网络上所有主机的默认网关,也是内部DHCP服务器的IPv4地址。默认情况下,大多数家庭无线路由器和其他家庭无线路由器都启用了DHCP服务器。
在DHCP配置界面上,默认的DHCP范围是可用的。你还可以指定DHCP范围的起始地址(不要使用192.168.1.1)和要分配的地址数。租赁时间也可以修改(图中默认值为24小时)。大多数ISR上的DHCP配置功能提供有关已连接主机和IPv4地址、其关联的MAC地址以及租用时间的信息。
DHCP 客户端表还显示了客户端名称以及它是通过以太网LAN还是通过无线(接口)连接的。

Week2 IPv4的局限性、过渡到IPv6
在本模块中,你将学习IPv4寻址系统的优点和局限性,以及为什么要实施NAT和IPv6来解决这些局限性。你将使用PT来创建和检查NAT转换的流量。
1. 网络边界和地址空间
1.1 通向其他网络的网关
,一个网络上的主机可以通过该网关与不同网络上的主机通信。而路由器上的每个接口都连接到单独的网络。
分配给接口的IPv4地址标识了哪个本地网络直接连接到该接口。
网络上的每个主机都必须将路由器用作通往其他网络的网关。因此,每个主机必须知道连接到主机所在网络的路由器接口的IPv4地址。此地址称为默认网关地址。它既可以在主机上静态配置,也可以由DHCP动态地接收。
将无线路由器配置为本地网络的DHCP服务器时,它将自动将正确的接口IPv4地址作为默认网关地址发送给主机。通过这种方式,网络上的所有主机都可以使用该IPv4主机将消息转发到位于ISP的主机,并访问Internet上的主机。默认情况下,通常将无线路由器设置为DHCP服务器。
本地路由器的接口的IPv4地址成为主机配置的默认网关地址。默认网关是由DHCP提供的,可以是静态的,也可以是DHCP提供的。
当无线路由器被配置为DHCP服务器时,它提供自己的内部IPv4地址作为DHCP客户端的默认网关。并提供各自的IPv4地址和子网掩码,如图所示。


2 地址分配
2.1 谁在内部???
无线路由器通过以太网电缆或无线方式充当与其连接的所有本地主机的DHCP服务器。这些本地主机被称为位于内部或内部网络中。大多数DHCP服务器都被配置将私有地址分配给内部网络的主机,而不是Internet中可路由的公共地址。这确保了在默认情况下不能直接从Internet访问内部网络。
在本地无线路由器接口上配置的默认IPv4地址通常是该网络上的第一个主机地址(?)。内部主机必须在与无线路由器相同的网络中分配地址,可以是静态配置,也可以是通过DHCP分配的。当配置为DHCP服务器时,无线路由器会提供此范围内的地址,它还提供了子网掩码、它自己的接口IPv4地址作为默认网关,如图所示。
许多ISP使用DHCP服务向其客户站点上安装的无线路由器的Internet端提供IPv4地址。分配给无线路由器Internet端的网络称为外部网络。
当无线路由器连接到ISP时,他就像DHCP客户端一样,为Internet接口接收正确的外部网络IPv4地址。ISP通常提供Internet路由地址,该地址使连接到无线路由器的主机可以访问Internet。
无线路由器充当本地内部网络和外部Internet之间的边界。

3 网络地址转换
3.1 IPv4私有地址 -> 公有地址
无线路由器从ISP获取公有地址,这使得它们能够在Internet发送和接收数据包。反过来,它为本地网络客户端提供私有地址。由于Internet上不允许使用私有地址,因此需要一个将私有地址转换为唯一的公共地址,以允许本地客户端在Internet上进行通信的过程。
私有地址的范围有:
- 10.0.0.0/8 or 10.0.0.0 to 10.255.255.255
- 172.16.0.0/12 or 172.16.0.0 to 172.31.255.255
- 192.168.0.0/16 or 192.168.0.0 to 192.168.255.255
用来表示上述IPv4地址整个范围的子网掩码是:
- 10.0.0.0 255.0.0.0
- 172.16.0.0 255.240.0.0
- 192.168.0.0 255.255.0.0
将私有地址转换为Internet可路由地址的过程称为网络地址转换(NAT)。使用NAT,私有(本地)源IPv4地址将转换为公有(全局)地址。对于传入的数据包,此过程相反。通过使用NAT,无线路由器能够将许多内部IPv4地址转换为相同的公有地址。
只有发往其他网络的数据包才需要被翻译。这些数据包必须通过网关,在该网关中,无线路由器将源主机的私有IPv4地址替换为其自己的公有IPv4地址。
虽然内部网络上的每个主机都有一个唯一的私有IPv4地址,但主机必须共享分配给无线路由器的单一Internet可路由地址。
观看以下动画,了解家用路由器如何使用NAT转换数据包。

4 IPv6
4.1 IPv6是什么 我们为什么需要它
总结: 设备太多,地址太少。。。
32位IPv4地址结构大约可提供43亿个地址。后来不够了,就发布了第一个IPv6规范(RFC1883,后来由RFC2460取代)。
IPv6 与 IPv4区别的主要特征是: IP地址本身长度的变化。
IPv4地址的长度为32位(4字节)。IPv6中,地址长度增加到128位(16字节)。使用128位可以创建足够多的IPv6地址。

4.2 IPv6的救赎
IPv6寻址最终将取代IPv4寻址,尽管在可预见的将来两种类型的地址将共存。可IPv6克服了IPv4的局限性,并具有更适合当前和可预见的网络需求的功能。32位的IPv4地址空间提供了大约4,294,967,296个唯一地址。
IPv6地址空间提供了340,282,366,920,938,463,463,374,607,431,768,211,456个地址,340 个decillion(10^34),这大约等于地球上的沙粒数量。该图提供了一个可视化图像,用于比较IPv4和IPv6地址空间。 IPv6协议的其他好处包括:
不需要NAT。每个设备可以具有其自己的全局可路由地址。
自动配置功能简化了地址管理。
IPv6的设计者认为它将很快被采用,因为剩余的可用IPv4地址块的数量正在迅速减少。最初的估计是到2003年将在全球范围内部署IPv6。显然,这些估计是不正确的。

4.3 改变正在到来
为什么仍在使用IPv4呢???
因为IPv4仍可以在许多网络中正常运行。因为它发展了协议增强功能(???),扩展了IPv4的可用性。最常用的扩展是网络地址转换(NAT)。
IPv4地址分配包括保留的私有地址空间。NAT的发展使得多个私有寻址的LAN设备可以共享一个注册的IPv4地址(或地址池)。许多私有寻址的LAN可以使用相同的地址块而不会彼此冲突,因为它们的流量始终位于其LAN本地。对新IPv4地址空间的需求大大减少。
NAT 仅作为IPv4地址耗尽的临时解决方案。NAT增加了复杂性、延迟,甚至“破坏”了许多应用程序。例如,很难启动对使用NAT和私有地址的设备(例如Web服务器)的访问。
预计到2020年,物联网(IoT)将再增加500亿个设备。实现此目标将需要IPv6。

4.4 数字系统: 十六进制数编码
回想本专项课程的第一门课,计算机设备正在使用多个编码系统。
IPv4和IPv6之间的主要区别之一是数字表现形式和格式。为了对差异有一个牢固的认知,复习不同的数字系统可能会有所帮助。

5 IPv6的不同之处
5.1 IPv4 && IPv6 Addressing
IPv4地址:32 位 以点分十进制表示
IPv6地址: 128位 以冒号分隔的十六进制表示 前导0省略
除了增加长度外,IPv6地址还具有与IPv4地址不同的其他特征。区别在于:
地址自动配置–无状态地址自动配置(SLAAC)允许主机创建自己的Internet可路由地址(全局单播地址或GUA),而无需DHCP服务器。如图所示,主机使用默认方法从路由器的路由器公告消息中接收前缀(网络地址),前缀长度(子网掩码)和默认网关。然后,主机可以创建自己的唯一接口ID(地址的主机部分),以为其自身提供可路由的全局单播地址。
本地链接地址-与同一网络上的设备进行通信时使用本地链接地址,如图所示。
IPv6不仅仅是更长的地址。IPv6的开发人员借此机会对IP和相关协议(例如ICMPv6)进行了改进。这些改进包括与效率,可伸缩性,移动性和将来增强功能的灵活性相关的功能。

5.2 IPv6 Address Formatting
对于计算机而言,读取新的128位IPv6寻址没有问题。IPv6只是在数据包的源地址和目标地址中添加了更多的1和0。但是,对于人类来说,从以点分十进制表示的32位地址到以一系列32个十六进制数字表示的IPv6地址的变化可以说是一种调整。而现在已经开发出了将写入的IPv6地址压缩为更易于管理的格式的技术。
压缩IPv6地址
IPv6地址被写入为十六进制的字符串。每四位用一个十六进制数字表示,总共32个十六进制值。下图显示了完全扩展的IPv6地址和两种使其更易于阅读的方法。有两个规则可以帮助减少代表IPv6地址所需的位数。
- 规则1: 省略前导0
例如0DB8可以表示为DB8
0000可以表示为0
0200可以表示为200- 规则2:省略一个“全零”细分
双冒号(::)可以替换仅包含零的任何连续段组。双冒号(::)在一个地址中只能使用一次,否则可能会有一个以上的结果地址。

Week3 高效地传输数据
在本模块中,你将观察到请求和通过网络传输数据时服务器和客户端之间发生的交互。你还将学到如何在网络上传输数据以及用于完成任务的协议。将对两个传输层协议TCP和UDP进行比较。
1. 客户端、服务器关系
1.1 客户端、服务器如何交互?
每天,我们都会使用网络和Internet上可用的服务与他人进行通信并执行例行任务。大多数常用的Internet应用程序依赖于各种不同服务器和客户端之间的复杂交互。术语服务器是指运行软件应用程序的主机,该软件向连接到网络的其他主机提供信息或服务。
1.2 请求网页
我们通过Internet收到的许多信息都以网页文档的形式提供。为了请求和查看网页,人们使用运行Web客户端软件的设备,例如Web浏览器。
C/S 系统的关键特性是 客户端向服务器发送请求,服务器通过执行功能(例如将请求的文档发送回客户端)进行响应。Web浏览器和Web服务器的组合或许是C/S系统最常用的实例(这不是B/S???)。Web服务器通常与其他称为服务器场的服务器位于网络的一部分中,或位于数据中心内。
数据中心是用于容纳计算机系统和相关组件的设施。数据中心可以占用建筑物的一个房间,一个或多个楼层,甚至整个建筑物。
查看动画以了解Web客户端和Web服务器之间的交互。

1.3 提供网页服务
通过统一资源定位符(URL)来定位服务器和特定资源。该URL标识了:
- 使用的协议(通常是HTTP来请求网页)
- 被访问服务器的域名
- 资源在服务器上的位置。例如:http://example.com/example1/index.htm
许多Web服务器应用程序都允许使用短URL。它们更容易记录,记住或共享。使用短URL时,不必指定详细的文件位置,因为Web管理员已经为服务器指定了默认的网页位置。当用户键入缩短的URL(例如http://example.com)时,发送给该用户的默认页面实际上可能是http://example.com/example1/index.htm网页。
查看下图获取更多信息。

Protocol
The protocol that is being used to send the request (this can also be https, or ftp).
发送请求所使用的协议
Domain Name
The domain name is example.com. This is sent to the DNS server for resolution to an IP address.域名被发送到DNS服务器来解析成IP地址
Folder
The folder on the web server where the resource is stored.Web服务器上资源存放的文件夹
Resource
The actual resource or file that is being requested.请求的实际资源或文件
2. 网络服务中的TCP/IP协议
2.1 常见的网络服务
常见协议
- 域名系统(DNS)-将Internet名称解析为IP地址。
- 安全外壳协议(SSH)- 用于提供对服务器和网络设备的远程访问(一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境——WIKI)。
- 简单邮件传输协议(SMTP)- 从客户端向服务器以及从服务器向其他电子邮件服务器发送电子邮件和附件。
- 邮局协议(POP)- 电子邮件客户端用于从远程服务器检索电子邮件和附件。
- 因特网信息访问协议(IMAP)- -用来从本地邮件客户端访问远程服务器上的邮件。
- 动态主机配置协议(DHCP)-用于自动配置具有IP地址和其他必要信息的设备,以使它们能够通过Internet进行通信。
- Web服务器 - 使用超文本传输协议(HTTP)传输组成万维网网页的文件。
- 文件传输协议(FTP) - 用于系统之间的交互式文件传输。
虽然必须使用IP地址才能通过Internet发送和接收消息,但DHCP并不是分配IP地址的唯一方式。IP地址可以在设备上静态配置。

域名服务器(DNS)
提供网站IP地址或域名以便主机可以连接到它的服务。
SSH服务器
允许管理员从远程位置登录到主机并控制主机的服务,就像他们在本地登录一样。
邮件服务器
使用简单邮件传输协议(SMTP),邮局协议(POP3)或Internet邮件访问协议(IMAP)用于通过Internet从客户端向服务器发送电子邮件使用user @ xyz格式指定收件人
动态主机协议(DHCP)服务器
为客户端分配IP地址,子网掩码,默认网关和其他信息的服务
网络服务器
- 超文本传输协议(HTTP)
- 用于在Web客户端和Web服务器之间传输信息
- 大多数网页是使用HTTP访问的
文件传输协议(FTP)服务器
允许在客户端和服务器之间下载和上传文件的服务
2.2 Web服务器和客户端使用IP协议交互
客户端想要从服务器获取一个网页。
- 首先在客户端输入URL: www.learnIP.com
(首先URL要被解析为IP地址,来传输数据)

- 所以首先必须进行DNS查找,发送请求到DNS服务器,来获取目标URL的相关联IP地址。(本例中为172.16.10.50)
- 建立TCP连接。 使用Web服务器的IP地址以及分配给Web客户端的TCP端口号。在本例中,我们为Web客户端提供192.168.10.15的IP地址,并在1024以上分配一个随机端口,将它设为5507。之后TCP连接将会建立在源 192.16.10.15 端口号 5507,目的地 172.16.10.50 端口号 80 之间。 在通信中,这被称为 套接字。基本上,它是该对话(Web客户端和Web服务器之间的对话)中所有组件的标识符。
当Web服务器接收到该数据包时,将其放置在分配给端口80 的缓冲区中,以便Web服务将看到它有来自此设备的请求,并且使用相反的信息来回复。源为 172.16.10.50 端口 80, 目的地为 192.168.10.15, 端口号 5507。
所有的Web请求和响应都将具有相同的套接字,即使在通过Internet来进行对话。

3. TCP/IP 套件
3.1 协议操作
为了确保信息能够被接收和理解,Web服务器和Web客户端使用特定的协议和标准来交换信息。在四个不同层次的TCP/IP模型上提供网页功能所需的各种协议是:
应用层协议
HTTP 控制Web服务器和客户端交互的方式。HTTP 定义了客户端和服务器之间交换的请求和响应的格式。HTTP依赖于其他协议来控制如何在客户端和服务器之间传输信息。
传输层协议
传输控制协议(TCP)确保可靠地发送IP数据包并重新发送任何丢失的数据包。TCP提供对乱序接收的数据包的正确排序。
互联网层
最常见的互联网协议是IP。IP负责从TCP中获取格式化的段,分配逻辑地址,并将其封装到数据包中以路由到目标主机。
网络访问层
网络访问层的特定协议取决于物理网络中使用的媒体类型和传输方法。

3.2 TCP and UDP
网络上可用的每个服务都有自己的应用程序协议,这些协议在服务器和客户端软件中实现。如图所示,除了应用程序协议之外,所有通用Internet服务都使用Internet协议(IP)在源主机和目标主机之间寻址和路由消息。
IP仅与数据包的结构、寻址和路由有关。IP没有指定数据包的传送和传输方式。应用程序决定使用哪种传输协议。传输协议指定如何管理主机之间的消息传输。两种最常见的传输协议是传输控制协议(TCP)和用户数据包协议
(UDP)。IP协议使用这些传输协议使主机能够通信和传输数据。

3.3 确保可靠传输
数以百万计的网页随时通过互联网传输,服务器如何确定它发送的页面被请求它的客户端接收?有主于确保可靠传输的机制之一是传输控制协议(TCP)。
当应用程序要求确认已传递消息时,它将使用TCP。TCP将消息分解成小块,称为段。段按顺序编号,并传递到IP进程,以便组装成数据包。TCP跟踪从特定应用程序发送到特定主机的段数。如果发送方在一定的时间内没有收到确认,它嘉定段丢失并重新传输它们。只有丢失的部分消息被重新发送,而不是整个消息。
在接收主机上,TCP负责重组消息段并将其传递给应用程序。FTP和HTTP是使用TCP来确保数据传递的应用程序示例。
观看以下动画,了解TCP段如何被传输。

3.4 无需确认
在某些情况下,不需要TCP协议来确认。因为实际上它会减慢信息传输的速度,如图所示,在某些情况下,UDP可能是更合适的传输协议。
UDP是一种“尽力而为”的交付系统,不需要确认收货。UDP对于诸如IP上的音频流和语音流之类的应用程序更可取,确认会减慢传递速度,重新传输是不希望的。
使用UDP的应用程序一个示例是 互联网无线电。如果某些消息在通过网络的过程中丢失,则不会重新传输。如果错过了一些数据包,则听众可能会听到声音的轻微中断。如果使用TCP并重新发送丢失的数据包,则传输过程将会暂停以接收它们,并且中断将更加明显。
为了说明UDP 的用途,请考虑主机如何使用DNS将域名解析为IP地址。DNS不需要TCP的服务,因为大多数DNS查询都可在一个数据包内解决。因此,DNS将使用UDP来解析名称。图中的示例说明了这一点。 注意:客户端并不知道 www.cisco.com的IP地址,因此它使用UDP向DNS服务器发送一个DNS请求,服务器在一个数据包中响应cisco.com的IP地址。



4. 跟踪对话
4.1 传输层端口号
在一天里,我们可以通过互联网访问许多服务。DNS、Web、电子邮件、FTP,IM和VoIP只是世界各地客户端/服务器系统提供的部分服务。这些服务可以由单个服务器提供,也可以由大型数据中心中的多个服务器提供。
当使用TCP或UDP发送消息时,通过端口号标识所请求的协议和服务。端口是每个段中的一个数字标识符,用于跟踪客户机和服务器之间的特定对话。主机发送的每个消息都包含源端口和目的端口。
服务器接收到消息时,服务器必须能够确定客户机请求的是哪个服务。客户端被预先配置为使用在Internet上为每个服务注册的目标端口。一个例子是web浏览器客户端,它预先配置为使用端口80 (HTTP web服务的著名端口)向web服务器发送请求。
端口由称为互联网名称与数字地址分配机构(ICANN)的组织进行分配和管理。端口分为三类,范围从1到65,535:
- 公认端口:与通用网络应用程序关联的目标端口被识别为公认端口,范围为 1 到 1023
- 已注册端口: 用作源端口或目的端口。组织可以使用它们来注册特定的应用程序,比如IM应用程序。 范围为:1024到49151
- 私有端口:经常用作源端口。任何应用程序都可以使用这些端口。范围为: 49152 到 65535
查看下图的表,查看有关TCP和UDP端口的更多信息。


4.2 目的端口号和源端口号
源端口号与本地主机上的原始应用程序相关联,目标端口号与远程主机上的目标应用程序相关联:
源端口号: 由发送设备动态生成,以标识两个设备之间的对话。该过程允许同时进行多个对话。设备通常会同时向Web服务器发送多个HTTP服务器请求。基于源端口号跟踪每个单独的HTTP会话。
目标端口号:
客户端在段中放置一个目标端口号,以告知目标服务器正在请求什么服务,如图所示。例如,当客户端在目标端口中指定端口80时,如图所示,接收消息的服务器知道正在请求Web服务。服务器可以同时提供多个服务,例如端口80上的Web服务,同时在端口21上提供文件传输协议(FTP)连接的建立。

4.3 传输层端口号
设置服务器以通过网络提供服务时,我们会在该服务器上加载应用程序。例如,Web服务器应用程序、FTP应用程序或邮件传输应用程序。当我们设置这些服务时,将为它们分配一个端口,即一个传输层端口。
低于1024的端口通常称为公认端口(因为它们很常用)。例如,web服务器监听到80端口的通信,ftp服务器对应端口21。这些端口和许多其他公认端口都由客户端自动识别。 每当我们打开web浏览器并输入url时,我们不必告诉它哪个端口,因为客户端(本例中是web浏览器)已经知道Web服务器正在监听端口80,以便能够响应web页面请求。
因此,当我们的web服务器正在监听时,它设置了一个缓冲区,它将接收发送到它的IP地址的请求,以及TCP端80。如果期待FTP服务器响应,则通信将发送到端口21。这使我们能够同时运行许多不同的服务。

Week4 常用网络服务
有大量的服务请求和交付通过网络完成。有些似乎很容易看到,而另一些则在后台工作,提供所需的服务。在本模块中,你将学习到常用的网络服务和协议,如电子邮件、Web服务、即时消息传递、DNS、HTTP、HTML、SMTP、Telnet和SSH。
1. 域名系统
1.1 将域名转为IP地址
每个服务器都分配了一个唯一的IP地址,该地址可以在连接服务器的本地网络上对其标识。
要记住互联网上所有托管服务的服务器的所有IP地址是不可能的。相反,通过将名称与IP地址相关联来找到服务器则会更加简便。
域名系统(DNS)为主机提供了使用名称请求特定服务器IP地址的方法。如图,DNS名称在互联网上特定的高级组或域中注册和组织的。Internet上一些最常见的高级域名有.com,.edu,.net。

1.2 DNS 服务器
DNS服务器包含一个表,该表将域中的主机名与相应的IP地址相关联。当客户机拥有服务器(例如Web服务器)的名称,但需要查找IP地址时,它会向端口53的DNS服务器发送请求。客户端使用DNS服务器配置中的IP地址。
当DNS服务器收到请求时,它检查其表以确定与该Web服务器关联的IP地址。如果本地DNS服务器没有请求名称的条目,它将查询该域中的另一个DNS服务器。当DNS服务器查找到IP地址时,该信息被发送回客户端。如果DNS服务器不能确定IP地址,请求将超时,客户端将无法与Web服务器通信。
观察下面的动画,了解DNS是如何工作的。

2. Web客户端和服务器
2.1 HTTP 和 HTML
当web客户端接收到web服务器的IP地址时,客户端浏览器使用IP地址、端口号80来请求web服务。通过使用HTTP(超文本传输来发送请求到服务器
当服务器接收到端口80的请求时,服务器响应客户端请求并发送网页给客户端。 网页的信息内容使用专门的“标记”语言进行编码。超文本标记语言(HTML)编码告诉浏览器如何设置网页格式以及要使用的图形和字体。HTML是最常用的,但是XML和XHTML等其他语言正在变得越来越流行。
HTTP 协议不是安全的协议;信息在通过网络发送时很容易被其他用户截获。为了保证数据的安全性,HTTP可以与安全传输协议一起使用。对安全HTTP的请求将发送到端口443。这些请求要求在浏览器站点中使用https,而不是http。
市场上有许多不同的Web服务器和Web客户端。HTTP协议和HTML标准使来自许多不同制造商的这些服务器和客户端可以无缝地协同工作。
观看以下动画,以查看客户端请求网页时使用的协议。

3. FTP客户端和服务器
3.1 传输文件
除了Web服务之外,Internet上使用的另一种常见服务是允许用户传输文件的服务。
文件传输协议(FTP)提供了一种简单的方法来将文件从一台计算机传输到另一台计算机。运行FTP客户端软件的主机可以访问FTP服务器来执行各种文件管理功能,包括文件上传和下载。
FTP服务器允许客户端在设备之间交换文件。它还允许客户端通过发送删除或重命名等文件管理命令来远程管理文件。为此,FTP服务使用两个不同的端口在客户端和服务器之间进行通信。
图中的示例说明了FTP的工作方式。要开始一个FTP会话,控制连接请求使用目标TCP端口21发送到服务器。当会话打开时,服务器将更改为TCP端口20来传输数据文件。
FTP客户端软件内置于计算机操作系统和大多数web浏览器中。独立FTP客户端在易于使用的基于GUI的界面中提供了许多选项。

3.2 FTP客户端软件
大多数客户机操作系统(如Windows、Mac OS和Linux)都包含用于FTP的命令行界面。基于gui的FTP客户端软件也提供了一个简单的FTP拖放界面。使用用户名和密码登录到FTP服务器后,用户在本地主机窗口和FTP服务器窗口之间拖动文件来传输文件。

4. 虚拟终端
4.1 使用Telnet(远程连接服务)
早在具有复杂图形界面的台式计算机出现之前,人们使用的基于文本的系统通常只是与中央计算机物理连接的显示终端。在网络可用之后,人们需要一种方法来远程能够访问计算机系统,就像使用直接连接的终端一样。
Telnet 就是为了满足这种需求而开发的。Telnet 可以追溯到1970年代早期,是 TCP/IP套件中最古老的应用层协议和服务之一。Telnet提供了一种通过数据网络模拟基于文本的终端设备的标准方法。协议本身和实现协议的客户端软件通常称为Telnet。Telnet服务器在TCP端口23上监听客户机请求。
使用Telnet的连接称为虚拟终端(VTY)会话或连接。Telnet不适用物理设备连接到服务器。而是使用软件创建虚拟设备,该虚拟设备提供与终端会话相同的功能,可以访问服务器的命令行接口(CLI)。
例如,在图中,客户端使用Telnet远程连接到服务器。客户机现在能够执行命令,就像它在本地连接到服务器一样。
注意:Telnet 不被认为是安全协议。 在大多数环境中应该使用SSH,而不是Telnet。为了简化配置,本课程的几个示例中使用的是Telnet。

4.2 Telnet 的安全问题
建立Telnet连接后,用户可以在服务器上执行任何授权功能,就像在服务器本身上使用命令行会话一样。如果获得授权,他们可以启动和停止进程,配置设备,甚至关闭系统。
虽然Telnet协议可能要求用户登录,但它不支持加密数据的传输。 Telnet会话期间交换的所有数据均以纯文本形式在网络上传输。这意味着数据可以被拦截并易于理解。
当需要考虑安全性时,安全外壳(SSH)协议为服务器访问提供了另一种安全的方法。SSH提供了用于安全远程登录和其他安全网络服务的结构。它还提供比Telnet更强的身份验证,并支持使用加密方式传输会话数据。最佳实践是,网络专业人员应始终尽可能使用SSH代替Telnet。
该图说明了SSH比Telnet更安全。查看网络技术人员正在发送的内容以及黑客正在捕获的内容。请注意,使用Telnet时黑客捕获的数据是清晰可读的,而使用SSH时捕获的数据是加密的,因此更加安全。

5. 电子邮件和消息传递
5.1 电子邮件客户端和服务器
电子邮件是互联网上最流行的客户端/服务器应用程序之一。电子邮件服务器运行服务器软件,使它们能够与客户端和网络上的其他电子邮件服务器进行交互。
每个邮件服务器为在邮件服务器上配置了邮箱的用户接收和存储邮件。每个拥有邮箱的用户必须使用电子邮件客户端访问邮件服务器并读取这些邮件。许多Internet消息传递系统使用基于web的客户端访问电子邮件。这类客户端包括Microsoft 365、Yahoo和Gmail。
邮箱的标识格式如下:
user@company.domain
在处理电子邮件中使用的各种应用协议包括SMTP、POP3和IMAP4。
5.2 电子邮件协议
简单邮件传输协议(SMTP)
SMTP被电子邮件客户端用来发送消息到它的本地电子邮件服务器。然后本地服务器决定邮件的目的地是本地邮箱,还是另一台服务器上的邮箱。
如果服务器必须将消息发送到另一个服务器,那么在两个服务器之间也使用SMTP。SMTP请求被发送到端口25。
观看下面的动画,看看SMTP是如何用来发送电子邮件。

邮政协议(POP3)
支持POP客户机的服务器接收和存储发送给用户的消息。当客户端连接到电子邮件服务器时,消息被下载到客户端。默认情况下,消息在被客户机访问后不会保存在服务器上。客户端联系端口110上的POP3服务器。
互联网信息访问协议(IMAP4)
支持IMAP客户机的服务器还接收和存储发送给其用户的消息。但是,与POP不同的是,IMAP将消息保存在服务器上的邮箱中,除非它们被用户删除。IMAP的最新版本是IMAP4,它在端口143上监听客户端请求。
针对不同的网络操作系统平台存在许多不同的电子邮件服务器。
5.3 即时通讯
如图所示,即时消息(IM)是当今最流行的通信工具之一。IM客户端软件内置在许多在线应用程序、智能手机应用程序和社交媒体网站中。即时消息使用户能够在Internet上实时通信或聊天。大多数即时消息服务都是通过集成到社会媒体或信息共享站点中的基于web的客户端访问的。这些客户端通常只连接到同一站点的其他用户(?)。有些客户端应用程序和智能手机应用程序可以下载,这些应用程序能够同时连接到多个不同的消息传递服务。
IM应用程序需要最少的配置即可运行。下载客户端之后,所需要做的就是输入用户名和密码信息。除了文本信息,IM还可以支持文件、视频、音乐和音频文件的传输。

5.4 网络电话
互联网电话正变得越来越流行。Internet电话客户机使用类似于即时消息传递所使用的对等技术,如图所示。IP电话利用IP (VoIP)语音技术,将模拟语音信号转换成数字数据。语音数据被封装到IP包中,通过网络携带电话呼叫。
安装IP电话软件后,用户将选择一个唯一的名称。这样可以接收来自其他用户的呼叫。内置或独立的扬声器和麦克风都是必需的。经常将头戴式耳机插入计算机以用作电话。
通过从列表中选择用户名,可以对Internet上使用相同服务的其他用户进行调用。拨打普通电话(座机或手机)需要使用网关进入公共交换电话网(PSTN)。根据服务的不同,可能会收取与此类型的呼叫相关的费用。Internet电话应用程序使用的协议和目标端口可能会因软件而异。
