网络的TCP/IP分层模型:
-
为什么分层?
分层是为了明确每一层的工作任务,避免它们之间耦合(耦合指彼此影响),每层的职责明确,上下层通过接口通信,使复杂的网络系统变的简单。
-
分层结构
http://blog.csdn.net/be_happy_mr_li/article/details/52243006(每层作用的解释,注意下面这几个协议,知道它们做什么的)
- 应用层(HTTP协议,HTTPS协议,DNS协议):主要面向用户交互
- 传输层(TCP协议,UDP协议):将应用层的数据传输转运
- 网络层(IP协议):处理网络中流动的数据包
- 数据链路层:处理连接硬件的部分,传输单位为帧
- 物理层:为负责数据传输的硬件,比如光纤,无线等
数据传递:
首先应用层将数据报文按照协议封装格式压缩然后传递给传输层,传输层通过协议将数据封装为数据报段然后传输给网络层,网络层将数据报段封装为数据包传递给链路层,链路层将数据包封装为数据帧,然后又将数据帧转为比特流传递给物理层,物理层通过光或者电信号发送给目标。
简介其中几种协议:
1. IP协议:
提供一个网络内两个主机之间的寻址。(网络中的每台电脑都有一个ip,连接同一个路
由器的机器组成一个局域网,我们的机器连在互联网上是没有公网ip的,因为被运营商
组成一个一个内网使用统一的一个ip)
2. TCP协议:
提供端到端有连接的可靠有序的通信。(建立一个TCP连接之后,才开始通信,建立连
接需要消耗资源,且为了保证可靠有序,需要重传机制,所以无连接的UDP速度更
快)。
由于TCP是有连接的,每个连接都要消耗系统的资源,所以连接数不能过大。
3. UDP协议:
提供端到端的无连接通信。
IP是主机到主机的协议,UDP和TCP都是端到端的协议,端即端口,端口是一个队列,由一
个应用程序独占,UDP的端口号和TCP端口号之间是独立无关的。
4. DNS协议:
提供域名和IP之间映射的协议(域名面向用户,IP面向计算机)。