计算机网络体系结构=各层+各层协议
按照功能来分层,每层遵循某些网络协议以完成本层功能。
OSI七层模型
OSI七层参考模型是法定标准。
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理层
其中567是通信子网,负责数据通信;123是资源子网,负责数据处理。
各层都有哪些协议:
- 应用层 FTP,HTTP(万维网3w),
- 表示层 (语法语义) JPEG ASCII
- 会话层 (建立连接) ADSP ASP
- 传输层 TCP UDP
- 网络层 IP IPX ICMP IGMP ARP RARP OSPF
- 数据链路层(传输单位:帧)SDLC HDLC PPP STP
- 物理层(传输单位:比特)Rj45 802.3
TCP/IP四层模型
TCP/IP是一个事实标准
- 应用层(对应OSI的应用层、表示层、会话层)HTTP、FTP、DNS
- 传输层(对应OSI的传输层)TCP UDP
- 网际层(对应OSI的网络层)IP
- 网络接口层(对应OSI的数据链路层和物理层)Ethernet ATM Frame Relay
五层参考模型
综合了七层与四层,(相当于把OSI七层参考模型中的上三层应用层、表示层、会话层合并为应用层):
数据是如何传输的?
HTTP与TCP关系:使用 HTTP 协议作为应用层协议,用来封装请求的文本信息;并使用 TCP/IP 作传输层协议将它发到网络上,所以在 HTTP 工作开始之前,浏览器需要通过 TCP 与服务器建立连接。也就是说 HTTP 的内容是通过 TCP 的传输数据阶段来实现的。HTTP网络请求的第一步便是建立TCP连接。而建立连接的第一步是准备IP地址(网络层)和端口号(传输层)。怎么获取 IP 地址和端口号:①获取IP地址:DNS解析(请求DNS返回域名对应的IP)。比如极客时间网站的 IP 是 39.106.233.176, 难以记忆,但使用极客时间的域名(time.geekbang.org)就好记多了,所以基于这个需求又出现了一个服务,负责把域名和 IP 地址做一一映射关系。这套域名映射为 IP 的系统就叫做“域名系统”,简称 DNS(Domain Name System)。②获取端口号:拿到 IP 之后,接下来就需要获取端口号了。通常情况下,如果 URL 没有特别指明端口号,那么 HTTP 协议默认是 80 端口。