目录

计算机网络-基本概念

互联网

Java的跨平台原理

​编辑 C\C++的跨平台原理

解释性语言的跨平台原理(python,js等)

客户端 vs 服务器

什么是协议?

网络互连模型

请求过程

计算机之间的通信基础

计算机之间的连接方式-网线直连(需要用交叉线,而不是直通线)

计算机之间的连接方式-同轴电缆(Coaxial)

计算机之间的连接方式-集线器(Hub)

计算机之间的连接方式-网桥

计算机之间的连接方式-交换机

计算机之间的连接方式-路由器


计算机网络-基本概念

互联网

Java的跨平台原理

 C\C++的跨平台原理

解释性语言的跨平台原理(python,js等)

客户端 vs 服务器

阶段1:

阶段2:

 整体图:

请求url地址解析:

什么是协议?

网络互连模型

(1) 如果多个生产商生产出多个服务器系统,对于多个服务器系统不同的生产商规定不同的协议标准,那么客户端和服务器进行数据交互的成本就会大幅度增加,因此国际标准化组织站了出来。

(2)

ISO组织规定了理论上的一套协议:OSI(分为七层)

实战中总结出的一套协议为:TCP/IP(分为四层)

高校学习研究的一套协议:分为五层

请求过程

过程:

(1)客户端请求服务器数据这一过程需要通过国际标准所规定的协议,学习研究时视其为五层。

(2) 客户端的请求会经过这五层不断的进行包装,包装之后传递到服务器。

(3) 服务器对于这一包装后的数据再一层层的进行解包,最终得到客户端最原始的请求。

(4)这一原始请求会通过应用层给到服务器软件(Tomcat),然后进行解析。

(5)当服务器进行响应数据给客户端时,同样遵循(1)-(4)的步骤。先一层层封装,传递给客户端,再一层层解包,客户端应用层最后得到的数据为服务器最原始的响应数据。

计算机之间的通信基础

两个计算机传输数据的交互过程:

(1) 两个计算机进行传输数据需要:源ip地址,目标ip地址,源MAC地址,目标MAC地址。

(2) 源计算机得知目标ip地址才可以通过ICMP协议进行传输数据给对方的(比如:互相ping)。

但是在传输数据之前需要通过ARP协议进行广播获取到目标计算机的MAC地址,通过MAC地址才可以找到目标计算机对应的端口,最终找到目标计算机对应的网卡进行传输数据。

注释:一个计算机可以有多个网卡,所以MAC地址不是唯一的,一个MAC地址对应一个网卡

补充:通过ARP协议获取到的MAC地址是有缓存的。当进行一次新的传输数据过程时,可能就无需进行ARP广播啦!

计算机之间的连接方式-网线直连(需要用交叉线,而不是直通线)

计算机之间的连接方式-同轴电缆(Coaxial)

分析:

(1) 半双工通信:计算机1传输数据给计算机2时,计算机2不可以传输给计算机1

(2) 容易冲突,不安全:同轴电缆是随机发送数据传输给任意计算机的

计算机之间的连接方式-集线器(Hub)

分析:

集线器相对于同轴电缆的好处:

一个计算机连接集线器的线断了,不会影响其它计算机的正常运行

集线器的问题:

当集线器上连接的计算机达到1000台时,任意一个计算机给另外一个计算机发送数据时,集线器会广播传输数据,会发送给1000台设备。这样会很长时间占用带宽(通过ICMP协议传输数据占用的时间+通过ARP协议获取MAC地址占用的时间)。后面引入网桥解决这个问题!

计算机之间的连接方式-网桥

(1)网桥通过自学习得知每一个计算机接口的MAC地址,可以分清左右两边分别有哪些计算机

(2)网桥左边的计算机传输数据就不会达到网桥右边,网桥右边的计算机传输数据也不会传输到网桥左边,这样形成隔绝冲突域。

网桥存在的问题:

即使网桥使其左右两边形成隔绝冲突域,但是左右两边的集线器也会随机传输数据给链接的计算机,当计算机数量巨大时 同样会形成较大的资源消耗。所以后面引入了智能的交换机!

计算机之间的连接方式-交换机

注释:

(1) 相当于接口更多的网桥:更加智能,记住每一个计算机的MAC地址,指定计算机ip地址进行传输数据时,不会随机传输给所有的计算机!

(2) 全双工通信 : 可以同时传输数据。eg:计算机1传输数据给计算机2时,计算机3也可以同时传输数据给计算机4,计算机2也可以同时传输数据给计算机1。

(3) 思考:全球所有的设备都使用交换机连接会是什么情况?

交换机仍然存在问题:

在不同计算机之间进行传输数据之前,会先进行ARP协议广播传输给所有计算机进行获取MAC地址,交换机需要学习这些MAC地址是和哪些计算机对应着的!

全球所有的设备都使用交换机的话,全球的计算机传输之前都需要先进行ARP广播,这个工作量也是十分大的!这即是广播风暴。

所以引入了路由器。

计算机之间的连接方式-路由器

网络直线,同轴电缆,集线器,网桥,交换机:

(1)连接的设备对应的ip地址必须在同一网段。eg:192.168.3.10和192.168.3.11处于同一网段,

192.168.3.10和192.168.2.11处于不同网段,

(2)连接的设备处于同一广播域。意思即是ARP广播协议进行获取MAC地址时,对于同一广播域的计算机都会接收到该传播。

我们知道,不同网段的计算机是不可以跨网段进行传输数据的,但是如果全世界处于同一网段的话,势必会出现ARP广播风暴等问题,所以我们引入了路由器。

我们在路由器的两边接上两个网关,左边的网关的ip地址是与左边的计算机处于同一网段的,右边的网关同理即可。

提出问题:计算机1是如何传输数据给计算机4的,分析一下这个过程?

(1) 计算机1在传输数据之前需要先进行获取左边网关的MAC地址:会先通过ARP广播获取到左边网关的MAC地址。补充:【计算机1的ARP同样会发送给计算机2,因为ARP是广播发送,同一交换机连接的所有计算机处于同一广播域,但是在对比目标ip地址后 就会被丢弃该数据包。】

(2)获取网关的MAC后,计算机1开始真正的传输数据给左边的网关,交换机通过目标ip地址,目标MAC地址智能识别后,传输数据给左网关

(3) 左网关会通过路由器传输数据给右网关

(4)右网关是和计算机4处于同一网段的,所以可以进行传输数据。同理,右网关会先获取计算机4的MAC地址,然后进行传输数据(具体过程参考前三条)。

计算机网络-基本概念相关推荐

  1. 【王道考研计算机网络】—计算机网络的概念 组成 功能 分类

    [王道考研计算机网络]-计算机网络的概念 组成 功能 分类 本章思维导图如下 一.计算机网络的概念 计算机网络:是一个将分散的具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现 ...

  2. 1.1.1 计算机网络的概念、组成、功能和分类(转载)

    原文链接:https://blog.csdn.net/weixin_43914604/article/details/104535108 本博客为个人学习.研究或者欣赏用,如有侵权,请与我联系删除,谢 ...

  3. 计算机网络的概念,功能和分类

    知识脑图 计算机网络的概念 一般认为,计算机网络是一个将分散的(地理位置不同的).具有独立功能的计算机系统,通过通信设备(路由等)与线路(光纤等)连接起来,由功能完善的软件实现资源共享和信息传递的系统 ...

  4. 计算机网络,概念,发展历史,分类,协议

    理解计算机网络 是指一些互联的.自治的计算机的集合. 可以从二个方面来理解计算机网络 第一 计算机网络中每一台计算机都是自治的,自治是指任何一台计算机离开网络都能够独立运行,网络中任意两台计算机之间没 ...

  5. 计算机网络的概念,组成和分类;计算机与网络信息安全的概念和防控.,计算机二级MS试题...

    计算机二级MS试题 2015年3月全国计算机等级考试二级MS Office高级应用考试大纲 基本要求 1. 掌握计算机基础知识及计算机系统组成. 2. 了解信息安全的基本知识,掌握计算机病毒及防治的基 ...

  6. 【山外笔记-计算机网络·第7版】第10章:计算机网络重要概念

    本文下载地址: [学习笔记]第10章_计算机网络重要概念.pdf 教材:<计算机网络·第7版> 作者:谢希仁 时间:2020.04.17 第01章:计算机网络概述 1.计算机网络(可简称为 ...

  7. 计算机网络有很多用处,计算机网络的概念、基本组成和用途

    计算机网络的概念,基本组成和用途 Zxf 计算机网络的概念/基本组成/用途 1.计算机网络的概念 计算机网络就是通信线路和通信设备将分布在不同地点的具有独立功能的多个计算机系统互相连接起来,在网络软件 ...

  8. 【计算机网络知识扫盲】02、计算机网络的概念(转)

    [计算机网络知识扫盲]02.计算机网络的概念(转) 对"计算机网络"这个概念的理解和定义,随着计算机网络本身的发展,人们提出了各种不同的观点. 早期的计算机系统是高度集中的,所有的 ...

  9. 计算机网络基础概念ppt,1-1计算机网络基础概念.ppt

    1-1计算机网络基础概念 第一章网络基础知识 本章重点:网络概述网络功能.分类及作用,网络的接入 方式,网络的拓扑结构,网络通信原理及传输介质. §1-1 计算机网络的基本概念 本节重点 一.计算机网 ...

最新文章

  1. IBM全面拥抱Linux,为“认知商业”提供POWER
  2. 如何实现有效的团队管理?
  3. Matlab学习笔记——图形绘制
  4. wondows下安装matplotlib(python包)
  5. linux运行core控制台程序,VisualStudioCode创建的asp.net core控制台程序部署到linux
  6. 添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理
  7. C 标准库 - limits.h
  8. 力软敏捷开发平台源码7.0.6
  9. 领域驱动设计(DDD)入门概要
  10. 我的八年硕博士生涯——CMU王赟写在入职Facebook之前
  11. 什么是反射(Reflection)?它能做什么?
  12. var foo = function(){} 和 function foo(){}
  13. 全面剖析:“外包”浪潮以及程序员应对攻略
  14. 计算机与算盘有什么区别
  15. 大数据思维,到底是什么?
  16. Git--建立和解除与远程仓库的关联
  17. 常用ACM知识点清单(未完待续)
  18. px和分辨率的关系总结
  19. 五年程序员工作小结技巧
  20. 信息系统项目管理师与网络规划设计师的区别是什么?

热门文章

  1. 开心消消乐java下载_开心消消乐下载_开心消消乐下载最新iPhone版-太平洋下载中心...
  2. Metasploit工具使用(下)
  3. 什么是预测区间和置信区间
  4. 朋友圈(类似微信朋友圈)的显示
  5. Linxu下RocketMq及可视化界面的搭建
  6. 【reverse】2021 极客大挑战(部分)
  7. 微信小程序上下滑动卡顿 z-index设置不起作用
  8. onPullDownRefresh和uni.startPullDownRefresh(OBJECT)、uni.stopPullDownRefresh()的关系
  9. python流量监控脚本
  10. numpy获得前n大元素下标