1.4.1.网络协议是什么

在计算机网络要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则, 比如交换数据的格式、是否需要发送一个应答信息。这些规则被称为网络协议。

1.4.2.为什么要对网络协议分层

1、简化问题难度和复杂度。由于各层之间独立,我们可以分割大问题为小问题。
2、灵活性好。当其中一层的技术发生变化时,只要层间关系保持不变,其他层不受影响。
3、易于实现和维护。
4、促进标准化工作。分开后每层能以相对简单的被描述。
网络协议分层的缺点:功能可能出现在多个层里,产生里额外开销。

1.4.3.四层协议、五层协议、七层协议的关系

为了使不同体系结构的计算机网络都能互联,国际化标准组织ISO于1977年提出著名的开放系统互联基本参考模型OSI。

  • TCP/IP是一个四层体系结构,包含:应用层,运输层,网际层和网络接口层(网际层强调这一层不是为了解决不同网络互联问题),不过本质讲,TCP/IP只有最上面的三层,因为最下面的网络接口层没有具体内容
  • 五层协议体系结构包括:应用层、运输层、网络层、数据链路层和物理层
  • OSI七层协议模型主要包括:应用层、表示层、会话层、运输层、网络层、数据链路层和物理层

image.png
注:五层协议的体系结构只是为了介绍网络原理而设计的,其实应用的还是TCP/IP四层体系结构

1.4.4.TCP/IP协议族

1.4.4.1.应用层

应用层( application-layer )的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。 对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。

1.4.4.2.运输层

运输层(transport layer)的主要任务就是负责向两台主机进程之间的通信提供通 用的数据传输服务。应用进程利用该服务传送应用层报文。

运输层主要使用两种协议:

  • 传输控制协议-TCP:提供面向连接的,可靠的数据传输服务/
  • 用户数据协议-UDP:提供无连接的,尽最大努力的数据传输服务(不保证数据传输的可靠性) | | UDP | TCP | | —- | —- | —- | | 是否连接 | 无连接 | 面向连接 | | 是否可靠 | 不可靠传输,不使用流量控制和拥塞控制 | 可靠传输,使用流量控制和拥塞控制 | | 连接对象个数 | 支持一对一,一对多,多对一和多对多交互通信 | 只能是一对一通信 | | 传输方式 | 面向报文 | 面向字节流 | | 首部开销 | 首部开销小,仅8字节 | 首部最小20字节,最大60字节 | | 场景 | 适用实时应用(IP电话、视频会议、直播等) | 适用于要求可靠传输的应用,例如文件传输 |

每一个应用层协议一般都会使用到两个传输协议之一:

  • 运行在TCP协议之上的协议:
    • 1、HTTP(超文本传输协议):主要用于普通流量
    • 2、HTTPS(安全超文本传输协议):,HTTP协议的安全版本
    • 3、FTP(文本传输协议),用于文件传输
    • 4、POP3(邮局协议),收邮件用
    • 5、SMTP(简单邮件传输协议),用来发送电子邮件
    • 6、TELNET(网络电传):通过终端(terminal)登陆到网络
    • 7、SSH(用于替代安全性较差的TELNET),用于加密安全登陆用
  • 运行在UDP协议的协议
    • BOOTP(启动协议),应用于无盘设备
    • NTP(网络时间协议),用于网络同步
    • DHCP(动态主机配置协议),动态配置IP地址
  • 运行在TCP和UDP的协议
    • DNS(域名服务),用于完成地址查找,邮件转发等工作

      1.4.4.3.网络层

      网络层的任务就是选择合适的网间路由和交换结点,确保计算机通信的数据及时传送。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报 ,简称数据报。 互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议(Intert Prococol) 和许多路由选择协议,因此互联网的网络层也叫做网际层或 IP 层。

1.4.4.4.数据链路层

数据链路层(data link layer)通常简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息 (如同步信息,地址信息,差错控制等)。
在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。

1.4.4.5.物理层

在物理层上所传送的数据单位是比特。 物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送 比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说, 这个电路好像是看不见的。