计算机网络知识整理
计算机网络
写在前面的话:秋招来临,博主对计算机网络知识进行了整理
ISO(国际标准化组织)的OSI(Open System Interconnection)七层模型
应用层,表示层,会话层,运输层,网络层,数据链路层,物理层
TCP/IP四层模型
应用层,传输层,网际互联层,网络接口层
按5层模型进行学习
(一)应用层
1.DNS(Domain Name System域名系统)
[1] 查询路径:
[2]UDP+53,也可TCP
[3] 安装自己的DNS服务器:
i. 解析内网自己的域名(未在公网注册)
ii. 缓存,降低到internet的解析流量
2.DHCP(Dynamic Host Configuration Protocol动态主机配置协议)
[1] 自动分配(不变);动态分配;手工分配
[2]提升地址使用率
[3]DHCP客户以广播的形式寻找DHCP服务器,尽可能使用原来的服务器及IP
3.FTP(File Transfer Protocol文件传输协议)
[1]双重连接,FTP控制TCP+21,数据TCP+20
i.双重连接原因:FTP是一个交互式会话系统,一个请求建立一个会话,会话以控制连接来维持,数据连接撤销,
控制连接依然存在
4.Telnet(远程终端协议)
[1]TCP+23
[2]为什么需要Telnet
i. 查看某端口是否可以访问telnet ip port
ii.远程控制
5.RDP(Remote Desktop Protocol远程桌面协议)
[1]TCP+3389
[2]最多两人登录操作,而Telnet可以多客户端同时登录服务器
6.HTTP(Hyper Text Transfer Protocol超文本传输协议)
[1]TCP+80
[2]状态码:
i.1XX:表示请求已经接受,继续处理请求
ii.2XX:请求已经完成处理,例:
a)200请求已经正常处理完毕
iii.3XX:表示把请求的URL定位到其它目录,例:
b)301请求永久重定向
c)302请求临时重定向
d)304请求被重定向到客户端本地缓存
iv.4xx:客户端出现错误,例:
a)400客户端请求存在语法错误
b)401客户端请求没有经过授权
c)403客户端的请求被服务器拒绝,一般是没有权限
d)404客户端请求的URL在服务器不存在
v.5XX:服务器端出现错误,例:
a)500服务器端发生永久错误
b)503服务器端发生临时错误
[3]GET,POST,PUT,SELETE分别是获取,修改,上传,删除
[4] URL:<协议>://<主机>:[端口]/路径/[;url-params][?query-string][#anchor]
[5]分布式,万维网
详情可见:https://www.cnblogs.com/XZDSF/p/11270325.html
7.HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer超文本传输安全协议)
[1]TCP+443
[2]使用SSL,开始需协商对称密匙
[3]HTTP和HTTPS对比:
i.HTTP特点:无状态;无连接;简单快速;使用明文,请求和响应不会对通信方进行确认,无法保证数据完整性
ii. HTTPS特点:内容加密;身份验证;保护数据的完整性
8.SMTP(Simple Mail Transfer Protocol简单邮件传输协议),POP3(Post Office Protocol-Version3邮局协议版本3),
IMAP(Iternet Mail Access Protocol)
[1]SMTP发邮件,推协议;POP3,IMAP收邮件,拉协议
[2]POP3不是双向的,本地的修改不会对用户的服务器造成影响;IMAP解决了这个问题
[3]SMTP=TCP+25,POP3=TCP+110,IMAP=TCP+143
[4]邮件的中寄
9.RIP(Routing Information Protocol路由信息协议)
[1]动态路由选择协议,自治系统内的路由信息的传递
[2]基于距离矢量算法,使用跳数来衡量,最多15跳,16跳不可达
[3]只与相邻的路由交换信息,每30s周期性广播路由表
[4]适合小型网络
10. BGP(Border Gateway Protocol边界网关协议)
[1] 自治系统间的路由可达,距离矢量路由协议
11.web代理作用
[1] 降低内网到iternet的带宽
[2]通过web代理绕过防火墙
(二)传输层
1.TCP(Transmission Control Protocol传输控制协议)和UDP(User Datagram Protocol用户数据报协议)的区别
[1]TCP是面向连接的;UDP是无连接的
[2]TCP提供可靠的服务,即无差错,不丢失,不重复,按序到达;UDP不可靠服务,尽最大努力交付(可通过应用
层实现可靠传输)
[3]UDP实时性好,效率高,适用于对高速传输、实时性要求高的通信
[4]TCP连接只能是点到点的,UDP支持一对一,一对多,多对多的通信,广播或多播通信。
[5]TCP对系统资源占用较UDP多
[6]UDP结构简单
[7]TCP是流模式,UDP是数据报模式(既不合并也不拆分报文)
[8]UDP例:直播,实时游戏,物联网,IP电话,视频会议;TCP适用于可靠传输例:文件
2.传输层与网络层区别
[1]提供应用进程间的逻辑通信,网络层实现地址到地址
3.端口
[1]16位,熟知端口0-1023,1024-49151为登记端口,客户端端口49152-65535
[2]套接字=IP+端口
4.TCP可靠传输
[1]如何保证可靠传输
i.校验和:如果传输过程中数据有改变,就丢弃改分组并不确认
ii.丢弃重复的数据
iii.流量控制:根据接收端窗口,可变大小的发送端滑动窗口,防止丢包
iv.拥塞控制:网络拥堵时,减少数据的发送
v.停止等待协议:每发送完一个分组就停止发送,等待对方确认后再发送下一个分组。超时重传:当TCP发出一
个分组后,启动一个定时器,如果不能及时收到该分组确认,就认为该分组丢失,对丢失的分组进行重传
[2]超时重传处理:
i.丢失或检测到差错,接收端不做任何处理
ii.确认丢失,重传该分组
iii.确认迟到,丢弃迟到的分组
iv.更新RTTs(α系数即最新往返时间所占比重)
[3]ARQ(Automatic Repeat-reQuest自动重传请求)
i.包含了可靠传输里面的内容
ii.停止等待ARQ协议
iii.连续ARQ协议:改善停止等待ARQ协议信道利用率低,通过发送一组数据包,采用连续累积确认(确认连续
的最大值)
[4]SACK:选择性确认
5.TCP流量控制
[1]发送端根据接收的ACK和rwnd分别向后滑动窗口和调整窗口大小,避免接收端发送的数据丢失,定时使用心跳包
6.TCP拥塞避免
[1]作用:防止过多的数据注入网络中,使网络中的路由器或者链路不至于过载
[2]慢开始:通常在开始时,拥塞窗口cwnd设为1,每经过一轮传输,当拥塞窗口小于慢开始门限ssthresh时,
拥塞窗口
cwnd加倍
[3]拥塞避免:当拥塞窗口cwnd大于慢开始门限时,每经过一轮传输,窗口大小加1,不能超过接收窗口大小
[4]快重传:收到三个连续的重复确认,立即重传未收到的报文段,不必等到重传计时器到期
[5]快恢复:新的门限为原来的一半,从新的门限执行拥塞避免算法,不执行慢开始
7.发送窗口的大小
[1]由拥塞窗口控制(拥塞避免),但不能超过接收窗口大小(流量控制)
8.TCP三次握手
[1] SYN(Synchronize Sequence Number同步序列编号),希望建立连接
[2]含有SYN的为SYN包,含有ACK的为ACK包
[3]为什么需要三次握手:为了防止已经失效的连接请求报文段又传送到了服务器端,因而产生错误(资源的浪费);
9.TCP四次挥手
[1]为什么需要四次挥手:当服务器端收到FIN包时,可能并不会立即关闭SOCKET,所以只能先回复一个ACK包,告诉
客户端,你发的FIN包我收到了,只有等服务器端所有的报文都发送完,才发送FIN包,因此需要四步
[2]FIN希望断开连接
10. TCP全双工
[1]采用全双工,因为需要反馈
(三)网络层
1.ARP(Address Resolution Protocol地址解析协议)
[1]用于从IP地址到MAC地址(48位)的映射
[2]广播请求单播回应(在发送ARP请求分组时,就将自己的IP地址和硬件地址的映射写入ARP请求分组)
[3]为什么不直接用硬件地址进行通信:存在各式各样的网络,使用不同的硬件地址
2.RARP(Reverse Address Resolution Protocol反向地址解析协议)
[1]用于从MAC地址到IP地址的映射
3.IP(Internet Protocol)
[1]IP地址=网络地址+主机地址
[2] 分类:
i.A类0.0.0.0-127.0.0.0,第一个字节为网络地址
ii.B类128.0.0.0-191.255.0.0,前两字节为网络地址
iii.C类192.0.0.0-223.255.255.0,前三个字节为网络地址
iv.D类224.0.0.0-239.255.255.255
v.10.X.X.X为私有地址,172.16.0.0-172.31.255.255,192.168.X.X(局域网使用)
vi.127.X.X.X保留地址(循环测试使用),127.0.0.1为回环地址
[3]TTL(Time To Live生存时间),每过一跳减1,一般Linux,Windows和Unix初始分别为64,128,255跳
[4]OSPF(Open Shortest Path First开放式最短路径优先)
i.按带宽计算
ii.收敛速度快,适合大型网络(电信,移动,联通,国家电网)
iii.寻找邻居,建立邻接关系(DR,BDR),链路状态信息传递(LSA链路状态广播),路由计算
[5]静态路由:小网络,不能自动调整;动态路由
[6]路由器,网络层设备
[7]网关一般使用第一个主机地址
4.ICMP(Internet Control Message Protocol 网际控制报文协议)
[1]ping IP(ping这个IP);ping IP –t(一直ping);ping IP –i 1/2/3(ping第几个路由); pathping/tracert IP(路由路径)
[2]差错通知,信息查询
5.IGMP(Internet Group Management Protocol网际组管理协议)
[1]所有IP组播系统(包括主机和路由器)都需要支持IGMP协议
[2]支持点到点,广播,组播=多播
(四)数据链路层
1. PPP(Point-to-Point Protocol点对点协议)
[1]广域网应用最广泛的协议之一
[2]封装成帧(帧的开始和结束);数据透明,使用转义字符;差错检验
2.CSMA/CD(Carrier Sense Multiple Access with Collision Detection载波监听多路访问/碰撞检测)
[1]半双工
[2]局域网
[3] 碰撞检测(检测到信号加强)
[4]先听后发,边听边发,冲突停发,等待一个随机时间后重发
3.网络结构
[1]网状型:结构复杂,维护困难
4.线的种类
[1]直通线,不同设备的连接;交叉线,相同设备的连接;反转线,调试
[2]双绞线,标识T,100m以内;SX光纤短波,275m/550m;LX光纤长波,550m/5000m;CX铜线,25m以内;
RJ-45常用水晶头
[3]1000BASE-T解析:1000M,双绞线
5.CRC(Cyclic Redundancy Check循环冗余校验)
[1]利用除法及余数的原理,传输的数据要在后面补一个位宽(多项式位数减1),传输的数据除以生成多项式
(CRC32等),不考虑借位问题,采用模2运算/异或运算,余数就是CRC校验字
6.LLC(Logical Link Control逻辑链路控制)和MAC(Media Access Control媒体访问控制)
[1]数据链路层分为上层LLC,下层MAC
[2]LLC:传输可靠性保障和控制;数据包的分段与重组;数据包的传输顺序
[3]MAC:数据包的封装与卸装;屏蔽不同物理链路层的差异;帧的寻址与识别;帧的接受与发送;链路的管理;
帧的差错控制
7.最小帧
[1]为什么有最小帧:冲突检测,冲突信号到达前,帧如果发送完毕,将检测不到冲突而误以为已检测成功
[2]由带宽决定:10M最小64字节
8.MTU(Maximum Transmission Unit最大传输单元)
[1]为避免单一主机占用信道时间过长,规定了以太网帧的最大帧长为1500bytes
9.网桥
[1]拓展局域网,连接不同网段
[2]隔离冲突域
[3]存储/转发设备,流量较大时,可能造成帧的丢失
[4]具有记录,可以学到地址
10.交换机
[1]网桥被具有更多端口的、可隔离冲突域的交换机取代
[2]以前计算机过集线器,连网桥;现在直接连交换机
(五)物理层
1.电气特性
[1]例:电压范围-5V到5V
2.物理特性
[1]例:接口形状,大小,引线条数
3.功能特性
[1]例:规定-5V表示0,5V表示1
4.过程特性
[1]也叫规程特性,规定建立连接时各个相关部件的工作步骤
5.奈氏准则
[1]即使没有电磁干扰,码元的传输速率也有上限,频带越宽,上限越大
6.香农公式:
[1]W:带宽 S:信号平均功率 N:高斯噪声功率
7.集线器(Hub)
[1]信号进行再生和整形放大
[2]不进行碰撞检测
[3]没有学习能力,广播方式发送
(六)网络安全
1.分类
[1]截获,中断,篡改,伪造
[2]常见:arp欺骗(可欺骗网关),DNS劫持(改解析),Dos拒绝服务(发送大量包占用带宽),DDOS
(Distributed denial of service attack分布式拒绝服务),伪造(改地址)
2.恶意程序
[1]病毒:程序里面
[2] 蠕虫:消耗系统资源
[3]木马:远程控制
[4]逻辑炸弹:条件
3.加密
[1]对称加密:密匙相同,效率高,密匙需维护,不适合网上传输
[2]非对称加密:公匙和私匙成对使用,公匙给你加密,然后发给我私匙解密;实际使用是对称加密加密内容,
密匙用非对称加密,提高效率
[3]数字签名:先对文件内容使用密码散列函数(MD5),使用私匙加密生产出的报文摘要
[4]如何信任:CA证书颁发机构
[5]属于应用层
4.SSL(Secure Socket Layer安全套接字层)
[1]认证用户和服务器(证书和域名相对应)
[2]加密的SSL会话
[3]应用层和传输层之间
5.IPsec(Internet Protocol Security互联网安全协议)
[1]网络层
[2]用户透明
6.HTTPS
[1]开始时协商对称加密密匙
[2]TCP+443
[3]使用了SSL
7.泪滴攻击
[1]利用数据分包重组,发送伪造的含有重偏移信息的分段包到目的主机,重组过程会引起内存错误,导致协议
栈的崩溃。
2019-07-13 14:09:19