Chapter 2: outline 2. 1 principles of 2.6 P2P applications network 2.7 socket applications programming with 2.2 Web and Http UDP and TCP 2.3 FTP 2 4 electronic mail SMTP POP 3 IMAP 25 DNS Application Layer 2-2
Application Layer 2-2 Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail ❖ SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming with UDP and TCP
Chapter 2: application layer our goals: D learn about protocols o conceptual by examining popular implementation application-level aspects of network proTocols application protocols 令HTTP .o transport-layer .. FTP service models , SMTP/POP3/ IMAP ☆ client- server . DNS paradigm O creating network o peer-to-peer applications paradigm ☆ socket apt Application Layer 2-3
Application Layer 2-3 Chapter 2: application layer our goals: conceptual, implementation aspects of network application protocols ❖ transport-layer service models ❖ client-server paradigm ❖ peer-to-peer paradigm learn about protocols by examining popular application-level protocols ❖ HTTP ❖ FTP ❖ SMTP / POP3 / IMAP ❖ DNS creating network applications ❖ socket API
Some network apps 口e-mdi o voice over Ip(e.g g web Skype) o text messaging g real-time video D remote login conferencing o P2P file sharing 口 social networking g multi-user network search games o streaming stored video D Cou Tube, hult Netf×) Application Layer 2-4
Application Layer 2-4 Some network apps e-mail web text messaging remote login P2P file sharing multi-user network games streaming stored video (YouTube, Hulu, Netflix) voice over IP (e.g., Skype) real-time video conferencing social networking search … …
创建一个网络应用 编写分布式程序,使得可以 运行在不同的端系统上 令通过网络相互通信 例如,web服务器软件与浏览 器软件 不需为网络核心设备写程序 冷网络核心设备不运行用户 应用 在端系统上开发应用有利 network dato 于应用的快速研发和部署 SICa Application Lo
2: Application Layer 5 创建一个网络应用 编写分布式程序,使得可以 ❖ 运行在不同的端系统上 ❖ 通过网络相互通信 ❖ 例如,web服务器软件与浏览 器软件 不需为网络核心设备写程序 ❖ 网络核心设备不运行用户 应用 ❖ 在端系统上开发应用有利 于应用的快速研发和部署 application transport network data link physical application transport network data link physical application transport network data link physical
211网络应用架构 口网络应用架构规定了在各个端系统上组织应用 程序的方法: 客户-服务器架构( Client- server) 冷对等架构(Peer-to-peer,P2P) Application Lo 6
2: Application Layer 6 2.1.1 网络应用架构 网络应用架构规定了在各个端系统上组织应用 程序的方法: ❖ 客户-服务器架构(Client-server) ❖ 对等架构(Peer-to-peer ,P2P)
客户-服务器架构 服务器 台总是在线的主机,运 行着服务器程序 冷具有永久工P地址 使用主机集群或数据中心 提高处理能力 客户机 client/server 需要时与服务器通信 可能间断地连在网络上 通常使用动态IP地址 不与其它客户机直接通信 Application Lo
2: Application Layer 7 客户-服务器架构 服务器: ❖ 一台总是在线的主机,运 行着服务器程序 ❖ 具有永久IP地址 ❖ 使用主机集群或数据中心 提高处理能力 客户机: ❖ 需要时与服务器通信 ❖ 可能间断地连在网络上 ❖ 通常使用动态IP地址 ❖ 不与其它客户机直接通信 client/server
P2P架构 口没有总是运行的服务器 口任意一对端系统(对等 方)间可以直接通信 peer-peer 口对等方间断连接,并使 用动态IP地址 每个对等方可以请求服 务,也可以提供服务 Highly scalable but g difficult to manage Application Lo
2: Application Layer 8 P2P架构 没有总是运行的服务器 任意一对端系统(对等 方)间可以直接通信 对等方间断连接,并使 用动态IP地址 每个对等方可以请求服 务,也可以提供服务 Highly scalable but difficult to manage peer-peer
21.2进程通信 进程:主机上运行的程序客户进程:发起通信的 口在同一个主机中,两 进程 个进程使用进程间通服务器进程:等待联系 信机制(由OS定义) 的进程 进行通信 口不同主机上的进程通Note:P2P架构的应用 过交换报文进行通信 同时具有客户进程和 服务器进程 Application Layer 9
2: Application Layer 9 2.1.2 进程通信 进程: 主机上运行的程序 在同一个主机中,两 个进程使用进程间通 信机制(由OS定义) 进行通信. 不同主机上的进程通 过交换报文进行通信 客户进程: 发起通信的 进程 服务器进程: 等待联系 的进程 Note: P2P架构的应用 同时具有客户进程和 服务器进程
进程与网络的接口-套接字 口进程通过套接字( socket)发送和接收报文 口套接字类似于一扇门: 发送进程将报文推出门 令门外的运输设施(因特网)将报文送到接收进程的门口 口套接字是应用层和传输层的接口,也是应用程序和网络之 间的APT application socket application controlled by process process app developer transpo network network controlled link Internet link by os physical Application Lay
Application Layer 2- 10 进程与网络的接口--套接字 进程通过套接字(socket)发送和接收报文 套接字类似于一扇门: ❖ 发送进程将报文推出门 ❖ 门外的运输设施(因特网)将报文送到接收进程的门口 套接字是应用层和传输层的接口,也是应用程序和网络之 间的API Internet controlled by OS controlled by app developer transport application physical link network process transport application physical link network process socket
进程编址 口为了接收报文,每个进程 必须有标识 口主机使用工P地址进行标识 TQ:用进程所在主机的P地 址能否标识进程? Application Lo
2: Application Layer 11 进程编址 为了接收报文,每个进程 必须有标识 主机使用IP地址进行标识 Q: 用进程所在主机的IP地 址能否标识进程?