计算机网络:网络通信相关概念入门

这篇具有很好参考价值的文章主要介绍了计算机网络:网络通信相关概念入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、网络发展背景

网络发展背景:

  最初的计算机是单机,那么单机是这样传输数据的:A单机和B单机,在A单机处理完数据后,将装有数据的存储介质交付给B单机,然后B单机读取数据并处理。毫无疑问,这样太麻烦了。
  因此逐步诞生了网络的概念,使用网络来进行数据的传输,大大提升了数据传输的效率。

网络的类型:

  • 局域网:网络覆盖范围在1km之内的网络。
  • 城域网:网络覆盖范围在20km之内的网络。
  • 广域网:网络覆盖范围在20km以上的网络。

  但其实局域网与广域网也只是一个相对的概念,比如整个中国的互联网对于整个世界的互联网来说,也是一个局域网。

二、理解网络通信

  网络通信就是升级版的进程间通信。用QQ聊天来举例,A用户用QQ给B用户发送消息,他们进行的就是网络通信。A用户的主机上有一个QQ进程,B用户的主机上也有一个QQ进程,他们互相发送消息的本质就是A用户的QQ进程和B用户的QQ进程进行通信。因此网络通信就是不同主机间的进程间通信。

三、理解IP地址

1.简述IP地址

  在生活中其实很多时候都可以听到IP地址这个概念,IP地址其实就用来在网络中唯一标识一个主机的,就像是我们的身份证一样。

  在寄快递的时候,我们肯定要知道收货人的地址,不然快递怎么寄。在网络通信中传输数据时,肯定要知道接收方的地址才可以进行数据的发送,不然数据往哪里发呢。

  寄快递时包裹上面不但要有收件人的地址,还要有寄件人的地址。在网络通信中,我们把发送方称为源端接收方称为目的端。每一条数据就相当于一个包裹,数据中自然要包含目的端IP源端IP

  也就是说,IP地址是负责记录这条数据的发送主机和接收主机的,至于谁来记录这条数据是发送主机的哪个进程发送的,是接收主机哪个进程接收的,且看下文。

2.IP地址的版本

 IP地址也是有版本之分的,共两个版本:

  • IPv4:这是早期的IP地址版本,也是使用最多的。
  • IPv6:这是为了扩大地址数量而提出的新版本,目前还没有全面普及。(不兼容IPv4)

 IPv4地址的数据类型:

  • uint32_t:32位无符号整型,也就是说IPv4地址只有32位

 IPv6地址的数据类型:

  • uint8_t ip[16]:这是一个数组类型,数组共16个元素,每个元素的数据类型是8位无符号整型,也就是说IPv6地址的长度是128位

3.提高地址利用率的技术

  之所以推出IPv6地址就是因为IPv4地址不够用了,但是IPv6并不向前兼容IPv4,所以又针对IPv4提出了两项技术来提高地址的利用率。

  1. DHCP:动态地址分配。谁上网就给谁分配IP地址,这样就不会有人一直占用IP地址但不使用,但现在我们的设备基本一直都处于联网状态,所以貌似用处没那么大。
  2. NAT:网络地址转换技术。组建私网的技术,私网中主机对外通信使用的是同一个公网IP地址,这样就节省了大量IP地址。

四、理解端口

1.简述端口

  上面用QQ聊天举例说明了网络通信的本质,这里再对上面内容进行更新。还是以送货为例子,上面已经知道了要把信息从哪里发到哪里,假设是发到爱情公寓,现在包裹到爱情公寓楼下了,快递员小哥看着没有收件人的包裹,陷入了沉思~~~~(当然,没有发货人也是不行的)。想必看到这里也就知道了,咱这条信息还差点东西啊,没收件人怎么行。

  既然快递没有收件人不行,那么网络中的数据没有收件人自然也不行,收件人自然就是目的主机上接收该消息的进程,那么用什么信息在网络数据包中标识要发送给哪个进程呢?那就是端口。

  端口,也就是PORT。端口是一个uint16_t 类型的数据,也就是一个无符号16位整形数据。其实端口在生活中也是挺常见的,因为有时用某个软件的时候,可能会遇到提示:某某端口被占用。那么端口究竟是干啥的?

  端口其实就是用来在一台主机中标识一个进程。一个进程可以同时被多个端口标识,但一个端口只能标识一个进程。

  我们用QQ给其他用户发送数据的时候,发送的数据不仅包含源端IP和目的端IP,也包括了我们自己的QQ进程的端口,以及目的端的QQ进程的端口,也就是说网络通信中的每条数据都包括了源端口和目的端口(发件人和收件人)。

  可以这么理解,IP地址就像是收货人的地址,而端口则表明了一个具体的收货人。通过IP地址知道了要把数据发送给哪个主机,也就是知道了要把快递送到哪个地址。通过端口知道了要把数据发送给主机中具体哪个进程,也就是把快递交给收货人。

2.使用端口的原因

  问题来了,进程不是有pid吗,pid就可以标识一个进程啊,为啥还要用端口来标识?

  还是用QQ聊天来举例,我们发送消息的时候并不是两个用户直接进行数据传输的。A用户和B用户在发送消息时,其实在它们之间还有一个服务器,A用户的消息首先发送给服务器,然后服务器把数据发送给B用户,这才是完整的通信过程。如下图所示

计算机网络:网络通信相关概念入门,linux,网络,IP地址,端口,协议

那么这个通信流程跟端口有什么关系?

 (1)试想,如果我们使用进程pid来在网络通信中标识进程。A用户和B用户通信的过程中,A用户发送给服务器的数据是不是就包括了A用户QQ进程的pid以及B用户QQ进程的pid(当然还包括了源端IP和目的端IP)。

 (2)然后服务器根据指定的B用户的QQ进程的pid去发送数据。此时如果B用户突然退出QQ,然后重新打开QQ软件并登录,那么是不是就会重新创建pcb,自然就有了新的pid,可是这个新的pid和A用户发送的消息中包含的pid是一样的吗?这个谁也说不准,所以为了避免这种情况,才会使用端口这个东西。

那么A用户发送的消息如何找到服务器呢?

 (1)服务器的端口和IP地址一般都是固定的,并且它固定在我们安装的程序中,所以用户不需要操心这个,程序的安装包里就内置有服务器的IP及端口号。咱们用的应用程序发送数据时,自动就使用了内置的IP和端口作为目的IP和目的端口。

 (2)但是如果服务器迁移了,服务器的IP地址就会变化,我们正在使用的客户端就用不成了,就需要下载新的客户端,新的客户端中会内置新的服务器各项信息。

为什么一个进程可以有多个端口?

  主要还是为了效率。看视频的时候,一个端口接收视频,一个端口接收音频,这样看视频就可以保证音画同步。

五、理解网络通信协议

网络通信协议就是约定,约定在网络通信中数据传输时使用的格式。

为什么要有协议?

(1)这个如果用日常生活中的事情来举例可以理解得非常清楚。一个中国人,一个英国人,如果他们都不懂对方的语言,一个说中文,一个说英文,这咋沟通。

(2)两个人之间说的话其实就是数据,说话的过程其实就是数据传输的过程,中国人说中文使用的是中文的数据格式,英国人说英文使用的是英文的数据格式,他们之间采用的数据格式不同,中国人就接收到英语后,如果按照中文思维进行解析,这解析的是个寂寞~~~~,英国人也是一样道理,因此数据的发送端和目的端一定要采用统一的格式才可以。

(3)因此我们可以规定一种语言,让所有的人都必须用同一种语言进行交流,这样就没有沟通障碍了(也就是大家采用同样的数据格式)。让源端和目的端使用同样的格式进行数据的发送和接收,这样就可以正常通信。这其实就是协议。文章来源地址https://www.toymoban.com/news/detail-639667.html

到了这里,关于计算机网络:网络通信相关概念入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 计算机网络的常用的网络通信命令(Windows)

    ping:它是用来检查网络是否通畅或者网络连接速度的命令。ping命令利用的原理是:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作

    2024年02月01日
    浏览(7)
  • 【计算机网络】浏览器的通信能力

    【计算机网络】浏览器的通信能力

    浏览器可以代替用户完成http请求,代替用户解析响应结果,所以我们称之为用户代理 user agent。 浏览器两大核心能力: 自动发送请求的能力 自动解析响应的能力 1.1 自动发送请求的能力 用户在地址栏输入了一个url地址,并按下了回车 浏览器会自动解析URL,并发出一个 GET 请

    2024年02月06日
    浏览(9)
  • 计算机网络概论和数据通信基础

    计算机网络概论和数据通信基础

    广义观点:只要是能实现远程信息处理的系统或者进一步能达到资源共享的系统都可以称为计算机网络 资源共享观点:计算机网络必须是由独立功能的计算机组成的,能够实现资源共享的系统 用户透明观点:计算机网络就是一台超级计算机,资源丰富功能强大,使用其方式

    2024年02月20日
    浏览(16)
  • 数据通信与计算机网络(精炼知识点)

    该部分知识点不多,分值3分 TCP采用可变大小的滑动窗口协议进行流量控制。在前向纠错系统中,当接收端检测到错误后就根据纠错编码的规律自行纠错;在后向纠错系统中,接收方会请求发送方重发出错分组。IP协议不预先建立虚电路,而是对每个数据报独立地选择路由并一

    2024年02月06日
    浏览(13)
  • 网际奇缘:计算机网络演进、概念探秘与通信魔法!

    网际奇缘:计算机网络演进、概念探秘与通信魔法!

    🪶🪶为了解内容 🍁🍁为重要内容 计算机网络:计算机网络是一组 自治 计算机 互连 的集合。 自治 是指每个计算机都有自主权,不受别人控制; 互连 则是指使用通信介质进行计算机连接,并达到相互通信的目的。 通俗地讲, 计算机网络就是把分布在不同地理区域的独立计算

    2024年02月12日
    浏览(15)
  • 计算机网络中的通信子网主要有哪些功能?

    计算机网络中的通信子网主要具有以下功能: 负责全网的数据通信:通信子网通过使用各种通信协议和传输控制功能,能够确保数据从一台主机安全、准确地传输到另一台主机。这包括数据的封装、解封装、传输控制、差错控制等过程。 完成各种网络数据的处理、转换和交换

    2024年02月04日
    浏览(10)
  • 【计算机网络】2、传输介质、通信方向、通信方式、交换方式、IP地址表示、子网划分

    【计算机网络】2、传输介质、通信方向、通信方式、交换方式、IP地址表示、子网划分

    将多根铜线按规则缠绕在一起,能够减少干扰;分为 无屏蔽双绞线UTP 和 屏蔽双绞线STP ,都是由一对铜线簇组成。也即我们常说的 网线 ;双绞线的 传输距离在100m 以内 无屏蔽双绞线UTP 价格低安装简单,但可靠性相对较低,比屏蔽双绞线STP细一点分为: CAT3(3类UTP,速率为

    2024年01月20日
    浏览(11)
  • 计算机网络-OSI参考模型(来由 通信过程 各层分析)

    计算机网络-OSI参考模型(来由 通信过程 各层分析)

    两种网络分层结构 结合事实标准和法定标准得到一个中和版本5层的体系结构 刚开始各个公司的网络体系结构不同,所以不能互通 所以ISO组织提出了这么一个模型,但由于与实际应用还是有点偏差,所以实际应用还是采用了TCP/IP模型 资源子网和通信子网相当于就是一个是对

    2024年01月25日
    浏览(12)
  • 【计算机网络】思科实验(2):交换机间的VLAN通信

    【计算机网络】思科实验(2):交换机间的VLAN通信

    【计算机网络】思科实验(1):交换机的VLAN划分 【计算机网络】思科实验(2):交换机间的VLAN通信 【计算机网络】思科实验(3):使用三层交换机实现跨VLAN间的通信 【计算机网络】思科实验(4):综合实验作业之办公室的跨VLAN通信 【计算机网络】思科实验(5):单臂路由跨VLAN通信

    2024年02月04日
    浏览(45)
  • 软考高级之系统架构师之数据通信与计算机网络

    软考高级之系统架构师之数据通信与计算机网络

    80/20规则是指总流量的80%是网段内部的流量,而总流量的20%是网段外部的流量。 在划分区域之后,OSPF网络中的非主干区域中的路由器对于到外部网络的路由,一定要通过ABR(区域边界路由器)来转发,既然如此,对于区域内的路由器来说,就没有必要知道通往外部网络的详细路

    2024年02月13日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包