TCP/IP与OSI模型

1.OSI七层模型

OSI(Open System Interconnection,开放系统互联)七层网络模型是ISO(International Organization for Standardization,国际标准化组织)提出的一个参考模型,是一个把网络通信在逻辑上的定义,也可以理解成为定义了通用的网 络通信规范。而我们的数据在网络中传输的过程,实际上就是如下图的封装和解封装的过程,发送方通过各种封装处理,把数据 转换成比特流的形式,比特流在信号传输的硬件媒介中传输,接收方再把比特流进行解封装处理。
在这里插入图片描述

1.物理层

规定了如何为网络通信实现底层的物理连接,以及物理设备的机械、电气、功能和过程特性。如:如何使用电缆和接头的 类型、用来传送信号的电压等。需要注意的是,网络通信过程中所需的物理媒介(网线、线缆等),其实并不属于物理层,因为物 理层实际上是一种规定,规定这些物理媒介设备在连接网络时的各种规格、参数以及工作方式。但是同时,双绞线、线缆等物理 媒介又是物理层的实现。

2.数据链路层

规定了如何进行物理地址寻址、如何在物理线路上进行数据(帧frame)的可靠传递以及流量控制。数据链路层协议有SLIP协 议、CSLIP协议、PPP协议等。交换机,对帧解码并根据帧中包含的信息把数据发送到正确的接收方,所以交换机是工作在数据 链路层的。

3.网络层

规定了通过哪些网络节点、什么样的网络路径来将数据(数据包)从发送方发送到接收方。在网络层中,确定了从节点A发数据 到节点B的网络路径,经过哪些节点。网络层既可以建立LAN通信系统,更主要的是可以在WAN网络系统中建立通信,这是因为 它有自己的路由地址结构,通过路由协议(又称可路由协议)进行网络通信的路由工作。

4.传输层

负责总体的数据传输和数据控制,提供端到端的交换数据的机制。传输层对数据(段)进行分割和重组,并且进行流量控制和 根据接收方的接收数据能力确定适当的传输速率。例如以太网无法处理大于1500字节的数据包,传输层将数据分割成数据片段, 并对小数据片段进行序列编号。接收方的传输层将根据序列编号对数据进行重组。传输层协议有TCP协议、UDP协议等。

5.会话层

在网络中的两个节点之间建立、维持和终止通信。

6.表示层

在应用程序和网络之间对数据进行格式化,使之能够被另一方理解。即发送方的表示层将应用程序数据的抽象语法转换成网 络适用于OSI网络传输的传送语法,接收方则相反。除此之外,表示层还可对数据进行加密与解密。

7.应用层

顶层的OSI层,为应用程序提供网络服务。如为电子邮件、文件传输功能提供协议支持。应用层协议有HTTP协议、FTP协 议、SMTP协议等。

2.TCP/IP协议

从“TCP/IP”名字上来看,貌似这只是tcp协议和ip协议,但是实际上,这是很多协议很多协议组成的一个协议集合,我们 把这集合统称为 TCP/IP协议族,简称为TCP/IP协议。对于TCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层和 数据链路层。通过下图我们可以了解TCP/IP协议结构并对比了解学习TCP/IP 四层参考模型和 OSI 七层参考模型,因为TCP/IP太 过简单,我们也会使用模型化的TCP/IP五层模型来描述计算机网络。
下图为TCP/IP协议的基本结构
这里插入图片描述
TCP/IP模型通常表示为4层,但也可以表示为5层。
在这里插入图片描述

1.网络接口层

作用一:数据封装/解封装成帧(frame)。为了保证可靠传输,网络层传过来的数据在这里被加工成了可被物理层传输的结 构包——帧。帧中除了包括需要传输的数据外,还包括发送方和接收方的物理地址以及检错和控制信息。其中的物理地址确定了 帧将发送到何处,检错和控制信息则是用来保证数据的无差错到达。数据帧结构如下(Address均为mac地址):
在这里插入图片描述
作用二:控制帧传输。控制帧的传输主要体现在反馈重发、计时器、帧序号方面。接收方通过对帧的差错编码(奇偶校验码 或 CRC 码)的检查,来判断帧在传输过程中是否出错,并向发送发进行反馈,如果传输发生差错,则需要重发纠正。作为发送 发,如果在发送帧后,会同时启动定时器,如果帧发送后在一定时间内没有收到反馈,为了避免传输停滞不前,则在计时器 Timeou后认为帧传输出错,自动重发。为了避免多次收到同一帧并将其递交给网络层的情况发生,则需要对每个发送的帧进行 编号,接收方以此来判断该帧是否重复接受了。
作用三:流量控制。由于收发双方各自使用的设备工作速率和缓冲存储空间的差异,可能出现发送方的发送能力大于接收 方接收能力的现象,此时若不对发送方的发送速率做适当的限制,前面来不及接收的帧将被后面不断发送来的帧“淹没”,从而 造成帧的丢失而出错。由此可见,流量控制实际上是对发送方数据流量的控制,使其发送速率不超过接收方的速率。所以需要一 些规则使得发送方知道在什么情况下可以接着发送下一帧,而在什么情况下必须暂停发送,以等待收到某种反馈信息后再继续发 送。

2.网络层

说到网络层不得不提的就是IP协议,它是TCP/IP协议族中为核心的协议。所有的TCP、UDP、ICMP、IGMP协议数据都以IP 数据报格式传输。IP协议提供的是不可靠的、无连接的数据报传输服务。不可靠是指IP协议不会保证数据报能否成功到达目的 地,仅提供传输服务,传输出错,则会丢弃出错的数据报。无连接是指IP协议对数据报的处理是独立的,这也意味着接收方不一 定会按照发送顺序接收数据报。IP数据报格式如下:
在这里插入图片描述
在这里插入图片描述
子网划分:
一个有500台主机的网络,如果使用C类地址,则无法满足主机数量需求,使用B类地址则会造成IP地址的浪费。由此,需要在 ABC类网络的基础上进行子网划分:即占用主机号的前几位表示子网号。子网掩码的概念由此被引入。
在这里插入图片描述

3.传输层

无论参考OSI还是TCP/IP的网络模型,我们从传输层向更底层看,各层的协议都是在直接或间接的服务于主机与主机之间的通 信,而传输层则是在进程与进程通信层面上的。传输层有两个重要的协议——TCP(Transmission ControlProtocol,传输控制 协议)和UDP(User Data Protocol,用户数据报协议)。
UDP协议:  
 UDP(User Datagram Protocol)即用户数据报协议,其传输机制决定了它的大优点——快,同时也决定了它大的缺点 ——不可靠、不稳定。   
 UDP是无连接的,发送数据之前不需要建立连接(TCP需要)。减少了开销和延时。   
 UDP是面向报文的,对IP数据报只做简单封装(8字节UDP报头)。减少报头开销。   
 UDP没有阻塞机制,宁愿阻塞时丢弃数据不传,也不阻塞造成延时。   
 UDP支持一对一、一对多、多对一、多对多通信。
 UDP报文结构
 在这里插入图片描述
 TCP协议:   
 TCP(Transmission Control Protocol)传输控制协议,相对于UDP,TCP是面向连接的、提供可靠的数据传输服务。同时也 是较UDP开销较大的、传输速度较慢的。   
 TCP提供可靠的、面向连接的数据传输服务。使用TCP通信之前,需要进行“三次握手”建立连接,通信结束后还要使 用“四次挥手”断开连接。   
 TCP是点对点的连接。一条TCP连接只能连接两个端点。    TCP 提供可靠传输,无差错、不丢失、不重复、按顺序。   TCP 提供全双工通信,允许通信双方任何时候都能发送数据,发送方设有发送缓存,接收方设有接收缓存。   
 TCP 面向字节流 。
 TCP 并不知道所传输的数据的含义,仅把数据看作一连串的字节序列,它也不保证接收方收到的数据块 和发送方发出的数据块具有大小对应关系。
TCP报文结构
在这里插入图片描述
TCP建立连接的三次握手
在这里插入图片描述

TCP断开连接的四路握手:
   在这里插入图片描述

4.应用层

在这里插入图片描述

发布了8 篇原创文章 · 获赞 1 · 访问量 299

猜你喜欢

转载自blog.csdn.net/AJIEIT/article/details/104729381