TCP/IP
1 | TCP划分两个协议: |
协议和标准
1 | * 协议 |
OSI模型和TCP/IP协议族
1 | TCP/IP被广泛应用在因特网中,现在成为了占主导地位的商用体系结构;而OSI模型则从来没有被完全实现过 |
OSI模型
1 | OSI模型的作用就是展示两个不同的系统怎样做到互相通信,且不需要改变底层的硬件或软件逻辑 |
分层的体系结构
1
2
3
4
5
6
7
8
9OSI模型由7个排列的层组成:
1. 物理层
2. 数据链路层
3. 网络层
4. 传输层
5. 会话层
6. 表示层
7. 应用层
*报文的传输一般只涉及OSI模型的下三层:物理层,数据链路层,网络层*层与层之间的通信
1
2
3
4
5
6
71. 层之间的接口
每个接口都定义了该层必须向它的上层提供什么样的信息和服务
2. 层的组织方式
OSI七层可以看属于三个组:
* 物理层,数据链路层,网络层 是 网络支撑层,这些层的任务是把数据从一个设备传送到另一个设备
* 会话层,表示层,应用层 是 用户支撑层,这些层使得一些本来没有关系的软件系统之间有了互相操作性
* 传输层 是将这两层连接起来,使得底层发送的是高层可以使用的形式封装
1
第7层的分组被封装在第6层的分组中;第6层的分组被封装在第5层的分组中,以此类推
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)
* 邮件服务
* 名录服务TCP/IP协议族
1
2
3
4
5
6
7
8
9
10
11TCP/IP协议族目前被认为是一个五层模型:
* 物理层
* 数据链路层
* 网络层
* 传输层
* 应用层
*TCP/IP 与 OSI模型相比少了会话层和表示层:*
* TCP/IP有很多传输层协议,会话层的某些功能在传输层协议中已经具备
* 应用层并不仅仅是一个软件,这一层允许开发的应用很多.特定的应用程序需要使用到会话层和表示层中的某些功能,这些功能可以包含在应用软件中进行开发
* TCP/IP是一个分层协议,它由多个交互的模块构成,每个模块有特定的功能,这些模块并不是必须互相依赖的
* OSI模型具体规定了哪一层应该具备哪些功能,而TCP/IP协议族的每一层包含的是一些相对独立的协议,可以根据系统的需要把这些协议混合并重新搭配使用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)
*注意:传输单位可以是报文段/用户数据报或者分组*
* 应用层
应用层使用户能够获得网络所提供的服务
*注意: 应用层的通信与传输层的通信一样,都是端到端的。通信单位是报文*