python3 网络编程

本文介绍了网络编程的基础,包括osi七层模型和TCP/IP四层模型,强调了网络协议、IP地址、端口号的概念,并详细阐述了TCP与UDP的特点与应用场景。此外,还探讨了Python中实现套接字编程的基本步骤,包括服务端和客户端的流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:网络编程并非是python独有的

一、网络编程

    1.网络的功能:数据的传输

    2.iso:国际标准化组织,非盈利公益机构,制定了osi七层模型

        作用:使网络通信工作流程标准化。


        osi七层模型:

        应用层:提供用户服务,具体功能由应用程序实现。一般用python写的小程序都是应用层程序,在主板上的叫罗版开发,在主板之上的叫操作系统开发,操作系统之上的就是操作驱动开发,操作系统之上的是应用开发。

        表示层:数据的压缩、优化、加密。比如QQ发消息,一般是发送一个包,里面包含你的头像、昵称、发送的信息、时间等等,且一般发送的包一般会有加密来保证安全。

        会话层:建立用户级的连接,选择适当的传输服务。(应用于应用之间的连接)应对不同的传输需求来选择不同的传输服务。

        传输层:提供传输服务。UDP和TCP。

        网络层:做路由选择,网络互联。路由选择:网络消息传输需要有一定的介质,比如无线、有线网线,消息传输出去需要经过一个个的路由节点,主要是选择路由节点路径。比如现在发消息会从网卡发送出来经过本地的路由网关,然后再经过一个个路由节点送到目标主机上。

        链路层:进行数据交换,控制具体数据的发送。所有的数据都要转换为01二进制发送,这就是链路层的作用,发送时是以数据帧为单位。

        物理层:提供数据传输的硬件保证,如网卡、接口、传输介质。

        作为python工程师一般是涉及使用前四层即应用层、表示层、会话层、传输层。网络运维工程师会涉及到网络层、链路层。
        对外的网络传输都在用这个七层模型,但是对内网络,有些公司可能会制定自己的网络模型。

        优点:
        1.建立了统一的工作流程
        2.分部清晰,各司其职,每个步骤分工明确。
        3.降低了各个模块之间的耦合度,便于开发。编程讲究高内聚,低耦合。

        注:
        高内聚:功能的单一性,即模块的功能尽可能单一,不相互掺杂。
        低耦合:模块之间尽可能少的相互影响,好处:修改一个模块时不需要再修改其他模块。
        封装:将一个功能的代码封装为一个模块,提高代码的复用性。

        TCP/IP四层模型:

        实际工作当中是简化为四层模型,即TCP/IP四层模型,五层模型是将物理链路层分为物理层和链路层两部分。
        背景:实际工作中工程师无法按照七层模型要求操作,逐渐演化为更符合实际情况的四层模型

        应用层:集中了应用、表示、会话的功能。

        传输层:

        网络层:

        物理链路层:因为链路层依托于(离不开)硬件设备,于是就合并了。

        我们写的程序主要是应用层、传输层主要是操作系统,网络层和物理链路层有相应的网络工程师负责。

    3.数据传输过程
        应用层发送信息并添加一个应用层首部信息打包,然后发送给传输层;传输层会将这个消息添加传输层头部信息,然后传给网络层;网络层将接受到信息添加一个头部信息,然后发送给物理链路层;物理链路层接受后会添加一个包含IP之类的头部信息并打包;物理链路层发送这个信息给路由器,然后通过层层的交换机路由器节点,每个节点读取头部信息来确定下一个节点,最后到目标主机;目标主机接收到后,会根据物理链路层、网络层、传输层、应用层顺序进行层层解包,获得传输的信息。
        传输过程中节点越少,包头部信息解析的越少,传输的也就越快。

        【1】发送端由应用程序发送消息,逐层添加首部信息,最终在物理层发送消息包。
        【2】发送的消息经过多个节点(交换机,路由器)传输,最终到达目标主机。
        【3】目标主机由物理层逐层解析首部消息包,最终到应用程序呈现消息。

    4.网络协议
        网络协议:在网络数据传输过程中,双方或大家都遵守的一个规定,包括建立什么样的数据结构,什么样的特殊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值