IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络学习笔记一:计算机的连接方式 -> 正文阅读

[网络协议]网络学习笔记一:计算机的连接方式


前言

网络协议的学习知识主要来自于小码哥的网络协议从入门到底层原理,以及极客时间的趣谈网络协议,如果有什么理解错误的地方,还希望各位读者提出,希望大家能共同学习好网络协议。


一、为什么要学网络协议?

  1. 打好基础,大学里学过计网的同学都知道这是一门非常枯燥的课程,但确是计算机专业中的核心课程。就像盖一栋大楼要打好地基一样,学好任何编程语言同样需要学好网络协议。可能在平时的开发过程中我们并不需要了解太多底层的网络协议,只需要关注于业务代码,但是当系统逐渐变得庞大起来,应用集群的规模上来之后,就必须要考虑网络互通的问题。很多情况下,只要搞定了网络问题,一个大型的系统基本上就搞定了一半。
  2. 互联网、移动互联网、物联网,都离不开网络协议,比如常见的HTTP。
  3. 网络协议也是平时面试必问的一个重点,特别是像HTTP,HTTPS,TCP/UDP,这些知识都是热门问题。

二、基本概念

1.什么是协议

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。以上摘自于百度百科。

2.协议的三要素

1.语法:一段内容要符合一定的规则和格式,例如括号要成对,结束要加分号。
2.语义:一段内容要代表某种意义,例如数字减数字是有意义的,数字减文本没有意义。
3.顺序:就是先做什么,再做什么。例如,可以先加上某个数值,然后再减去某个数值。

3.常用的网络协议

在这里插入图片描述

三、计算机之间的通信基础

首先,我们思考一个问题,将数据发送到另一台计算机需要哪些条件?

我们可以参考寄快递的例子,通常我们寄一个快递的时候需要填写收件人的哪些信息?
1,收件人地址 2,收件人的姓名手机号。这样我们就可以将快递准确无误的送到收件人的家里。
这两个信息缺一个我们都无法将快递精准的送到对方的手里。而对于上面那个问题,我们同样需要知道对方的IP和MAC地址,才能将数据发送到另一台计算机,我们可以先这么理解:IP 是地址,有定位功能;MAC 是身份证,无定位功能; 后面会详细介绍IP和MAC地址。

四、计算机之间的连接方式

1.网线直连

![在这里插入图片描述](https://img-blog.csdnimg.cn/264eb259800544f8a5d535bde31cb7bf.png

我们可以用交叉线直接连接两台计算机之间,然后设置IP 192.168.10,192.168.11。这样它们就可以进行通讯了。

2.同轴电缆

在这里插入图片描述

  • 半双工通信:同一时间只有一个设备在发送数据
  • 容易冲突
  • 不安全
  • 中间断了,整个都瘫了

3.集线器

在这里插入图片描述

  • 半双工通信
  • 容易冲突
  • 不安全
  • 中间断了,整个都瘫了

4.网桥

在这里插入图片描述

  • 能够通过自学习得知每个接口那侧的MAC地址
  • 有隔绝冲突域的作用

5.交换机

在这里插入图片描述

  • 全双工通信
  • 比集线器更安全

6.路由器

在这里插入图片描述

  1. 可以在不同网段转发数据
  2. 隔绝广播域

总结

  • 网线直连、同轴电缆、集线器、网桥、交换机连接的设备必须处于同一个网段
  • 网线直连、同轴电缆、集线器、网桥、交换机连接的设备处于同一个广播域
  • 路由器可以在不同网段之间传播数据
  • 路由器能够隔绝广播域

四、计算机之间如何发送数据

上面我们已经知道计算机之间连接可以用网线直连、同轴电缆、集线器、网桥、交换机,路由器,其中路由器是连接不同的网段的。那么计算机之间是怎么通过这些设备来发送数据的呢?我们举两个例子,分别是现在常用的交换机和路由器。

通过交换机发送数据

在这里插入图片描述

1,计算机0通过交换机0第一次发送数据包到计算机1,计算机0和计算机1处于同一个网段。
2,首先我们知道发送数据包需要知道对方的IP地址和MAC地址,但是这时候计算机0只知道计算机1的IP地址,并不知道对方的MAC地址。所以计算机0会先发送一个ARP广播,用于获取计算机1的MAC地址。
3,ARP广播协议经过交换机0,发送到连接交换机0其它计算机,到计算机2的时候,计算机2发现这个数据并不是发送给自己的,所以计算机2会直接把这个数据包给丢到。同理,发送到计算机3的时候,也会直接把数据包给丢到。但是发送到计算机1的时候,计算机1发现这个数据就是发给自己的,此时计算机1会返回一个数据包到交换机0。
4,此时交换机0已经学习了连接它的计算机,它知道数据包是发送给计算机0的,所以数据包只会发送给计算机0。
5,通过ARP广播协议和获取到计算机1的MAC地址之后,计算机0会再发送ICMP协议将数据包发送给交换机0。
6,交换机0直接将数据包精准的发送给计算机1。
7,计算机1接收到数据后,给予响应,再将数据包返回给交换机0,交换机0将数据包返回给计算机0。

在这里插入图片描述
在这里插入图片描述

通过路由器发送数据

在这里插入图片描述
我们已经知道同一个网段内发送数据是怎么发送的了,现在要发送数据到另一个网段的计算机,需要用到路由器。
路由器两端连接着不同的网段,用于网段之间的数据传输。
1,计算机0发送数据包到计算机1
2,首先计算机0发现计算机1和自己不在同一个网段,这个时候计算机0依然会先发送ARP广播协议,此时寻找的目标MAC地址是网关192.168.1.1的MAC地址。
3,然后发送ICMP协议到网关,这个过程就不赘述了。
4,数据到网关192.168.1.1之后,网关会通过路由表来找到下一跳的网关地址
5,数据到网关192.168.2.1之后,会同样发送ARP协议,再发送ICMP协议到计算机1。

总结

上面我们知识简单的说了下计算机之间数据的传输,包括同一个网段和不同网段的。
在整个数据的传输过程中,源IP地址和目标IP地址是不会变的,源MAC地址和目标MAC地址有可能会变。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-31 15:49:47  更:2021-08-31 15:52:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:54:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码