计算机网络体系结构
网络的四/五/七结构
- 七层:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层
- 五层:应用层、运输层、网络层、数据链路层、物理层
- 四层:应用层、运输层、网际层、网络接口层
网络每一层的作用
- 应用层
- 表示层
- 会话层
- 网络层
- 运输层
- 数据链路层
- 物理层:
网络哪几层用硬件实现,为什么其他层不用硬件
- 应用层、表示层、会话层、运输层、网络层不使用硬件
- 数据链路层、物理层使用硬件,其中数据链路层是软硬件的结合体
访问一个网络的过程
浏览一个网页用到了什么协议
应用层:http,DNS
运输层:TCP
网络层:IP
端到端通信和点到点通信的区别
- 端指的是用户程序端口,端到端通信提供的是应用程序之间的通信
- 点到点通信提供的是机器之间的通信
- 运输层往上提供端到端通信
物理层
归零码和非归零码的区别,曼彻斯特编码是归零码还是非归零码
- 归零码和非归零码的区别在于信号是否归零。归零码在码元前半部分传递数据,后半部分会回归0电平。非归零码1电平反转,0电平不变。
- 曼彻斯特编码是归零码。
数据链路层
编码和调制的含义
编码:数据转化为数字信号
调制:数据转化为模拟信号
信道的含义
传输信息的通道
流量控制的常见方式
停止等待协议、滑动窗口、回退N帧、选择重传协议
滑动窗口协议
发送方有发送窗口,接收方有接收窗口。发送窗口用来进行流量控制(在还没接收到接收方确认的情况下还能发送多少帧),接受窗口用于控制帧的接收(序号落在窗口内的帧才能接收)
回退N帧协议
发送窗口>1,接收窗口=1。当检测到失序的信息帧后,要求重发最后一个正确接收的信息帧之后的所有未被确认的帧。或者当发送方发送N帧后,该N帧的前一个帧确认超时,重传该帧以及后面N帧
码分多址,频分多址,时分多址,波分复用
频分多址:根据不同的频率区分信号 时分多址:根据不同的时隙区分信号 码分多址:根据不同的编码区分信号,或者说是不同的波形 波分多址:光的频分复用
RARP的作用和对应的协议,地址解析过程
ARP地址解析协议的过程:源主机想要知道目的IP地址对应的MAC地址,然后发送广播,对应的IP地址收到广播后进行响应,对各自的ARP高速缓冲表增加对应的映射。 RARP就是反向地址解析协议:源主机想要知道目的MAC地址的IP地址,然后发送广播,对应的MAC地址收到广播后进行响应,对各自的RARP高速缓冲表增加对应的映射。
WLAN的定义
Wireless local area network,无线局域网是使用无线信道代替有线的传输介质形成的局域网。
为什么以太网用CSMA/CD,而WIFI用CSMA/CA
无线网络不能使用CSMA/CD:
- 难以检测碰撞,碰撞信号非常微弱。
- 产生隐蔽站,两者刚刚好无法检测对方的信号
CSMA/CD
- 载波监听:发送前要先检测是否有其他主机正在通信(先听后说)
- 多址接入:一条总线连接多个站点
- 碰撞检测:一旦发生碰撞,就退避一会(边听边说)
CSMA/CA
- 载波监听
- 多址接入
- 碰撞避免
NAT技术
- 专用网内的主机想和因特网上的主机进行通信,NAT技术能够将专用网内的私有IP地址转换为公网IP地址。
- NAT搭载在路由器上。
实现不同局域网的主机的通信
每个专用网都有一个可以进行NAT的路由器,使用NAT技术将私有转化为公网IP,发送到另一台主机对应的路由器,然后路由器将信息转发给另一台主机。
集线器、交换机、路由器、网桥
- 集线器:物理层,广播。
- 交换机:数据链路层,智能转发。
- 路由器:网络层,可以隔离冲突域和广播域,路由器连接的是两个不同的网络
- 网桥:数据链路层
MAC地址
- 定义:Media Acess Control,媒体接入控制。
- 作用MAC地址:作为区分网络设备的标识
- MAC地址不能区分网络,只能区分硬件设备,所以需要IP地址。如果是在同一个网络下就可以只使用MAC地址
网络层
路由选择算法
就是怎么找路。
- 集中式路由选择算法。已知全局信息(每条链路费用)找到最低费用路径。链路状态算法,贪心找出最低费用路径
- 分散式路由选择算法。通过比较A->B,和获得C结点的距离向量后的A->C->B的费用,来逐步迭代A的距离向量。距离向量算法,每个节点维护到网络所有结点的费用。
什么是蜂窝网
就是移动网络,分为模拟蜂窝网和数字蜂窝网,各个站点形成的覆盖区域为六边形。
网关的作用
访问外网
ipconfig
显示网络配置信息
IPV4和IPV6的区别
- 地址空间不同,IPV4地址长度32,IPV6地址长度128
- IPV6安全性更高,可以对网络层进行加密
- IPV6允许协议扩充
路由转发过程中,目的IP地址改变吗,MAC地址
目的IP地址不变,MAC地址变化(因为路由器要向不同的路由器接口进行转发,当然MAC地址会变)
传输层
套接字
一个套接字就表示进程间通信的一端
TCP
一种可靠的面向连接的协议
TCP拥塞控制
小于阈值慢启动,大于阈值拥塞避免。遇到拥塞(超时),拥塞窗口=1,阈值=拥塞窗口/2。遇到重传,快重传+快恢复。
- 慢启动:拥塞窗口指数增长
- 拥塞避免:拥塞窗口线性+1
- 快重传:为了避免超时重传被误认为拥塞,快重传不等超时计时器,而是一旦3个以上重复确认就重传
- 快恢复:阈值=拥塞窗口/2,拥塞窗口=阈值,此时刚好满足拥塞避免
TCP三次握手和四次挥手
三次握手:
- 第一次握手。客户端发送连接请求报文段,将SYN=1,seq=x,等待服务器确认。
- 第二次握手。服务器对连接请求确认报文段进行确认,SYN=1,ACK=1,seq=y,ack=x+1。
- 第三次握手。客户端发送确认报文段,ACK=1,seq=x+1,ack=y+1
四次挥手:
- 第一次挥手:通信双方都能进行释放。比如,客户端发送连接释放报文段,FIN=1,ACK=1,seq=u,ack=v
- 第二次挥手:服务端发送确认报文段,ACK=1,seq=v,ack=u+1,但是服务端仍然可以发送数据
- 第三次挥手:等服务端数据传输结束后,服务端发送连接释放报文段,FIN=1,ACK=1,seq=w,ack=u+1
- 第四次挥手:客户端发送确认报文段,ACK=1,seq=u+1,ack=w+1
为什么是三次握手
就是第一个连接请求的传送超时,然后重传连接请求,此时重传的连接请求已经完成数据传送,但是第一个连接请求到了,导致接收方还要响应一次这个连接请求。
TCP可靠性如何保证
拥塞控制,超时重传,流量控制
面向连接和非面向连接
- 面向连接需要先建立连接才开始传输数据,而非面向连接直接开始传输数据
- 面向连接是可靠传输。(发什么收什么)
- 非面向连接不能保证数据发送和接收顺序的一致性。(无保序性)
发微信是TCP还是UDP
微信需要可靠连接,TCP
流量控制
- 流量控制:控制发送方发送数据的速率:停止-等待,滑动窗口
- 拥塞控制:防止网络中的数据过多导致过载
- 拥塞控制保证网络畅通地传输数据,流量控制保证接收方由于接收不及时导致的数据丢失。
应用层
C/S,B/S,P2P
- C/S:Client/Server,客户/服务器模式。服务集中型,服务由在比服务请求者少的服务提供者提供。需要安装客户端软件。
- P2P:对等方式。每个主机既是服务请求者,又是服务提供者。服务分散性,可扩展性高。
- B/S:Brower/Server,浏览器/服务器模式。只需要安装浏览器即可与数据库交互。
DHCP
动态主机配置协议,主机能够从DHCP动态获取主机的网络配置。
- DHCP客户端向DHCP服务器广播DHCP发现报文。
- DHCP服务器向DHCP客户端广播DHCP提供报文。
- DHCP客户端向DHCP服务器广播DHCP请求报文。
- DHCP服务器向DHCP客户端广播DHCP确认报文。
DNS
DNS,Domain Name System,域名系统,将便于人记忆的主机名转化为IP地址
电子邮件
采用的是C/S模式,发件人用SMTP将邮件发送到发送方邮件服务器,发送方邮件服务器用SMTP将邮件发送给接收方邮件服务器,接收方使用POP3协议从接收方邮件服务获取邮件
HTTP和HTTPS
http超文本传输协议,客户端与服务器之间的通信以http报文的形式传输 https=http+加密(报文)+认证(通信双方身份认证)+完整性保护(通信内容校验)
Http两种方法
get:从服务器获取信息,能在url看到 post:向服务器发送信息,能在表单上看到