同系列链接
【北航计算机网络课程笔记】1. 介绍和基本术语
【北航计算机网络课程笔记】2. 物理层
【北航计算机网络课程笔记】3. 数据链路层
【北航计算机网络课程笔记】4. 网络层
【北航计算机网络课程笔记】5. 传输层
【北航计算机网络课程笔记】6. 应用层
【北航计算机网络课程笔记】7. IPv6和WLAN
基本定义
应用层协议
由于网络应用多样性, 所有协议很多种
许多协议基于客户/服务器方式
套接字(socket)编程接口
经典采用同步调用方式(阻塞式)
windows这种基于事件驱动方式系统中, 采用异步事件驱动式, 也支持阻塞式
将TCP/UDP各种功能封装成socket接口函数, 供应用程序调用
socket()创建SOCKET结构, bing()将本地地址与SOCKET绑定
SOCKET放在套接字描述符表中
域名系统DNS
域名系统DNS(通过域名得到IP地址)
基于UDP协议
应用进程需要域名解析时, 调用域名解析程序, 作为DNS客户, 向本地域名服务器发送域名解析请求(UDP), 返回对应IP地址
域名服务器: 根域名服务器(13套, 分布在全球588地点), 顶级域名服务器, 权限域名服务器, 本地域名服务器
主机向本地域名服务器查询: 递归查询: 如果不知道就以DNS客户身份向根域名服务器查询
本地域名服务器向根域名服务器查询: 迭代查询–挨个问.
文件传送协议FTP
文件传送协议FTP
客户/服务器方式
一个主进程(接受新的请求,21端口号), 若干从属进程(处理单个请求)
2个TCP连接: 控制连接, 数据连接
万维网WWW
万维网WWW
分布式超媒体系统, 超文本系统的扩展
文档寻址–统一资源定位符URL:
<协议>(ftp/http/News)😕/<主机>:<端口>/<路径>, 不区分大小写
文档保存–超文本传送协议HTTP:
基于TCP, 面向事务的客户/服务器协议, 不记录客户端的访问状态(信息只好放在了URL里, 比如token值)
端口号80
HTTP/1.0一个文件建立一次TCP连接, 太费时, HTTP/1.1使用持续连接
HTTP报文: 请求报文/响应报文, 开始行+首部行+实体主体
文档格式–HTML:
定义了许多标签(用于排版的命令), 文本格式
安全的HTTP协议: HTTPS
基于SSL/TLS(加密的TCP)
端口号443
协商加密算法, 并使用公钥,证书等安全措施
邮件发送\接收协议
电子邮件
发送邮件协议SMTP(基于TCP协议, 客户/服务器协议), 读取邮件协议POP3和IMAP
两种实体: 用户代理UA, 即电子邮件客户端软件; 邮件服务器即可以作为客户, 也可以作为服务器
信息格式: 信封+内容
MIME: 增加首部字段, 对二进制数据进行编码, 转换为7为ASCII码, 解决SMTP不能传送二进制数据(程序, 图片, 音乐, 东方语言)的问题