文章目录

一、OSI
1、OSI 参考模型各分层作用
1.1、应用层
1.2、表示层
负责设备固有数据格式和网络标准数据格式间的转换
实际生活中,收到邮件后打开显示乱码的情况并不罕见,这通常都是由于表示层未能按照预期的编码格式运行或编码格式设置有误导致的
1.3、会话层
以发送邮件为例,假设用户 A 新建了 5 封电子邮件准备发送给用户 B,发送方案如下:
- 建立连接,发送,断开连接,执行 5 次
- 建立连接,全部发送,断开连接
- 建立 5 个连接,分别发送,断开连接
会话层负责决定采用上述哪种发送方案
1.4、传输层
负责连接的建立和断开,以及可靠传输(TCP)
1.5、网络层
负责路由,另外,IP 是面向无连接,为了提高可靠性,上一层的 TCP 采用面向有连接
1.6、数据链路层
1.7、物理层
物理层我们考虑的比较少,因此很多时候也可以称 TCP/IP 五层模型为 TCP/IP 四层模型
2、OSI 参考模型通信处理示例
以用户 A 发送一封内容为 “早上好” 的电子邮件给用户 B 为例
二、TCP/IP
1、定义
TCP/IP 是利用 IP 进行通信时所必须用到的协议群的统称,因此,有时也称其为网际协议族
2、规范 - RFC(Request For Comment)
协议 | STD | RFC | 状态 |
---|---|---|---|
IP(v4) | STD5 | RFC791、RFC919、RFC922 | 标准 |
IP(v6) | RFC2460 | 草案标准 | |
ICMP | STD5 | RFC792、RFC950 | 标准 |
ICMPv6 | RFC4443 | 草案标准 | |
ND for IPv6 | RFC4861 | 草案标准 | |
ARP | STD37 | RFC826 | 标准 |
RARP | STD38 | RFC903 | 标准 |
TCP | STD7 | RFC793、RFC3168 | 标准 |
UDP | STD6 | RFC768 | 标准 |
IGMP(v3) | RFC3376 | 提议标准 | |
DNS | STD13 | RFC1034、RFC1035 | 标准 |
DHCP | RFC2131、RFC2132、RFC3315 | 草案标准 | |
HTTP(v1.1) | RFC2616 | 草案标准 | |
SMTP | RFC5321 | 草案标准 | |
SMTP | STD10 | RFC821、RFC1869、RFC1870 | 标准 |
POP(v3) | STD53 | RFC1939 | 标准 |
FTP | STD9 | RFC959、RFC2228 | 标准 |
TELNET | STD8 | RFC854、RFC855 | 标准 |
SNMP | STD15 | RFC1157 | 历史性 |
SNMP(v3) | STD62 | RFC3411、RFC3418 | 标准 |
MIB-II | STD17 | RFC1213 | 标准 |
RMON | STD59 | RFC2819 | 标准 |
RIP(v2) | STD34 | RFC1058 | 历史性 |
RIP(v2) | STD56 | RFC2453 | 标准 |
OSPF(v2) | STD54 | RFC2328 | 标准 |
EGP | STD18 | RFC904 | 历史性 |
BGP(v4) | RFC4271 | 草案标准 | |
PPP | STD51 | RFC1661、RFC1662 | 标准 |
PPPoE | RFC2516 | 信息性 | |
MPLS | RFC3031 | 提议标准 | |
RTP | STD64 | RFC3550 | 标准 |
主机实现要求 | STD3 | RFC1122、RFC1123 | 标准 |
路由器实现要求 | RFC1812、RFC2644 | 提议标准 |
表格中记录的是具有代表性的 RFC(2012 年 1 月为止),每个 RFC 的具体内容请参考 http://www.rfc-editor.org/rfc/rfcxxx.txt,其中,xxx 为 RFC 编号
以 ICMP 为例,介绍下其 RFC 的变化过程,ICMP 是由 RFC792 定义(RFC792 废除了以前的 RFC777),RFC950 扩展的,也就是说,ICMP 规范 = RFC792 + RFC950
3、标准化流程
4、应用
TCP/IP 应用的架构绝大多数属于客户端/服务端模型
4.1、万维网(World Wide Web, WWW/W3/Web)
OSI 应用层协议:HTTP(HyperText Transfer Protocol)
OSI 表示层协议:HTML(HyperText Markup Language)
4.2、电子邮件(E-Mail)
OSI 应用层协议:SMTP(Simple Mail Transfer Protocol)
OSI 表示层协议:MIME
4.3、文件传输
OSI 应用层协议:FTP(File Transfer Protocol)
传输过程中可以选择用二进制方式还是文本方式,使用文本方式在 Windows、MacOS、Unix 等操作系统间进行文件传输时,会自动修改换行符,这属于表示层的功能
注意,在 FTP 中进行文件传输时会建立两个 TCP 连接,分别是发出传输请求时要用到的控制连接和实际传输数据时要用到的数据连接,这两个连接的控制管理属于会话层的功能
4.4、远程登录
常用的应用层协议:TELNET(TELetypewriter NETwork) 和 SSH(Secure SHell)
4.5、网络管理
应用层协议:SNMP(Simple Network Management Protocol)
表示层协议:MIB(Management Information Base),也被称为是一种可透过网络的结构变量
5、TCP/IP 分层模型通信处理示例
不同的协议层对数据包有不同的称谓,在传输层叫做段(Segment),在网络层叫做数据报(Datagram),在链路层叫做帧(Frame)