计网
1. 概述
2. 物理层
3. 链路层
4. 网络层
5. 传输层
6. 应用层
7. 一些问题
8. 计网软件编程——Ethernet&ARP
服务器:提供计算服务的主机
服务器上运行的软件是专门用来提供某种服务的程序,可同时处理多个远程或本地请求
系统启动后,便不断运行,被动等待并接收来自客户机的请求
提供永久的服务,永久的访问地址
客户机:请求计算服务的主机
如:Web应用程序,总是打开的Web服务器服务于运行在客户机上的浏览器请求。当Web服务器收到客户机对某对象的请求后,向该客户机发送所请求的对象做出响应
在P2P模型中,任意一对计算机称为
对等方(Peer)
, 直接相互通信。
优点
缺点
Domain Name System 域名系统:把便于记忆的具有特定含义的主机名转换为便于机器处理的IP地址
一个联机分布式的数据库系统
应用模型:C/S模式
基于UDP:多次DNS请求放回相同的结果
域名与IP地址为多对多的关系
由 层次域名空间、域名服务器、域名解析器
三部分组成
域名:采用层次树状结构的命名方法,任何连接到因特网的主机和路由器都有唯一的层次结构的名称
级别低的写在最左边,级别最高的顶级域名写在最右边
域:命名空间一个可被管理的划分,每个域有不同组织管理,每个组织都可将他的域分为一定数目的子域
国家顶级域名
通用顶级域名
基础结构域名
arpa
:反向域名,提供IP地址对应的域名
域名服务器:域名到IP地址的解析由运行在域名服务器上的程序完成
一个域名服务器管辖的范围称为区
每个区有相应的权限服务器,用于保存该取区的所有主机的域名IP映射
域名服务器之间相互连接,当自己不知道域名对应的IP地址时,能知道去找哪些域名服务器
DNS使用了大量的域名服务器,以层次的方式组织。没有一台域名服务器具有因特网上所有主机的映射,而是分布在DNS中
所有根域名服务器都知道所有的顶级域名服务器的IP地址
13台根域名服务器是冗余服务器集群,可以提高安全性和可靠性
通常告诉 本地域名服务器 下一步该去找那个 顶级域名服务器 进行查询
管理在该顶级域名服务器注册的所有二级域名
将域名转换为主机的IP地址
接收主机发送的DNS查询请求报文和返回本机的IP地址
域名解析:将域名映射称IP地址或把IP地址映射成域名的过程
当客户端需要域名时,通过本机的DNS客户端构造一个 DNS请求报文 ,以 UDP数据报 方式发往 本地域名服务器
在本地域名服务器上,有定时更新的 高速缓存 :存储域名与IP地址的映射
DNS查询结果
时,将该DNS信息缓存在 高速缓存 中如果 本地主机 所询问的 本地域名服务器 不知道被查询域名的IP地址,那么 本地域名服务器 以 DNS客户
的身份,向 根域名服务器 继续发出 查询请求报文
本地域名服务器 只需向 根域名服务器 发送一次 查询请求
,后面几次查询都是在各级域名服务器之间
本地域名服务器 从 根域名服务器 得到了 IP地址
,最后返回给 本地域名服务器 在将查询结果转交给本地主机
会使根域名服务器负载过大,实际几乎不用
迭代查询报文
时,要么给出 IP地址
,要么告诉 本地域名服务器 :下一步向那个 顶级域名服务器 查询IP地址
后,将结果返回给主机DNS客户端DNS请求报文
本地高速缓存
,若没有该记录,则以DNS客户机的身份向 根域名服务器 发出解析请求.com
域,则将对应的 顶级域名服务器 的 dns.com
IP地址返回给 本地域名服务器请求报文
baidu.com
域,则将对应的 权限域名服务器 dns.baidu.com
的IP地址返回给 本地域名服务器本地高速缓存
,同时返回给 客户机提供不同种类主机系统间的文件传输能力
功能
建立在FTP服务器21号端口上的TCP连接,用于传输控制信息(连接请求、传送请求等) ,控制信息都是以7为ASCII传送
客户端发出的传送请求,通过控制连接发送给服务端的控制进程
控制连接在整个FTP会话期间保持打开状态
由于控制信息是分离的,所以FTP控制信息是 带外传输 的
数据连接用于连接 客户端 与 服务器端数据传送进程
数据传送进程 实际 完成文件的传送,在传送完毕后关闭 数据传送连接 并结束运行
使用FTP时,若要修改服务器上的文件,则需要先将此文件传送到本地主机,然后将修改后的文件副本传送会原服务器
异步通信方式,通信时不需要双方同时在场
发送方把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可以随时使用自己的邮件服务器进行读取
电子邮件客户端软件
用户代理 向 代理邮件服务器 或 邮件服务器间 发送邮件
用户代理 从 邮件服务器 读取邮件
控制两个SMTP进程交换信息
- SMTP客户:发送邮件的邮件服务器进程
- SMTP服务器:接收邮件的SMTP进程
应用层模型:C/S
基于TCP:端口号25
连接建立
SMTP不使用中间邮件服务器,TCP连接在发送方和接收方的邮件服务器之间直接建立
220 Service ready(服务就绪)
。然后SMTP客户向SMTP服务器发送 HELO命令
,附上发送方的主机名邮件传送
MAIL命令,接收邮件服务若有能力接收,器返回 250 OK
SMTP客户端发送一个RCPT命令,确认接收方系统是否已经做好接收邮件的准备
获得OK回答后,客户端使用DATA命令,表示要开始传输邮件内容
连接释放
SMTP客户发送 QUIT命令
SMTP服务器返回的信息是 221服务关闭
,表示SMTP同意释放TCP连接
MIMI增加了邮件主体的结构,并定义了传送非ASCII码的编码规则
邮局协议(Post Office Protocal)第三版本
应用层模型:C/S
基于TCP:端口号110
采用 Pull
通信方式,当用户读取邮件时,用户代理向邮件服务器发出请求,拉取用户邮箱中的邮件
下载并保留:邮件仍保存在邮件服务器上,用户可再次从服务器上读取该邮件
下载并删除:邮件一旦被读取,就从邮件服务器上移除,用户不能再次从服务器上读取
因特网报文存取协议,允许用户代理只获取报文的某些部分
应用层模型:C/S
基于TCP连接:端口号110
IMAP维持了会话用户的状态信息
万维网是一个资料空间
所有可用的事物称为资源,资源由 URL(统一资源定位符)
标识
这些资源通过 超文本传输协议(HTTP)
传送给使用者,通过单击链接来获取资源
万维网是因特网的主要部分,因特网是互联网中最大的一个,广域网与局域网都是互联网的构件
统一资源定位符(URL):负责标识万维网上的各种文档,使每个文档在整个万维网范围有唯一的表示符URL
超文本传输协议(HTTP):一个应用层协议,使用TCP连接进行可靠的传输,HTTP是万维网客户程序和服务器程序之间交互所必须严格遵守的协议
<协议>://<主机>:端口/路径
超文本标记语言(HTML):一种文档结构的标记语言,使用一些约定的标记对页面上的各种信息、格式进行描述
万维网以 客户/服务器
方式工作
浏览器
是在用户计算机上的 万维网客户端程序
,而 万维网文档驻留的计算机
运行 服务器程序
,称为 万维网服务器
客户程序向服务器程序发出请求,服务器程序向客户程序返回客户所要的文档
HTTP定义了 浏览器怎样向万维网服务器请求万维网文档 以及 服务器怎样把文档传送给浏览器
连接建立请求
80
,当监听到 连接请求
后,便与浏览器建立连接请求获取某个 web页面的HTTP请求
构建所请求Web页的必需信息
,并通过HTTP响应返回给浏览器多次访问与第一次访问相同
Cookie:一个存储于用户主机的文本文件,用于唯一标识用户
通信双方在交换HTTP报文之前不需要先建立HTTP连接
面向文本:报文段中每个字段都是ASCII串
GET:读取由URL标识的信息
HEAD:读取由URL标识的信息首部
POST:向服务器添加信息
1XX:通知信息,表示请求受到了或正在处理
2XX:表示成功
3XX:表示重定向
4XX:客户端错误
5XX:服务器错误