计算机网络基本概念(如果你还不理解就要进来看看了)

1.计算机网络概念

  什么是计算机网络,我的脑海里就会浮现出很多计算机,也就是说在我的认知里,它就是一台台的计算机连接在一起从而形成一张网络。
在这里插入图片描述

  这些计算机在这网中可以互相通信——共享资源,传递信息。就像蜘蛛所织的网一样,一旦有猎物落入蛛网,蜘蛛就可以获取猎物所在的位置信息。
在这里插入图片描述

2.计算机网络分层结构

  那么设备与设备之间是如何实现通信的?这个过程是很复杂的,比如说两个设备之间发送文件
在这里插入图片描述
  左主机要给右主机发送一个文件,这个文件要经过一条链路才能发送过去,所以要铺设链路吧,光是铺设链路就很复杂了。有了链路后,在发送前还要做一系列的工作。
  例如:
(1)发送通信的计算机必须将数据通信的通路激活。激活就是发送一些命令确保我的文件可以正确地发送和接收。这一步就是将通信道路清理干净,确定可以通信。
(2)要告诉网络如何识别目的主机。也就是说我把文件发出去了,发到云端上了,你要告诉要发给谁。
(3)还要查明目的主机是否开机,网络连接是否正常…

  这些过程很复杂,所以在计算机网络中就采用了一个分层的方法,将这些复杂的问题分解成几个层次。所以就有了一下这几种计算机网络分层结构。 7层OSI参考模型4层TCP/IP参考模型。OSI参考模型是法定的标准,但是通用的标准是TCP/IP参考模型。总结这两种参考模型优缺点,得到了一个5层体系结构。

2.1 OSI参考模型,TCP/IP参考模型以及常用的协议

在这里插入图片描述
 ; 将复杂的过程分为这几个层次,那每个层次是什么,对应的功能是什么呢?这些协议又是什么?

2.2各层次的基本概念和功能

2.2.1 应用层

  应用层是计算机网络分层结构最顶端的一层,是和主机距离最近的或者可以说是距离用户最近的层次。也就是说这一层次是面向用户的;是用户与网络的交互界面;是用户能够看得懂的,能够应用的。
在这里插入图片描述
  那应用层到底是什么呢,它里面有什么呢?不安全正确地说法:应用层就是所有能和用户交互产生网络流量的程序。什么又是产生网络流量的程序?简单点说就是连上网了才可以使用的程序。比如说QQ,可以发送电子邮件的邮箱。
在这里插入图片描述
在这里插入图片描述
  那到这里可以看出应用层可以提供的典型有:
    文件传输
    电子邮件
    万维网

2.2.2 表示层

  根据字面意思,表示层主要负责的是最后呈现在设备(如屏幕)上有什么东西。
在这里插入图片描述

严谨点说用于处理两个通信系统中交换信息的表示方式,通常是对语法和语义的处理。
  表示层主要负责的是最后呈现在设备上的东西。比如说我要发一张图片给张三,那么张三的设备的屏幕上要呈现那张图片。我们知道一切数据在计算机中都是0和1组成的。那么发一张图片本质上就是发一串串的1和0。发送时就要将图片编码成二进制数串,接收时要将二进制数串翻译成图片。所以表示层的一个重要的功能就是数据格式的变化(数据的解码和编码)。也就是生活中的翻译官。

2.2.3 会话层

  会话,指 聚谈;对话。用户和系统进行对话可以称为通讯,比如说我进入使用浏览器百度网页搜索资料,这就建立了一个会话。那么这个通讯的过程就叫做会话。
在这里插入图片描述

  在计算机术语中,会话是指一个终端用户与交互系统进行通讯的过程。那么会话层要完成的工作就是向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。

2.2.4 传输层

  实际上在计算机网络中进行通信的真正实体是位于通信两端主机中的进程。进程就是正在运行的程序。传输层负责的就是主机中两个进程的通信,即端到端的通信。端到端通信——两个主机中的进程的通信。每个进程都会用一个编号来标识,这个编号就是端口号,所以叫做端到端通信。
在这里插入图片描述
  传输层的功能:

    可靠传输,不可靠传输
    差错控制
    流量控制
    复用分用

2.2.5 网络层

  网络层的主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务(主机与主机之间)。传输单位是数据报。分组就是将数据报切割成多个部分,整体与部分的关系。

在这里插入图片描述
网络层的功能:
    路由选择与分组转发
    异构网络互联(处于不同网络结构中——异构)
    拥塞控制

2.2.6 数据链路层

  主要任务是把网络层传下来的数据报组装成帧(帧是数据链路层的传输单位),然后负责通过一条链路从一个结点(主机,路由器)想另一个物理链路直接相连的相邻结点传送数据报。
在这里插入图片描述
数据链路层的功能:
    为网络层提供连接服务
    链路管理
    组帧
    流量控制
    差错控制

2.2.7 物理层

  物理层要解决的问题是:如何在连接各种计算机的传输媒体上传输数据比特流。
在这里插入图片描述

3.几个重要协议

  前面就介绍了讲计算机网络分层以及各分层的基本概念和功能。那么具体是如何才能实现那些功能呢——协议。协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。制定的协议大家要去遵守的,在某个圈子里面玩,就要遵守那个圈子的规则。也就是说要进行通信必须要有这些协议。举个例子,我们之所以能一起交流,因为我们使用同样的语言,而这个语言就是前人制定的协议。
在这里插入图片描述
  计算机网络中的内容错综复杂,这里只挑选一些比较重要的协议和一些比较常见的概念去讲一下我的理解。

3.1 ip地址

  我突然不想努力了,想找个富婆,就发信息和她联系了。那网络是怎么将我的信息准确地发给她呢——通过ip地址,那么ip地址是什么。ip地址由两部分组成,网络地址和主机地址。网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机。就相当于去找人,ta在哪里(网络地址),叫什么(主机号)。
在这里插入图片描述

3.2 TCP协议

  传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

说白了TCP就是一种传输协议,就像HTTP协议一样,HTTP的目的是指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应,而TCP的目的是为了确保数据传输的可靠性,我给你一个数据包,你一定就要收到,收不到的话那么我就会给你重发,直到我超时放弃你了。

HTTP是建立在TCP之上的,当你建立起TCP连接之后,在上面传输的数据用的是HTTP协议。

  那么TCP是如何保证数据传输的可靠性?采用可靠的通信连接以及引入差错检测,消息控制和重传机制。

3.2.1 三次握手

  TCP为应用程序提供可靠的通信连接——采用三次握手协议。三次握手协议指的是在发送数据的准备阶段,服务器端和客户端之间需要进行三次交互。

第一次握手:客户端发送SYN包到服务器,并进行SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到SYN包并确认,同时自己发送一个SYN+ACK包,此时服务器进入SYN_RECV状态

第三次握手:客户端收到服务器的SYN_ACK包,向服务器发送确认包ACK,此包发送完毕,客户端和服务器进入established状态,完成三次握手

连接建立后,客户端和服务器就开始进行安全可靠的数据传输了。

在这里插入图片描述

简单点说就是:

客户端:我要对你讲话,你能听到吗;
服务端:我能听到;而且我也要对你讲话,你能听到吗;
客户端:我也能听到。

互相开始通话
………

3.2.2 三个机制

①差错检测:也就是引入校验和。在TCP的首部中有一个占据16为的空间用来放置校验和的结果。在源主机的运输层开始接受到一个从应用进程传下来的数据的时候,会将他封装成一个报文段,加上至少20字节的首部。同时会将这个报文段首部和数据还有伪首部部分一起根据取反码和的形式计算出校验和添加到首部中。传输到目的主机的运输层之后,会计算这个通过这个校验和检查是否存在比特差错。

②控制消息:当检测到发生比特差错之后要对发送发进行信息的反馈使得能够根据返回决定是否进行重传。一般理论上会有两种返回一种是肯定的反馈ACK,在TCP中反馈信息是接收到的分许中最后一个字节序号的下一位。一种是否定反馈,但是为了减少网络中的注入分组的数量减少负担取而代之的是通过发送上一个分组的确认信息表明当下这个分组没有正确的接收。

③重传:如果接收方接收到的是一个换掉的ACK或者上一个分组的确认之后意味着要再发一遍这个分许。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值