网络编程:概述&网络通信要素模拟思路|学习笔记

简介: 快速学习网络编程:概述&网络通信要素模拟思路

开发者学堂课程【大数据 ZooKeeper 快速入门 网络编程:概述&网络通信要素模拟思路】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/549/detail/7576


网络编程:概述&网络通信要素模拟思路


目录

一、网络编程概述

二、网络通信三要素

 

一、网络编程概述

首先要想进行网络通信得有一个计算机网络,所谓的计算机网络就是指通过通信的线路,包括有线或无线各种方式,再加上交换机或者路由器就可以把不同位置各个独立的计算机连接成一个局域网,在这个局域网中,因为可以彼此互相联系,那么就可以实现各个计算机之间的程序共享,资源的共享,包括一个信息的传递。这就是所谓的计算机网络。

所指的网络编程或者叫网络编译就是指在已经实现网络互联的不同的计算机上可能运行着不同的程序。那么它们之间要想进行数据的传输、数据的交换、新的传递该怎么去实现呢?对于开放的人来说,就是怎么样使用编程语言,比如说Java该怎么样实现在不同的计算机上,不同的网络当中,实现一个信息的交换,信息的传输。

 

二、网络通信三要素    

模拟一下,比如现在要设置有个网络编程,看一下得具备哪些要素?这里有一个局域网,首先是一台机器,这个机器上面运行了一个程序,这个程序是一个聊天软件,是由自己开发的,这个程序的名字叫做TT,专门用来进行一个聊天的程序。

image.png

1.IP

要想满足一个跨网络的通信,比如现在在局域网中有很多台机器,要想跨网络通信,怎么样在茫茫的机群当中找到所要通信的那台机器?因此要想进行网络通信,第一条是什么?就是找到那台机器,有个概念,叫做 IP,在网络中,每一个计算机都有一个 IP,这个 IP 一般跟网络的网卡驱动相关。比如说它是一个有线网卡或者无线网卡,有多个网卡,等于多个 IP。IP 是计算机在网络中的唯一标识。

既然是唯一标识,那就可以通过 IP 找到通信所在的机器,比如第一台机器,它的IP在局域网中是192.168.1.6。第二台机器是192.168.1.78。在整个局域网中可能还有其他的IP其他的机器。但是,通过这个IP一定能够唯一地找到,这样就满足了网络通信的第一个要素,能够通过 IP 找到这台机器。

2. 端口号

这时局域网也想进行一个全球的或者更高的跨网络的一个通信,要求使用公网IP,这时候只用局域网192.168.1.66这个网站就通信不了的,这是第一个要素。

接下来是第二个,通过IP找到了,那么在这个程序上在这台机器上,它也运行了这个集体开发的程序。与此同时还运行了其他的一些程序,比如这里还有一些其他的聊天软件,WW 也是聊天的软件,上面还有其他各种各样的程序。连接到这台机器上之后,怎么找到所需要的那个程序呢?所需要的是直接连接到这个 TT 软件上完成一个通信,但是现在有两个程序。这时候要给在计算机中运行的每一个程序一个标号,数据标识,TT 的标号是2000,WW 的标号是2001,上面那个是2002。第一个机器因为是同样的软件,那么标号是2000。这个翻译过来专业术语叫做端口号。

端口号是什么?一台机器上不同程序的标识,也就是通过这种端口号的形式,一定能够找到所需要通信的那个程序,不至于连接到其他方面。因此经过这两个要素,现在怎么办?通过IP找到这台机器,然后通过端口号找到这个程序,这样彼此双方程序已经建立连接了。

3.传输协议

但是,有这样一种场景,第一个机器使用的是中文,另一个机器使用的是英文。在没有翻译软件的情况下,双方进行通信这个格式是不规范的,彼此识别不了。所以想要双方能制定一个统一的标准,统一的格式,达成一个传输的协议,双方都按照这个要求来做,发送数据的时候按照这个协议来进行发送,比如首先发送三个空的字符,然后发送个1010,然后下面开始翻译格式。不管用中文还是英文,最终统一编码的时候都按照固定的编码来进行编译。双方都遵守这个格式,双方都可以去理解都可以遵守。因此要想满足于网络性的还需要一个专业数据叫做传输的协议。

传输协议就是通信双方都遵守达成的传输数据的格式,如果这个协议双方都不遵守或者一方不遵守的话,也不会叫做协议。因此可以想象一下,要想满足一个网络通信编程,应该得具备这三个要素,这叫网络编程。

网络通信的三要素,第一个通过IP在茫茫的机器当中找到唯一想要通信的那台机器,然后再通过端口号找到所要通信的那个程序,最后双方按照统一的传输格式来进行通信,这样就可以实现一个跨网络的机器不同程序之间的通信,这就是一个模拟思路图。

相关文章
|
15天前
|
存储 网络协议 算法
【计算机网络】第一章 概述
【计算机网络】第一章 概述
71 8
【计算机网络】第一章 概述
|
17天前
|
安全 网络协议 Linux
Linux网络名称空间概述
Linux网络名称空间是操作系统级别的一种虚拟化技术🔄,它允许创建隔离的网络环境🌐,使得每个环境拥有自己独立的网络资源,如IP地址📍、路由表🗺️、防火墙规则🔥等。这种技术是Linux内核功能的一部分,为不同的用户空间进程提供了一种创建和使用独立网络协议栈的方式。本文旨在全方面、多维度解释Linux网络名称空间的概念、必要性和作用。
Linux网络名称空间概述
|
1月前
|
网络协议 Go 开发者
Go语言网络编程基础:构建高效、可靠的网络应用
【2月更文挑战第12天】本文将深入探讨Go语言在网络编程领域的基础知识,包括其强大的并发模型、网络库的使用、TCP/IP和HTTP协议的理解等。通过本文,读者将能够理解Go语言在网络编程中的优势,并掌握构建高效、可靠网络应用的核心技能。
|
2月前
|
机器学习/深度学习 存储 算法
【轻量化网络】概述网络进行轻量化处理中的:剪枝、蒸馏、量化
【轻量化网络】概述网络进行轻量化处理中的:剪枝、蒸馏、量化
59 0
|
1天前
【计算机网络】第三章 数据链路层(概述 封装成桢 差错检错)
【计算机网络】第三章 数据链路层(概述 封装成桢 差错检错)
|
1月前
|
安全 算法 网络安全
数字堡垒之钥:网络安全的核心要素与实践策略
【2月更文挑战第30天】 在数字化的浪潮中,数据成为了新时代的“石油”,而网络安全则是保护这些宝贵资源的“数字堡垒”。本文将深入探讨网络安全领域的重要概念、漏洞成因、加密技术及提升安全意识的实践方法。通过对网络攻击手段的剖析,揭示安全防御的策略和挑战,并分享如何通过强化个人和组织的安全意识来构建更为坚固的信息安全防线。
|
1月前
|
存储 监控 安全
网络堡垒的构筑者:洞悉网络安全与信息安全的关键要素
【2月更文挑战第30天】在数字化时代,数据成为新的石油。然而,随着技术的飞速发展,网络安全威胁同样以惊人的速度增长。本文将深入探讨网络安全漏洞的本质、加密技术的重要性以及提升个人和企业安全意识的必要性。通过对这些关键元素的分析,旨在为读者提供一套加强信息资产防护的策略和思路。
|
1月前
|
域名解析 缓存 网络协议
探索Qt 网络编程:网络地址与服务类全解析
探索Qt 网络编程:网络地址与服务类全解析
56 0
|
1月前
|
机器学习/深度学习 编解码 Unix
超分数据集概述和超分经典网络模型总结
超分数据集概述和超分经典网络模型总结
24 1
|
2月前
|
内存技术
计算机网络——物理层概述(二)
计算机网络——物理层概述(二)
60 0
计算机网络——物理层概述(二)