Python Day31

复习:

C/S结构:

  client(客户端) server(服务器)

  网络通讯是为了共享数据,拥有数据的一方称之为服务器server

需要数据的一方称之为客户端client

B/S结构:浏览器   服务器

 

网络通讯:1.物理链接介质 2.通讯协议(使双方都能看懂数据)

 

OSI开放式系统互联参考模型 七层模型:

物理层,数据链路层,网络册,传输层,会话层,表示层,应用层。

物理层:定义一堆物理相关协议,例如接口外观等。有了物理层就能传输二进制数据

数据链路层:主要是以太网协议:1.数据传输格式 数据帧

2.每个设备要联网,必须具备网卡,每个网卡拥有一个全球唯一的MAC地址。

数据链路层通过广播的方式来查找某一台计算机,在这一层出现了交换机用于组成一个局域网。在局域网中要查找某一台计算机,就通过广播的方式。如果每一次都需要广播,就浪费资源了,所以交换机会自动保存,网口和MAC地址表的映射关系。

问题:广播风暴,没有交换机可以同时处理所有计算机。

网络层:

  主要是ip协议

1.每一台设备都必须有一个ip地址,格式:四段三位点分十进制,其中前三段是网络号,最后一段

是主机号。

2.ip数据包  格式

3.子网掩码:

  用于标示ip中哪些是网络号,哪些是主机号。

 

传输层

1.端口号

每个应用程序都必须绑定一个端口号,用于标识你是谁 是qq还是微信

端口号不能重复

端口号就是一个整形数字 取值范围0-65535 0-1023为系统保留端口

有了ip和端口号就能 定位到全球某一台计算机上的某一个应用程序

 

2.传输层主要的传输协议

 

TCP (传输控制协议) 就像打电话

可靠传输

如何保障可靠

1.三次握手建立链接 其目的是为了确认传输路径可用

2.传输过程中 每一个数据包都需要 确认信息

3.四次挥手断开链接 是为了保障双方数据都已经传输完毕

 

传输效率低

 

UDP 像是校园广播

用户数据报协议

不关心数据是否传输成功 ,甚至不关心是否存在

 

优点:传输效率高

 

应用层

数据已经通过下面各种协议传入了应用程序

应用程序该如何解析这些数据 ,用它们来干什么

这就是应用程序协议需要关心的问题了

每个应用程序都可以自己定义自己的协议 只要客户端程序和服务器程序能看懂就行

HTTP/HTTPS SMTP FTP

 Socket:

什么是socket,翻译为套接字。

是一套编程接口,内部封装了一堆底层协议,隐藏了内部复杂的实现细节,提供简单的使用接口

咱们只要按照socket编程接口来编写出的代码,就已经遵循了各种协议

简单的说就是一个封装好的模块

要学习的就是模块的使用方法

socket的发展:

最开始socket使用来完成进程间通讯的,并不是用来网络通讯,那时候还没有网络

后来有了网络之后 .基于之前的socket来进行了更新 使其可以支持网络通讯

所以socket分为两种类型

AF_UNIX : 进程间通讯

AF_INET : 网络通讯

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/xinfan1/p/10937660.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值