IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计网应用层 -> 正文阅读

[网络协议]计网应用层

应用层

网络应用模型

C/S模型

客户/服务器模型

服务器:提供计算服务的设备
1. 永久提供服务
2. 有永久性访问地址/域名

客户机:请求计算服务的主机
1. 与服务器通信,使用服务器提供的服务
2. 间歇性接入网络
3. 可能使用动态IP地址
4. 不与其他客户机之间通信

C/S模型的应用:Web、FTP、telnet/SSH、SMTP

P2P模型

对等模型

  1. 不存在永远在线的服务器
  2. 每个主机既可以提供服务,也可由请求服务
  3. 任意系统/节点之间可用直接通信
  4. 节点间歇性接入网络
  5. 节点可能改变IP地址
  6. 可扩展性好
  7. 网络健壮性强(一个节点down了,对整个网络系统影响小)

DNS域名解析系统

DNS:域名服务,为客户机提供域名解析服务器

域名组成

如“www.baidu.com”是一个域名,从严格意义上讲,“baidu.com”才被称为域名(全球唯一),而“www”是主机名

“主机名.域名”称为完全限定域名(FQDN)。一个域名下可以有多个主机,域名全球唯一,所以“主机名.域名”也是全球唯一的

以“sina.com.cn”域名为例,一般管理员在命名其主机的时候会根据其主机的功能而命名,比如网站的是www,博客的是blog,论坛的是bbs,那么对应的FQDN为“www.sina.com.cn”,“blog.sina.com.cn”,“bbs.sina.com.cn”。这么 多个FQDN,我们只需要申请一个域名即"sina.com.cn"即可。

域名组成

树形结构:

image-20210802232213204

  • 根域 .(如“www.baidu.com”,实际上为“www.baidu.com.”,但是最后的那个点默认不写)
  • 顶级域
    • 国家顶级域 cn、jp、hk、uk
    • 商业顶级域
      • com 商业机构
      • gov 政府机构
      • mil 军事机构
      • edu 教育机构
      • org 民间组织机构
      • net 互联网
  • 一级域名
  • 二级域名
  • ……

如:www.baidu.com.
.为根域
.com为顶级域
baidu为一级域名
www为主机名

监听端口

TCP53、UDP53

DNS解析种类

  1. 按查询方式分类
    • 递归查询:客户机与本地DNS服务器之间的解析过程
    • 迭代查询:本地DNS服务器与根DNS服务器等其他DNS服务器之间的解析过程
    • image-20210802233312754
  2. 按查询内容分类
    • 正向解析:已知域名,解析IP
    • 反向解析:已知IP,解析域名

FTP文件传输协议

FTP可以提供不同类型主机系统(硬、软件体系等都可以不同)之间的文件传输能力

FTP是基于C/S模型的协议
用户通过客户机程序连接至再远程计算机上运行的服务器程序
依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器
连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端

监听端口

TCP20/21

工作模式

  • 主动模式

    • 21端口:控制进程端口
    • 20端口:数据传输进程端口
      1. 客户机访问服务器的21端口,建立控制进程连接
      2. 客户机给出进行数据连接要使用的端口号
      3. 服务器主动使用20端口与客户机提供的端口进行连接
    • 此模式下,客户机需要关闭防火墙
  • 被动模式

    • 21端口:控制进程端口
    • 服务器与客户机自行协商数据传输端口(端口号 >= 1024)
      1. 客户机访问服务器的21端口,并请求服务器提供一个端口进行数据传送连接
      2. 服务器被动提供一个端口号给客户机,客户机对该端口进行连接
    • 此模式下,服务器需要关闭防火墙
  • 注意:

    主被动模式的选择权在客户机上

    主被动的“主”和“被”是站在服务器角度上判断的

SMTP、POP3电子邮件

电子邮件信息格式

  • 信封:abc@163.com

    abc:用户名,163.com:服务器名

  • 内容:

    • 首部:

      To:abc@163.com

      Subject:Hello

    • 主体:

      信息内容

组成结构

image-20210803103847968

用户代理:撰写、显示、处理、通信(与邮件服务器之间的通信)

邮件服务器:发送与接收邮件(与邮件服务器之间的通信)、向发件人报告邮件传输结果
邮件服务器可以同时充当服务器与客户端的角色

相关协议

SMTP

使用TCP25端口

用于发送的协议
如,发件人将邮件发送至邮件服务器
邮件服务器将邮件发送至接收方的邮件服务器

SMTP协议规定了两个相互通信的SMTP进程之间应如何交换信息
负责发送邮件的SMTP进程就是SMTP客户,负责接收有邮件的进程就是SMTP服务器
SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)

通信的三个阶段:

  1. 连接建立:image-20210803110346204

  2. 邮件发送

    发:MAIL FROM: <abc@163.com>

    收:250 OK/451 (452、500…) 告知是否准备好接受邮件

    发:RCPT TO:<cba@163.com>

    收:250 OK/550 No sush user here 服务器确定是否有这个用户

    发:DATA

    收:354 start mail input; end with <CR><LF>.<CR><LF> SMTP服务器同意传输

    发:Date……

    收:250 OK

  3. 释放连接:邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回”221“,同意释放TCP连接

通用因特网邮件扩充MINE

由于SMTP有着一系列缺点:

  1. 不能传送可执行文件或其他二进制对象
  2. 仅限传送7位ASCII码,不能传送其他非英语国家文字
  3. 拒绝传送超过一定长度的邮件

所以产生了MIME,对SMTP功能进行了拓展:image-20210803111604071

POP3、IMAP
POP3

使用TCP110端口

用于接收的协议
如,接收方从接收方服务器中接收邮件

工作方式(接收方读取邮件时):

  • 下载并保留在服务器
  • 下载并删除
IMAP

IMAP协议比POP复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮件的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上

IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还运行只读取邮件的某一个部分(先看正文,有条件了再下载附件)

万维网和HTTP协议

万维网是一个大规模的、联机式的信息储藏所/资料空间,存储着众多资源,而客户通过使用统一资源定位符(URL)访问这些资源

URL:是各种资源(文字、视频、音频)的唯一标识
URL一般形式:<协议>://<主机>:<端口号>/<路径>
URL中最常用的就是超文本传输HTTP协议
用户点击超链接 (“http://www.baidu.com”) 获取资源,这些资源通过HTTP协议传给使用者

万维网使用超文本标记语言HTML,使得人们可以方便的从一个界面跳转到另一个界面,并能够在自己的屏幕上显示出来

超文本传输协议HTTP

使用TCP80端口

HTTP协议规定了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器
image-20210803123620020

具体过程

  1. 浏览器分析URL
  2. 浏览器向DNS请求解析IP地址
  3. DNS解析出IP地址
  4. 浏览器与服务器建立TCP连接
  5. 浏览器发出取文件命令
  6. 服务器响应
  7. 释放TCP连接
  8. 浏览器显示

特点

  1. HTTP协议是无状态/无记忆的(当希望存储用户信息时,使用Cookie存储用户信息)

  2. HTTP采用TCP作为运输层协议,TCP是面向连接的,但HTTP协议是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)

  3. 连接方式分为两种

    1. 持久连接:在服务器发送完数据后的一段时间内,仍然保持连接状态

      image-20210803124411000

    2. 非持久连接:每次请求数据都需要三次握手

      image-20210803124302268

报文结构

HTTP有两种报文:请求报文和响应报文。
HTTP报文是面向文本的,因此在报文中的每一个字段都是ASCII串码

  1. 连接方式分为两种

    1. 持久连接:在服务器发送完数据后的一段时间内,仍然保持连接状态

      [外链图片转存中…(img-S1omph9Q-1627966844080)]

    2. 非持久连接:每次请求数据都需要三次握手

      [外链图片转存中…(img-uvihSsmk-1627966844080)]

报文结构

HTTP有两种报文:请求报文和响应报文。
HTTP报文是面向文本的,因此在报文中的每一个字段都是ASCII串码
image-20210803124813613

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:34:02  更:2021-08-04 11:36:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:52:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码