python-day3笔记
1.通信是软件(计算机)与软件(计算机)之间的通信
2.网络指的是:
一:计算机与计算机之间通过物理连接介质(网络设备)连接到一起;光纤--物理连接介质,和网线一样。
二:计算机与计算机之间基于网络协议通信(网络协议就相当于计算机界的英语)
3.互联网协议的划分
1)物理层发送电信号10110101二进制
2)数据链路层--把一串二进制数字进行分组。(enthernet以太网协议--head+data;mac地址) ,以太网的工作方式: 广播
3)网络层(IP协议),IP地址形式:点分十进制。Ip地址+子网掩码(暗位语运算)算出网络地址,通过网络地址算出计算机是否在一个局域网内,然后采用以太网协议通信或者采用网关。(网关与网关走的是路由协议) ps:二进制与十进制的互换。
4)Arp协议:先分析两台机器的网络地址是否一样--判断是否在一个局域网,通过ip地址找到mac地址。再次发送时就指定目标mac地址发送(交换机学习)。
##一台机器要和另外一台机器通信,首先要知道对方机器的IP地址,arp协议通过IP地址和子网掩码判断两台机器是否在一个局域网内,如果在一个局域网内将通过arp协议获得另外一##台机器的mac地址,然后通过以太网协议进行通信;交换机已知mac地址后,再次发送时就会指定目标mac地址发送(交换机学习),不再采用广播形式;如果判断不在一个局域网##内,首先要把数据包发给网关,那就要知道网关的IP地址和子网掩码,通过arp协议获取网关的mac,再通过以太网协议将数据包发给另一个网关。
#服务端与客户端通信: 要明确知道客户端在哪=》通过IP地址找到客户端再哪个子网=》通过mac地址找到客户端在子网的具体位置
5)传输层:tcp/udp协议 ,端口号0-65535(操作系统占用0-1024) =》ip+mac+端口确定位软件位置
4.软件与软件通信:通过IP地址找到客户端在哪个子网=》通过mac地址找到客户端在子网的具体位置=》通过端口号确定软件的具体位置
总结: ip+mac地址可以定位任何一台机器
=》 ip+mac+端口可以确定任何一个软件
=》 ip+端口可以确定任何一个软件
5.网络基础之网络协议篇
1.封包解包过程分析
2.传输层
Tcp三次握手,目的:建立双向通信链路 (请求syn=1→同意ack=1)
四次挥手,目的:断开通信链路(谁先传完谁先断) (fin → ack)
tcp协议传完数据后会向对方询问是否接到数据,可靠传输
扩展:SYN洪水攻击:客户端给服务器传输请求后,就离开了,这样服务器的就一直在回复地在请求
3.网络通讯实现
通过dhcp:自动分配ip地址、子网掩码、网关、dns
Dns协议:domain name server (域名)
URI地址:协议部分+域名+资源
6.python基础:
机器语言:
特点:用计算机能看的懂的0和1去写程序
优点:程序运行速度快
缺点:开发效率低
(站在计算机的角度来表达你的意思)
汇编语言:
特点:用一些英文标签代替一串二进制数字去写程序
优点:比机器语言好一点,操作系统内大量使用汇编语言
比如关于进程的调度代码,就是用汇编写的
缺点:开发效率低
(站在计算机的角度来表达你的意思)
高级语言:
特点:用人能读懂的(英文) 字符去写程序
优点:开发效率高
缺点:必须经过翻译才能让计算机识别,导致运行速度慢运行速度慢
(站在人的角度来表达,但是需要中间翻译)
按照翻译的方式分为:
编译型:一次翻译,拿着编译后的结果直接给机器运行
c语言:
编译器:gcc,glibc
开发效率低
运行效率高
解释型
python语言:
解释器:Cpython
开发效率高
运行效率低
总结:
运行效率从高到低
开发效率从低到高
学习难度从难到易
python-day3笔记的更多相关文章
- 【目录】Python学习笔记
目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ...
- Web Scraping with Python读书笔记及思考
Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- python datetime笔记
python datetime笔记 http://mint-green.diandian.com/post/2011-09-09/4892024 获取当前时间,并通过字符串输出. 格式为:%Y-%m- ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- python学习笔记--Django入门0 安装dangjo
经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...
- python学习笔记(一)元组,序列,字典
python学习笔记(一)元组,序列,字典
随机推荐
- web前端----jQuery事件
事件 常用事件 click(function(){...}) hover(function(){...}) blur(function(){...}) focus(function(){...}) c ...
- 穿透内网,连接动态ip,内网ip打洞-----p2p实现原理
转:http://blog.csdn.net/suhuaiqiang_janlay/article/details/60466333 本人找几篇讲得好的来整理一下. (1)问题的由来: (2)动态ip ...
- Python3 爬取微信好友基本信息,并进行数据清洗
Python3 爬取微信好友基本信息,并进行数据清洗 1,登录获取好友基础信息: 好友的获取方法为get_friends,将会返回完整的好友列表. 其中每个好友为一个字典 列表的第一项为本人的账号信息 ...
- rabbitmq架构简介(包括集群)
总的来说,rabbitmq使用erlang语言编写,其架构类似于servlet容器运行servlet应用,底层是erlang VM.然后是erlang节点,上面是应用.如下所示: 每个MQ中运行的应用 ...
- 03: 自定义异步非阻塞tornado框架
目录:Tornado其他篇 01: tornado基础篇 02: tornado进阶篇 03: 自定义异步非阻塞tornado框架 04: 打开tornado源码剖析处理过程 目录: 1.1 源码 1 ...
- QTQuick控件基础(3)视图
1.spliteview 2.stackview ApplicationWindow {visible: truewidth: 640height: 480MouseArea{anchors.fill ...
- 20145105 《Java程序设计》实验五总结
实验五 JAVA网络编程 一.实验内容 用老师给的代码,实现服务器和客户端 和结对同学实现服务器与客户端的连接 客户端输入数据并加密,将密文发送给服务器,服务器接收密文并解密 二.实验步骤 用老师给的 ...
- Android 实践项目开发二
在地图开发中项目中,我这周主要完成的任务是和遇到的问题是以下几个方面. 1.在本次的项目中主要是利用百度地图的.jar包实现地图的定位与搜索功能,需要在百度地图开发中心网站取得 密钥,并下载相关.ja ...
- Eclipse中离线安装ADT插件详细教程
在搭建Android开发环境的时候,我们需要为Eclipse安装ADT(Android Development Tools)插件,这个插件可以为用户提供一个强大的Android集成开发环境.通过给Ec ...
- gvim写html代码时如何快速地跳转到一个标签的结束位置: 终极插件: matchit.vim
gvim写html代码时如何快速地跳转到一个标签的结束位置 参考这个vimrc的配置, 里面有一些 很好的东西, 配置很有用, 以前没有用到: http://www.cnblogs.com/wangj ...