计算机网络知识

计算机网络概念:**一个将分散的、具有独立的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。**简言之,计算机网络就是一些互联的、自治的计算机系统集合。计算机遵循协议进行资源共享和数据传输
计算机网络的组成从三个角度来看
1、工作方式:边缘部分和核心部分。边缘部分由连接在因特网上、供用户直接使用的主机组成。核心部分由大量的网络和连接这些网络的路由器组成。
2、组成部分:计算机网络主要由软件、硬件和协议组成。其中协议规定了传输数据的规范。
3、功能组成:通信子网和和资源子网。
计算机网络分类
1、按范围广域网:(点对点几十到几千千米)、城域网(以太网技术5-50km)、局域网(广播技术几十米到几千米)、个人区域网
2、按传输技术:广播式网络(局域网)、点对点交换技术(广域网)
3、拓扑结构:星型网络(中心是路由器和交换机早期是计算机)、总线型、环形网络(信号单项传输)、网状网络
交换技术分类
电路交换:在源节点和目的节点建议一条专用的通路用于数据传输,包括建立连接、传输数据和断开连接三个阶段。(最典型的电路交换网是传统电话网路)。
报文交换:无需建立连接,携带有目的地址等信息,采用存储转发方式。
分组交换:将报文分割成小的数据块,加上必要的控制信息进行传输。
1 、 OSI ( Open System Interconnect ):开放系统互联,是一个七层的计算机网络模型,分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

TCP/IP ( Transmission Control Protocol/Internet Protocol ):传输控制协议 / 因特网互联协议,是一个四层的计算机网络模型,分别为:网络接口层、网络层、传输层和应用层。结合 OSI 和 TCP/IP 产生了一个五层结构,分别为:物理层、数据链路层、网络层、传输层和应用层。 Internet 就是采用的 TCP/IP 协议。
2 、中继器(离散的数字信号)、放大器(连续的模拟信号)、集线器(多端口的中继器)工作在 OSI 模型的物理层,网卡工作在 OSI 模型的物理层,交换机和网桥工作在数据链路层,路由器工作在网络层。
3 、机器 A 的 IP 地址为 202.96.128.130 ,子网掩码为 255.255.255.128 ,则该 IP 地址的网络号为 202.96.128( 利用 IP 地址和子网掩码求与运算 ) ,主机号为 130 。
4、ARP地址解析协议:
( 1 )首先,每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
( 2 )当源主机要发送数据时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC 地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址。
( 3 )当本网络的所有主机收到该 ARP 数据包时,首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖,然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。
( 4 )源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。
带宽:最高数据率吞吐量:单位时间内通过网络的数据量
体系结构:计算机网络各层及其协议的集合称为网络的体系结构。
实体:任何可以发送或者接受信息的硬件或者软件进程。服务数据单元(SDU)、协议控制信息(PCI)、协议数据单元(PDU)SDU+PCI=PDU作为上层的SDU
服务是垂直的,协议是水平的
协议:协议是规则的集合,协议由语法(传输数据格式)语义(要完成的功能)和同步(执行操作的条件和时序)组成。
单工半双工全双工
单工:只有一个方向的通信,没有反方向的交互,只需要一条信道。
半双工:通信的双方都可以发送和接收信息但是任何一方都不能同时发送和接收。需要两条信道。
全双工:通信双方可以同时发送和接收消息。需要两条信道。
码元传输速率:单位时间内数字通信系统传输码元的个数。
信息传输速率:单位时间内通过数字通信系统传输的二进制码元的个数。
奈氏准则给出了码元传输速率的限制,香农定理给出了极限信息传输速率
调制:把数据转换成模拟信号的过程
编码:把数据转换为模拟信号的过程
数字数据——>数字信号:非归零码、曼赤斯特编码等。
数字数据——>模拟信号:调幅调相调频等。
模拟数据——>数字信号:抽样量化编码。
模拟数据——>模拟信号:频分复用技术。
传输介质:分为有线和无线
有线:双绞线()局域网和传统电话网、同轴电缆(有限电视系统)、光纤(传播光脉冲)单模光纤的光源为定向很好的激光二极管。
无线:无线电波、微波(卫星通信)、红外线和激光
分组交换:数据报和虚电路
数据报服务:分组之间可能存在不同路径,各个分组分别转发
虚电路服务:在发送方和接收方之间建一条逻辑上的虚电路,分组沿着虚电路传播
在这里插入图片描述
数据链路层:封装成帧、透明传输、差错检测、可靠交付、流量控制、差错纠正、半双工和全双工。最重要的是帧定界(成帧)、透明传输以及差错检测。
帧定界
答:帧定界就是确定帧的界限,其方法有:字节计数法(在帧头部用一个计数字段来表明帧内字符数)、字符填充法(用一些特定的字符来定界帧的开始和结束)、零比特填充法(发送方每5个了自动在后面插入一个0,接收方每收到五个连续的1,自动删除后面的0)、违规编码法。
透明传输
答:即应能传输任何的数据,无论什么样的比特组合都能传送过去。在帧定界中用到的标记帧起点和结束的字符也应该能正确的被传输。
差错检测
答:循环冗余检验 CRC ,计算出的结果叫做帧检验序列 FCS 。循环冗余检验序列 CRC 差错检测技术只能做到无差错接受,即凡是接收端数据链路层接受的帧,我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错,但是要做到可靠传输(即发送什么就收到什么),也就是说,传输到接收端的帧无差错、无丢失、无重复,同时还按发送的顺序接收,这时就必须再加上确认和重传机制。
流量控制
41 、实现可靠传输的协议?
( 1 )停止等待协议:每发送完一帧就停止发送,直到收到接收到发送回来的确认在发送下一帧,如果没有收到接收端的确认,则通过设定的定时器超时了重传上一帧。其存在的三种可能:
重 传可能会导致接收端收到相同的帧,这时候根据序号来判定,如果收到的帧的序号之前已经被接收到了,则新接收到的帧被丢弃。因为可能会出现接收端不能在一次 情况就能正确接收,因此帧需要在发送端备份一份,直到被确认后才丢弃,因为该协议一次只能发送一帧,因此发送端的缓存区不需要太大。
( 2 )连续 ARQ 协议:发送窗口大于 1 ,接收窗口等于 1 ,因此发送窗口已经发送到了序号为 5 的帧,但是接收端接收到序号为 3 的帧出现错误时,那 3 号以后的帧都需要重传,因此出现错误的情况可能会导致重传多个帧,同时为了能够在出错时重传,因此发送出来还没有经过确认的帧都需要在发送端全缓区进行保存,这种情况需要的缓冲区比停止等待协议需要的更大。但采用 n 比特来表示编号时,则发送窗口的的大小为 时,该协议才能正确工作。若用n比特编号时,则发送窗口的大小 WT<=2n -1。
( 3 )选择重传 ARQ 协议:发送方可以一次发送N帧,可以不按序接收,重传没有确认的帧。
介质访问
分为静态和动态
静态
⑴频分多路复用(FDM):将多路基带信号调制到不同频率载波上再进行叠加形成一个符合信号的多路复用技术。
⑵时分多路复用(TDM):将一条物理信道按时间分成若干个时间偏,轮流地分配给多个信号使用。每一时间片由复用的一个信号占用。
⑶波分多路复用(WDM):光的频分复用:用波长分解复用器将各路波长分解出来。光带宽很高。。。
⑷码分多路复用(CDM):靠不同的编码来区分各路原始信号的一种复用方式。与FDM和TDM不同,它即共享信道的频率,又共享时间。
码分多址(CDMA)是码分复用的一种方式。原理是将一比特时间分为m个更短的时间草,称为芯片(码片),通常没比特有64/128个芯片。每个站点被指定1个唯一的m位的代码或芯片序列。当发送1时站点就发送芯片序列,发送0时发送序列的反码,要求各个站点的芯片序列是相互正交的。
2.随机访问介质访问控制:所有用户更具自己的意愿随机发送信息,占用信道全部速率,在总线网中,当有两个或更多用户同时发送信息时,会产生帧的冲突(碰撞,干扰),这导致所有冲突用户的发送均以失败告终,为解决此问题,每个用户按照一定的规则反复地重传它的帧,直到该帧无碰撞地通过,这些规则就是随机MAC协议。

常用的协议有:ALOHA协议、CSMA协议、CSMA/CD协议和CSMA/CA协议等。核心思想都是胜利者通过争用活得信道,从而获取信息的发送权(因此称为争用型协议),重点介绍CSMA/CD协议。
CSMA/CD:工作流程可简单概括为“先听后发、边听边发、碰撞停发、随机重发”
1-坚持:闲则发送,忙则继续监听。
非坚持:闲则发送,忙则等待一个随机时间在听。
p-坚持:闲则以概率p发送,1-p等待下一个时隙,忙则等待下一个随机时间在监听。
碰撞解决:采用二进制指数退避算法来解决碰撞问题。
二进制指数退避算法在王道92页。
在这里插入图片描述
轮询访问介质控制:令牌传递协议。其中令牌是一组特殊的比特组成的帧。适合负载很高色广播信道,如果采用随即介质访问控制,发生冲突的概率很大。数据链路层研究的是“点到点”的通信。
局域网:在较小的地理范围内,将各种计算机设备用双绞线等介质连接。
以太网是目前适用范围最广的局域网,逻辑拓扑是总线型,物理拓扑是星型结构。
以太网 MAC 帧格式
在这里插入图片描述
以太网最短的帧为64B,而MAC帧的首部和尾部长度为18字节,所以数据最短长度为46字节。其次最大的1500字节是规定,没有什么为什么。
高速以太网
100BASE-T以太网(在双绞线上传播100Mb/s的基带信号),支持全双工也支持半双工。
吉比特以太网和10吉比特以太网。
广域网:指覆盖范围很广的网络,是因特网的核心部分。广域网和局域网的区别和联系如下:
在这里插入图片描述
PPP协议和HDLC协议是目前广域网数据链路层的控制协议
PPP协议:面向字节,采用字节填充方式,支持全双工链路。HDLC协议面向比特…
在这里插入图片描述
网桥:把两个或者多个以太网通过网桥连接起来变成一个网段。
交换机:多端口的网桥。自学习算法构造交换表。
网络层:
求网络号:机器 A 的 IP 地址为 202.96.128.130 ,子网掩码为 255.255.255.128 ,则该 IP 地址的网络号为 202.96.128( 利用 IP 地址和子网掩码求与运算 ) ,主机号为 130 。
路由器的主要两个功能:路由选择和分组转发
路由选择:根据从相邻路由器所得到的关于整个拓扑网络拓扑变化的情况,动态改变所选择的路由。
分组转发:指路由器按照转发表将用户的数据包从合适的端口转发出去。
路由算法:静态路由算法(有网络管理员手工配路由信息)动态路由算法(距离-向量路由算法RIP和链路状态路由算法OSPF)
层次路由:因特网将整个互联网分成很多小的自治系统。一个自治系统内部所使用的路由协议成为内部网关协议(IGP),具体的有RIP和OSPF。自治系统之间使用的是外部网关协议(EGP),具体的有BGP。
IP数据报分片
在这里插入图片描述
因为下层数据链路层最大长度是1500B。
IPv4地址:总共32为,分为网络号和主机号。
在这里插入图片描述
一般全 0 或全 1 的地址不使用,有特殊意思,主机地址为全 1 时为广播地址,全 0 时表示网络地址。同时 127.0.0.1 表示回路, ping 该 IP 地址可以测试本机的 TCP/IP 协议安装是否成功。
NAT网络转换
网络地址转换,是一种将专用网络地址转换为公用地址的转换技术,这种技术可以解决现在 IP 地址不够的问题。NAT路由器使用NAT转换表将本地地址转换为全球地址,或者将全球地址转换为本地地址。NAT转换表中存放着{本地IP地址:端口}到{全球IP地址:端口}的映射,通过这样的方式,可以将多个IP地址映射到同一个全球IP地址。
子网划分和子网掩码
两级IP地址:IP地址空间的利用率很低,给每个物理网络分配一个网络号会使得路由表太大使得网络性能下降,两级IP地址不够灵活。
划分子网后:{<网络号><子网号><主机号>},划分子网只是将IP地址的主机号进行在划分,对主机号进行借位。
子网掩码:为了告诉主机或者路由器对一个A类、B类或者C类网络进行子网划分,使用子网掩码表达对原网络中主机号的借位。
无分类编址CIDRhttps://blog.csdn.net/xd_hebuters/article/details/79141923
DHCP协议
动态主机配置协议,给主机动态的分配IP地址。是一种让系统得以连接到网络上,并获取所需要的配置参数手段。通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
ICMP协议
ICMP是InternetControl Message Protocol,因特网控制报文协议,来容许主机报告差错和异常情况。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由器是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP报文有两种:差错报告报文和询问报文。
在这里插入图片描述
IPv6从IPv4的32位到128位。
在这里插入图片描述
IPv4采用点分十进制,IPv6采用每四位用一个十六进制数来表示,并且用冒号来分割。
在这里插入图片描述
RIP路由协议
在这里插入图片描述
特点只和相邻的路由器交换信息,交换的是当前路由器知道的全部信息,也就是自己的路由表,按照固定的时间间隔交流信息,如每隔三十秒。
OSPF路由协议
特点:
向本系统中所有路由器发送信息,这里使用的方法是洪泛法。发送的信息是与本路由器相邻的所有路由器的链路状态。只有当链路状态发生变化时,路由器才使用洪泛法向所有路由器发送信息,并且更新过程收敛很快,不会出现rip协议或消息传得慢的问题。ospf是网络层的协议,而rip是应用层的协议。
在这里插入图片描述
路由器:可以用来连接异构网络,完成路由转发,能隔离冲突域和隔离域,依照IP地址转发。路由器分为控制部分和转发部分。控制部分:路由选择处理机,根据路由协议构造和维护路由表。分组转发部分:交换结构、一组输入端口和输出端口。
运输层协议与网络层协议的区别?
网络层和传输层
网络层协议负责的是提供主机间的逻辑通信,运输层协议负责的是提供进程间的逻辑通信。
传输层:提供进程之间的逻辑通信、复用和分用功能、差错检测、面向连接的TCP和无连接的UDP。
UDP协议:用户数据报协议,传输单位数据报。特点是无连接、尽最大努力交付、首部开销小、应运层要保证可靠性。首部中存放着源端口号、目的端口号、长度和校验和。检验:采用首部、为首部、数据进行二进制反码运算求和再取反。
TCP协议
特点:有连接、面向字节流、全双工通信、提供可靠交付、一对一
首部:20字节、源端口、目的端口、序号、确认号等信息。
TCP连接三次握手和释放的四次握手
(1). 三次握手(我要和你建立链接,你真的要和我建立链接么,我真的要和你建立链接,成功):
第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。
在这里插入图片描述
(2). 四次挥手(我要和你断开链接;好的,断吧。我也要和你断开链接;好的,断吧):
第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。此时TCP链接处于半关闭状态,即客户端已经没有要发送的数据了,但服务端若发送数据,则客户端仍要接收。
第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。
第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。
在这里插入图片描述
为什么TCP链接需要三次握手,两次不可以么,为什么?
 为了防止 已失效的链接请求报文突然又传送到了服务端,因而产生错误。
  客户端发出的连接请求报文并未丢失,而是在某个网络节点长时间滞留了,以致延误到链接释放以后的某个时间才到达Server。这是,Server误以为这是Client发出的一个新的链接请求,于是就向客户端发送确认数据包,同意建立链接。若不采用“三次握手”,那么只要Server发出确认数据包,新的链接就建立了。由于client此时并未发出建立链接的请求,所以其不会理睬Server的确认,也不与Server通信;而这时Server一直在等待Client的请求,这样Server就白白浪费了一定的资源。若采用“三次握手”,在这种情况下,由于Server端没有收到来自客户端的确认,则就会知道Client并没有要求建立请求,就不会建立链接。
Get与POST的区别
 GET与POST是我们常用的两种HTTP Method,二者之间的区别主要包括如下五个方面:
(1). 从功能上讲,GET一般用来从服务器上获取资源,POST一般用来更新服务器上的资源;
(2). 从REST服务角度上说,GET是幂等的,即读取同一个资源,总是得到相同的数据,而POST不是幂等的,因为每次请求对资源的改变并不是相同的;进一步地,GET不会改变服务器上的资源,而POST会对服务器资源进行改变;
(3). 从请求参数形式上看,GET请求的数据会附在URL之后,即将请求数据放置在HTTP报文的 请求头 中,以?分割URL和传输数据,参数之间以&相连。特别地,如果数据是英文字母/数字,原样发送;否则,会将其编码为 application/x-www-form-urlencoded MIME 字符串(如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII);而POST请求会把提交的数据则放置在是HTTP请求报文的 请求体 中。
(4). 就安全性而言,POST的安全性要比GET的安全性高,因为GET请求提交的数据将明文出现在URL上,而且POST请求参数则被包装到请求体中,相对更安全。
(5). 从请求的大小看,GET请求的长度受限于浏览器或服务器对URL长度的限制,允许发送的数据量比较小,而POST请求则是没有大小限制的。
流量控制
在确认报文中设置接收窗口的rwnd的值来限制发送速率。
拥塞控制
计算机网络中的带宽、交换结点中的缓存及处理机等都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏,这种情况就叫做拥塞。拥塞控制就是 防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。注意,拥塞控制和流量控制不同,前者是一个全局性的过程,而后者指点对点通信量的控制。拥塞控制的方法主要有以下四种:
1). 慢启动:不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小;
2). 拥塞避免:拥塞避免算法让拥塞窗口缓慢增长,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是加倍,这样拥塞窗口按线性规律缓慢增长。
在这里插入图片描述
3). 快重传:快重传要求接收方在收到一个 失序的报文段 后就立即发出 重复确认(为的是使发送方及早知道有报文段没有到达对方)而不要等到自己发送数据时捎带确认。快重传算法规定,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段,而不必继续等待设置的重传计时器时间到期。
在这里插入图片描述
4). 快恢复:快重传配合使用的还有快恢复算法,当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把ssthresh门限减半,但是接下去并不执行慢开始算法:因为如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方现在认为网络可能没有出现拥塞。所以此时不执行慢开始算法,而是将cwnd设置为ssthresh的大小,然后执行拥塞避免算法。
在这里插入图片描述
网络应用模型:客户服务模型和p2p模型
C/S模型:区分处理请求的服务器和发出请求的客户机
P2P模型:每台机器既是服务器也是客户机
DNS域名解析系统

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值