计算机网络学习(1)—— 概述

        近期对计算机网络通信这块进行了一些回顾学习,在这里做一些笔记总结,所谓好记性不如烂笔头,马上开始吧。

一、计算机网络

        什么是计算机网络呢?百度百科的解释是这样的:

        计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

        个人觉得知道这样的一个概念即可,不大需要再去深究(当然相关专业和兴趣浓厚的除外)。但是我们有必要关注计算机网络的几点性能指标:

  • 速率

        计算机发送出的信号都是数字形式的。比特是计算机中数据量的单位,也是信息论中使用的信息量的单位。英文字bit来源于binary digit,意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个1或0。网络技术中的速率指的是连接在计算机网络上的主机在数字信道上传送数据的速率,它也称为数据率(data rate)或比特率(bit rate)。速率是计算机网络中最重要的一个性能指标。速率的单位是bit/s(比特每秒)(即bit per second)。

        用一个简单的例子说明:有一条单车道的收费站,单位时间内只能通过1辆汽车,假设单位时间为1s,那么汽车通过的流量为1辆/秒。

  • 带宽

        在计算机网络中,带宽用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。单位是“比特每秒”,记为bit/s。

        还是用收费站举例:假设这个收费站扩充了车道数到4条车道,那么单位时间内可以通过4辆汽车,那么汽车通过的流量为4辆/秒。所以带宽越大,通过的数据量越高。

  • 吞吐量

        吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。显然,吞吐量受网络的带宽或网络的额定速率的限制。例如,对于一个100Mbit/s的以太网,其额定速率是100Mbit/s,那么这个数值也是该以太网的吞吐量的绝对上限值。因此,对100Mbit/s的以太网,其典型的吞吐量可能也只有70Mbit/s。有时吞吐量还可用每秒传送的字节数或帧数来表示。

        还是用收费站举例:4车道的收费站并不是每时每刻都有4辆汽车同时通过,某一时刻可能只通过1辆或者3辆,那么在该时刻下的汽车通过的流量为1辆/秒和3辆/秒。
        由此可知带宽说的是最大值速率,吞吐量说的是某时刻速率,但吞吐量不能超过最大速率。

  • 时延

        时延是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。时延是个很重要的性能指标,它有时也称为延迟或迟延。

(1)发送时延
        发送时延是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。计算公式是:
        发送时延 = 数据帧长度(bit) / 信道带宽(bit/s)
举例:
        以太网数据帧最大字节为1518字节,再加上8字节前导字符,共计1526个字节,1526*8=12208比特。网卡宽带如果是10M,发送一个最大的以太网数据帧的发送时延=12208/100000000=1.2ms,ms为毫秒,1秒=1000毫秒。还有数据包的大小也会影响发送时延。
        由此可见,对于一定的网络,发送时延并非固定不变,而是与发送的帧长(单位是比特)成正比,与信道带宽成反比。
(2)传播时延
        传播时延是电磁波在信道中传播一定的距离需要花费的时间。计算公式是:
        传播时延 = 信道长度(m) / 电磁波在信道上的传播速率(m/s)
        电磁波在自由空间的传输速度是光速,即300000km/s。电磁波在网络中的传输速度比在自由空间中低一些:在铜线中传播速率约为230000km/s,在光纤中的传播速率约为200000km/s。电磁波在指定介质的传播速率是固定的,从公式看出,信道长度固定了,传播时延也就固定了,我们没有办法改变。网卡的不同带宽改变的是发送时延,而不是传播时延。
(3)排队时延
        分组在经过网络传输时,要经过许多的路由器。但分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。这就产生了排队时延。
        排队时延的长短往往却决于网络当时的通信量,当网络的通信量很大时会发生排队溢出,是分组丢失。
(4)处理时延
        主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部,从分组中提取数据部分,进行差错检验或查找适当的路由等,这就产生了处理时延。

        数据在网络中经历的总时延是以上四种时延的总和:
        总时延 = 发送时延 + 传播时延 + 排队时延 + 处理时延

  • 时延带宽积

        把以上讨论的网络性能的两个度量—传播时延和带宽相乘,就得到另一个很有用的度量:传播时延带宽积,即时延带宽积=传播时延×带宽。

  • 往返时间(RTT)

        在计算机网络中,往返时间也是一个重要的性能指标,它表示从发送方发送数据开始,到发送方收到来自接收方的确认(接受方收到数据后便立即发送确认)总共经历的时间。当使用卫星通信时,往返时间(RTT)相对较长。

  • 利用率

        利用率有信道利用率和网络利用率两种。信道利用率指某信道有百分之几的时间是被利用的(有数据通过),完全空闲的信道的利用率是零。网络利用率是全网络的信道利用率的加权平均值。

二、网络设备

        网络设备及部件是连接到网络中的物理实体。网络设备的种类繁多,且与日俱增。基本的网络设备有:计算机(无论其为个人电脑或服务器)、集线器、交换机、网桥、路由器、网关、网络接口卡(NIC)、无线接入点(WAP)、打印机和调制解调器、光纤收发器、光缆等。

  • 中继器(Repeater)

        中继器工作于OSI的物理层。是局域网上所有节点的中心,它的作用是放大信号,补偿信号衰减,支持远距离的通信。中继器。工作于物理层,只是起到扩展传输距离的作用,对高层协议是透明的。实际上,通过中继器连接起来的网络相当于同一条电线组成的更大的网络。中继器也能把不同传输介质(10Base 5和10Base 2)的网络连在一起,多用在数据链路层以上相同的局域网的互连中。

  • 集线器(HUB)

        集线器工作于OSI的物理层。实质上是一个多端口的中继器,在网络中只起到信号放大和转发作用,目的是扩大网络的传输范围,不具备信号的定向传送能力,是个共享式设备。
        如果每个设备只有一个对外接口,那么意味着只能建立一对点好点的通信。为了能够让通信“一对多”,需要将信号复制广播,于是,产生了集线器:把一个端口的信息重复广播到其它7个端口上(假设是8口HUB)。所以HUB也可以叫做multiport repeater。
        集线器不具有类似于交换机的"智能记忆"能力和"学习"能力。它也不具备交换机所具有的MAC地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送。也就是说当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点。

  • 网卡(NIC)

        网络接口卡(Network Interface Card),也称网络适配器,是电脑与局域网相互连接的设备。工作在OSI模型的两个层:物理层数据链路层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。
        网卡的功能主要有两个:一是将电脑的数据封装为帧,并通过网线(对无线网络来说就是电磁波)将数据发送到网络上去,二是接收网络上其它设备传过来的帧,并将帧重新组合成数据,发送到所在的电脑中。

  • 网桥(Bridge)

        网桥工作于OSI的数据链路层。现在,我们有了集线器,但是这带来一个问题,多个集线器连接在一起,但是由于是广播通信,互相冲突,所以我们现在需要一种设备,能够有效隔离子网。让广播通信仅仅在于一个局部:网桥。它把两个不同物理层,不同MAC子层,不同速率的局域网连接在一起。比如说10MB/S与100MB/S的局域网,因为它有储存转化功能。
在这里插入图片描述
        网桥也是数据链路层设备,把一个局域网一分为2,中间用网桥连接,这样A发给BCD的数据就不会再广播到EFGH了

  • 交换机(Switch)

        交换机工作于OSI的数据链路层。作用是转发数据包。和网桥一样它也是通过识别帧中的MAC地址,然后对特定的端口进行转发的。
        网桥只有两个端口。随着网络设备的发展,逐渐产生了多个端口的“网桥”,但是由于网桥是数据链路层的广播通信,A和G通信的时候,B和F就没法通信(一个桥上多个通信将产生冲突)。为了能够实现多对多的通信,于是产生了交换机。
在这里插入图片描述
        在交换机中,A和B通信的同时,C和D也可以通信——因为它们分别占用不同的端口。这样,交换机渐渐替代了HUB,成为组建局域网的重要设备。

  • 路由器(Router)

        路由器工作于OSI的网络层。是一种计算机网络设备,提供了路由与转送两种重要机制,可以决定数据包从来源端到目的端所经过 的路由路径(host到host之间的传输路径),这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转送。
        我们知道,交换机工作在数据链路层次。如果现在A节点向未知节点B通信,如果A和B之间通过N(很大)个交换机才连接在一起,那么只用交换机来实现,那么A将数据包发送之后,在到达所有其他端口,如果其他端口不能识别,那么都将进行转发,这样,最终也可以到达B,但是势必产生很多的冗余数据通信。于是,我们有了路由器。
        路由器可以根据IP来选择对应的端口,当然这里选择的依据就是路由表。

  • 网关(Gateway)

        网关工作于OSI的网络层以上。又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。大多数网关运行在OSI七层协议的顶层–应用层。
        大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关就是一个网络连接到另一个网络的“关口”。

三、OSI七层模型、TCP/IP四层模型

        七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。
在这里插入图片描述
        OSI各层协议数据单元(Protocol Data Unit),简称PDU:
在这里插入图片描述
        OSI模型各层PDU封装:
在这里插入图片描述
        TCP/IP模型各层PDU封装:
在这里插入图片描述

四、各层协议总结

        应用层协议

  • DHCP,动态主机控制协议,分配IP。端口:UDP - 67(S:服务器的端口),UDP - 68(C:客户端的端口)。
  • DNS,域名解析服务器。端口:UDP - 53 TCP - 53。
  • FTP,文件传输协议,下载,上传。 端口:20 (传输数据),21(建立连接)。
  • HTTP,超文本传输协议,web浏览,下载。 端口:80 。
  • HTTPS,HTTP + SSL(安全套阶层协议)加密传输,CA颁发网站证书。端口:443。
  • IMAP4,功能同pop3。端口:143。
  • NFS,实现Liunx或者Aix之间数据的共享。端口:2049。
  • POP3,邮局协议,通过软件(outlook,foxmail)邮件的接收。端口:110。
  • SAMBA,Windows和Linux之间共享。端口:139,445。
  • SMTP,简单邮件传输协议,邮件收发。端口:25。
  • SNMP,简单网络管理协议,管理网络架构(例:电信监控用户路由连接多少电脑) 。端口:UDP - 161,162。
  • SSH,字符界面的远程登录,加密传输。端口:22(Windows不支持SSH,Linux,Aix,Unix支持SSH)。
  • TELNET,字符界面的远程登录,明文传输。端口:23。
  • TS,终端服务,图形界面的远程登录。端口:3389。
  • VPN,虚拟局域网,异地联网。

        传输层协议,端口:16bit,1 - 65535,分为知名端口:1 - 1023,动态端口:1024 - 65535。TCP:1 - 65535,UDP:1 - 65535。

  • TCP,面向连接,保证通信质量。syn(请求标记位),ack(同意标记位),seq(本数据段的段号),ctl(数据段的功能)。

         (1)建立连接,三次握手(syn syn,ack ack)。
         (2)数据传输,确认重传,流量控制(滑动窗口),push标记位。
         (3)断开连接,四步断开。(fin fin,ack fin fin,ack)。

  • UDP,无连接 ,保证速度,数据传输又叫数据推送。

        网络层协议

  • ARP,以广播的形式利用对方的IP地址,获取对方主机mac。同子网通信,发送方使用arp协议,获取对方主机mac。异子网通信,发送方使用arp协议,获取到网关的mac。
  • ICMP,网络控制信息协议,探测网络状况,内置了很多命令:例ping命令、tracert、netstat等。(有时服务器防火墙会关闭该协议,但客户机仍能上网访问,因为上网用的http协议)。
  • IP,使用IP地址在广域网内进行寻址,寻找对方所在的子网。
  • RARP,反ARP协议,以广播的形式,通过自己的mac地址,获取自己需要的IP地址,DHCP协议专用。
原创文章 45 获赞 51 访问量 5447

猜你喜欢

转载自blog.csdn.net/hezhanran/article/details/105561790