Python学习,python中socket解读

本文深入探讨了操作系统原理、网络通信基础知识,包括互联网协议、网络架构和常见术语。接着,详细解释了TCP/IP协议的三次握手与四次挥手过程,以及TCP与UDP的区别,特别是粘包问题。最后,介绍了Python中socket模块的基本概念、工作流程及常用函数,展示了TCP和UDP的简单通信示例。
摘要由CSDN通过智能技术生成

操作系统底层原理

操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

注:计算机(硬件)->os->应用软件

网络通信原理

互联网的本质就是一系列的网络协议

一台硬设有了操作系统,然后装上软件你就可以正常使用了,然而你也只能自己使用
像这样,每个人都拥有一台自己的机器,然而彼此孤立
在这里插入图片描述
如何能大家一起玩耍
在这里插入图片描述
结论:英语成为世界上所有人通信的统一标准,如果把计算机看成分布于世界各地的人,那么连接两台计算机之间的internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议,总称为‘互联网协议’(Internet Protocol Suite).

互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准。

网络基础架构

1.C/S 架构 :client客户端 和 server服务器端 / 客户机和服务器结构

优点:
		1.充分利用两端硬件环境的优势,将任务合理分配
		2.能够实现复杂的应用构造,安全性高,数据传输速度快。
		3.应用服务器运行数据负荷较轻
		4.数据的储存管理功能较为透明
缺点:
		1.高昂的维护成本且投资大

2.B/S架构:browser浏览器和server服务器端 / 浏览器和服务器结构

优点:
		1.统一了应用的接口,简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,
			降低了用户的总体成本(TCO)。
		2.可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,
			客户端零安装、零维护。系统的扩展非常容易
缺点:
		1.应用服务器运行数据负荷较重

注:C/S和B/S并没有本质的区别:B/S是基于特定通信协议(HTTP)的C/S架构,也就是说B/S包含在C/S中,是特殊的C/S架构。之所以在C/S架构上提出B/S架构,是为了满足瘦客户端、一体化客户端的需要,最终目的节约客户端更新、维护等的成本,及广域资源的共享。

1.B/S属于C/S,浏览器只是特殊的客户端;
2.C/S可以使用任何通信协议,而B/S这个特殊的C/S架构规定必须实现HTTP协议;
3.浏览器是一个通用客户端,本质上开发浏览器,还是实现一个C/S系统。

应用场景:

B/S适用于用户群庞大,或客户需求经长发生变化的情况。
C/S功能强大,可以减轻服务器端压力,如果用户的需求特别复杂,用C/S。
在这里插入图片描述
局域网与交换机/网络常见术语

原主机第一次查询广播,目标机收到就返回自己的ip地址和mac地址回去用单播,因为有互相的ip地址了,交换机五分钟清空记录

广播:有了mac地址,同一网络内的两台主机就可以通信了(一台主机通过arp协议获取另外一台主机的mac地址)

ethernet采用最原始的方式,广播的方式进行通信,即计算机通信基本靠吼

1.单播(Unicast)

交换机记录mac地址,是在一个单个的发送者和一个接受者之间通过网络进行的通信。

2.组播

传输在发送者和每一接收者之间实现点对多点网络连接。 如果一台发送者同时给多个接收者传输相同的数据,也只需复制一份相同的数据包。 它提高了数据传送效率,减少了骨干网络出现拥塞的可能性。

3.Mac地址

是物理地址:唯一的作用可以唯一标识一台电脑,相当于一个人是身份证

4.ipv4地址

四位点分十进制 相当于当前所在位置的定位,相当于一个人的学号

5.请求帧

ip Mac 要找的ip

6.arp协议

通过ip地址获取目标Mac地址的协议

7.端口

操作系统为本机上运行的程序都随机分配一个端口,其他电脑上的程序可以通过端口获取到这个程序

8.子网掩码(subnet mask)

将某个IP地址划分成网络地址和主机地址两部分

9.默认网关(default gateway)

网关内的所有ip向外通讯都要经过它,出口和入口

10.DNS服务器

域名服务器(Domain Name Server)在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器

11.DHCP服务器

就是能够自动识别当前网络环境,并依照当前网络环境给你分配合适的ip地址的服务器。它的存在就是使手动设置Ip变得更加傻瓜式,实现一键上网。不需要你自己进行手动的配置

12.ping

it术语中的ping类似于下图的声呐设置,如果目的电脑联网,目的电脑会把这个Ping包发送回来。如果目的电脑不联网,则ping包不会返还任何信息。所以在It界会经常使用这个命令来检测电脑是否已经连上网络

13.网段号

我们知道ip由两部分构成 网段号+主机号。当我们使用自身的子网掩码和目的主机进行&运算时,我们就能得出目的主机的网段号,进而判断目的主机与自己是否处在同一个网络中。

注:
交换机和路由器的区别:

  • 交换机主要功能:组织局域网,经过交换机内部处理解析信息之后,将信息已点对点,点对多的形式,发送给固定端。交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。
  • 路由器主要功能:进行跨网段进行数据传输,路由选择最佳路径

注:
如果需要将多太电脑连接到一根网线,用交换机即可
如果只有一个外网ip,多台电脑想上网,用路由即可

OSI七层模型

互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层
在这里插入图片描述
每层运行常见物理设备
在这里插入图片描述
TCP/IP五层模型讲解

我们将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议,就理解了整个互联网通信的原理。

首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解,每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件。

'物理层'

如:光纤,集线器,网线

'物理层由来:'

1.实现计算机之间物理连接

2.计算机之间交流必须完成组网。

'物理层功能:'

1.主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0

'数据链路层(arp协议)'

如:交换机,网卡,网桥

'数据链路层由来:'

1.规定了二进制数据分组原理

2.规定了只要接入物联网的计算机,都必须有一块网卡,网卡号唯一

3.单纯的电信号01没有任何意义,必须规定电信号多少位一组,每组什么意思

注:其实也就是以太网协议 

'数据链路层的功能:'

1.定义了电信号的分组方式

'网络层(ip协议)'

如:路由器,三层交换机,

'网络层功能:'

1.规定了计算机必须有一个ip地址

2.ip协议可以跨局域网传输

3.引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址

'传输层(端口协议,UDP,TCP)'

如:四层交换机,四层路由器

TCP,UDP基于端口工作的协议

端口(port):	唯一标识一台机器上某一个基于网络通信的应用程序

端口范围:(动态分配)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值