网络分层架构
网络分层架构:
TCP/IP模型 (实际) |
OSI模型 (理论) |
作用 | 核心协议 | 数据形式 |
应用层 (应用程序之间的通信) |
应用层 |
为应用程序提供网络服务。 |
ftp http 自定义 |
报文(message)
|
表示层 |
可确保一个系统的应用层发送的信息可以被另一个系统的应用层读取。 (由于不同系统的编码方式可能不同,表示层用来使用一种通用的格式实现不同编码格式的转换,即规定应用程序的数据格式。) |
|||
会话层 | 实现不同系统间的发起会话会话请求和会话接受请求。 | |||
传输层 (进程之间的通信) |
传输层 |
1) 网络中的传输协议和端口号的定义。 2)主要是将数据分段和传输,到达目标地址后在进行重组。 |
传输控制协议TCP、用户数据协议UDP p.s.端口:系统默认占用的端口<=5000(e.g.WWW端口号80,https端口号443,http 80,数据库3306,DNS 53),用户可使用的端口大小在(5000,2**16-1]区间内。在一系统中,端口可以唯一的标志进程。 |
报文段(segment) |
网络层 (主机之间的通信) |
网络层 | 在两个主机系统之间提供连接和路径选择。 |
网络地址(IP)协议:在网络中唯一的标志一台主机。 p.s.可以通过IP确定计算机所在的子网络,是由管理员分配的。 |
数据报(datagram) |
链路层 (设备之间的通信) |
数据链路层 |
1)定义如何将数据划分成帧,如何控制对物理介质的访问。 2)提供错误检测和纠正,以保证数据的可靠传输。 |
地址解析协议ARP:将IP解析为mac地址。 p.s. mac地址(物理地址)可以唯一的标志网卡,是绑定在网卡上的。通过mac地址可以将数据包发送到子网络的目标网卡中。 |
帧(frame) |
物理层 |
1)定义物理设备的标准,比如网线的接口类型、光纤的接口类型、传输速率等等。 2)传输比特流。 |
比特(bit) |
p.s. TCP/IP:TCP/IP协议是一个大家族,不仅仅只有TCP和IP协议,它还包括其它的协议。
数据通信:
封装: 应用层 —— 传输层 —— 网络层 —— 链路层 。 没有经过封装的数据,不能在网络环境中传递。
解封装 : 链路层 —— 网络层 —— 传输层 —— 应用层。
欲建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识。
一个连接。
常用的Socket类型有两种:流式Socket(SOCK_STREAM)(TCP)和数据报式Socket(SOCK_DGRAM)(UDP)。
C/S架构设计的优缺点:
优点:1,性能:客户端位于目标主机上可以保证性能,将数据缓存至客户端本地,从而提高数据传 输效率。 2,协议灵活:户端和服务器程序由一个开发团队创作
缺点:1,成本高 客户端服务端都需要独立开发 2,独立安装客户端对用户来说有安全隐患。