目录

网络通信过程

NAT(网络地址转换器)


网络通信过程

1. 2台电脑的网络

说明

  1. 如果两台电脑之间通过网线连接是可以直接通信的,但是需要提前设置好ip地址以及网络掩码
  2. 并且ip地址需要控制在同一网段内,例如 一台为192.168.1.1另一台为192.168.1.2则可以进行通信

2. 使用集线器组成一个网络

说明

  1. 当有多态电脑需要组成一个网时,那么可以通过集线器(Hub)将其链接在一起
  2. 一般情况下集线器的接口较少
  3. 集线器有个缺点,它以广播的方式进行发送任何数据,即如果集线器接收到来自A电脑的数据本来是想转发给B电脑,如果此时它还连接着另外两台电脑C、D,那么它会把这个数据给每个电脑都发送一份,因此会导致网络拥堵

3. 使用交换机组成一个网络

说明

  1. 克服了集线器以广播发送数据的缺点,当需要广播的时候发送广播,当需要单播的时候又能够以单播的方式进行发送
  2. 它已经替代了之前的集线器
  3. 企业中就是用交换机来完成多态电脑设备的链接成网络的

4. 使用路由器连接多个网络

5. 通信过程(复杂)

较为复杂的通信过程如:访问 www.itheima.com

说明

  1. 在浏览器中输入一个网址时,需要将它先解析出ip地址来
  2. 当得到ip地址之后,浏览器以tcp的方式3次握手链接服务器
  3. 以tcp的方式发送http协议的请求数据 给 服务器
  4. 服务器tcp的方式回应http协议的应答数据 给浏览器

总结

  • MAC地址:在设备与设备之间数据通信时用来标记收发双方(网卡的序列号)
  • IP地址:在逻辑上标记一台电脑,用来指引数据包的收发方向(相当于电脑的序列号)
  • 网络掩码:用来区分ip地址的网络号和主机号
  • 默认网关:当需要发送的数据包的目的ip不在本网段内时,就会发送给默认的一台电脑,成为网关
  • 集线器:已过时,用来连接多态电脑,缺点:每次收发数据都进行广播,网络会变的拥堵
  • 交换机:集线器的升级版,有学习功能知道需要发送给哪台设备,根据需要进行单播、广播
  • 路由器:连接多个不同的网段,让他们之间可以进行收发数据,每次收到数据后,ip不变,但是MAC地址会变化
  • DNS:用来解析出IP(类似电话簿)
  • http服务器:提供浏览器能够访问到的数据

NAT(网络地址转换器)

说明

  1. 当在家里用宽带链接上网时,会把电话线(今天很多地方都是光纤)---->调制解调制(简称猫)------->电脑等设备
  2. 电脑会得到来自电信服务商的一个公网ip地址(切记只有公网ip地址才能上网),此时可以直接上网happy...

  3. 为了能够让多台设备都可以上网,需要将数据进行“分流” 电话线(今天很多地方都是光纤)---->调制解调制(简称猫)------->路由器------>电脑等设备

  4. 此时路由器的一端有一个公网ip地址,剩下的4个(路由器型号不同个数不同)可以接入电脑等设备 并且 它们的ip是私有ip(例如 192.168.1.2)
  5. 当一个电脑(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学习笔记——网络通信过程相关推荐

  1. Python学习笔记(六)

    1. IO编程 1.1 文件读写 1.2 StringIO和BytesIO 1.3 操作文件和目录 1.4 序列化 2. 进程和线程 2.1 多进程 2.2 多线程 2.3 ThreadLocal 2 ...

  2. Python学习笔记:网络编程

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  3. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  4. Python学习笔记一简介及安装配置

    Python学习笔记一 参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e54 ...

  5. 廖Python学习笔记一

    1. 廖Python学习笔记 大的分类 如函数 用二级标题,下面的用三级 如输入输出 1.1.1. 输入输出 1.1.1.1. 输出 用 print() 在括号里加上字符串,就可以向屏幕上输出指定的文 ...

  6. Python学习笔记:异步IO(2)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  7. Python学习笔记:异步IO(1)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  8. Python学习笔记:web开发1

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  9. Python学习笔记:电子邮件,POP3收取邮件

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

最新文章

  1. Javascript 常见使用误区
  2. filter导致跨域失效_Quarkus中过滤器filter和跨域cors问题(4)
  3. 统计每天的数据 无数据也要显示日期程序解决方法
  4. 走出海量数据及访问量压力困境
  5. ibatis的缓存机制
  6. 玛雅三维动画制作Maya 2022 for Mac
  7. centos7安装RabbitMQ详细过程
  8. FCPX字幕插件、转场插件、效果插件、MG动画、调色插件、AE模板、AE插件、PR插件
  9. python尺与米的转换_在线长度换算-公里换算-米换算-纳米换算-长度单位在线换算工具...
  10. git pull 强制覆盖原版本
  11. amigo幸运字符什么意思_超不清视频播放器-用Python将视频转成字符
  12. 初学者这样玩 TypeScript,迟早进大厂系列!
  13. 专家揭示连锁加盟陷阱
  14. 百度百聘企业简单信息获取
  15. 更多内容请移步GitHub
  16. Python 列表元组拆分为多个列表
  17. Word的样式库在 选项卡中_Word|表格的设置
  18. gif制作转换器免费推荐,动图制作什么软件好用
  19. 数据库系统概论 | Exercise 1整理
  20. Spring集成Day4

热门文章

  1. KDZD608屏蔽服效率测试仪
  2. 怎么根据快递单号批量查询物流信息?
  3. Oracle数据库练习2
  4. 编译型语言和解释型语言的区别总结
  5. 微信小程序如何实现(点击发送弹幕)
  6. 国产剧《恋爱先生》中的科技牛人
  7. 【脑洞大开】《西潮》及《走向世界丛书》
  8. Leetcode -- Verify Preorder Serialization of a Binary Tree
  9. 全面的讲解SpringCloud中Zuul网关原理及其配置,看它就够了
  10. 莆田学院c语言怎么查成绩,莆田学院教务管理系统成绩查询、网上选课查分登录入口...