python网络通信(一)——网络基础

目录

一、IP地址

私有/公有IP

二、子网掩码

三、端口号

四、协议


一、IP地址

        IP就是一串数字,比如:192.168.1.1。通过IP可以在网络当中唯一标识一个计算机,比如有四台计算机,通过一个交换机连接到一起,就成了一个小型的局域网,局域网中每台电脑都有一个IP地址,并且都不重复,如此,就可以通过IP地址唯一标识计算机。

        每个IP地址包含两个部分,一个是网络地址,一个主机地址。网络地址用于标识计算机处于哪个网络当中,所以一个局域网里,网络号都是一样的;主机号标识当前计算机是网络当中的第几台,一定不能重复。192.168.1.1是一个C类的IP地址,C类有三个字节的网络号,一个字节的主机地址。

        C类的主机号有八位,也就是说最多256个计算机可以处在一个局域网里,但是又因为0和255不能使用(0是保留IP,255是广播使用),所以只能有254个。C类网络地址的最高位必须是110,可知C类网络地址数量较多,有209万余个网络。适用于小规模的局域网络,每个网络最多只能包含254台计算机。如果想一个局域网多于254台计算机,则可以使用B类或AIP地址,可用网络会变少,但每个网络的可容纳计算机会变多。DIP地址,第一个字节以“1110”开始,它是一个专门保留的地址。E类IP地址以“11110”开始,保留用于将来和实验使用。

        IP地址用的是IPv4协议IPv4地址可被写作任何表示一个32位整数值的形式,但为了方便人类阅读和分析,它通常被写作点分十进制的形式,即四个字节被分开用十进制写出,中间用点分隔。

私有/公有IP

        私有IP就是在本地局域网上的IP ,与之对应的是公有IP,有一组IP地址被拿出来专门用于私有IP网络,称为私有IP地址。私有地址主要用于在局域网中进行分配,在 Internet上是无效的,在公网上是不能被识别的。公有地址是在广域网内使用的地址,但在局域网中同样也可以使用。

        IP地址127.0.0.1~127.255.255.255用于回路测试,测试当前计算机的网络通信协议。比如:ping 127.0.0.1的功能是用于确定本地主机是否能与另一台主机成功交换数据包,再根据返回的结果判断主机的连通性(ping命令通常用来作为网络可用性的检查),如下图,正常情况:

二、子网掩码

        输入ipconfig

        计算机通过子网掩码得知网络地址哪个部分是网络号和主机号,子网掩码不能单独存在,必须有ip一起使用,它只有一个作用,将ip地址划分为网络地址和主机地址。子网掩码设定时必须遵循一定的规则,长度也是32位,分为四个字节,左边是网络号,右边是主机号,网络号用1111 1111(255)表示,主机号用0000 0000(0)表示。所以C类是255.255.255.0。计算机凭此就可以知道对应的IP地址前三位是网络地址。

三、端口号

       端口号:用来标记和区分进程。

 

        比如说,有四个电脑,如果要PC0的QQ给PC3的QQ发送消息,则PC0通过IP找到PC3,通过端口号找到QQ的进程。 

         端口号是数字,且是整数,范围是0~65535,其中知名端口(0~1023)就是用来做固定事情的,就比如电话号110是报警号码;动态端口(1024~65535)不固定地分配某种服务,系统需要网络通信时向主机申请端口,主机就会从可用的端口中分配一个给它使用。

四、协议

        协议:一种约定好的规范。通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。

        为了使各种电脑可以相互通信,搞出了互联网协议簇,将之作为了通用的协议标准。其中包含了上百中协议标准,其中最重要的是TCP协议和IP协议,所以将互联网协议簇统称为TCP/IP协议簇,根据功能的不同分成了几种层次:

        第一种分类:①网络接口层(链路层)②网络层(网际层)③传输层④应用层

        第二种分类:①物理层②数据链路层③网络层④传输层⑤会话层⑥表示层⑦应用层

一开始分类是7层,但实现太难,现在编程只实现了4层,就是第一种的四种。

TCP/IP协议簇各协议之间的关系

        应用层是应用程序沟通的层,不同的文件系统有不同的文件命名原则,以及不同的文件表示方法,不同的系统传输文件还有各种不兼容的问题,这些都是应用层负责。

        传输层提供了节点之间的数据传送服务,这一层专门用来传输数据,并且确定数据有没有被送达。

        网络层提供基本的数据包传送服务,让每一个数据包都能达到目的主机,将更低层发来的数据包发送到更高层,也可以把传输层接收到的数据传递给网络接口层。

        网络接口层对实际网络媒体管理,它定义如何使用网络来传输数据。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值