TCP IP 模型

TCP/IP

1
2
3
4
5
6
TCP划分两个协议:
* 传输控制协议(TCP)
* 网际协议(IP)
* *IP处理数据报的路由选择;TCP负责更高层的一些功能,如:分段,重装和差错检测*
* 逻辑拓扑图:
本地ISP => 地区ISP => 主干ISP => NAP = NAP <= 主干ISP <= 地区ISP <= 本地ISP

协议和标准

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
* 协议
协议就是用以管理通信的一组规则
协议要素:
1. 语法
语法就是数据的结构或格式,也就是数据呈现的顺序
2. 语义
语义指的是每一段比特流分别表示什么意思
3. 时序
时序涉及两个方面:
* 数据应当在何时发送出去
* 数据能够以多快的速度发送
* 标准
数据通信标准分两类:
1. 事实上的标准
事实上的标准往往最初被一些厂家在试图定义某个新产品或技术的功能时采用
2. 法律上的标准
法律上的标准指那些已经被官方认可的组织通过并确定的标准

标准化组织:
标准的开发通过一些标准创建委员会,论坛以及政府管理机构之间的合作来完成
* 标准创建委员会
* 国际化标准组织(ISO)
* 国际电信联盟-电信标准部(ITU-T)
* 美国国家标准化局(ANSI)
* 电气和电子工程师学会(IEEE)
* 电子工业协会(EIA)
* 万维网联盟(W3C)
* 开放移动联盟(OMA)
* 论坛
* 帧中继论坛
* ATM 论坛
* 通用即插即用论坛(UPnP)
* 管理机构
* 联邦通信委员会(FCC)

OSI模型和TCP/IP协议族

1
TCP/IP被广泛应用在因特网中,现在成为了占主导地位的商用体系结构;而OSI模型则从来没有被完全实现过

OSI模型

1
2
OSI模型的作用就是展示两个不同的系统怎样做到互相通信,且不需要改变底层的硬件或软件逻辑
OSI模型不是一个协议,它是一个分层框架结构,其目的是为了设计出能够让各种类型的计算机系统互相通信的网络系统
  1. 分层的体系结构

    1
    2
    3
    4
    5
    6
    7
    8
    9
    OSI模型由7个排列的层组成:
    1. 物理层
    2. 数据链路层
    3. 网络层
    4. 传输层
    5. 会话层
    6. 表示层
    7. 应用层
    *报文的传输一般只涉及OSI模型的下三层:物理层,数据链路层,网络层*
  2. 层与层之间的通信

    1
    2
    3
    4
    5
    6
    7
    1. 层之间的接口
    每个接口都定义了该层必须向它的上层提供什么样的信息和服务
    2. 层的组织方式
    OSI七层可以看属于三个组:
    * 物理层,数据链路层,网络层 是 网络支撑层,这些层的任务是把数据从一个设备传送到另一个设备
    * 会话层,表示层,应用层 是 用户支撑层,这些层使得一些本来没有关系的软件系统之间有了互相操作性
    * 传输层 是将这两层连接起来,使得底层发送的是高层可以使用的形式
  3. 封装

    1
    第7层的分组被封装在第6层的分组中;第6层的分组被封装在第5层的分组中,以此类推
  4. OSI模型中的各层

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    * 物理层
    物理层通过物理媒体传送比特流时所需要的各种功能
    物理层涉及到接口和传送媒体的机械和电气规约
    物理层关心的内容:
    * 接口和媒体的物理特性
    * 比特的表示(比特流(0和1序列)经过编码变成信号:电或光)
    * 数据率(传输速率,每秒发送比特数)
    * 比特的同步(发送和接收设备时钟同步)
    * 线路配置(点对点配置,多点配置)
    * 物理拓扑(网状拓扑,星状拓扑,环状拓扑,总线拓扑)
    * 传输方式(单工方式,半双工方式,全双工方式)
    * 数据链路层
    数据链路层的任务:
    * 组帧(将比特流划分成可以处理的数据单元,称为帧)
    * 物理编址(在帧上附加一个首部,指明帧的发送方或接收方,本地寻址)
    * 流量控制(接收方接收数据的速度小于发送方发送数据的速率,那么链路层使用流量控制来限速)
    * 差错控制(检测并重传损伤或丢失的帧,增加了物理层的可靠性.帧后加尾部实现)
    * 接入控制(当多个设备连接到同一个链路时,数据链路层必须决定任意时刻该由哪个设备对链路有控制权)
    * 网络层
    网络层负责把分组从源点交付到终点,这可能哟啊跨越多个网络(链路)
    网络层的任务:
    * 逻辑编址(网络层给从上层传来的分组附加一个首部,包括发送方和接收方的逻辑地址和其他信息)
    * 路由选择(多个独立网络或链路互相连接组成互联网,这些连接设备就要为数据分组选路或交换到达目的地)
    * 传输层
    传输层负责报文的进程到进程的交付.进程是运行在主机上的应用程序
    传输层确保整个报文原封不动的按顺序到达,它监督从源点到终点这一级的差错控制和流量控制
    传输层任务:
    * 服务点编址(传输层首部必须包含服务点地址(端口地址))
    * 分段与重装(一个报文划分若干报文段,每个报文段包含一个序号.报文到达时,传输层利用序号将它们重装起来,丢失的分组也能识别并替换为正确的分组)
    * 连接控制(传输层可以是无连接的,也可以面向连接的)
    * 流量控制(传输层的流量是端到端的)
    * 差错控制(传输层的差错控制是端到端的)
    * 会话层
    对某些进程来说,下四层提供的服务还不够充分.
    会话层就是网络的对话控制器,它用于建立,维持并同步正在通信的系统之间的交互
    会话层任务:
    * 对话控制(运行两个进程之间的通信按半双工或全双工方式进行)
    * 同步(会话层允许在数据流中插入若干检查点,用于确认数据是否正常,是否需要重传)
    * 表示层
    表示层考虑的问题是两个系统所交换的信息的语法和语义
    表示层任务:
    * 转换(在不同的编码方法之间提供互操作性,发送方转换成公共格式,接收方将公共格式转换为相应格式)
    * 加密(将原始信息转换为另一种形式,然后发送到网上)
    * 压缩(数据压缩减少了信息中包含的比特数)
    * 应用层
    应用层让用户能够接入网络(给用户提供接口,也提供服务支持)
    应用层提供特定服务:
    * 网络虚拟终端
    * 文件传送,存取和管理(FTAM)
    * 邮件服务
    * 名录服务
  5. TCP/IP协议族

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    TCP/IP协议族目前被认为是一个五层模型:
    * 物理层
    * 数据链路层
    * 网络层
    * 传输层
    * 应用层
    *TCP/IP 与 OSI模型相比少了会话层和表示层:*
    * TCP/IP有很多传输层协议,会话层的某些功能在传输层协议中已经具备
    * 应用层并不仅仅是一个软件,这一层允许开发的应用很多.特定的应用程序需要使用到会话层和表示层中的某些功能,这些功能可以包含在应用软件中进行开发
    * TCP/IP是一个分层协议,它由多个交互的模块构成,每个模块有特定的功能,这些模块并不是必须互相依赖的
    * OSI模型具体规定了哪一层应该具备哪些功能,而TCP/IP协议族的每一层包含的是一些相对独立的协议,可以根据系统的需要把这些协议混合并重新搭配使用
  6. TCP/IP中的各层

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    * 物理层
    TCP/IP没有定义任何特定的协议,它支持所有标准和专用协议
    通信以比特为单位,当两个节点之间建立连接后,就会有一个比特流在它们之间流动.
    但对于物理层来说每个比特都将被独立对待
    *注意: 如果一个节点与n条链路相连,那么它需要n个物理层协议,每条链路各需要一个,原因在于不同的链路可能使用不能的物理层协议*
    * 数据链路层
    TCP/IP没有为数据链路层定义任何特定的协议,它支持所有标准和专用协议
    通信仍然发生在两个节点之间,不过通信的单位却是帧的分组
    一个帧就是封装了来自网络层的数据的分组,并为其附加一个首部,有时再加一个尾部
    在首部主要包含了这个帧的源地址和目的地址
    *注意: 当一个节点接收到一个帧后,就会将其提交给数据链路层,该帧被打开,卸下数据,然后在通过数据链路层重新生成一个新的帧,用于传输*
    * 网络层
    在网络层,TCP/IP支持的是网际协议(IP),IP传输的是称为数据报的分组,每个数据报独立传输,不同的数据报可以走不同的路由,也可能不按顺序到达,也可能会重复
    IP不会跟踪记录这些数据报走过的路由,并且在它们到达目的地后,IP也不具有按原顺序重排的能力
    *注意:网络层上的通信是端到端的通信,而数据链路层和物理层的通信是节点到节点的通信*
    * 传输层
    传输层和网络层之间一个重要的区别:
    **网络中的所有节点都必须具有网络层,但只有两端的计算机上才具有传输层**
    **网络层负责将一个个数据报独立地从计算机A发送到计算机B,而传输层负责将完整的报文从计算机A发送给计算机B.一个报文可以被分个成若干个数据报,数据报通过网络层传输**

    TCP/IP传输层有两个传输层协议:
    * 用户数据报协议(UDP)
    * 传输控制协议(TCP)
    * 流控制传输协议(SCTP)
    *注意:传输单位可以是报文段/用户数据报或者分组*
    * 应用层
    应用层使用户能够获得网络所提供的服务
    *注意: 应用层的通信与传输层的通信一样,都是端到端的。通信单位是报文*