计算机网络基础概述

0. OSI七层协议模型 TCP/IP四层协议 五层协议


network layer

OSI的协议是由专家指定的标准,但由于制定标准周期太长、过分复杂、缺乏实际经验等原因,基于TCP/IP的互联网抢先大范围运行。学习计算机网络时,我们采取折中的办法,采用一种五层协议体系结构,自上而下/自下而上地进行学习。

1. 应用层(application layer)

Task:通过应用进程间交互完成特定的网络应用,定义了应用进程间通信交互的规则,因此不同的网络应用需要不同的应用层协议(DNS、HTTP、SMTP)。

数据单元:报文

域名系统DNS

作为域名和IP地址映射的一个分布式数据库

HTTP协议

网络协议,最初是提供一种收发HTML页面的方法

2. 运输层(transport layer)

Task:向两台主机之间通信提供通用的数据传输服务,不针对特定的网络应用,具有复用和分用的功能。

  • 复用:多个应用层进程可同时使用下方运输层服务
  • 分用:运输层收到消息可分发交付上方应用层相应进程

数据单元:报文段

主要是用两种协议TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)

2.1. TCP协议

Main:提供面向连接的,可靠的数据传输服务

  1. 面向连接(三次握手、四次挥手)
  2. 每一条TCP有两个端点,一对一
  3. 可靠交付,无差错、不丢失、无重复、按序到达
  4. 提供全双工通信,双发可以发送/接受数据
  5. 面向字节流:虽然程序与TCP一次交互一个chunk,但是TCP叫数据看成一串无结构的字节流

2.2. UDP协议

Main:提供无连接的,不保证数据传输可靠性

  1. 无连接
  2. 尽最大努力交付,不需要维持复杂的链接状态
  3. 面向报文
  4. 无拥塞控制机制
  5. 支持一对一,一对多,多对多的交互通信

3. 网络层(network layer)

Task:为分组交换网上的不同主机提供通信服务,通过路由选择算法,选择最适当的路径

数据单元:数据报

一般的,数据链路层解决统一网络内节点的通信,网络层主要解决不同子网的通信

Task:通过各种控制协议,将有差错的物理信道变成无差错的能可靠传输数据帧的数据链路

该层通常分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层

  • MAC: 解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制
  • LLC:建立和维护网络连接,执行差错校验、流量控制和链路控制

数据单元:帧

5. 物理层(physical layer)

Task:实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽具体传输介质和物理设备的差别


summary