应用层基础
应用层: 规定应用进程之间在通信时所遵循的协议
目标
-
掌握应用进程通信方式以及服务进程工作模式
-
掌握域名系统DNS基本原理和工作机制
-
掌握电子邮件系统体系结构及基本工作原理
-
掌握万维网WWW系统结构和HTTP协议工作原理
我的理解
应用
“应用”通常是指用户级别的软件程序,而“进程”是操作系统级别的概念。一个应用可以由一个或多个进程组成,而一个进程通常是一个应用的执行实例。
进程与端口
应用的进程和网络端口之间的对应关系可以是多对多的。
-
一个进程可以使用多个端口:例如,一个Web服务器可能在一个端口(如80)上监听HTTP请求,同时在另一个端口(如443)上监听HTTPS请求。此外,某些应用程序可能同时监听多个端口以提供不同类型的服务。
-
多个进程可以共享同一个端口:这在使用UDP协议时比较常见,因为UDP不同于TCP,没有所谓的“连接”。在使用TCP时,通常不同的进程不会共享同一个端口,因为端口被用来区分不同的连接。但是,还是存在例外,比如在某些情况下,通过使用SO_REUSEPORT套接字选项,多个进程可以共享同一个TCP端口。
-
单个进程单个端口:这是非常常见的情况,比如一个简单的Web服务器可能只监听一个端口(例如80)。
套接字socket
套接字(socket)可以类比为一个门或者说是一个通信端点,允许来自应用程序的进程将信息发送到网络,或者从网络接收信息。从家里(主机,进程)打开门进入网络.
应用进程通信方式
应用进程: 两台主机通信实际是其上对应的两个应用进程(process)在通信,以下所有的C,B,S,P实际上指的都是应用进程
-
C/S, Client/Server 方式
-
B/S, Browser/Server方式
优点:界面统一, 使用简单 易于维护 可扩展性好 信息共享度高(HTML兼容性好)
-
P2P, Peer to Peer 方式
服务器进程通信方式
从服务器角度看应用层
-
循环方式:阻塞方式,无连接的
-
并发方式:非阻塞方式,有连接的
实际上对应了两种socket
-
流套接字(Stream Sockets):也称为TCP套接字,它们使用传输控制协议(TCP)进行通信。流套接字提供一种可靠的、双向的、基于连接的字节流。这意味着在发送数据之前,必须先建立一个连接,然后通过这个连接发送数据。流套接字常用于需要可靠传输的应用程序,如Web服务器和数据库应用。
建立连接
父服务进程接受到请求时创建子服务进程,子服务进程与客户进程建立连接
-
数据报套接字(Datagram Sockets):也称为UDP套接字,它们使用用户数据报协议(UDP)进行通信。与流套接字不同,数据报套接字是无连接的,这意味着不需要在发送数据之前建立一个连接。数据报套接字通常用于不需要可靠性或顺序的应用程序,如流媒体、在线游戏或VoIP。
域名系统(DNS,Domain Name System)
向所有需要域名解析的应用提供服务,将域名映射成IP
**DNS下层使用什么协议?**UDP数据报, 端口号为53
Internet的域名结构采用了层次树状结构的命名方法
… .三级域名.二级域名.顶级域名
域名服务器(名字服务器)
分为两大类
-
权威名字服务器(authoritative name server)
根据本地知识知道本DNSzone内容的服务器,无需查询其他服务器
根据对应zone的层次进一步分为
-
根名字服务器(root name server) /根服务器(root server)
-
顶级域名字服务器(TLD name server)
-
二级域名字服务器(second level domain name server)
-
三级域名字服务器(third level domain name server)
-
本地域名服务器:
三级域及以下的名字服务器(例如tsinghua.edu.cn)通常在用户本地区域 因此三级域及以下的名字服务器也统称为本地域名服务器
-
-
递归解析器(recursive resolver)/递归服务器
域名解析过程
应用进程将域名放在DNS报文中(UDP数据报, 端口号为53),发送给域名服务器
-
递归查询
本地域名字服务器 向根请求,域名服务器负责递归向下
-
迭代查询
域名服务器将下一步应查找的域名服务器ip告知本地域名字服务器,本地负责继续向下查询
为了减小根的压力,一般采用迭代.根服务器共有13套(不是13台机器) ,每套又有多个镜像,更改根服务器数据只在a.rootservers.net上进行 然后同步.
为了提高查询效率,采取高速缓存
DNS报文格式
资源记录RR格式:
1 | Name: example.com. |
电子邮件???学什么???
掌握电子邮件系统体系结构及基本工作原理
SMTP(simple), POP3, IMAP, Webmail;推/拉的模式
组成
-
用户代理(user agent) ——邮件客户端
-
传输代理(message transfer agent) ——邮件服务器
分类
-
SMTP:负责发件人的推,端口25
-
POP3,IMAP,Webmail(http)负责收件人的拉
-
POP3:收取/删除,端口110
客户:user,pass.服务器:OK,ERR.
-
IMAP:改进,邮件与文件夹关联;允许用户代理获取邮件某些部分
-
webmail:基于web&http,用户代理就是普通的浏览器
WWW与HTTP
-
静态web
-
动态web
-
通用网关接口CGI:程序在服务器端处理
Web服务器接收来自客户端(通常是Web浏览器)的请求,并将请求传递给后端的应用程序进行处理,然后将应用程序的响应返回给客户端。
-
脚本语言+数据库技术 (*.php, *.asp, *.aspx) :服务器返回脚本程序,在客户端浏览器内执行
-
HTTP
-
http1.0
- 建连:TCP三次握手连接建立–>所有的资源都需要完整的一次HTTP交互过程
- 请求:Request (Get /index.html)
- 响应:Respone
- 关闭:关闭TCP连接
-
http1.1
- 相比于1.0,提供持久连接,响应后保持连接.
- 支持流水线机制,按序相应(同时请求一堆,经历较少的慢启动过程,减少往返时间)
-
https
增加ssl,在tcp之上提供安全机制
-
http2.0
代理服务器 proxy server
-
又称为万维网高速缓存(Web cache),它代表浏览器发出 HTTP 请求
-
万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中
-
当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去互联网访问该资源
所有缓存的问题:缓存一致性
解决方案:询问式策略
• 客户端:在发送的HTTP请求中指定缓存的时间,请求头包含If-modified-since:
• 服务器:如果缓存的对象是最新的,响应头包含HTTP/1.1 304 NotModified,否则服务器响应HTTP/1.1 200 OK
web安全与隐私🍪cookie
讲了什么?感觉没什么新东西
流媒体
分类:点播,直播,交互式(如腾讯会议)
MPEG
图像组(GOP)一组连续的ipb画面
-
帧内编码帧(I帧)关键帧
-
预测帧(P帧)
-
双向帧(B帧)
点播流程
-
web服务器返回的http内容指向一个元文件(有音/视频文件的统一资源定位符 URL)
-
客户浏览器将元文件交给媒体播放器
-
媒体播放器使用元文件url,向媒体服务器发送http请求
-
媒体播放器边下载,边压缩,边播放
缓存:
为了消除抖动客户端播放的是本地缓冲区的内容,而不是立即播放来自网络的实时内容
协议:
-
RTSP(Real-Time Streaming Protocol),控制传输(如缓存),不包含数据
-
RTP(Real-time Transport Protocol),传输数据
-
RTCP (RTP Control Protocol),控制RTP,带有发送端和接收端对服务质量的统计信息报告
-
DASH,自适应码率ABR(Adaptive bitrate)
CDN,内容分发网络
一种Web缓存系统, 靠近边缘(用户) 提供内容服务
HTTP重定向请求内容,网站所有者可以重写网页:通过CDN与内容链接的页面
其它典型应用层协议
Telnet:
服务器端,23端口(客户端任意)
FTP:
服务器端,21端口控制,20端口传输(客户端同样任意)
SNMP:简单网络管理协议
用于管理和监控网络设备的标准协议。
SNMP消息使用一种叫做管理信息库(Management Information Base,MIB)的数据结构来组织和描述设备的信息。MIB是一个层次化的树状结构,其中包含了设备的各种参数和状态。管理员可以使用SNMP的操作(如GET、SET、TRAP等)来访问和操作MIB中的数据。
-
get检测状态
-
set修改状态
-
trap代理不经检测就发送某些信息
节点的表示
• 标识符:iso.org.dod.internet
• 标号: 1.3.6.1
无线局域网WLAN
基础架构模式
-
DS
-
AP
- STA
- STA
AP-STAs组成基本服务集BSS
-
AP
-
自组织模式
站点(STA),IBSS,站点之间直接通信
-
DS(Distribution System):DS是指分布式系统,它是由多个无线接入点(Access Point,AP)组成的网络。DS用于连接不同的AP,使它们能够互相通信和协调工作。DS负责传输数据、管理移动设备的漫游和提供无线网络的覆盖范围扩展等功能。在一个DS中,AP之间通过无线连接或有线连接(如以太网)进行通信。
-
AP(Access Point):AP是无线局域网中的无线接入点,也被称为基站或无线路由器。它是无线网络的中心设备,用于提供无线连接和网络接入。AP接收来自无线设备(如笔记本电脑、智能手机)的数据,并将其转发到有线网络或其他无线设备。AP负责无线信号的传播和接收,同时还提供安全认证、数据加密等功能。
-
无线局域网(WLAN):无线局域网是一种使用无线通信技术连接设备的局域网。它允许用户通过无线方式连接到网络,而无需使用传统的有线连接。
-
Wi-Fi:Wi-Fi是一种基于无线局域网技术的标准,用于在设备之间进行无线通信。Wi-Fi技术基于IEEE 802.11标准,提供了高速数据传输和广泛的设备兼容性。
-
无线访问点(Access Point,AP):无线访问点是无线局域网的中心设备,用于提供无线连接和网络接入。它接收来自无线设备的数据,并将其转发到有线网络或其他无线设备。
-
SSID:SSID代表无线局域网的服务集标识(Service Set Identifier),它是用于唯一标识一个无线网络的名称。用户通过选择特定的SSID来连接到所需的无线网络。
IEEE 802.11帧格式
-
帧控制:具有多种用途
-
持续时间:下一个要发送帧可能持续的时间(NAV)或关联ID(AID)
-
地址1~地址4:每个地址的含义基于“去往DS”和“来自DS”域段确定
-
顺序控制:通过序号过滤掉重复帧,或用于分片组合
-
QoS控制域段:存放数据流的QoS信息(802.11e中扩展)
-
数据:包含任意长度的数据(0-2312字节)
-
CRC校验: 802.11采用4个字节的校验码
说明 | 去往DS Distribution System | 来自DS Distribution System | 地址1 (物理[实际]接收者) | 地址2 (物理发送者) | 地址3 (逻辑[最终]收发者) | 地址4 (逻辑收发者) |
---|---|---|---|---|---|---|
自组织模式 | 0 | 0 | DA | SA | IBSSID | — |
接收自AP | 0 | 1 | DA | BSSID | SA | — |
发送至AP | 1 | 0 | BSSID | SA | DA | — |
AP到AP | 1 | 1 | 接收AP | 发送AP | DA | SA |
CSMA/CA
带冲突避免的载波侦听多路访问
当线路忙时,每次准备发送时先退后
差错检测与确认重传
停等机制,服务器发送Ack.服务器的IFS比客户端小
终端暴露问题
• 目的:通过信道预约,避免数据帧(长帧)冲突
• 发送端发送RTS(request to send)
• 接收端回送CTS(clear to send)