大家好,我是讯享网,很高兴认识大家。
一、计算机网络概述
1.1 计算机网络的分类
按网络范围分:广域网(WAN)、城域网(MAN)、局域网(LAN);
根据网络用户:公网和专网。
1.2 计算机网络的层次结构
TCP/IP四层模型与OSI体系结构的比较:
1.3 层次结构设计的基本原则各层之间是相互独立的;每一层需要有足够的灵活性;各层之间完全解耦。
1.4 计算机网络的性能指标
速率:bps=bit/s延迟:发送延迟、传播延迟、排队延迟、处理延迟往返时间RTT:数据报文在端到端通信中的往返时间。
二、物理层
物理层的功能是连接不同的物理设备并传输比特流。这一层为上层协议传输数据提供了可靠的物理介质。简单来说,物理层保证原始数据可以在各种物理介质上传输。
物理层:
中继器【Repeater,也叫放大器】:同一局域网的再生信号;两端口的网段必须同一协议;5-4-3规程: 10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机;集线器:同一局域网的再生、放大信号(多端口的中继器);半双工,不能隔离冲突域也不能隔离广播域。
信道的基本概念:信道是单向传递信息的介质。通信电路包含发送通道和接收通道。
单工通信信道:只能一个方向通信,没有反方向反馈的信道;半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收;全双工通信信道:双方都可以同时发送和接收。三、数据链路层3.1 数据链路层概述
数据链路层根据物理层提供的服务向网络层提供服务。它最基本的服务是将数据从网络层可靠地传输到相邻节点的目标网络层。数据链路层在不可靠的物理介质上提供可靠的传输。
这一层的功能包括:物理地址寻址、数据成帧、流量控制、数据错误检测、重传等。
关于数据链路层的重要知识点:
数据链路层为网络层提供可靠的数据传输;基本数据单位为帧;主要的协议:以太网协议;两个重要设备名称:网桥和交换机。
封装和成帧:“帧”是数据链路层的基本数据单位:
透明传输:“透明”意味着即使控制字符在帧数据中,它们也应被视为不存在。也就是说,转义字符ESC被添加在控制字符之前。
3.2 数据链路层的差错监测
错误检测:奇偶校验码,循环冗余校验码
奇偶校验码–局限性:当出错两位时,检测不到错误。循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。3.3 最大传输单元MTU
MTU(最大传输单元(Maximum Transmission Unit,MTU),数据链路层的数据帧不是无限的,数据帧的长度受到MTU的限制。
路径MTU:由链路中的最小MTU决定。
3.4 以太网协议详解
MAC地址:每台设备都有一个唯一的MAC地址,总共48位,用十六进制表示。
以太网协议:这是一种广泛使用的局域网技术,也是一种应用于数据链路层的协议。使用以太网可以完成相邻设备的数据帧传输:
局域网分类:
以太网以太网IEEE802.3:
以太网第一个广泛部署的高速局域网以太网数据速率快以太网硬件价格便宜,网络造价成本低以太网帧结构:类型:标识上层协议(2字节)目的地址和源地址:MAC地址(每个6字节)数据:封装的上层协议的分组(46~1500字节)CRC:循环冗余码(4字节)以太网最短帧:以太网帧最短64字节;以太网帧除了数据部分18字节;数据最短46字节;MAC地址(物理地址、局域网地址)MAC地址长度为6字节,48位;MAC地址具有唯一性,每个网络适配器对应一个MAC地址;通常采用十六进制表示法,每个字节表示一个十六进制数,用 – 或 : 连接起来;MAC广播地址:FF-FF-FF-FF-FF-FF。四、网络层
网络层的目的是实现两个终端系统之间透明的数据传输,具体功能包括寻址和路由、连接建立、维护和终止等。数据交换技术是报文交换(基本上被包代替):采用存储转发方式,数据交换单位是报文。
网络层涉及的协议很多,其中最重要的协议,也是TCP/IP-IP协议的核心协议。IP协议非常简单,只提供不可靠和无连接的传输服务。IP协议的主要功能是无连接的数据报传输、数据报路由和差错控制。
IP协议配合ARP、RARP、ICMP和IGMP实现其功能。我们将在下一部分总结具体的协议,关于网络层的要点如下:
网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;基本数据单位为IP数据报;包含的主要协议:IP协议(Internet Protocol,因特网互联协议);ICMP协议(Internet Control Message Protocol,因特网控制报文协议);ARP协议(Address Resolution Protocol,地址解析协议);RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。重要的设备:路由器。
路由器相关协议
4.1 IP协议详解
互联网协议是互联网网络层的核心协议。虚拟互联网的出现:实际的计算机网络是复杂的;物理设备通过使用IP协议屏蔽物理网络之间的差异;当网络中的主机使用IP协议进行连接时,就不需要关注网络的细节,这样就形成了一个虚拟网络。
IP协议使复杂的真实网络成为一个虚拟的互联网络;解决了虚拟网络中数据报传输路径的问题。
其中,版本是指IP协议的版本,占4位,如IPv4、IPv6;报头长度表示IP报头长度,占4位,最大值为15位;总长度表示IP数据报的总长度,占16位,最大值为65535;表示TTL IP数据报文在网络中的寿命,占8位;协议表示IP数据承载的具体数据是什么协议,比如TCP和UDP。
4.2 IP协议的转发流程
4.3 IP地址的子网划分
A类(8个网络号+24个主机号)、B类(16个网络号+16个主机号)和C类(24个网络号+8个主机号)可以用来标识网络中的主机或路由器。D类地址用作组播地址,E类地址保留。
4.4 网络地址转换NAT技术
用在私有网络中,多台主机通过一个公共IP访问Internet,它减缓了IP地址的消耗,但增加了网络通信的复杂性。
NAT 工作原理:
出内网的IP数据报用NAT服务器拥有的合法公网IP地址替换其IP地址,并将替换关系记录在NAT转换表中;
从公网返回的IP数据报根据其目的IP地址搜索NAT转换表,用搜索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络。
4.5 ARP协议与RARP协议
地址解析协议ARP(Address Resolution Protocol):提供网卡(网络适配器)IP地址到相应硬件地址的动态映射。网络层32位地址可以转换为数据链路层MAC48位地址。
ARP是即插即用的,自动建立一个ARP表,不需要系统管理员配置。
RARP(反向地址解析协议)协议是指反向地址解析协议,可以将数据链路层的MAC48位地址转换为网络层的32位地址。
4.6 ICMP协议详解
互联网控制消息协议,可以报告错误消息或异常情况。ICMP消息封装在IP数据报中。
ICMP协议的应用:Ping应用:网络故障的排查;Traceroute应用:可以探测IP数据报在网络中走过的路径。4.7网络层的路由概述
路由算法要求:正确完整、计算简单、适应网络变化、稳定公平。
自治系统AS:指一个管理组织下的网络设备组。AS内部网络自主管理,对外提供一个或多个出入口。自治系统中的路由协议是内部网关协议,如RIP和OSPF。自治系统外部的路由协议是外部网关协议,比如BGP。
静态路由:手动配置,难度和复杂度较高;
动态路由:
链路状态路由选择算法LS:向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法距离-向量路由选择算法DV:向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程);4.8 内部网关路由协议之RIP协议
RIP(路由信息协议)[应用层],基于距离向量的路由算法,小型AS(自治系统),适用于小型网络;RIP消息,封装到UDP数据报中。
RIP协议特性:RIP在度量路径时采用的是跳数(每个路由器维护自身到其他每个路由器的距离记录);RIP的费用定义在源路由器和目的子网之间;RIP被限制的网络直径不超过15跳;和隔壁交换所有的信息,30主动一次(广播)。4.9 内部网关路由协议之OSPF协议
开放最短路径优先(OSPF)[网络层],基于链路状态的路由算法(Dijkstra算法),大规模AS,适用于大规模网络,都直接封装在IP数据报传输中。
OSPF协议优点:安全;支持多条相同费用路径;支持区别化费用度量;支持单播路由和多播路由;分层路由。
与RIP OSPF的比较(路由算法决定其性质):
4.10外部网关路由协议之BGP协议
BGP(边界网关协议)边缘网关协议【应用层】:是运行在AS之间的协议,寻找好的路由:第一次交换所有信息,后面只交换变化的部分,BGP封装成TCP段。
五、传输层
第一个端到端,即主机到主机级别。传输层负责将上层数据分段,并提供可靠或不可靠的端到端传输。此外,传输层必须处理端到端的错误控制和流量控制。
传输层的任务是根据通信子网的特点,最大限度地利用网络资源,提供两端系统会话层之间建立、维护和取消传输连接的功能,负责可靠的端到端数据传输。在这一层,信息传输的协议数据单元称为段或消息。
网络层只根据网络地址将源节点发送的数据包传输到目的节点,而传输层负责将数据可靠地传输到相应的端口。
有关网络层的重点:传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);重要设备:网关。
5.1 UDP协议详解
UDP(用户数据报协议)是一个非常简单的协议。
UDP协议的特点:
UDP是无连接协议;UDP不能保证可靠的交付数据;UDP是面向报文传输的;UDP没有拥塞控制;UDP首部开销很小。UDP数据报结构:
报头:8B,四个字段/2B[源端口|目的端口| UDP长度|校验和]数据字段:应用数据
5.2 TCP协议的详细说明
Tcp(传输控制协议)是计算机网络中非常复杂的协议。
TCP协议的功能:对应用层报文进行分段和重组;面向应用层实现复用与分解;实现端到端的流量控制;拥塞控制;传输层寻址;对收到的报文进行差错检测(首部和数据部分都检错);实现进程间的端到端可靠数据传输控制。TCP协议的特点:TCP是面向连接的协议;TCP是面向字节流的协议;TCP的一个连接有两端,即点对点通信;TCP提供可靠的传输服务;TCP协议提供全双工通信(每条TCP连接只能一对一);5.2.1 TCP报文段结构:
最大数据段长度:封装在数据段中的应用层数据的最大长度。
TCP报头:
序号字段:TCP的序号是对每个应用层数据的每个字节进行编号确认序号字段:期望从对方接收数据的字节序号,即该序号对应的字节尚未收到。用ack_seq标识;TCP段的首部长度最短是20B ,最长为60字节。但是长度必须为4B的整数倍TCP标记的作用:
5.3 可靠传输的基本原理
基本原则:
不可靠传输信道在数据传输中可能发生的情况:比特差错、乱序、重传、丢失基于不可靠信道实现可靠数据传输采取的措施:
检错:数据包传输过程中的比特错误检测和确认是通过编码实现的:接收方向发送方反馈接收状态并重新发送:发送方重新发送接收方未正确接收的数据序列号;数据按顺序提交给定时器;解决了数据丢失的问题;
Stop协议:是最简单的可靠传输协议,但其信道利用率不高。
ARQ(自动重复请求ARQ)协议:滑动窗口+累积确认大大提高了信道的利用率。
5.3.1TCP协议的可靠传输
基于连续ARQ协议,在某些情况下,重传效率不高,一些成功接收的字节会被重复传输。
5.3.2 TCP协议的流量控制
流量控制:让发送方低速发送数据。TCP协议使用滑动窗口来控制流量。
5.4 TCP协议的拥塞控制
拥塞控制和流量控制的区别:流量控制考虑的是点对点的流量控制,而拥塞控制考虑的是全网,是全局的考虑。拥塞控制方法:慢启动算法+拥塞避免算法。
慢启动和拥塞避免:
【慢开始】拥塞窗口从1指数增长;到达阈值时进入【拥塞避免】,变成+1增长;【超时】,阈值变为当前cwnd的一半(不能<2);再从【慢开始】,拥塞窗口从1指数增长。
快速重传和快速恢复:
发送方连续收到3个冗余ACK,执行【快重传】,不必等计时器超时;执行【快恢复】,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入【拥塞避免】。
5.5 TCP连接的三次握手(重要)
TCP三次握手使用说明:
面试官:为什么需要三次握手?
第一次握手:客户发送请求,此时服务器知道客户能发;第二次握手:服务器发送确认,此时客户知道服务器能发能收;第三次握手:客户发送确认,此时服务器知道客户能收。
建立连接(三次握手):
第一次:客户端向服务器发送连接请求段,建立连接请求控制段(SYN=1),表示发送报文段的第一个数据字节序号为X,代表整个报文段的序号(SEQ = X);客户端进入SYN_SEND(同步发送状态);
第二次:服务器发回确认段,同意建立新连接的确认段(SYN=1),确认序列号字段有效(ACK=1)。服务器告诉客户端该段的序列号为y(seq=y),表示服务器已经接收到客户端序列号为X的段,准备接受客户端序列号为x+1的段(ack _ seq = x+1)。服务器监听进入SYN_RCVD(同步接收状态);
第三次:客户确认与服务器连接相同。确认序列号字段有效(ACK=1),客户本次报文段的序列号为x+1(seq=x+1),客户期望接受服务器序列号为y+1的报文段(ACK _ seq = y+1);当客户端发送ack时,客户端进入建立状态;当服务收到客户发送的ack时,也进入建立状态;三次握手的第一个便携式数据;
5.6 TCP连接的四次挥手(重要)
释放(四波)
第一次:客户端向服务器发送连接释放消息段。数据发送后,发送方请求释放连接(FIN=1),第一个发送的数据字节序号为X(seq = X);客户端状态从ESTABLISHED进入FIN _ WAIT _ 1(WAIT 1状态终止);
第二次:服务器向客户发送确认段,确认字号段有效(ACK=1)。服务器发送的数据序号为y(seq=y),服务器期望的客户数据序号为x+1(ack _ seq = x+1);服务器的状态从ESTABLISHED变为CLOSE _ WAIT在接收到ACK段时,客户端从FIN_WAIT_1进入FIN _ WAIT _ 2;
第三次:服务器向客户端发送连接释放消息段,请求释放连接(FIN=1),确认字体大小段有效(ACK=1),表示服务器期望接收客户端数据的序列号为x+1(ACK _ seq = x+1);表示自身发送的第一个字节序列号为Y+1(SEQ = Y+1);服务器状态从CLOSE_WAIT变为LAST_ACK(最后确认状态);
第四次:客户向服务器发送确认段,确认字号段有效(ACK=1),表示客户发送的数据序号为x+1(seq=x+1),表示客户期望从服务器接收的数据序号为Y+1+1(ACK _ SEQ = Y+1+1);客户端从FIN_WAIT_2进入TIME_WAIT,等待2MSL,进入关闭状态;服务器收到最后一个ACK后,进入CLOSEDby LAST _ ACK
为什么需要等2MSL?
最后一个报文没有确认;确保发送方的ACK可以到达接收方;2MSL时间内没有收到,则接收方会重发;确保当前连接的所有报文都已经过期。六、应用层
为操作系统或网络应用程序提供访问网络服务的接口。应用层的关注点:
数据传输基本单位为报文;包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。6.1 DNS详解
DNS(域名系统)[C/S,UDP,port 53]:解决IP地址复杂难记的问题,存储并完成辖区内主机的域名到IP地址的映射。
域名解析的顺序:
【1】浏览器缓存,【2】找本机的hosts文件,【3】路由缓存,【4】找DNS服务器(本地域名、顶级域名、根域名)->迭代解析、递归查询。IP—>DNS服务—>便于记忆的域名域名由点、字母和数字组成,分为顶级域(com,cn,net,gov,org)、二级域(baidu,taobao,,alibaba)、三级域(www)(12-2-0852)
6.2 DHCP协议详解
DHCP(动态配置协议):是一种局域网协议,也是使用UDP协议的应用层协议。角色:自动分配IP地址给临时访问局域网的用户。
6.3 HTTP协议详解
文件传输协议(FTP):控制连接(端口21):7位ASCII码格式的传输控制信息(连接,传输请求)。会议期间一直开放。
HTTP(超文本传输协议)[TCP,端口80]:是一种可靠的数据传输协议。在浏览器向服务器发送和接收消息之前,它会建立一个TCP连接。HTTP使用TCP连接(HTTP本身没有连接)。
HTTP请求消息模式:
GET:请求指定的页面信息,并返回实体主体;POST:向指定资源提交数据进行处理请求;DELETE:请求服务器删除指定的页面;HEAD:请求读取URL标识的信息的首部,只返回报文头;OPETION:请求一些选项的信息;PUT:在指明的URL下存储一个文档。
HTTP工作的结构
6.3.2 HTTPS协议详解
HTTPS(安全)是一种安全的HTTP协议,端口号为443。基于HTTP协议,使用SSL或TLS对数据进行加密,验证对方身份,保护数据完整性。
https://blog.csdn.net/Royalic/article/details/的原始链接
本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://51itzy.com/5255.html