USTC Computer Networking Chapter2
第二章 应用层
应用层原理
- 常见架构
- 客户-服务器模式(C/S:client/server)
- 对等模式(P2P:Peer To Peer)
- 混合体:客户-服务器和对等体系结构
- 流行的应用层协议
- HTTP
- FTP
- SMTP/POP3/IMAP
- DNS
- 进程编址
- 主机:唯一的 32位IP地址
- 仅仅有IP地址不能够唯一标示一个进程;在一台端系统上有很多应用进程在运行
- 所采用的传输层协议:TCP or UDP
- 端口号(Port Numbers)16位
- 一些知名端口号的例子:HTTP: TCP 80 Mail: TCP25 ftp:TCP 2
- TCP socket
- 对于使用面向连接服务(TCP)的应用而言,套接字是4元组的一个具有本地意义的标示
- 4元组:(源IP,源port,目标IP,目标port)
- 唯一的指定了一个会话(2个进程之间的会话关系)
- 应用使用这个标识,与远程的应用进程通信
- UDP socket
- 对于使用无连接服务(UDP)的应用而言,套接字是2元组的一个具有本地意义的标示
- 2元组:IP,port (源端指定)
- UDP套接字指定了应用所在的一个端节点(end point)
- 在发送数据报时,采用创建好的本地套接字(标示ID),就不必在发送每个报文中指明自己所采用的ip和port
- 但是在发送报文时,必须要指定对方的ip和udp port(另外一个段节点)
- 安全TCP -> SSL
- 在TCP上面实现,提供加密的TCP连接,一般归类于应用层
- 私密性
- 数据完整性
- 端到端的鉴别
- https = http + SSL
Web 与 HTTP
- Web
- http
- http报文
- 往返时间RTT(round-trip time):一个小的分组从客户端到服务器,在回到客户端的时间(传输时间忽略)
- Cookies
- Web缓存(代理服务器proxy)
- 为解决代理服务器网页过时的问题
FTP
DNS
- DNS的空间划分是逻辑的,而不是物理的,同一空间的域名可以在不同物理空间中
- 域名结构
- 权威DNS服务器
- TLD服务器
- 资源记录
- 查询方式:递归、迭代
- DNS报文
- DNS攻击
P2P
- BitTorrent
- Gnutella
- KaZaA
- Distributed Hash Table (DHT)
CDN
- 内容分发网络(Content Delivery Network)
- DASH
- CDN
- Netflix购买亚马逊服务器实现高速的视频流化服务
- 互联网的角色
- 用户
- ISP
- ICP
- CDN提供商
TCP Socket编程
- 重要的结构体
- 从上到下分别是地址簇、端口号、ip地址、对齐
- TCP交互模式
- C客户端(TCP)
1 | /* client.c */ |
- C服务器(TCP)
1 | /* server.c */ |
UDP Socket编程
- UDP交互模式
习题
USTC Computer Networking Chapter2
http://huaeryi.com/2023/05/28/USTC-Computer-Networking-Chapter2/