Python---网络编程知识详解(学习笔记)基础部分

目录

一、IP地址

1.引入IP地址

2.ip地址的分类

2.1 IPv4的5种类别以及共有IP和私有IP

2.1.1 按照基本格式划分

2.1.2 按照功能用途来划分

2.1.2 特殊的P地址


一、IP地址

1.引入IP地址

特点:在逻辑上标记一台电脑(唯一标记)

作用:不能有重复的

发送者需要:

  • dest ip:192.168.30.5(目的ip,用来说明到那个电脑)
  • content:内容
  • src ip:192.168.10.2(源ip,用来说明从哪儿电脑来)

2.ip地址的分类

IP地址有两个版本:IPv4和IPv6

IPv4:在全世界的设备几乎都是这样的地址。

特点:在几年前已经用光了,如果有一个新兴的国家需要一些ipv4的地址,则没有充足的地址。

IPv6:用的设备比较少

特点:号称能够给全世界上的每一个沙子都可以用唯一一个标记来标识,可以理解为无穷个。

在自己的电脑中可以通过点击网络与Interent,再点击更改适配器选项,然后选择网卡即可看到自己电脑的ip地址,例如下图ipv4和ipv6所示:

我们可以发现IPv4通过.来分割;IPv6通过::来分隔。

2.1 IPv4的5种类别以及共有IP和私有IP

IPv4有4组数据,每组数据用点隔开,数据的范围为0~255。

0.0.0.0 ~ 255.255.255.255

虽然范围很广,但是很早之前已经进行使用,且进行了功能的划分。

一个IPv4的地址分为网络号主机号两部分。

一般来说,例如:192.168.14.60

其中192.168.14表示网络号,60表示在这个网络中的主机号。

因为每一组数字的最大范围为0~255,因此该网络下最多有256台电脑。

2.1.1 按照基本格式划分

IP地址的类别共有A/B/C/D/E以下五种:

  • A类IP地址
    一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,
    地址范围1.0.0.1-126.255.255.254
    二进制表示为:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110
    可用的A类网络有126个,每个网络能容纳1677214(2的24次方)个主机
  • B类IP地址
    一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,
    地址范围128.1.0.1-191.255.255.254
    二进制表示为:10000000 00000001 00000000 00000001 - 10111111 11111111 11111111 11111110
    可用的B类网络有16384个,每个网络能容纳65534(2的16次方)主机
  • C类IP地址
    一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”
    范围192.0.1.1-223.255.255.254
    二进制表示为: 11000000 00000000 00000001 00000001 - 11011111 11111111 11111110 11111110
    C类网络可达2097152个,每个网络能容纳254(2的8次方)个主机(其中C类是最经常使用的IP地址类型)
  • D类地址用于多点广播
    D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。
    它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中
    多点广播地址用来一次寻址一组计算机
    地址范围224.0.0.1-239.255.255.254
  • E类IP地址(现在已经不使用了,因为IPv6的存在)
    以“1111”开始,为将来使用保留
    E类地址保留,仅作实验和开发用。

主要区别是:网络号与主机好的范围不同,一般来说C类比较常见

2.1.2 按照功能用途来划分

可分为私有地址公有地址两种

  • 私有地址:国际规定有一部分IP地址是用于我们局域网使用,也就是属于私网IP,不在公网中使用的,他们的范围是:

10.0.0.0~10.255.255.255   (A类的私有地址部分)

172.16.0.0~172.31.255.255(B类的私有地址部分)

192.168.0.0~192.168.255.255(C类的私有地址部分)

  • 公有地址:能直接上网的地址(手机的IP地址)

2.1.2 特殊的P地址

IP地址127.0.0.1~127.255.255.255用于回路测试。

在window / Linux 系统中通过 ping 127.0.0.1可以查看该电脑是否具有网络功能。

如:127.0.0.1可以代表本机IP地址,用http://127.0.0.1就可以测试本机中配置的Web服务器。

二、端口

IP地址用来标记一台电脑;而端口用来标记电脑中的某一个程序。

当我们发送信息时,如果仅知道IP地址是不够的,还需要端口号才能将信息发送到指定的程序。

进程:运行当中的程序

进程之间的相互通信是通过端口号来区分:

端口通过端口号来进行区分标记,端口号的范围为0~65535。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/656963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Midjourney】如何自定义一套参数

使用Midjourney有时候会遇到需要调整某些参数的时候,例如宽高之类的: --hd --ar 7:4 而Midjourney中提供了一条指令用于自定义一套参数方便重复使用。 以下指令创建一个名为“mine”的选项,翻译过来就是 --hd --ar 7:4: 创建成功后会有类似…

【C++版】排序算法详解

目录 直接插入排序 希尔排序 选择排序 冒泡排序 堆排序 快速排序 hoare法 挖坑法 前后指针法 非递归版本 快速排序中的优化 归并排序 递归版本 非递归版本 计数排序 总结 直接插入排序 直接插入排序的思想是:把待排序的记录按其关键码值的大小逐个插入…

【EI会议征稿通知】第五届计算机信息和大数据应用国际学术会议(CIBDA 2024)

第五届计算机信息和大数据应用国际学术会议(CIBDA 2024) 2024 5th International Conference on Computer Information and Big Data Applications 第五届计算机信息和大数据应用国际学术会议(CIBDA 2024)将于2024年3月22-24日在…

运行VUE提示找不到模块validate-engines.js...

原来好好的,突然提示找不到模块validate-engines.js,CMD命令行输入npm -v不是内部或外部命令,node -v可以查看到版本号。 解决: 1. 卸载nodejs,重新下载安装文件:下载nodejs 2. 到目录:C:\Us…

深度学习与神经网络Pytorch版 3.2 线性回归从零开始实现 1.生成数据集

3.2 线性回归从零开始实现 目录 3.2 线性回归从零开始实现 一 ,简介 1. 原理 2. 步骤 3. 优缺点 4. 应用场景 二 ,代码展现 1. 生成数据集(完整代码) 2. 各个函数解析 2.1 torch.normal()函数 2.2 torch.matmul()函数 2.3 d2l.plt.scatter(…

18.通过telepresence调试部署在Kubernetes上的微服务

Telepresence简介 在微服务架构中,本地开发和调试往往是一项具有挑战性的任务。Telepresence 是一种强大的工具,使得开发者本地机器上开发微服务时能够与运行在 Kubernetes 集群中的其他服务无缝交互。本文将深入探讨 Telepresence 的架构、运行原理,并通过实际的案例演示其…

在mgre环境下配置ospf

实验规则如上图所示: 首先规划IP 配置缺省路由,使得公网全网可达 此处在r1上进行配置: 由此可以实现,公网已经全网可达: 其次,再分配 全连的MGRE网段,全连的MGRE网段每个路由器都是中心站点&…

基于springboot招聘信息管理系统源码和论文

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括招聘信息管理系统的网络应用,在外国招聘信息管理系统已经是很普遍的方式,不过国内的线上管理系统可能还处于起步阶段。招聘信息管理系统具有招聘信息管…

配置nginx作为静态文件托管服务器

下载nginx windows上是个压缩包 解压后, 使用命令行输入 nginx 进行启动 nginx -s stop 进行停止 nginx -s status 查看状态 可以配置一下环境变量 主要是配置文件, windows的nginx配置文件在 conf文件夹下 在http标签下 添加如下配置 其他地方不用更改,保持原样即可, 以…

git diff查看比对两次不同时间点提交的异同

git diff查看比对两次不同时间点提交的异同 用 git diff命令: git diff commit-id-1 commit-id-2 不同commit-id在不同的时间点提交产生,因为也可以认为git diff是比对两个不同时间点的代码异同。 git diff比较不同commit版本的代码文件异同_git diff c…

2024年航海制造工程与海洋工程国际会议(ICNMEME2024)

一、【会议简介】 2024年航海制造工程与海洋工程国际会议(ICNMEME2024)旨在将研究人员、工程师、科学家和行业专业人士聚集在一个开放论坛上,展示他们在导航制造工程与海洋工程领域的激励研究和知识转移理念。然而,我们也认识到,工程师的未来…

代码随想录算法训练营第二十天 |654.最大二叉树,617.合并二叉树,700.二叉搜索树种的搜索,98.验证二叉搜索树(待补充)

654.最大二叉树 1、题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 2、文章讲解:代码随想录 3、题目: 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的…

petalinux2022.2启动文件编译配置

安装必要运行库: sudo apt-get install iproute2 gawk python3 python sudo apt-get install build-essential gcc git make net-tools libncurses5-dev tftpd sudo apt-get install zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget git-core diffstat sudo apt-ge…

react实现滚动到顶部组件

新建ScrollToTop.js import React, { useState, useEffect } from react; import ./ScrollToTop.css;function ScrollToTop() {const [isVisible, setIsVisible] useState(true);// Show button when page is scorlled upto given distanceconst toggleVisibility () > {…

处理Servlet生命周期事件

处理Servlet生命周期事件 接收关于 Servlet生命周期事件通知的类称为事件侦听器。这些侦听器实现Servlet API中定义的一个或多个servlet事件侦听器接口。侦听器类的逻辑分类如下: servlet请求侦听器Servlet上下文侦听器HTTP会话侦听器1. servlet请求侦听器 servlet请求侦听器…

专业138总分420+中国科学技术大学843信号与系统考研经验中科大电子信息通信

**今年中科大专业课843信号与系统138分,总分420顺利上岸,梦圆中科大,也是报了高考失利的遗憾,总结一下自己的复习经历,希望可以给大家提供参考。**首先,中科大843包括信号与系统,和数字信号处理…

网络隔离场景下访问 Pod 网络

接着上文 VPC网络架构下的网络上数据采集 介绍 考虑一个监控系统,它的数据采集 Agent 是以 daemonset 形式运行在物理机上的,它需要采集 Pod 的各种监控信息。现在很流行的一个监控信息是通过 Prometheus 提供指标信息。 一般来说,daemonset …

线性代数------矩阵的运算和逆矩阵

矩阵VS行列式 矩阵是一个数表,而行列式是一个具体的数; 矩阵是使用大写字母表示,行列式是使用类似绝对值的两个竖杠; 矩阵的行数可以不等于列数,但是行列式的行数等于列数; 1.矩阵的数乘就是矩阵的每个…

记录springboot bug

mybatis bug mapper 自动生成xml 产生错误 首先我这个bug十分奇怪,不管是报错,还是解决方法 首先,我还原我bug的过程 我首先要在 ordersMapper生成一个方法 本来是这样的方法 Mapper public interface OrdersMapper extends BaseMapper<Orders> {List<GoodsSales…

C语言——深入理解指针2

目录 1. 野指针1.1 野指针成因1.1.1 指针未初始化1.1.2 指针越界访问1.1.3 指针指向的空间释放 1.2 如何规避野指针1.2.1 指针初始化1.2.2 小心指针越界1.2.3 指针变量不再使用时&#xff0c;及时置NULL&#xff0c;指针使用之前检查有效性1.2.4 避免返回局部变量的地址 2. ass…