计算机网络的5层结构 与 TCP/IP协议简介

计算机网络的五层结构

计算机网络的各大教材上相信是OSI七层协议。但是由于太过复杂和精细导致不太实用最终衍生出了四层协议和五层协议。下面我们就来对比一下,并简述每一个层级的简单概念和作用。
在这里插入图片描述
我们以常用的五层协议为例

应用层 :是体系的最高层,通过应用进程之间的交互来完成特定的网络应用。
应用层的协议定义的是应用进程之间的通信和交互规则

运输层 : 负责两台主机中进程之间的通信,提供通用的数据传输服务。而所谓的“通用”是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。
运输层的协议有两中:
(传输控制协议)TCP提供面向连接的,可靠的!数据传输服务,纯属的单位是报文段。
(用户数据报协议)UDP:提供面向无连接的,尽最大努力的数据传输服务(不保证数据的可靠性),其数据传输的单位是用户数据报。

网络层:负责为分组交换网上不同主机提供通信服务。 将报文端或者用户数据报封装程 分组 或者 包 进行传送。
互联网使用的网络层协议是无连接的网际协议IP
网络层的协议:IP协议,ARP协议,路由协议。

数据链路层:负责将网络层传递下来的IP数据报组装成 帧 ,在两个相邻的节点间传送的链路上传送 帧 ,每一帧都包含必要的控值信息(如同步信息,地址信息,差错控值等)。

物理层:物理层上所传输的单位就是比特,用于消除两台主机间的物理线路差距(例如主机A是电缆,主机B是光纤)。

而网络中最著名和最重要的就是 TCP 和 IP 两个协议。而TCP/IP不单单指这两个具体协议,而是用来表示互联网所是使用的整个TCP/IP协议族。

数据传输的过程

在这里插入图片描述
主机A -》主机B
应用层:产生消息。
运输层:确定消息接收的具体应用。(每一台主机会给运行的应用分配一个端口号。)TCP或者UDP能使用这个portf发给具体的应用。
网络层:确定消息发给那一台主机(ip地址),每一台主机都有唯一对应的32位的 ip 地址。
数据链路层:在据域网中进行信息传递。利用网关,网桥或者路由器
物理层:把数据转换成比特流,消除实际物理上的差异。

B接收到数据
物理层:把比特流转换成帧,使数据链路层进行分析。
数据链路层:通过帧确认主机MAC地址,也就是终点,进行信息的传递。
网络层:去除 ip 协议对信息的封装。
运输层:去除TCP/UDP协议的分装。
应用层:将信息解析出来发送到对应的port。

TCP/UDP

UDP:面向无连接的网络传输协议。首先面向无连接是什么意思?A向B发送消息,不需要A与B进行实际连接,只要 A 知道 B 的地址(IP 和 port )就可以传输数据,由于不需要连接所以每一个用户数据报的首部会非常的小,所以传递会非常的快速便捷,但是由于面向无连接的擦混熟,A如果向B发数据时,数据丢失,B是不知道的,所以这种传输不安全!主要应用于直播,视频聊天等等。

所以UDP的特点有:
(1)无连接; A和B之间并没有建立连接其实UDP协议他只是在A和B之间
建立了一种关系
让A知道消息是要发给B的。
(2)尽最大努力交付; 不保证消息的可靠性
(3)面向报文;
(4)无拥塞控制; 不会因为网络拥塞导发送速率降低,对于某些实时的应用很重要 比如ip通话 视频会议等
(5)支持一对一、一对多、多对一和多对多的交互通信;
因为不需要建立连接 所以在发送的时候其实可以发给任意用户
(6)首部开销小(只有四个字段:源端口、目的端口、长度、检验和)。

TCP:TCP是面向连接的,可靠的,数据传输服务
面向连接的:首先A和B发消息那么A和B就要建立连接,建立连接之后才可以相互发消息,所以TCP实际上使一个全双工的管道通信。在发消息之前要建立好相对应的管道。再断开连接时,同样也需要相互断开。

可靠的:TCP的首部相对复杂和大了许多,在首部存在着控值连接的数据位。例如:检验和来确认这段消息的接收方是谁,利用ack来确认回复的是哪一个消息,下一个想要收到的是什么消息,利用seq来对信息进行编号,来判断数据是否缺少某一信息以及大数报分割成小的数据报进行传输。使用拥塞控值机制来控制向网络发送数据的多少,来避免报文阻塞在网络中。等等等等,后面我们会专门讲TCP的可靠性。

TCP的特点:
(1)面向连接;通信之前必须建立连接 这个是和UDP就有所不同 Udp是不需要建立连接的,
所以他能1对多 多对一 多对多 通信 tcp就只能建立连接双方进行通信
(2)每一条TCP连接只能是点对点的(一对一); 连接建立好之后只能连接建立的双方之间进行通信
(3)提供可靠交付的服务;通过TCP连接传输的数据,无差错,不丢失,不重复。保证了数据的安全性
(4)提供全双工通信; A 可以给B发消息 B也可以给A发消息
(5)面向字节流。 那这里字节流我想应该都不陌生,就是我们之间说过的哪个字节流。但是稍有不同的是他是操作文件的 ,所以要通过节点流是进行网络传输的。
(6)首部开销较大 占20字节

IP

了解IP地址之前,我们需要了解MAC地址,也就是物理地址,每一台机器都以偶唯一的MAC地址,MAC地址由厂商分配。
MAC地址由厂商分配,那么我们无法通过MAC地址来获取该主机的网络地址,所以网络层就有了IP协议,制定了一套新地址,使得我们能够区分两台主机是否同属一个网络,这套地址就是网络地址,也就是所谓的IP地址

IP地址目前有两个版本,分别是IPv4和IPv6,IPv4是一个32位的地址,常采用4个十进制数字表示。IP协议将这个32位的地址分为两部分,前面部分代表网络地址,后面部分表示该主机在局域网中的地址。由于各类地址的分法不尽相同,以C类地址192.168.24.1为例,其中前24位就是网络地址,后8位就是主机地址。

而A B C 类网络地址现在已经不再使用,现在使用的是CIDR格式
CIDR标记使用一个斜线(/)分隔符,后面跟一个十进制数值表示地址中网络部分所占的位数。例如,205.123.196.183/25中的25表示地址中25位用于网络ID,相应的掩码为255.255.255.128。

因此, 如果两个IP地址在同一个子网内,则网络地址一定相同。为了判断IP地址中的网络地址,IP协议还引入了子网掩码, IP地址和子网掩码通过按位与运算后就可以得到网络地址。

原创文章 139 获赞 23 访问量 5934

猜你喜欢

转载自blog.csdn.net/weixin_44916741/article/details/104305566
今日推荐