网络通信的工作原理

***************************************************

更多精彩,欢迎进入:http://shop115376623.taobao.com

***************************************************


1、什么是计算机网络?

计算机网络是由两台或两台以上的计算机通过网络设备连接起来所组成的一个系统,在这个系统中计算机与计算机之间可以进行数据通信、数据共享及协同完成某些数据处理的工作。

强调:计算机网络不仅仅指计算机,还包含网络设备,并且计算机与计算机之间还能进行信息传输。

 

2、计算机与计算机之间如何进行通信?

计算机与计算机之间用线路连接起来就可以通信了吗?对计算机来说,光有硬件是不行的,叫计算机做任何事情,都要有相应的软件支持,所以这节课我们探讨计算机网络的参考模型,计算机网络的参考模型就是计算机网络的软件,最经典的计算机网络参考模型就是国际标准化组织的OSI,它提出一个机器上的一个应用进程与另一个机器上另外一个进程进行信息信息交流到底要做什么事情。通过模型讲解计算机网络是如何工作,这个软件如何设计的呢?

      2 计算机解决问题的方式:分层

计算机网络要提供两个进程之间的通信,要解决很多问题,并不是如我们平时解决问题一样,第一步做什么,第二步做什么……能够简单地罗列出来,它是一个很复杂的问题。计算机一般解决问题的方式:分层,自顶向下逐步分解结构化的程序设计。把一个大问题分解成若干个小问题。国际化标准组织在OSI中把计算机网络通信分成七大部分的工作,每一层都完成网络当中一个独立的任务。

      2 七层模型

摸着石头过河:网络复习第一课——网络通信的工作原理

物理连接是前提,七层协议的最底层——物理层要保证主机A的比特串能通过物理链路传到主机B上,问题:这样传输不安全,物理电路容量受到干扰,比如电流干扰,计算机没有二义性,1100,那么数据链路层就用来保证主机A到主机B上的一串二进制数据是完全正确的,

数据链路层采用的方法和我们人讲话是一样的,把说的内容分成有语气的句子,它把要传递的内容分成一组一组,计算机如何保证一组组的内容正确?用其所长:计算,同时把计算的结果与原始的信息一起发过去,接收方收到数据再进行相同的计算,如果与结果比较相同,那内容就是正确的。用这种方式能保证主机A的数据能正确传到主机B上。这是在计算机与计算机物理相连的情况下可以传递信息,可是计算机与计算机之间并不都是两两相连的,更多的计算机是通过中继结点连接,那发送数据如何知道经过哪些中继结点呢?这由网络层实现。

网络层的作用就是在网络中找到一条路径,一段一段地传送,由于数据链路层保证两点之间的数据是正确的,因此源到目的地的数据也是正确的,这样一台机器上的信息就能传到另外一台了。但计算机网络的最终用户不是主机,而是主机上的某个应用进程。这个过程由传输层实现。

传输层标识了服务是哪个进程请求的,要交给谁。我把东西交你时,希望通知你一下,就是会话层的工作。

会话层打好招呼,以便进行通话。就像现在我和你说话,你耳朵听到了也能理解,但如果下面是外国人,他听到了我的声音,他理解了吗?他不能理解。那对于计算机网络来言,客户机发了一个请求给服务器,服务器应该能理解这个请求到底是什么,所以接下去的问题是你怎么样理解?这个理解有两个层次,我讲中国话,他只能懂英文,那么这当中应该有一个翻译。把汉语翻译成英语,大多数PC都用ASCII码,有些大型机用BCD码,每台计算机都有自己的语言,都有自己的编码,对于不同的编码来讲,不同的字符编码是不一样的,我的机器里是A,在他的机器里编码可能就不是A了,所以它必须有个翻译,到那边A还是A,这个工作由表示层来做

表示层做的是信息的理解,我这里的一串二进制字符在这边表示的是什么字符,在那边还表示什么字符。比如我这边表示整型数是2个字节,有的大型机是4个字节,那我就要沟通了:我是两个字节表示一个整型数,你不要取我4个字节,表示层就相当于把我汉语翻译成他的英语了,但最终目的还是没有达到,为什么呢?大家都是懂普通话的,所有用汉字表示的信息都能理解呢?要理解专业领域里的知识,必须要有专业的基础。

对于计算机来讲一样,每一个应用都有它特定的表示方式。它们之间还必须有一个学习的过程,这就是应用层。

       23  协议

计算机网络分成七个层次,每个层次负责不同的功能,每一层只要考虑和对等层次之间的关系,它们共同遵守相应的约定,这个约定称为协议。

对于物理层要解决主机A上的二进制比特串如何传递到主机B上,把01用一种信号用某种信号来表示,0用什么来表示,1用什么来表示,持续的时间有多长,这些约定我们称为物理层的协议。

对数据链路层而言,不要考虑0101是如何传递的,它考虑的是如何对物理层的信息进行计算,把原始数据和结果一起发到对方,对方再进行同样的计算。所以它们之间要有约定,我是怎么样对原始数据进行计算的,那么你也应该进行同样的运算。

对于网络层,它负责路由查找,在每个节点,都要有同样的消息告诉我下一站怎么走。

在传输层,会话层、表示层、应用层都要有同样的约定。比如我们通信双方是一个Web浏览,对于我们两个进程之间就有一个约定,如果我要取你的某个Web网页,我这条消息是怎么样的一条结构,这就是应用层的协议。

七个层次,每个层次都有和对方对等层次之间的约定。所以七层模型,又称为七层协议。不可能说我这个网络用什么协议,而是说在哪个层次用什么协议。

 

      24  接口和服务

各功能层之间,上一层对下一层提出服务要求,下一层完成上一层提出的要求。这都通过各层之间的接口完成。就是计算机怎么用来传递消息的

      2 OSI模型的数据传输

      摸着石头过河:网络复习第一课——网络通信的工作原理

      


    26  举例:某人给他的朋友写一封信 

摸着石头过河:网络复习第一课——网络通信的工作原理

3TCP/IP参考模型

 互联网就是把全球各地的各种类型局域网连接起来的,主要解决不同网络之间的联系,而局域网内部的通信是已经解决的问题

摸着石头过河:网络复习第一课——网络通信的工作原理

 在TCP/IP协议体系中,TCP协议和IP协议是最重要的核心协议。IP协议的工作是把数据包从一个地方传递到另一个地方,TCP协议的工作是对数据包进行管理与校核。

 摸着石头过河:网络复习第一课——网络通信的工作原理


动画演示
      摸着石头过河:网络复习第一课——网络通信的工作原理


4、总结

     计算机网络通信是通过分层实现,每一层都遵守协议,上一层对下一层提要求,下一层完成上一层的要求,发送方封装信息,接收方解封装信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bossie Awards 2015: The best open source applicati

2019独角兽企业重金招聘Python工程师标准>>> Read about more open source winners InfoWorlds Best of Open Source Awards for 2014 celebrate more than 100 open source projects, from the bottom of the stack to the top. Follow these links to more open s…

oracle重做日志教程,Oracle教程:重做日志文件基本维护

重做日志文件最重要的用途就是用来恢复数据(其实你也可以用来logminer),它记录着system global area(sga)当中的database bu重做日志文件最重要的用途就是用来恢复数据(其实你也可以用来logminer),它记录着system global area(sga)当中的database buffer…

java动态代理的实现

动态代理作为代理模式的一种扩展形式,广泛应用于框架(尤其是基于AOP的框架)的设计与开发,本文将通过实例来讲解Java动态代理的实现过程。友情提示:本文略有难度,读者需具备代理模式相关基础知识&#xff0c…

C++基础之this指针的详解

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 关于C中的this指针,建议大家看看这篇文章,《C中的this指针》&a…

如何用参数化SQL语句污染你的计划缓存

你的SQL语句的参数化总是个好想法。使用参数化SQL语句你不会污染你的计划缓存——错!!!在这篇文章里我想向你展示下用参数化SQL语句就可以污染你的计划缓存,这是非常简单的! ADO.NET-AddWithValue ADO.NET是实现像SQL …

Ios: 如何保護iOS束文件屬性列表,圖像,SQLite,媒體文件

Ios: 如何保護iOS束文件屬性列表,圖像,SQLite,媒體文件我創建了Hello World示例項目,然後添加data.plist文件到資源文件夾。現在人們可以很容易得到束文件解壓縮。國際音標。有任何的方法來保護data.plist文件保存在iPhone應用程序…

w3wp oracle,w3wp.exe占用CPU超过50%的处理

w3wp.exe占用CPU超过50%的处理1.查看CPU占用高的进程:任务管理器C:\Documents andSettings\Administrator>iisappW3WP.exe PID: 18008 AppPoolId: STATW3WP.exe PID: 8328 AppPoolId: STATW3WP.exe PID: 17868 AppPoolId: JYCV16W3WP.exe PID: 16652 AppPoolId: …

论两种学习模式

引言 A:你是如何学习的,通过视频、书籍和实践结合?B:不是,一般情况是以一个问题为点去画线和面。 两种学习模式 按部就班方式获取知识(通过书、视频)缺点 信息接收者缺乏深度思考和探索信息发布者的知识体系不一定适合…

启动mq命令 linux,RocketMQ:Linux下启动server和broker的命令

目录QUESTION:RocketMQ:Linux下启动server和broker的命令?ANSWER:一、启动mqnamesrv1.1当前执行1.2后台运行二、启动mqbroker2.1当前执行2.2后台运行QUESTION:RocketMQ:Linux下启动server和broker的命令?ANSWER:一、启动mqnamesrv1.1当前执行进入rocke…

C++中int *p[4]和 int (*q)[4]的区别

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** C中int *p[4]和 int (*q)[4]的区别 前者是指针数组,后者是指向数组的指针…

linux不用命令开启ssh,不用密码也能ssh登陆Linux?

Linux的一个后门引发对PAM的探究1.1 起因今天在搜索关于Linux下的后门姿势时,发现一条命令如下:ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort5555;经典后门。直接对sshd建立软连接,之后用任意密码登录即可。ssh rootx.x.x.x -p 5555这个是…

ScrollView常用(暂时用上了的)代理方法

2019独角兽企业重金招聘Python工程师标准>>> ScrollView常用代理方法: #pragma mark - 滚动结束调用 -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {// 计算 滑动到了第几页double page scrollView.contentOffset.x / scrollView.width;self.p…

Android ListView性能优化实例讲解

前言: 对于ListView,大家绝对都不会陌生,只要是做过Android开发的人,哪有不用ListView的呢? 只要是用过ListView的人,哪有不关心对它性能优化的呢? 关于如何对ListView进行性能优化,…

Bzoj 3289: Mato的文件管理 莫队,树状数组,逆序对,离散化,分块

3289: Mato的文件管理 Time Limit: 40 Sec Memory Limit: 128 MBSubmit: 1539 Solved: 665[Submit][Status][Discuss]Description Mato同学从各路神犇以各种方式(你们懂的)收集了许多资料,这些资料一共有n份,每份有一个大小和一…

vs2010创建和使用动态链接库(dll)

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 本文将创建一个简单的动态链接库,并编写一个应用台控制程序使用该动态链接…

magenta内核与linux,谷歌将推出新操作系统Fuchsia:Magenta语言为内核

谷歌现在研发出来并且推出使用的系统有Chrome OS、Android和Chromecasts,这三者在操作系统的市场中占得份额很高,但是好像谷歌对此并不满意,因为有相关消息显示,谷歌正在研发新的操作系统Fuchsia,该系统采用Magenta语言…

BZOJ 1968: [Ahoi2005]COMMON 约数研究 水题

1968: [Ahoi2005]COMMON 约数研究 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id1968 Description Input 只有一行一个整数 N&#xff08;0 < N < 1000000&#xff09;。 Output 只有一行输出&#xff0c;为整数M…

VC内存对齐准则(Memory alignment)

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 本文所有内容在建立在一个前提下&#xff1a;使用VC编译器。着重点在于&#xff1a;VC…

mysql 主主互备实现

今天星期天&#xff0c;么事就写个MYSQL的主主架构的博客&#xff0c;原理如下图&#xff0c;不是我画的网上找的。主机作用操作系统mysql版本对应IPvip数据库mysqlA(主)centos6.4mysql 5.5.48192.168.48.129192.168.48.126mysqlB(备)centos6.4mysql 5.5.48192.168.48.132一&am…

动手实践 Linux VLAN - 每天5分钟玩转 OpenStack(13)

本节我们来看如何在实验环境中实施和配置如下 VLAN 网络 配置 VLAN 编辑 /etc/network/interfaces&#xff0c;配置 eth0.10、brvlan10、eth0.20 和 brvlan20。 下面用 vmdiff 展示了对 /etc/network/interfaces 的修改 重启宿主机&#xff0c;ifconfig 各个网络接口 用 brct…