<a>https://github.com/BudSpore</a>
经历了春招面试的洗礼,我决定沉下心去扎实自己的基础,在此非常感谢腾讯一面面试官,他让我对技术,对自己有了全新的认识。
本系列文章我将学习计算机网络基础,希望对广大读者受益。
该系列文章地址:
<a href="//www.greatytc.com/p/472b66f242ba">计网积累(二)物理层</a>
我们从第一章开始
1.1计算机网络的组成:若干结点(主机,集线器,交换机,路由器)和连接这些结点的链路。
网络之间由路由器连接进而形成更大的网络(互联网)
互联网的两个重要基本特点:连通性和共享
以小写字母i开始的internet(互联网)是一个通用名词,它泛指多个计算机网络互连而组成的网络,在这些网络之间的通信协议(即通信规则)可以是任意的。
以大写字母I开始的Internet(因特网)则是一个专用名词,它指当前世界上最大的、开放的、由众多网络相互连接而成的特定计算机网络,它基于TCP/IP协议族实现为通信的规则,且前身是美国的ARPANET。
因特网:是通过产业、教育、政府和科研部门中的自治网络将用户连接起来的世界范围的网络。因特网采用网际协议(IP)进行网络互连和路由选择,采用传输控制协议(TCP)实现端对端控制。因特网的主要业务包括电子邮件、文件传送协议(FTP)、远程登录、万维网和电子公告板。
互联网:是两个或多个子网络构成的一种网络。这种网络可包括网桥、路由器、网关或它们的组合。
互联网、因特网的关系是:互联网包含因特网 。
凡是能彼此通信的设备组成的网络就叫互联网。所以,即使仅有两台机器,不论用何种技术使其彼此通信,也叫互联网。跨国性的超大互联网不仅有因特网,还有惠多网。
因特网是互联网的一种。因特网可不是仅有两台机器组成的互联网,它是由上千万台设备组成的互联网。因特网使用TCP/IP协议让不同的设备可以彼此通信。但使用TCP/IP协议的网络并不一定是因特网,一个局域网也可以使用TCP/IP协议。判断自己是否接入的是因特网,首先是看自己电脑是否安装了 TCP/IP协议,其次看是否拥有一个公网地址(所谓公网地址,就是所有私网地址以外的地址)。
只要应用层使用的是HTTP协议,就称为万维网(World Wide Web)。
1.2网络把许多计算机连接在一起,而互联网把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机。
在这里我讲一下多层次ISP结构的因特网
ISP是因特网服务提供商,它拥有从因特网管理机构申请到的多个IP,通信线路和路由器等联网设备,我们可以对ISP交费得到IP接入到因特网上进而上网,ISP有层级划分,最高层的ISP服务面积最大,第二层其次,第三层就是一般的校园网,企业网和拨号上网的用户,本地ISP可以接入地区ISP或主干ISP,IXP可以实现高速链路对等交换分组,IXP常采用工作在数据链路层的网络交换机,这些交换机都用局域网连接起来。
互联网和万维网的区别
互联网包含万维网
通常浏览网页就是在使用万维网,在万维网上找到的是各种文件,比如声音,图片等,在万维网上,通过超文本链接进行连接。
1.3互联网划分为边缘部分和核心部分
边缘部分:由所有连接在互联网上的主机组成,并由用户直接使用,用来进行通信和资源共享
核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务
<h5>网络边缘的通信方式划分为C/S和P2P(对等)方式</h5>
C/S通过网络核心实现跨进程通信
客户端进程:
1.被用户调用后运行,在通信时主动向服务器发起通信,客户程序必须知道服务器程序地址
2.不需要特殊的硬件和复杂OS
服务端进程
1.可同时处理多个客户端请求
2.系统启动后自动调用并一直不断运行着,被动等待并接受客户的请求,服务器不需要知道客户端程序的地址
3.服务器需要有强大的硬件和高级OS支持
互联网核心部分里路由器很重要,它实现分组交换的关键构件,其任务是转发收到的分组
在发送报文之前,先把较长的报文划分成一个个更小的等长数据段,在每一个数据段前面加上有控制信息的首部,组成一个个分组,分组是互联网中传送的数据单元,分组的首部包含目的地址和源地址,
互联网核心部分由许多网络和把他们互相连接起来的路由器组成,主机处在互联网的边缘部分,而路由器之间都用高速链路相连,主机接入到核心部分通常以相对低速率的电路组成
路由器收到一个分组,缓存起来,检查首部,查找转发表,按照首部的目的地址,找到合适的接口转发出去,把分组交给下一个路由器,不断的存储转发交付到最终的主机,,各个路由器经常交换彼此的信息,以便动态更新转发表,每一条链路都是可以复用共享的,当网络发生故障的时候,路由器可以动态改变转发路由
对通信链路分段占用(高效性),为每一个分组独立选择最合适的转发路由(灵活),以分组作为传送单位,不先建立连接直接向主机发送分组
(迅速),还有可靠性
这里我讲一讲路由器和交换机的区别
交换机主要是实现大家通过一根网线上网,但是大家上网是分别拨号的,各自使用自己的宽带,大家各自上网没有影响,哪怕其他人在下载,对自己上网也没有影响,并且所有使用同一条交换机的电脑都是在同一个局域网内。路由器比交换机多了一个虚拟拨号功能,通过同一台路由器上网的电脑是共用一个宽带账号,大家之间上网是相互影响的,比如一台电脑在下载,那么同一个路由器上的其他电脑会很明显的感觉到网速很慢。同一台路由器上的电脑在一个局域网内
<h5>计算机网络的性能指标</h5>
1.速率, 比如2Mbit/s
2.带宽:单位时间内某信道通过的最高数据率(bit/s)
3.吞吐量:单位时间内通过某个网络信道的实际数据量
4.时延:一个报文或者分组,比特从网络或者链路一端传送到另一端所需的时间,分为发送时延,传播时延,处理时延,排队时延,他们彼此互斥
发送时延比如说发送数据帧的第一个比特算,到该帧最后一个比特发送完毕所需要的时间,传播时延(比如电磁波谱在光纤传播时间),处理时延是在路由器上处理的时间,分析首部,提取数据,差错检验,查找路由表,排队时延是分组进入路由器后入队等待,在出队也要等待,
5.时延带宽积:传播时延*带宽
6.往返时间RTT
7.利用率:信道利用率和网络利用率,信道利用率是百分之几时间信道是利用的,网络利用率是全网络的信道利用率加权平均值,信道利用率增大时,排队时延增大,所以信道或网络的利用率过高会导致非常大的延迟
1.7计算机网络的体系结构
协议规定了所交换的数据格式和同步问题
协议三要素:语法,(数据与控制信息的结构或格式)
语义(需要发出何种控制信息,完成何种动作做出何种响应)
同步,实现事件顺序
协议是控制两个对等实体进行通信的规则集合,语法规定了所交换的信息格式,语义规定了发送或接收者所要完成的操作,
OSI七层协议从上到下是应用层,表示层,会话层,运输层,网络层,数据链路层,物理层
TCP/IP四层协议是应用层,运输层,网际层,网络接口层
五层协议:应用层,运输层,网络层,数据链路层,物理层
应用层协议定义的是应用进程间通信和交互的规则,不同的网络应用对应不同的应用层协议,比如域名系统DNS,万维网应用的HTTP,电子邮件的SMTP,应用层交互的数据单元是报文
2.运输层
负责向两台主机中进程之间通信提供通用的数据传输服务,多种应用可以使用同一个运输层服务,通用意味着有复用和分用的功能,分用就是把收到的信息分别交付给应用层中的相应进程
TCP和UDP在运输层,二者的区别在笔试题经常出现,我也总结过,这里我简单重复一下,TCP面向连接,可靠,数据传输单位是报文段,UDP是QQ用的运输层协议,无连接,不保证数据传输可靠性,传输单位是数据报
3.网络层
负责为分组交换网上的不同主机提供通信服务, 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送,并且选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。
4.数据链路层
在两个相邻结点之间传送数据时,数据链路层将网络层传下来的IP数据报组装成帧,相邻结点的链路上传送的是帧,每一帧包含数据和必要的控制信息,比如同步信息,地址信息,差错控制。
接收数据端,通过帧知道比特开始和结束的点,进而提取数据部分传给网络层,并且能够查找错误,避免继续在网络上传输,也可以纠错。
5.物理层
传输的数据单位是比特,要考虑电压情况,还要确定电缆插头要有多少根引脚,而具体用双绞线,光缆,这些在物理层下面去研究
从运输层到网络层,都一层一层给报文添加控制信息,到了数据链路层,控制信息分成两部分分别加到头和尾,物理层不加控制信息,传送比特流从首部传送,当进入到路由器的时候,从路由器第一层到第三层,剥离控制信息,到了第三层就根据首部目的地址查找路由器转发表,然后传到第二层,加上新的首部尾部,到第一层再物理媒体上通过比特发出去,当到达目的主机的时候,从下往上传送报文,一层一层剥离控制信息,这样就可以让目的主机收到数据了。
协议是水平的,而服务是垂直的。
TCP/IP协议可以为各式各样的应用提供服务,同时也允许IP协议在各式各样的网络构成的互联网上运行。
计网总览就讲到这里,接下来的文章我将详细讲每一层的知识点。
下一篇文章:
<a href="//www.greatytc.com/p/472b66f242ba">计网积累(二)物理层</a>