物理层
OSI模型:数据链路层(流量控制),从传输层开始端到端;每一层的元素都称为实体,同一层的是对等实体;三个重要概念:服务(下层为上层提供调用),接口,协议(语法,语义,同步)
TCP/IP:网络层只提供简单灵活,无连接尽最大努力交付的数据报服务,有连接的可靠传输由传输层TCP实现
物理层:传输比特流的物理介质;数据链路层:负责数据帧的传输和物理地址的处理;网络层:负责路由和逻辑地址的处理;传输层:端到端通信和数据的可靠传输,实现TCP/UDP等;应用层:负责特定的应用协议,HTTP/HTTPS;主机在哪一层,就可以同时实现下面层的协议;设备:物理层:集线器,数据链路层:交换机,网络层:路由器
网络模型:C/S,P2P ;时延;传输时延,传播时延,排队时延,处理时延,往返时间RTT:传播时延*2带宽:理论最大速率; 吞吐量:所有带宽的和
端到端通信和点到点通信的区别:物理层,链路层和网络层提供点到点的通信,传输层往上提供的是端到端的的通信。直接相连的节点之间的通信称为点到点通信,只提供一台机器到另一台机器之间的通信,不涉及程序活进程的概念。点到点通信并不能保证数据传输的可靠性,也不能说明源主机和目的主机之间是哪两个进程通信,这些是由传输层来完成的。端到端通信是简历在点到点通信的基础上,是由一段段点到点通信构成的,是应用程序之间的通信,端指的是端口。
码元Baud,单位波特:;码元的离散电平数目是只有多少种码元:16种码元->4个二进制位,数据传输速率(b/s)是码元速率的4倍
耐斯奎特定理:在理想低通条件下的极限数据传输速率:W表示带宽,V表示电平数目
香农定理:信道的极限传输速率:W带宽,S信道传输平均功率,N噪声平均功率,S/N信噪比
几种编码:
RZ归零编码(高电平代表1,最后一段降为0),NRZ非归零编码(高1低0),NRZ1反向归零编码(信号翻转代表0,不变代表1),曼彻斯特编码(最常用,高变低代表1,低变高代表0(正反可调换)),差分曼彻斯特编码(前半个和前面后半一致表示1,反向表示0)
电路交换:数据传输之前先建立专用的物理通信线路,时延小,全双工,灵活性差,无存储,无纠错;报文交换:报文携带源地址和目的地址信息,采用存储转发的模式,无需建立连接,动态分配线路;分组交换:报文分为多个数据块,加上控制信息,节点根据这些信息传递分组,下一个节点等待队列传输完成后继续进行
数据报:IP协议传输使用,存储转发的方式,每个主机查自己的转发表,发往下一个主机(计算每次数据报转发时延总和),不能保证可靠性
虚电路:数据包和电路交换大的方式结合,要建立逻辑通路(建立连接,数据传输,释放连接)(时间为分组1发送完毕的总时间减去其余分组等待分组1发送的时间),可靠性由网络保证,存在的问题问题:网络中某个节点或链路故障会造成所有经过该节点的虚电路失效
数据链路层
数据链路层的功能:组帧,差错控制,流量控制和可靠传输机制,介质访问控制(无确认无连接,有确认无连接,有确认面向连接)
奇偶校验码:n-1个信息位和一个校验位,只能检测奇数位出错的情况,不能发现哪一位错
循环冗余码(CRC):较常用,可以检测多位错;运算过程:给定一个生成多项式(最高阶数为r),一个校验序列(长为m),现在校验序列后补上r位0,新的序列长度为m+r,然后这个序列对生成多项式做模2除法,计算时候加法不进位,减法不借位
海明码:纠错编码,n为有效信息位数,k为校验位数,两者满足:n+k+1<=2^k,码距为n时,可以检测n-1位错,纠正n-1/2位错
滑动窗口流量控制与三种协议的关系:停等协议:发送窗口=1,接收窗口=1;GBN:发送窗口>1,接收窗口=1;选择重传:发送窗口>1,接收窗口>1;接收窗口的大小为1时可以保证帧的有序接收;可靠传输机制:使用超时重传和确认两种机制来保证
停等协议:发送,等待确认,再发送,帧都用0,1标识,确认帧都是ACK0和ACK1,需要有缓冲区保证再出差错时重传
GBN协议:累计确认,发送方有超时计时器,出错时回到对应位置重传。若采用n比特对帧进行编号,窗口尺寸小于2^n-1,在等待n号帧
选择重传SR:只对单帧进行确认,一般情况下最大发送窗口=最大接收窗口=2^(n-1)(通常两个窗口一样大,发送窗口大了会溢出,接收窗口大了没意义)
信道效率,就是信道的利用率,有效发送数据时间占发送周期的比例。要使信道利用率最高,利用最短帧长计算一秒可以发送多少帧
信道吞吐率=信道利用率*发送方发送速率
最大平均传输速率计算:传输时间:单帧传输时间+往返传播时延;传输内容大小:整个窗口的容量大小
静态信道划分:
频分多路复用(FDM)时分多路复用:时间片轮流发送(TDM)波分多路复用:光频率的划分(WDM)
码分多路复用:发送的内容是所有站点发送向量的叠加,知道某个站点的向量,就能通过规格化内积(向量的乘积再用项数求均值)求出发送的序号(0/1)(CDMA)
随机访问介质控制:
ALOHA协议:(不听就说)默认不检测,如果一段时间未收到,就判断为发生了冲突,于是随机等待一段时间再进行重传,这个网络负载很低。时隙ALOHA,固定只在时隙开始时候发送
CSMA:(先听再说)有三种模式:1-坚持:节点发送数据前先监听信道,如果空闲则立即发送,如果信道忙就持续监听;非坚持:如果信道忙就放弃监听,等一个随机时间之后继续监听;p-坚持:如果信道空闲,有p概率发送,1-p概率到下一个时隙以p概率发送
CSMA/CD 802.3:以太网协议(拓扑结构逻辑上是总线形,物理上是星形),半双工(全双工两条信道,不需要碰撞检测),先听后发,边听边发,冲突停发,随机重发;最短帧长(64B)=总线传播时延*数据传输速率*2,速率提高则增加帧长或减少介质长;截断二进制指数规避算法K=min[10,重传次数],r=[0,1,...,2^k-1],16次不成功则报告出错;
CSMA/CA 802.11:无线传输协议,没有碰撞检测,时碰撞的避免(减少碰撞发生的概率):规定所有站发送完之后必须等待一段时间才能继续发送;三种IFS,SIFS(短),PIFS(点),DIFS(分布式);RTS预约信道
令牌环网 802.5:轮询机制,持有令牌才能发送,数据是沿着环路传输,到了目的被接收,适合高负载的信道(多个节点在同一时刻发送的概率大)
IEEE802把数据链路层分为:逻辑链路层LLC(上,负责识别网络协议和进行封装),介质访问层MAC(下,数据帧的装卸,寻址和识别,接收与发送),两个子层
局域网(LAN)的范围是物理层和链路层,广域网在前两层的基础上加了网络层。广域网的特性:分组交换,存储转发
以太网MAC帧:目的地址6B,源地址6B,类型2B,数据46-1500B,FCS4B;100BASE-T以太网,速率100Mb/s,可以全双工和半双工
802.11MAC帧:地址字段:去往AP,来自AP,地址1(接收地址),地址2(发送地址)地址3(源/目的)
VLAN:虚拟局域网,与地理位置无关的逻辑上的局域网
PPP协议:点对点协议,面向字节的协议,拨号方式建立直接连接两个点的链路,只支持点对点,不支持多点;提供差错检测但是不提供纠错功能;全双工;默认异步填充字符,同步填充比特
交换机的本质是一种多端口的网桥;转发的是物理机的MAC地址(6B);交换机可以实现隔离冲突域,根据交换表只会发送到对应的机器,集线器则无法隔离冲突域,都发送
二层/三层交换机:二层交换机指的是负责内网数据转发的交换机主要服务网络的第二层数据链路层;三层交换机一般指的是路由器,带有路由选择的功能,服务于网络层;二层交换机主要作用是负责内网设备互联,三层交换机连接不同的子网和自治系统,区分两者是为了网络分层设计
分组交换机:流量控制:临时缓存不能转发的数据报包,缓冲机制可以避免瞬时流量过大造成的丢失;拥塞控制:临时缓存数据包平滑流量,环节网络拥塞,根据缓存使用情况调整网络的速率
网络层
SDN:向上划分为控制平面(使用北向API),向下划分为数据平面(使用南向API)
距离向量路由算法(所有节点定期将整个路由表传给相邻的节点),用于RIP(UDP使用)
链路状态算法,OSPF协议(IP使用),计算Dijkstra最短路;更新是用洪泛算法向整个自治系统中的所有路由器发送信息
快收敛的含义,快速到达实际的拓扑状态
IPv4数据报格式:首部长度用4B为单位计算,最短是20B;总长度=首部+数据,1B为单位;首部校验和,只校验首部;片偏移:以8B为计算单位;标志位有三位:保留位,DF是否分片(如果为1且IP数据报长度超过MTU,则丢弃分组),MF更多分片
三类IP地址:开头分别为0,10,110;主句号全是0表示网络本身,主机号全是1表示广播;127.x.x.x是会还地址;32位全0表示网络上的本主机,32位全1表示整个TCP/IP的广播地址
NAT转换:利用端口映射,有对应的转换表;WEB服务默认端口80,NAT转换访问WEB则转换表端口80;从内网机器出,访问外网机器:源IP是主机内网IP,目的IP是目的主机外网IP,本地路由器转发后,源IP改为路由器IP;再经过目的路由器转发,目的IP改为目的机器内网IP
子网划分:需要用子网掩码来对原主机号借位;同属于一个子网的所有主机和路由器有相同的子网掩码,同一个子网内的设备是被可以互相访问,网关和路由器不一致不能上internet;在路由器下的不同子网要访问需经过路由器,要正确配置网关和子网掩码;路由器的路由表中包含目的网络地址,子网掩码,下一跳的地址;
路由器转发表:(目的网络,子网掩码,下一跳IP,接口)转发一次TTL-1;路由器转发使用的是最长匹配前缀;聚合技术精简转发表;路由器访问WEB服务器,报文源IP是路由器IP,目的IP是WEB服务器
连接到互联网使用默认路由(目的IP:0.0.0.0,子网掩码:0.0.0.0),连接到域名服务器使用特定路由表项(目的IP:域名服务器IP,子网掩码:255.255.255.255)
CIDR无分类编址:尽量满足最大需要,最长匹配前缀的概念,灵活性号,主机数量都是2的幂
ARP地址解析协议:网络层是使用IP来完成寻址,每台主机都有ARP高速缓存,用来存储局域网上各主机和路由器IP地址到MAC的映射表;局域网内主机发送数据之前会先查缓存,找到对应主机的MAC地址,没有的话就广播请求ARP分组;ARP表为空,或缓存表中不存在,广播帧(局域网所有设备都能收到):ff-ff-ff-ff-ff-ff,对应主机收到后发送响应分组
DHCP动态主机配置协议:用于给主机动态分配IP地址,是应用层协议,基于UDP的,使用C/S模式,需要IP地址的主机发送报文,主机就成为了客户;主机都通过广播来交互(因为不是TCP不需要建立连接);主机请求IP地址发送DHCP Discover,源地址0.0.0.0,目的地址255.255.255.255
ICMP网际报文控制协议:ICMP报文作为IP层数据报的数据加上了IP首部,即使用IP作为服务;差错情况:终点不可达,源点抑制,时间超时,参数问题,改变路由(重定向);报文类型:回送请求和回答,时间戳请求和回答,地址掩码请求和回答,路由器询问和通告;常见应用PING(工作在应用层,直接使用网络层的ICMP,不用TCP/UDP,回送请求和回答报文),Traceroute(工作在网络层)
自治系统指的是单一技术管理下的一组路由器,这些路由器都使用一种AS内部的路由选择协议和共同的度量。
内部网关协议IGP,即一个自治系统内部的路由选择协议,包含(RIP,OSPF)
外部网关协议EGP,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中
路由信息协议RIP:一种分布式的基于距离向量的路由选择协议,最大有点就是简单;距离就是跳数,优先选择跳数少的线路,16跳会被当作不可达;每30秒广播一侧RIP路由更新信息;
开放最短路径优先协议OSPF:向自治系统中的所有路由器发送信息,使用洪泛算法,RIP是仅向相邻节点发送;OSPF是网络层协议,不使用UDP或者TCP,使用IP数据报,RIP是用于层协议,使用UDP;路由表中不存储完整的路径,只存储下一跳
边界网关协议BGP:是一种外部网关协议,不同自治系统的路由器之间交换路由信息的协议;力求寻找一条能够到达目的的网络且比较好的路由;BGP报文是通过TCP传送的;iBGP路由系统内部,eBGP自治系统之间
冲突域:指连接到同一物理介质上的所有节点的集合,这些节点存在介质争用的线性;冲突域是第一层概念,集线器,中继器等无法划分冲突域,而第二层网桥,交换机,第三层路由器都可以划分冲突域
广播域:是指接收同样的广播消息的节点的集合,即在集合中的任何一个节点发送一个广播帧,能收到这个帧的节点都被认为是广播的一部分。广播域是第二层的概念,只有第三层的路由器可以划分广播域;路由器解决广播风暴
传输层
传输层位于网络层之上,为运行在不同主机上的不同进程提供逻辑通信。网络层不可靠,但是传输层要提供可靠服务
保留端口:0-1023TCP/IP常用端口:FTP21,SSH22,TELNET23,SMTP25,DNS53,TFTP69,HTTP80,SNMP161
套接字:(主机地址+端口号)网络中通过IP地址来表示和区别不同的主机,通过端口来识别不同的进程
TCP:面向连接,实现可靠传输,首部20B,开销大,适用域比较重要的场合,文件传输FTP,超文本传输HTPP,远程登录TELNET;UDP:无连接,不可靠的传输,首部8B,执行比较快,实时性好
IP数据报的校验和之计算首部,而UDP的校验和会计算数据部分:校验和的计算是全部的值二进制相加,求出来的结果取反码
UDP的伪首部并不是真正的首部,为了计算校验和临时添加的;UDP的复用,分用依赖的是端口号
TCP数据报:IP首部20B+TCP首部20B+数据;连接时需要三次握手,ack返回的是seq+1;TCP释放连接时需要四次挥手,服务器传输结束后还需要等待一段时间才能结束;TCP的可靠传输靠的是超时重传(3个RTTs)和确认来实现的;TCP是全双工的
流量控制:防止接收房缓存溢出,基于滑动窗口协议的流量控制,接收方通知rwnd最大接收能力,发送方控制流量在rwnd大小之内;传输层的流量控制是端到端的流量控制,数据链路层的流量控制是相邻节点的流量控制
TCP拥塞控制:cwnd窗口大小初始为1,cwnd<ssthresh:窗口按照2的次方速度增加;cwnd>ssthresh:每次窗口加1;拥塞处理:发现拥塞则ssthresh减半,慢开始是自治时候重新从1开始,快恢复是直接从ssthresh开始拥塞避免
TCP发送窗口的大小 = min{接收窗口,拥塞窗口},如果有为确认,发送窗口 -= 未确认窗口大小
C/S模型中服务器处于接收请求的状态,客户必须知道服务器的地址然后发出请求,服务器分析客户请求并处理返回给客户,服务器性能的好坏决定了整个系统的性能,当大量用户请求服务时,服务器就成为系统的瓶颈。P2P模型的思路时整个网络中传输的内容不被保存在中心服务器,每个节点都同时具有下载上传的功能,义务和权力都是对等的,P2P模型中的的任意一对计算机称为对等方,扩展性号,健壮性强,可共享文档
应用层
DNS域名系统:根域名服务器知道所有顶级域名,顶级域名服务器知道所有二级域名;DNS存储了部分的域名结构,如果DNS中没有就需要查找;递归查询是不停地利用上一级服务器查询,不常用,迭代查询是主机自己往上查询
FTP文件传输协议:FTP工作时需要建立两个并行的TCP连接,一个是控制连接(端口21,传递控制信息),一个是数据连接(端口20,传递数据,传输完毕后这个先关闭);使用最广泛的文件传输协议,允许指明文件的类型和格式
电子邮件系统:发送SMTP,接收有POP3,IMAP;流程:发件人用户代理(SMTP客户),SMTP发送邮件(TCP连接),发送方服务器(SMTP服务器->SMTP客户端),SMTP发送邮件(TCP连接),接收方服务器(SMTP服务器->POP3服务器),POP3读取邮件(TCP连接),收件人用户代理(POP3客户端)
SMTP简单邮件传输协议:使用C/S模式,需要建立TCP连接,端口25;POP3邮局协议:拉取的通信方式,也是建立TCP连接,端口号110;IMAP
因特网报文存取协议:比较复杂,提供用户创建文件夹,移动邮件的功能;网络邮件Gmail等比较多用HTTP来收发,在邮件服务器之间传递采用SMTP
一般使用HEAD来调试,请求无需返回
HTPP超文本传输协议:定义来浏览器怎样向服务器请求万维网文档以及服务器怎么把文档传递给浏览器,HTTP是面向意义层的协议;浏览器要访问www服务器时,首先要对域名完成解析,建立TCP连接,客户然后再发送HTTP请求报文,获取页面的相关元素;分为持久连接和非持久连接,非持久连接再服务器传输文档过后就结束;HTTP1.0只能建立非持续的连接
计算HTTP请求的时间:建立TCP连接需要三次握手(1RTT+第二个RTT即第三次握手捎带HTTP请求),窗口动态扩大,初始1MSS,然后每个RTT扩大,文件超过窗口则需要分片,计算传输全部内容所需的时间