免费造网站,wordpress插件汉化教程,python基础教程学完应该学什么,哪些网站可以免费推广6.1、应用层概述 我们在浏览器的地址中输入某个网站的域名后#xff0c;就可以访问该网站的内容#xff0c;这个就是万维网WWW应用#xff0c;其相关的应用层协议为超文本传送协议HTTP 用户在浏览器地址栏中输入的是“见名知意”的域名#xff0c;而TCP/IP的网际层使用IP地…6.1、应用层概述 我们在浏览器的地址中输入某个网站的域名后就可以访问该网站的内容这个就是万维网WWW应用其相关的应用层协议为超文本传送协议HTTP 用户在浏览器地址栏中输入的是“见名知意”的域名而TCP/IP的网际层使用IP地址来表示目的主机从域名到IP地址的装转换由属于应用层范畴的域名系统DNS在后台帮用户完成 如上是一些常见的应用我们将通过如上应用学习应用层
总结 6.2、客户/服务器方式C/S方式和对等方式P2P方式
概念
客户/服务器方式C/S方式
如上图主机A正在运行的客户程序称为客户进程简称为客户。运行客户程序的主机A称为客户计算机但有时也称为客户。主机B正在运行的服务器程序称为服务器进程简称为服务器。运行客户程序的主机A称为服务器计算机但有时也称为服务器。
对等方式P2P方式
如上图所示主机CDEF运行着同一种P2P程序其中EFED和CE互为对等方。举例可以理解为E的P2P进程正在从F下载文件并且为D的P2P进程提供下载服务
总结 6.3、动态主机配置协议DHCP
概念 互联网广泛使用的动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制。 这种机制允许一台计算机加入新的网络和获取 IP 地址而不用手工配置。
DHCP的作用 在没有DHCP时我们只有手动给网络中各主机正确配置网络的相关配置信息才能正常访问Web服务器。但如果要配置的主机数很多工作量大就很容易出错 如果我们给网络中添加一台DHCP服务器并配置相关信息那么主机开机时就会向DHCP服务器请求自己的网络配置信息自动获取自己的网络配置这就减少很多工作量
DHCP的工作过程
DHCP 使用客户 - 服务器方式 需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文 DHCP DISCOVER这时该主机就成为 DHCP 客户。 本地网络上所有主机都能收到此广播报文但只有 DHCP 服务器才回答此广播报文。 DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到则返回找到的信息。若找不到则从服务器的 IP 地址池 (address pool) 中取一个地址分配租用给该计算机。DHCP服务器的回答报文叫做提供报文DHCP OFFER。
DHCP 工作方式 DHCP 使用客户-服务器方式采用请求/应答方式工作。 在DHCP服务器上运行DHCP服务器进程简称DHCP服务器。在用户主机运行DHCP客户进程简称DHCP客户 DHCP属于应用层协议其基于 UDP 工作DHCP报文在运输层会被封装成为UDP用户数据报。DHCP 服务器运行在 67 号端口 DHCP客户运行在 68 号端口。
DHCP交互过程 DHCP客户端启用DHCP后广播发送DHCP发现报文DHCP DISCOVER 事务ID DHCP客户端的MAC地址 封装该报文的IP数据报的源IP地址为0.0.0.0这是因为主机目前还未分配到IP地址因此使用该地址代替 目的IP地址为广播地址255.255.255.255因此该网络的所有设备都会收到该IP数据报。之所以广播发送是因为主机现在并不知道网络中有哪几个DHCP服务器。 对于DHCP客户收到DHCP发现报文后其应用层没有监听该UDP用户数据报目的端口67进程因此无法交付DHCP发现报文只能丢弃。 由于DHCP服务器应用层始终运行DHCP服务器进程因此会接受DHCP发现报文并做出响应。DHCP服务器收到DHCP发现报文后层层解封解封出封装有DHCP发现报文的UDP用户数据报。 DHCP服务器根据DHCP发现报文中封装的DHCP客户端的MAC地址来查找自己的数据库如果查到匹配信息则使用这些配置信息来构建并发送DHCP提供报文如果没有则采用默认配置信息来构建报文并发送 DHCP服务端将广播发送DHCP提供报文DHCP OFFER 事务ID 配置信息IP地址DHCP服务器从自己的IP地址池中挑选待租用给主机的IP地址使用ARP来确保所选IP地址未被网络中其他主机占用子网掩码地址租期默认网关DNS服务器 源IP地址发送DHCP提供报文的DHCP服务器的IP 目的地址因为目的主机还没分配到IP所以使用广播地址 对于DHCP客户收到DHCP提供报文后由于其应用层始终运行DHCP客户进程因此会接受DHCP提供报文并做出响应。DHCP客户根据DHCP提供报文中的事务ID来判断该DHCP提供报文是否是自己的所请求的报文若相等则接收 对于DHCP服务器收到DHCP提供报文后其应用层没有监听该UDP用户数据报目的端口68进程即DHCP客户进程因此无法交付DHCP提供报文只能丢弃。 注意DHCP服务器从自己的IP地址池中挑选待租用给主机的IP地址时使用ARP确保所选IP地址未被网络其他主机占有 在本例中DHCP客户会收到两个DHCP服务器发来的DHCP提供报文DHCP客户从中选择一个一般选择先到的并向所选择的DHCP服务器发送DHCP请求报文 DHCP客户端将广播发送DHCP请求报文DHCP REQUEST 事务ID DHCP客户端的MAC地址 接收的租约中的IP地址 提供此租约的DHCP服务器端的IP地址 源地址0.0.0.0因为此时DHCP客户才从多个DHCP服务器中挑选一个作为自己的DHCP服务器。DHCP客户首先要征得该服务器的同意之后才能正式使用向该DHCP服务器租用的IP地址 目的地址广播地址这样可以一次性向所有DHCP服务器发送DHCP请求报文来告知它们是否请求它们作为自己的DHCP服务器 在本例中假设DHCP客户端选择DHCP服务器1作为自己的DHCP服务器DHCP服务器1接受该请求于是DHCP服务器1给DHCP客户端发送DHCP确认报文 源地址DHCP服务器1的IP地址 目的地址广播地址 DHCP客户收到该报文后就可以使用租用的IP地址 注意DHCP客户在接收DHCP确认报文前使用ARP确保所选IP地址未被网络其他主机占有 DHCP NACKDHCP否认报文
DHCP中继代理 该网络中主机发送DHCP发现报文时会被路由器丢弃 使用DHCP中继代理是因为我们不用给每一个网络上都设置一个DHCP服务器这样会使DHCP服务器的数量太多 总结 6.4、域名系统DNS
概述
域名相比IP地址更容易记忆
在因特网中用户主机只需要在浏览器中输入某web服务器域名便可访问该服务器所提供的内容 我们可以通过ping命令来观察用户主机和web服务器之间的连通性。
虽然我们ping的是域名但实际ping的是IP地址也就是说用户主机把域名转换为了IP地址
对于大多数网络应用我们可以用简便易记的域名访问目的web服务器这得益于DNS 我们在浏览器地址栏中输入某web服务器域名时用户主机会首先在自己的DNS高速缓存中查找该域名所对应的IP地址如果没有找到则向网络中某台DNS服务器查询。
DNS服务器中存储有域名和IP地址映射关系的数据库当DNS服务器收到DNS查询报文后在其数据库中进行查询然后把查询结果发送给用户主机。
此时用户中主机的浏览器可以通过Web服务器的IP地址对其访问了 名称相同的域名其等级未必相同 域名解析过程
习题 总结 6.5、文件传送协议FTP
概念
文件传送协议FTP的应用 FTP采用C/S方式客户/服务器方式
FTP客户计算机可将各种类型的文件上传到FTP服务器计算机 FTP客户计算机也可以从FTP服务器计算机下载文件 我们可以在FTP服务器计算机使用第三方FTP服务器软件或者其他软件创建FTP服务器
如上图我们可以在Windows系统中使用其自带的FTP服务器功能创建一个FTP服务器站点。 我们可以在浏览器中通过该IP地址访问FTP服务器
注意此处使用ftp协议而非http协议 也可以通过Windows中命令行工具通过该地址访问FTP服务器 也可以通过第三方软件访问ftp服务器 FTP基本工作原理
主动模式 FTP服务器监听熟知端口端口号为 21使客户进程能够连接上。
首先FTP客户随机选择一个临时端口号与其建立TCP连接这条TCP连接用于FTP客户与服务器之间传送FTP的相关控制命令这条连接是FTP客户与服务器之间的命令通道
FTP服务器使用自己的熟知端口号20与FTP客户的另一个临时端口建立TCP连接这条TCP连接用于FTP客户与服务器之间传送数据
被动模式 注意两种模式的控制连接在整个会话期间保持打开状态而数据连接单次数据传输完毕后就关闭
习题 总结 6.6、电子邮件
概念
邮件发送和接收过程
简单邮件传送协议SMTPSimple Mail Transfer Protocol的基本工作原理
SMTP客户与服务器之间通过命令与应答的交互方式实现SMT客户发送邮件给SMTP服务器
应答代码220后可能有描述信息
当服务器邮件身份无效时接受方发回其他代码如421表示服务不可用
电子邮件的信息格式
Cc抄送人其可看可不看可回可不回邮件
邮件读取
基于万维网的电子邮件
习题 总结 6.7、万维网WWW
概念
概述 万维网 WWW (World Wide Web) 并非某种特殊的计算机网络而是一个大规模的、联机式的信息储藏所。 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点从而主动地按需获取丰富的信息。这种访问方式称为“链接”。
万维网的工作方式 万维网以客户 - 服务器方式工作。 浏览器就是在用户计算机上的万维网客户程序。驻留着万维网文档的计算机运行着服务器程序这个计算机也称为万维网服务器。 客户程序向服务器程序发出请求服务器程序向客户程序送回客户所要的万维网文档。 在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。
万维网应用举例
访问网页
怎样标志分布在整个互联网上的万维网文档
万维网的文档 我们可以将网页另存下来保存结果是一个HTML的文件和一个文件夹文件夹内容如下 由这些文件编写的万维网文档由浏览器内核负责解释和渲染
接下来我们将结合这些文件组合成一个完善的网页
如图所示这是一个html文档当我们打开这个文件时出现一个页面 我们将css文件和html文件组合在一起这个网页就变得好看一些了 此时我们在html文件中添加一个按钮并创建一个js文件添加时间处理函数页面就有了一个新功能了 当我们点击这个按钮时触发功能
超文本传输协议HTTPHyper Transfer Protocol
概念和传输过程 在万维网客户程序与万维网服务器程序之间进行交互所使用的协议是超文本传送协议 HTTP (HyperText Transfer Protocol)。 HTTP 是一个应用层协议它使用 TCP 连接进行可靠的传送。 每个万维网网点都有一个服务器进程它不断地监听 TCP 的端口 80以便发现是否有浏览器向它发出连接建立请求。 一旦监听到连接建立请求并建立了 TCP 连接之后浏览器就向万维网服务器发出浏览某个页面的请求服务器接着就返回所请求的页面作为响应。 最后TCP 连接就被释放了。
RTT请求和响应所耗费的时间
在HTTP/1.1持续连接的情况下只有服务器有相关文档浏览器不同的页面也可以发送请求报文和接收响应报文
HTTP报文格式
HTTP请求报文格式
URL统一资源定位符字段也就是网址
HTTP响应报文格式
短语对状态码的简单描述 如上图所示浏览器并不会直接显示相应报文而是以一种人性化的方式显示
使用Cookie在服务器上记录用户信息
万维网缓存与代理服务器
如果该请求有缓存
如果该请求没有缓存 若web缓存的命中率比较高则会大大减小了该链路上的通信量因而减少了访问因特网的时延 原始服务器通常会为每个响应的对象设定一个修改时间字段和一个有效日期字段。代理服务器依该字段判断存储在其中的文档是否过期
现有校园网一主机请求一文档 若代理服务器中文档未过期时文档会发给主机 若代理服务器中文档过期并且代理服务器的文档和原始服务器的文档一致原始服务器则给代理服务器发送不包含实体主体的响应 若代理服务器中文档过期并且代理服务器的文档和原始服务器的文档不一致原始服务器则给代理服务器发送封装有该文档的响应报文
习题 总结