计算机网络学习笔记

计算机网络是通用,可编程的硬件组成的,并且这些设备可互连,并且可以传输不同类型的数据 计算机网络不是只有软件概念,还有硬件设备,例如:网卡,网线,路由器等等 网络作用范围:广域网(WAN),城域网(MAN),局域网(LAN) 计算机网络发展历史 ARPANET(1969年,美国国防部创建的单个网络) 三层结构互联网(现代互联网雏形,当时主要用于连接美国学校,实验室的计算机,主干网,地区网,校园网) 多层次ISP互联网(ISP指网络服务提供商(Internet Service Provider),常见网络服务提供商有中国移动,中国电信,中国联通等等) 多层次ISP互联网,分主干ISP(主要跨国通信),地区ISP(主要局部地区通信,例如广东移动,北京电信等等) 中国创建了多个公共互联网,例如:中国电信互联网(CHINANET),中国移动互联网(CMNET),中国联通互联网(UNINET),中国教育与科研计算机网(CERNET),中国科学技术网(CSTNET)等等 计算机网络层次结构(确保数据通信顺通,识别目标计算机的状态,数据是否存在错误) 层次结构大概分3个,网络应用,数据通信,物理网络 层次细分的话,有七层,也就是OSI七层模型(OSI国际标准定义的),而且每个层都是独立的(不干预其他层),只完成不同的工作 OSI七层模型:应用层(为计算机提供服务),表示层(数据处理),会话层(管理通信会话),传输层(管理通信连接),网络层(数据路由),数据链路层(管理节点之间的数据通信,例如传输数据到另一个局域网),物理层(计算机物理设备) OSI七层模型并没有成为广泛使用的标准,而是采用TCP/IP四层模型 TCP/IP四层模型:应用层(对于OSI七层模型的应用,表示,会话,HTTP协议),传输层(OSI七层模型的传输层,TCP/UDP协议),(OSI七层模型的网络层,IP/ICMP协议)网络层,(数据链路层和物理层,ARP/RARP协议)网络接口层 计算机网络性能指标 bps=bit/s,1秒多少比特位,比特率 时延:发送时延(数据bit除以bps),排队时延(数据等待被网络设备处理的时间),处理时延(数据到达目标机器后处理需要的时间),传输时延(传输路径除以bps) 总时延 = 发送时延+排队时延+传输时延+处理时延 往返时间RTT(Route-Trip Time):数据报文在通信中来回一次的时间(可通过ping命令来查看RTT) 物理层(连接不同的物理设备,传输比特流) 物理层传输介质:双绞线(又分屏蔽和无屏蔽,区别就是增加了一层屏蔽层),同轴电缆,光纤(通过光传输,光纤内部是具有高折射率的纤芯,能折射光) 电缆使用铜作为传输介质,光纤通过光来作为传输介质 铜线中的电信号传播速度大约为2.3*10^8m/s 光纤中光信号的传播速度是2.0*10^8m/s 因此实质上电缆的传播速度比光纤快,因为光纤是利用光的反射来传输到远方的,实质光走的距离更长 但是电缆的铜在远距离的情况下,会导致衰减(主要有2个原因导致,介质损耗(通过电磁波传导,会在介质中产生电场的电荷规则排序,这会消耗能量)和导线损耗),需要通过中继器来延续信号 因此在跨市,跨城,跨省,跨国使用都是光纤(光纤的带宽比电缆好,也是一个原因),但是短距离,得益于电缆的传播速度,会更好,因此局域网内部大多使用电缆来传输(因为解析光信号,还需要个光信号调制调解器,计算机无法直接使用光纤传输的数据) 比特流:通过高低电平来表示比特流,来传输数据 信道(往一个方向传输信息的媒体,一个通信电路最少要有一个发送信道和接收信道) 信道的分类:单工通信信道(只能往一个方向通信的信道,没有反馈的信道,例如电视机的电视闭路线),半双工通信信道(可以发送和接收信息,但是不能同时发送,同时接收),全双工通信信道(可以同时发送,同时接收) 物理层会实现信道分用复用技术(提升信道的利用率) 频分复用,时分复用,波分复用,码分复用 数据链路层(封装成帧,透明传输,差错监测) 数据帧:数据链路层中数据的基本单位,数据发送方会在网络层的一段数据的前后添加特定标记,而这一段数据就是数据帧,数据接收方根据特定标记来识别数据帧,是数据链路层内部数据处理成帧 数据帧也分MAC帧(没有帧尾,因为MAC帧之间是96比特时间,帧头也是没有的,而是让物理层给MAC帧添加8bts的前导码),PPP帧(有帧头和帧尾,帧头到帧尾就是这个帧的长度) 封装成帧:数据链路层会将网络层交付的数据报文添加帧头和帧尾,让其成为帧 帧头和帧尾都是特定的控制字符(比特流),帧头(SOH):00000001,帧尾(EOT):00000100 透明传输:数据链路层对网络层提供的数据没有限制(控制字符在帧数据中,但是不会去当成数据去处理,就好像帧头和帧尾不存在一样) 字节填充(对数据内部的数据填充ESC转义字符),比特填充(零比特填充法:在每5个连续的1后面插入比特0) 数据链路层规定了帧的数据的长度限制,就是最大传输单元MTU(Maximun Transfer Unit) 以太网的MTU(MAC帧)是1500字节 路径MTU:由链路中MTU的最小值决定 差错监测:因为物理层只负责传输比特流,没有控制出错的功能,因此数据链路层提供了差错监测的功能 奇偶校验码:在发送的每个字节后加上一位,让字节中为1的数可以是奇数或者偶数,通过奇偶校验来确定数据是否出错,具体可以看https://zhizheng123.test.com/archives/77.html这篇文章,讲TCP的可靠性那里 奇偶校验码的缺点就是如果发生2位的出错,就无法校验出来错误 循环冗余校验码CRC(根据传输或者保存的数据来产生固定位数的校验码,校验码再附加到数据的后面) 模二除法:通过异或来表示0或者1,例如00就是0,01就是1,异为1,或为0 选择用于校验的多项式,并且在数据后面添加多个0,添加多个0的数据,通过模二除法来除以校验的多项式的位串,得到的余数将填充到原来数据的添加多个0的位置,来得到可校验的位串 假设校验的多项式为X3+X2+1,那么就是原数据后面添加3个0(添加多少个0取决多项式的最高阶,二进制位的最高位也取决于最高阶(最高幂次)二进制位数等于最高阶+1,这里就是表示的二进制位为4位的二进制数),二进制位串位计算就是1x3+1x2+0x1+1x0,就是1101 例如原数据为1010110,CRC校验码计算就是1010110000除以1101,得到的余数0001就是CRC校验码,在将原来填充0的位置填充CRC,就是10101100001,这个比特流就是要传输的数据 接收数据进行校验通过,传输的数据除以位串,来得到余数,根据余数来进行判断校验(余数为0则表示数据正确) 数据链路层只检测数据的错误,不会进行数据的纠错,数据错了,数据链路层将会丢弃错误的数据或者重新传输数据 MAC地址(物理地址,硬件地址,每个设备都有唯一的MAC地址,用48个比特位来表示,使用16进制) MAC地址表:映射MAC地址到硬件接口上 以太网协议是数据链路层的协议,以太网协议是局域网技术,以太网协议用于完成相邻设备的数据帧传输 网络层(数据路由,数据在网络传输的路径,跨局域网,跨节点) 路由器的顶层是网络层,没有使用到传输层和应用层 网络层的ip协议,子网划分 虚拟互连网络(物理网络复杂,使用IP协议时,将无需关心物理网络的差异) 网络层利用IP协议来将使用IP协议的计算机连接起来,就好像这些计算机只需要连接一个虚拟互连网络一样,无需关心底层经过了哪些网关,路由器,ISP等等,将专注于数据的转发工作 IP协议 IP地址(v4只有32位,v6有128位),ipv4使用点分十进制表示,使用4组从0到255的数字表示ip地址,ipv6使用冒分十六进制,用8组4位的16进制表示ipv6地址...

2022-11-01 · 2 min · Me