网络基础

网络基础

端口

作用:

端口是为了将同一个电脑上的不同程序进行隔离

  • IP:是在网络上寻找电脑
  • Port:是在电脑上寻找不同的程序

示例

范围:

1 - 65535

不能用的:
1 - 1024

一般情况:

​ 8000

​ 8001

​ ...

OSI七层模型:(Open System Interconnection)

如:生产流水线,一步一步,最终生产一个产品

互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层

TCP/IP四层:

​ 物理层 网络层 传输层 应用层

TCP/IP五层:

​ 物理层 数据链路层 网络层 传输层 应用层

OSI七层模型:

​ 从低到高:物理层 数据链路层 网络层 传输层 会话层 表示层 应用层

img

每层常见物理设备

img

每层运行常见的协议

img

应用层:

使用的软件 (为计算机用户提供应用接口,也为用户直接提供各种网络服务)

我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。

打开网站或软件

例如:

  • 百度
  • 谷歌
表示层:

各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一

看到数据,生产数据:...

例如:

  • 视频
  • 图片
会话层:

​ 会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。

保持会话(保持你的会话或链接状态)

例如:

  • cookie
  • 无痕浏览

应用偷偷携带一些数据:令牌:kl128931nijbidabd

传输层:

​ 传输层建立了主机端到端的链接,传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路.

我们通常说,TCP UDP就是在这一层。端口号既是这里的“端”

例如:

  • 添加报头:[TCP] [daksbdjabsdknqiyhw89712938719dahkjn]
网络层:

本层通过IP寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。
就是通常说的IP层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础

IP地址

例如:

  • [IP] [TCP] [daksbdjabsdknqiyhw89712938719dahkjn]
数据链路层:

将比特组合成字节,再将字节组合成帧,使用链路层地址 (以太网使用MAC地址)来访问介质,并进行差错检测。

Mac地址

例如

  • [Mac地址]【[IP] [TCP] [daksbdjabsdknqiyhw89712938719dahkjn]】
物理层:

实际最终信号的传输是通过物理层实现的。通过物理介质传输比特流。规定了电平、速度和电缆针脚。

常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。

将数据转换成电信号,也就是频率(0和1)

socket模块:

就是帮我们封装实现了 物理层 数据链路层 网络层 传输层,所以我们只需要在意应用层的事情了(也就是我们的代码)

三次握手和四次挥手:

img

socket客户端向服务端发起请求:(三次握手)

第一次握手:客户端向服务端发起请求,等待服务器确认
第二次握手:服务器收到请求,同时也发送一个请求到客户端,等待客户端确认
第三次握手:客户端收到请求后,向服务器发送确认包,发送完毕后,客户端和服务端进入连接状态,完成三次握手

client server

我能打你吗

​ 来呀来呀

好的我这就来

------------------------------(三次握手)

打架中....

client.send('发送数据')

收发数据 收发数据

客户端和服务端断开请求:(四次挥手)

第一次挥手:首先进行关闭的一方(即发送第一个FIN)将执行主动关闭,而另一方(收到这个FIN)执行被动关闭。
第二次挥手:当服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号
第三次挥手:同时TCP服务器还向应用程序(即丢弃服务器)传送一个文件结束符。接着这个服务器程序就关闭它的连接,导致它的TCP端发送一个FIN
第四次挥手:客户必须发回一个确认,并将确认序号设置为收到序号加1。

client.close() 或 conn.close()

client server

我要断开连接

​ 断开就断开,等我处理一些事情

​ ....
​ 我处理完了,断开吧

拜拜

补充:(断开连接时,反映到python代码上)

  1. 抛异常
  2. 发送空内容

总结:

网络基础:要了解网络相关知识

大学差距:

  1. 计算机组成原理部分
  2. 网络
  3. 数据结构
  4. 算法

转载于:https://www.cnblogs.com/Hybb/p/11509715.html

根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值