6.1 域名系统DNS

DNS被设计为一个联机分布式的数据库系统,采用CS方式,大多数域名都是本地进行解析(将域名解析为IP地址),由于是分布式,因此单个主机出现故障不会影响整个系统。
域名到IP地址的解析如下:
1.调用解析程序,成为DNS的客户端;
2.发送DNS请求报文,封装为UDP报文发送请求给本地域名服务器(如果本地域名服务器无法解析,则会向其他域名服务器寻找);
3.域名服务器解析后,得到IP地址封装为DNS应答报文,最后封装为UDP报文应答。
早期的域名结构

image.png
image.png
image.png
image.png
image.png
DNS服务器类型有:根域名服务器(没有名字,但却是DNS协议必须的)、顶级域名服务器(机构指定)、权限域名服务器、本地域名服务器。
image.png
image.png
image.png
DNS查询时,本地域名服务器一般会有高速缓存,缓存对应的域名和IP关系,例如,用户A之前查过xyz.com这个域名,用户B再来查时,本地域名服务器直接返回给B,而无需再向根域名服务器查询;另外,如果本地域名服务器中已经缓存了顶级域名服务器,也无需再向根域名服务器索要顶级域名服务器的地址。


6.2 文件传输协议(FTP和TFTP)

6.2.1 FTP

FTP是基于TCP的
image.png
image.png
FTP的控制连接:客户端端端口x和服务器端口21
FTP的数据连接:服务器端口20和客户端端口x

6.2.2 TFTP

TFTP是基于UDP的,有两个优点:
1.面向无连接,文件需要面向多个机器时较好
2.使用的内存较小
image.png
TFTP服务器端口使用69,且类似于停等式协议,发送完一个文件数据块后需要等待对方的确认,才会进行下一次的文件数据块儿传输。


6.3 远程终端协议(TELNET)

简单的远程终端协议:主机通过TCP连接,登录到另一台远端主机上去,同时能够将远端主机的输出直接通过TCP连接反映到当前的主机屏幕上,采用C/S方式(本地为客户端,远端为服务器)

image.png
为了屏蔽操作系统的差异,需要一种NVT(网络虚拟终端)的转换
image.png


6.4 万维网(WWW)

万维网是一个大规模的、联机式的信息储藏所,简称web,它是一个分布式的超媒体系统,是超文本系统的扩充。

image.png
超文本:包含指向其他文档的链接的文本,一个超文本由多个信息源链接而成
超媒体:可以包含其他信息,如视频、图像等。
万维网也是一种C/S模型,用户在客户端发起请求,服务器则发回对应文档响应请求。
万维网三大基石:URL(统一资源标识符)、HTTP协议(超文本传输协议)、HTML(超文本标记语言)
(1)URL
1.定义:标志分布在互联网上的文档,从互联网上获取资源定位和访问方法;
2.组成部分和格式:<协议>://<主机>:<端口>/<路径>,如果http://192.168.1.1:8080/abd/c
2.1协议:常用HTTP(HTTPS),其次是FTP
2.2主机:主机的IP地址或域名(DNS会再解析为IP地址)
2.3端口:访问的端口号
2.4路径:访问的资源路径
(2)HTTP
1.定义:实现各种链接的数据访问,浏览器的客户端如何想服务器请求各种文档,是一种面向事务的应用层协议
2.工作过程:万维网网点服务器持续监听80端口,等待客户端程序访问(底层基于TCP实现),但HTTP本身是无连接的,通信双发在交换HTTP报文前不会先建立HTTP连接,HTTP也是无状态的,客户端和服务器都不记得对应的访问/服务次数。
image.png
HTTP一次交互的时间
image.png
image.png
非流水线:请求和响应一一对应,用户在收到一次响应后才能发下次请求
流水线:一次TCP连接中,客户端可以连续发送多个HTTP请求

万维网中的代理服务器:是一种
高速缓存,代理服务器把最忌的请求和响应暂存在本地磁盘中,新请求到达时,如果发现和缓存中的相同则直接返回暂存的对应响应
image.png
image.png
image.png 使用Cookie可以记录下客户端在服务器的访问痕迹和数据等,便捷同一用户下次再次访问服务器
(3)HTML
1.定义:实现用户自设计的风格各异的文档,以标签形式书写的文本标记语言
2.示例
image.png
3.搭配css样式,能够美化内容**


6.5 简单邮件协议(SMTP)

用户代理:用户与电子邮件系统的一个接口,大多数情况下就是一个客户端的应用程序。
(1)撰写:提供编辑信件的功能
(2)显示:计算机屏幕上显示信息
(3)处理:发送和接收邮件,对邮件转发、删除、标记等
(4)通信:发送方利用邮件传输协议(SMTP)发送意见,接收方用邮件读取协议(PO3从本地邮件服务器接收邮件
PS:SMTP和PO3都是基于TCP的,而邮件服务器的角色可以在客户端和服务器之间互换,例如A往B发送邮件时,A是SMTP的客户端,B是SMTP的服务器。

image.png
image.png
image.png
image.png
image.png


6.6 DHCP协议

动态主机配置协议:即插即用连网,一台新的计算机接入网络中时,动态获取IP地址等信息,无需手工配置。
DHCP基于C/S模型,对于客户端软件,启动时使用DHCP获取新的IP地址;对于服务器软件,DHCP会给其分配一个固定IP且是永久的,在重启后不会变更。
DHCP的连接过程:
1.DHCP客户端发送广播报文(源IP0.0.0.0表示本机),即DISCOVER报文
2.DHCP服务器会接收此报文,并且查找数据库中是否该机器的配置信息,如果有则直接分配,如果没有则重新在IP地址池中拿一个IP,之后会对DHCP客户端发送DHCPOFFER报文
3.一般在网络中为了让DHCP服务器数量少一些,减小开销,会有DHCP中继代理,当收到客户端的请求时,代理会直接把广播报文转为单播报文发给DHCP服务器
image.png
4.DHCP客户端收到DHCP服务器的接受报文,如果是多个接受报文,DHCP客户端会从中选一个,接来下发送DHCPREQUEST报文给选取的DHCP服务器。
5.被选择的DHCP服务器回复DHCP客户端的请求,发送DHCPACK报文,此时DHCP客户端和服务器就暂时绑定了,客户端暂时获得IP地址,之后根据超时时间定时器和租约设置,DHCP客户端会定期向DHCP服务器发送DHCPREQUEST报文,获得IP。
6.断开连接时,DHCP客户端像服务器发送DHCPRELEASE报文即可。

image.png


6.7 SNMP协议

image.png
SNMP网络管理由三个部分组成:SNMP本身、SMI、MIB库
(1)SNMP
1.1操作类型:Get/Set/Trap,其中Get为主动监测被管对象的状况、Set主动改变被管对象的状态,Trap为被管对象主动上报自身信息,Get/Set的目的端口为162,Trap的目的端口为161,SNMP协议是基于UDP协议实现。
image.png 2.2报文格式
image.png
image.png
(2)管理信息结构SMI:规定了被管对象的命名、储存被管对象的数据结构类型、网络上如何传输这些编码
2.1对象命名
image.png
2.2数据结构类型:
image.png
2.3编码方法:BER编码的TLV形式
image.png
(3)管理信息库MIB:网管被管对象的集合构成了虚拟的信息存储器,管理程序需要进行管理时,需要使用MIB的值对被管程序进行管理。
image.png


6.8 应用进程跨越网络通信

系统调用和应用编程接口:应用程序在执行某些功能时,需要调用系统函数,将权利交给操作系统,而进行系统函数调用时,往往需要一些API接口(应用编程接口)
image.png
目前,Socket套接字接口为不同操作系统的系统函数调用提供了API
image.png
image.png
在调用Socket套接字时,操作系统会为应用进程提供一个Socket描述符(在应用程序中相关Sokcet API都需要用到它),从而分配资源(CPU、存储、带宽)等。
image.png
image.png


6.9 P2P应用

对等式的网络应用,peertopeer,网络中的各个用户都是对等的,资源共享,方便用户
缺点是用户数量多了以后容易出现性能问题,且不够可靠
image.png
后续的P2P应用,采取了有限范围内的泛洪法,BigTorrent方式,用户可以加入到P2P网络,他们之间可以互相传输文件,在获得文件后,用户可以退出(自私),也可以继续为其他用户上传(无私)。
image.png
image.png
C/S和P2P方式下的文件分发时间

image.png
image.png
image.png
image.pngimage.png
P2P搜索对象:资源名K(关键字)和节点的IP地址N,采用DHT离散哈希表的方式存储K和N的映射关系
image.png
image.png
image.png
image.png