【从零学习python 】70.网络通信方式及其应用:从直接通信到路由器连接多个网络

简介: 【从零学习python 】70.网络通信方式及其应用:从直接通信到路由器连接多个网络

网络通信方式

直接通信

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

使用集线器通信

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

使用交换机通信

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

使用路由器连接多个网络

复杂的通信过程

说明: 在浏览器中输入一个网址时,需要将它先解析出IP地址来。当得到IP地址之后,浏览器以TCP的方式进行3次握手链接服务器。以TCP的方式发送HTTP协议的请求数据给服务器,服务器以TCP的方式回应HTTP协议的应答数据给浏览器。

总结

  • MAC地址:在设备与设备之间数据通信时用来标记收发双方(网卡的序列号)。
  • IP地址:在逻辑上标记一台电脑,用来指引数据包的收发方向(相当于电脑的序列号)。
  • 网络掩码:用来区分IP地址的网络号和主机号。
  • 默认网关:当需要发送的数据包的目的IP不在本网段内时,就会发送给默认的一台电脑,成为网关。
  • 集线器:已过时,用来连接多台电脑。缺点是每次收发数据都进行广播,导致网络拥堵。
  • 交换机:集线器的升级版,有学习功能,知道需要发送给哪台设备,根据需要进行单播和广播。
  • 路由器:连接多个不同的网段,使它们之间可以进行收发数据。每次收到数据后,IP不变,但是MAC地址会变化。
  • DNS:用来解析出IP地址(类似电话簿)。
  • HTTP服务器:提供浏览器能够访问到的数据。
相关文章
|
2天前
|
存储 Java 网络安全
如何使用Python批量连接网络设备?
【7月更文挑战第4天】
13 1
如何使用Python批量连接网络设备?
|
1天前
|
索引 Python
十分钟学习Python异常处理
在编程过程中,错误和异常是不可避免的。Python提供了强大的异常处理机制,帮助我们捕获和处理运行时错误,使程序更加健壮和可靠。本文将带你在十分钟内快速掌握Python的异常处理基础知识。
|
2天前
|
机器学习/深度学习 算法 数据挖掘
Python强化学习应用于数据分析决策策略:** - 强化学习让智能体通过环境互动学习决策。
【7月更文挑战第5天】**Python强化学习应用于数据分析决策策略:** - 强化学习让智能体通过环境互动学习决策。 - Python因丰富库(如TensorFlow, PyTorch, Keras, Pandas, NumPy)和生态而受青睐。 - 使用OpenAI Gym构建环境,如`gym.make('CartPole-v0')`。 - 选择模型,例如神经网络,定义策略如Q-Learning。 - 训练模型,调整智能体行为,如Q-Learning更新Q表。 - 最后评估模型性能,实现数据驱动决策。
11 3
|
1天前
|
存储 人工智能 数据挖掘
十分钟学习Python基础知识
Python是一种高效、易学且功能强大的编程语言,广泛应用于数据分析、人工智能、Web开发等领域。如果你是编程新手,想要快速入门Python,那么这篇文章将是你的最佳选择。我将在十分钟内带你了解Python的基础知识。
|
2天前
|
数据采集 存储 API
在信息时代,Python爬虫用于自动化网络数据采集,提高效率。
【7月更文挑战第5天】在信息时代,Python爬虫用于自动化网络数据采集,提高效率。基本概念包括发送HTTP请求、解析HTML、存储数据及异常处理。常用库有requests(发送请求)和BeautifulSoup(解析HTML)。基本流程:导入库,发送GET请求,解析网页提取数据,存储结果,并处理异常。应用案例涉及抓取新闻、商品信息等。
12 2
|
2天前
|
网络协议 网络架构
【网络编程入门】TCP与UDP通信实战:从零构建服务器与客户端对话(附简易源码,新手友好!)
在了解他们之前我们首先要知道网络模型,它分为两种,一种是OSI,一种是TCP/IP,当然他们的模型图是不同的,如下
|
2天前
|
Java 程序员
Java中的网络编程与套接字通信详解
Java中的网络编程与套接字通信详解
|
3天前
|
网络协议 安全 Java
深入了解Java中的网络编程与Socket通信
深入了解Java中的网络编程与Socket通信
|
1月前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
46 1
|
2天前
|
网络协议 安全 Ubuntu
7 个有用的免费 Linux 网络隧道
【7月更文挑战第4天】
12 0
7 个有用的免费 Linux 网络隧道