Python学习笔记——网络通信过程
目录
网络通信过程
NAT(网络地址转换器)
网络通信过程
1. 2台电脑的网络
说明
- 如果两台电脑之间通过网线连接是可以直接通信的,但是需要提前设置好ip地址以及网络掩码
- 并且ip地址需要控制在同一网段内,例如 一台为
192.168.1.1
另一台为192.168.1.2
则可以进行通信
2. 使用集线器组成一个网络
说明
- 当有多态电脑需要组成一个网时,那么可以通过集线器(Hub)将其链接在一起
- 一般情况下集线器的接口较少
- 集线器有个缺点,它以广播的方式进行发送任何数据,即如果集线器接收到来自A电脑的数据本来是想转发给B电脑,如果此时它还连接着另外两台电脑C、D,那么它会把这个数据给每个电脑都发送一份,因此会导致网络拥堵
3. 使用交换机组成一个网络
说明
- 克服了集线器以广播发送数据的缺点,当需要广播的时候发送广播,当需要单播的时候又能够以单播的方式进行发送
- 它已经替代了之前的集线器
- 企业中就是用交换机来完成多态电脑设备的链接成网络的
4. 使用路由器连接多个网络
5. 通信过程(复杂)
较为复杂的通信过程如:访问 www.itheima.com
说明
- 在浏览器中输入一个网址时,需要将它先解析出ip地址来
- 当得到ip地址之后,浏览器以tcp的方式3次握手链接服务器
- 以tcp的方式发送http协议的请求数据 给 服务器
- 服务器tcp的方式回应http协议的应答数据 给浏览器
总结
- MAC地址:在设备与设备之间数据通信时用来标记收发双方(网卡的序列号)
- IP地址:在逻辑上标记一台电脑,用来指引数据包的收发方向(相当于电脑的序列号)
- 网络掩码:用来区分ip地址的网络号和主机号
- 默认网关:当需要发送的数据包的目的ip不在本网段内时,就会发送给默认的一台电脑,成为网关
- 集线器:已过时,用来连接多态电脑,缺点:每次收发数据都进行广播,网络会变的拥堵
- 交换机:集线器的升级版,有学习功能知道需要发送给哪台设备,根据需要进行单播、广播
- 路由器:连接多个不同的网段,让他们之间可以进行收发数据,每次收到数据后,ip不变,但是MAC地址会变化
- DNS:用来解析出IP(类似电话簿)
- http服务器:提供浏览器能够访问到的数据
NAT(网络地址转换器)
说明
- 当在家里用宽带链接上网时,会把电话线(今天很多地方都是光纤)---->调制解调制(简称猫)------->电脑等设备
电脑会得到来自电信服务商的一个公网ip地址(切记只有公网ip地址才能上网),此时可以直接上网happy...
为了能够让多台设备都可以上网,需要将数据进行“分流” 电话线(今天很多地方都是光纤)---->调制解调制(简称猫)------->路由器------>电脑等设备
- 此时路由器的一端有一个公网ip地址,剩下的4个(路由器型号不同个数不同)可以接入电脑等设备 并且 它们的ip是私有ip(例如 192.168.1.2)
- 当一个电脑(192.168.1.2)上网时,先通过DNS协议解析出某个域名对应的ip,然后
- 发送数据时,在经过路由器时转换为公网ip以及路由器自己分配的临时端口
192.168.1.2:6789----->192.168.1.1 路由器 116.226.52.212:6539------->猫---->万维网
- 接收数据时,在经过路由器时转换为路由器之前记录的ip以及port
万维网------->猫----->116.226.52.212:6539 路由器 192.168.1.1 ---->192.168.1.2:6789
Python学习笔记——网络通信过程相关推荐
- Python学习笔记(六)
1. IO编程 1.1 文件读写 1.2 StringIO和BytesIO 1.3 操作文件和目录 1.4 序列化 2. 进程和线程 2.1 多进程 2.2 多线程 2.3 ThreadLocal 2 ...
- Python学习笔记:网络编程
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- [python教程入门学习]python学习笔记(CMD执行文件并传入参数)
本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...
- Python学习笔记一简介及安装配置
Python学习笔记一 参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e54 ...
- 廖Python学习笔记一
1. 廖Python学习笔记 大的分类 如函数 用二级标题,下面的用三级 如输入输出 1.1.1. 输入输出 1.1.1.1. 输出 用 print() 在括号里加上字符串,就可以向屏幕上输出指定的文 ...
- Python学习笔记:异步IO(2)
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:异步IO(1)
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:web开发1
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:电子邮件,POP3收取邮件
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
最新文章
- Javascript 常见使用误区
- filter导致跨域失效_Quarkus中过滤器filter和跨域cors问题(4)
- 统计每天的数据 无数据也要显示日期程序解决方法
- 走出海量数据及访问量压力困境
- ibatis的缓存机制
- 玛雅三维动画制作Maya 2022 for Mac
- centos7安装RabbitMQ详细过程
- FCPX字幕插件、转场插件、效果插件、MG动画、调色插件、AE模板、AE插件、PR插件
- python尺与米的转换_在线长度换算-公里换算-米换算-纳米换算-长度单位在线换算工具...
- git pull 强制覆盖原版本
- amigo幸运字符什么意思_超不清视频播放器-用Python将视频转成字符
- 初学者这样玩 TypeScript,迟早进大厂系列!
- 专家揭示连锁加盟陷阱
- 百度百聘企业简单信息获取
- 更多内容请移步GitHub
- Python 列表元组拆分为多个列表
- Word的样式库在 选项卡中_Word|表格的设置
- gif制作转换器免费推荐,动图制作什么软件好用
- 数据库系统概论 | Exercise 1整理
- Spring集成Day4