计算机网络
各层之间的协议
层 | 协议 | 设备 |
---|---|---|
物理层 | 双绞线、集线器 | |
数据链路层 | PPP、CSMA/CD | 交换机 |
网络层 | IP、ARP、ICMP、OSPF、RIP、BGP | 路由器 |
运输层 | UDP、TCP | |
应用层 | FTP、DNS、SMTP、HTTP |
第一篇 概述
1.1计算机网络基本概念
1.2计算机网络体系结构
OSI七层模型
TCP/IP参考模型
TCP/IP五层参考模型
第二篇 物理层
2.1数据通信基础
-
主机之间的通信方式
-
几种常用的宽带接入技术
-
通道复用技术
2.2物理层中的传输介质
- 双绞线分类与原理
2.3物理层设备
第三篇 数据链路层
3.1数据链路层的概述
- mac地址与ip地址
- 公网和私网
- 三个基本问题
3.2组帧
3.3介质访问控制协议
- CSMA/CD
- ppp协议
- 广播
3.4局域网与广域网
3.5数据链路层设备
第四篇 网络层
4.1路由器工作原理
- 路由器转发分组的流程
- 路由器和交换机的作用
4.2IP协议
4.3ARP协议
4.4ICMP协议
4.5SDN
4.6路由选择算法
-
DV
4.7路由选择协议
- OSPF
- RIP
- BGP
4.8防火墙
第五篇 运输层
5.1多路复用与多路分解
5.2可靠性传输原理
- 流水线可靠性传输
- 回退N步
- 选择重传
5.3拥塞控制原理
5.4流量控制原理
5.6TCP协议
- 三次握手四次挥手
- TCP如何保证可靠性传输
- TCP超时重传的原理
- TCP协议中的定时器
- TCP 的停止等待协议
- TCP 流量控制
- TCP 拥塞控制采用的四种算法
- TCP 粘包问题
- TCP 报文
5.2UDP协议
- UDP为什么不可靠
- 差错检验
6应用层
6.1套接字
6.2web
- http和https(工作方式,加密方式)
- http头部
- http长短连接
- http的方法
- 抓包
- 请求与相应
6.3电子邮件
6.4DNS
6.5FTP
6.6DHCP
7.常考面试题
7.1在浏览器输入网址之后按下回车键,会发生什么?
我来按照我的理解来回答一下。
第一步,浏览器解析这个URL,得到需要请求的文件以及对应的路径,并把这个转化为HTTP消息,然后通过DNS,将域名解析为IP地址,也就是知道了客户端要向谁请求(IP地址)以及请求的内容(HTTP消息)。
第二步,请套接字帮忙,把HTTP放进套接字里,然后通过协议栈来调用操作系统和对应的主机建立TCP连接。连接的过程分为三步,先通过三次握手建立连接,然后开始传输数据,传输数据的过程中为了解决各种问题,需要用到可靠传输,拥塞控制和流量控制,传输完之后,通过四次挥手断开连接。(大件的信息用TCP来传,小件的不需要分块的用UDP来传)
第三步,TCP请求IP帮忙来发送数据,这个时候原来的TCP数据包被封装成了IP数据包,然后通过IP协议来传输数据包。怎么传输呢?先用路由协议(基于路由算法)来计算出每一个路由器下一步应该交给谁,然后路由器根据路由表,转发给下一个路由器。
第四步,路由器之间会构成一个很大的网络,成为互联网,数据就是在互联网中传输的,通过不断转发,最终到达服务器。
第五步,刚刚只讲到了路由器会决定下一步传递给哪个路由器,但是在路由器之中是怎么传输的呢,其实当数据到达IP层时,IP模块会把数据报加上IP头部和MAC头部(IP转化为MAC需要用到ARP协议)通过各种网络技术(比如以太网等)传递出去。
第六步,数据到达服务器之后,通过防火墙的过滤进入服务器内部
第七步,服务器逐步拆包,找到最初的请求,相应客户端。