网络理论基础

什么是网络

网络就是一种辅助双方或者多方能够连接在一起的工具

使用网络的目的

  1. 就是为了联通多方然后进行通信用的,即把数据从一方传递给另外一方
  2. 为了让在不同的电脑上运行的软件,之间能够互相传递数据,就需要借助网络的功能
    例如:QQ之间发送消息

IP地址

IP地址用来 标记网络上的一台电脑 比如 192.168.1.1 ;在本地局域网上是唯一的

  • 测试网络是否正常 => ping
  • 查看ip地址(ubuntu) => ifconfig
IP分类

IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基础
的协议。
IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任
务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议,号称可以为
全世界的每一粒沙子编上一个网址 。
由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络
地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。

每一个 IP 地址包括两部分:网络地址和主机地址
跟多分类请大家查资料

端口号

  • 端口
    如果一个程序需要收发网络数据,那么就需要有这样的端口。端口就好一个房子(进程)的门,是出入这间房子的必经之路。在linux系统中,端口可以有65536(2的16次方)个之多。 既然有这么多,操作系统为了统一管理,所以进行了编号,这就是端口号

端口是通过端口号来标记的,端口号只有整数,范围是从0到65535
端口号不是随意使用的,而是按照一定的规定进行分配。这里只介绍一下知名端口和动态端口

  • 知名端口号
    知名端口是众所周知的端口号,范围从0到1023

    80端口分配给HTTP服务 443 端口分配给HTTPS服务 ...

    可以理解为,一些常用的功能使用的号码是估计的,好比 电话号码110、10086、10010一样。一般情况下,如果一个程序需要使用知名端口的需要有root权限

  • 动态端口
    动态端口的范围是从1024到65535。动态分配是指当一个系统程序或应用程序程序需要网络通信时,它向主机申请一个端口,主机从可用的端口号
    中分配一个供它使用。

IP地址标识网络中的一台主机,端口号标识这台主机上的一个服务 ( 应用程序 )

不同电脑上的进程之间如何通信

网络链接通讯的本质其实就是不同电脑上的进程之间的通讯

先来理解几个名词

通讯: 运行的程序之间的数据共享
进程: 每个正在运行的程序和占用的资源被称为进程

其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用进程(进程)。

这样利用“ip地址,协议,端口”就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行交互

Socket

  • socket(简称 套接字) 是进程间通信的一种方式

    • 它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页、QQ 聊天、收发 email 等等
    • socket本质是编程接口(API),对TCP/IP的封装 ((TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口))

自己手鲁发起一个网络通信

import socket

def main():

    # 创建套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    # 绑定ip+port
    # 获取本地主机名
    host = socket.gethostname()
    port = 60000
    # 绑定端口号
    udp_socket.bind((host, port))

    # 发数据 接收数据的ip地址 端口号
    dest_addr = ('192.168.43.156',8080)
    # 从键盘获取数据
    strInput = input('请输入发送的数据')
    while :
        if strInput == 'q':
            break
    # 发送数据到指定的程序里面
    # 第一个参数是发送的数据 第二个参数是ip+port
    # sendto 是udp 的发送方法
    udp_socket.sendto(strInput.encode('utf-8'),dest_addr)

    #关闭套接字
    udp_socket.close()

if __name__ == "__main__":
    main()

还需一个网络调试工具
windows 请自己百度
ubuntu下载地址

如果有什么问题请大家在下方评论,我会改正的!—_—!

原文地址:https://www.cnblogs.com/200zhl/p/10919482.html

时间: 2024-08-30 11:06:56

网络理论基础的相关文章

Alpha 冲刺 (3/10)

队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 协助后端界面的开发 搭建项目运行的服务器环境 训练YOLO及CRNN模型 展示GitHub当日代码/文档签入记录(组内共享) 接下来的计划 协助算法迁移学习的弱分类器实现 扩充数据集并且训练模型 优化模型结构 还剩下哪些任务 燃尽图(组内共享) 有哪些困难 CTPN的水平.竖直参数选取问题 运行用的服务器性能不佳 有哪些收获和疑问 通过阅读相关

网络基础知识查询

第一章.基础网络概念 1.1 网络是个什么玩意儿 全世界的人种有很多,人类使用的语言种类也多的很.那如果你想要跟外国人沟通时,除了比手划脚之外,你要如何跟对方讲话? 大概只有两种方式啰,一种是强迫他学中文,一种则是我们学他的语言,这样才能沟通啊.在目前世界上的强势语言还是属于英语系国家, 所以啰,不管是啥人种,只要学好英文,那么大家都讲英文,彼此就能够沟通了.希望不久的未来,咱们的中文能够成为强势语言啊! 这个观念延伸到网络上面也是行的通的,全世界的操作系统多的很,不是只有 Windows/Li

iOS 网络请求 NSURLSession 的上传文件方法

NSURLSession/NSURLConnection的上传文件方法 此篇文章的理论基础主要是与HTTP网络通信协议相关.为集中精力,可以先把TCP/IP协议这些置之不理,也就是先只关注HTTP的请求和响应的结构.HTTP完整的原理内容就此略过.在此只略提相关内容.文中涉及的设计源码可以通过这里获取 https://github.com/wuqingjian2015/uploadHelper,有意者可以去看看. HTTP是干什么用的呢? 先考虑一下以下应用过程: 从客户端向服务器端发起一个请求

【大数据】大数据时代--网络数据与科学的时代

大数据_大数据时代_大数据概念_网络大数据 随着大数据时代的来临,大数据也吸引了越来越多的关注.网络大数据(http://www.raincent.com)整合了大数据,大数据概念,大数据处理,大数据分析,cdn,cdn加速,idc,网络测量,网络监测,网络安全测量,网站性能监测,行业分析报告,行业研究报告,免费行业报告等服务为一体,力争打造中国最大的网络大数据中心. 这两个词最早出现是在上世纪90年代.按照当时的解释,大科学时代主要是指单打独斗的时代结束了,要搞集团军式的科研.也有一种说法是,

【51CTO学院三周年】我的网络求学之路

我是一名电脑爱好者. 也是一名非科班毕业的IT从业者 回想我的第一台电脑是286,1M内存,VGA显卡,14寸VGA单显,1.2M的软驱,这个配置在当时已经算是超前的了(因为当时的流行配置是8086,EGA单显). 电脑到手,我就成了"电脑教"的狂热教徒,每天顶礼膜拜,花费所有的时间在电脑上面,从早到晚,从晚到早,永不停歇.以至于家人强迫我离开电脑桌去做别的活动. 在这种近乎于神经质的狂热追求下,我的电脑技术开始提高了.我当时的工作是邮政局的邮递员,这为我学电脑创造了极其有利的条件,因

猪猪的机器学习笔记(十三)贝叶斯网络

贝叶斯网络 作者:樱花猪 摘要 本文为七月算法(julyedu.com)12月机器学习第十三次次课在线笔记.贝叶斯网络又称信度网络,是Bayes方法的扩展,是目前不确定知识表达和推理领域最有效的理论模型之一.贝叶斯网络适用于表达和分析不确定性和概率性的事件,应用于有条件地依赖多种控制因素的决策,可以从不完全.不精确或不确定的知识或信息中做出推理.本节课从朴素贝叶斯模型开始,详细描述了贝叶斯网络的意义,构建方案以及其他衍生算法. 引言 贝叶斯网络是机器学习中非常经典的算法之一,它能够根据已知的条件

浅析IRF虚拟化技术增强企业网络架构的弹性

浅析IRF虚拟化技术增强企业网络架构的弹性  [摘要]随着"云"时代到来和各种虚拟化技术日趋成熟,对传统企业网络架构提出新挑战.例如:在不破坏企业原有网络架构和资产投入情况下,可以为企业网络提供更好的扩展性,其中包括简化管理.简化网络运行.降低整体投入成本.扩展端口密度和带宽容量.保护用户投资,使企业网络具备高可用性和持续的.不间断的运行效果.为了达到此效果,可利用H3C的IRF虚拟化技术在企业网络架构中增强弹性,现浅析如下. 关键词:云时代.企业网络.虚拟化技术.持续不间断.IRF.

人工神经网络简介和单层网络实现AND运算--AForge.NET框架的使用(五)

原文:人工神经网络简介和单层网络实现AND运算--AForge.NET框架的使用(五) 前面4篇文章说的是模糊系统,它不同于传统的值逻辑,理论基础是模糊数学,所以有些朋友看着有点迷糊,如果有兴趣建议参考相关书籍,我推荐<模糊数学教程>,国防工业出版社,讲的很全,而且很便宜(我买成7元钱). 人工神经网络的简介 人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型.它是一种运算模型,由大量神经元和相互的连接组成,每个神经元代表一种特定的输出函数,称为激励函数(activati

无线网络的基础及优化方案

一.理论基础 注:关于射频等通信技术,本人不是太了解,相关总结如下,如有不当,欢迎指正. ①无线网络信号的本质是电磁波,电磁波的传播速率等于频率与波长的乘积,而这个乘积实际上是一个固定值,就是光速,换句话说电磁波的频率越高,波长就越短,因此5GHz信号的波长显然要比2.4GHz信号的要短,而波长越短的电磁波穿透力就越强.(2.4G波长≈12.5cm 5G波长≈6cm) ②因为波源的震动频率不同,所以会有不同频率的电磁波. ③有关电磁波的频率与穿透力的关系.理论上,频率越高,穿透力越强,所以5g比