个人总结整理相关计算机网络知识点,出发点是各类问题以及比较重要的部分。
七层模型开始是某美国组织定的标准,强调的是理论,各个层需要完成的功能都很清晰,实现起来麻烦。
如果一开始只是两个物理机器在通信,显然物理层就足够了,但是会出现一系列的问题,逐渐发展,计算机的最终目的已经发展到应用层,就催生了一层一层的累加,所以就需要进行区分,产生了分层,以及每一层的功能重点。
1 应用层:
按照应用层协议,构建报文,往下传递。这层解决的是应用之间的交互问题。
重点的协议有:Http协议。
2 表示层:
比如Linux给Windows发包,不同系统语法不一致,导致无法通信。所以表示解决的就是不同系统之间通信的语法问题,来格式化数据。
3 会话层:
建立并管理应用程序之间的通信,自动收发包、自动寻址,解决会话同步问题等。
4 运输层(传输层):
因为计算机传输的数据量庞大,不得不分割,运输层解决的就是进程间基于网络的通信问题,将数据分为报文段,这层还要保证有序、重传等问题。重点的协议有TCP/UDP。
5 网络层:
因为互联网很庞大,不同网络之间的交互涉及各类问题,就需要网络层指导传输路径、隔断等等,网络层解决的是分组在多个网络上传输的问题。路由器工作在网络层,网络层的数据单位是分组。重点的协议有IP协议。
6 数据链路层:
因为物理层的传输会产生错传,丢失等问题,数据链路层通过格式化数据传输、减错等等,来保证传输的准确,这一层解决的是一个网络上的数据传输问题。交换机工作在这一层。传输的数据单位是 帧 。
7 物理层:
物理层就是解决的两个物理机器传输比特流的,0101010这种形式,传输的数据单位是 比特,物理层还决定以何种方式传输比特。在这一层工作的计算机组件有:网卡。这一层定义的标准就是各种传输介质的速率,光纤的接口类型等。
哪一层提供的是端到端的服务?
运输层,因为运输层解决的是进程间的通信问题,进程的不同就是端口的不同。
相比宏观理论的OSI模型,TCP/IP协议族关注计算机上根据协议如何开发程序,更实际。
(在OSI标准完善的时候,TCP/IP已经官方商用了,因此后来成为了实际上的标准)
之所以叫TCP/IP协议是因为这两个核心,代表整个协议族。
其中:
TCP/IP协议族的各层解决的问题,也是和OSI七层模型中的定义类似的,不过进行了合并。
少了一项就是不再关注物理层的比特传输。
五层模型实际上是为了学习计算机原理,教学方面课本上有五层模型,结合了理论的七层和应用最多的四层模型,折中出来了一个五层模型,毕竟四层模型不关注物理层了,但是底层知识需要了解。
应用层协议:
HTTP(超文本传输协议)、TFTP( 简单文件传输协议), FTP(文件传输协议), SMTP(简单邮件传送协议:邮件发送)IMAP(因特网邮件访问协议:邮件读取)、DHCP(动态主机配置协议)域名系统(DNS协议、DNS使用的传输协议既可为TCP又可为UDP)
运输层协议:
TCP(传输控制协议), UDP(用户数据报协议)
网际层协议:
IP协议, ICMP(网际控制报文协议), ARP协议(地址解析协议), RARP( 反向地址转换协议)
网络接口层协议:
底层网络定义的各种协议。
和上面的分类有所不同,上层相差不大,只是要把数据链路层的协议拿出来补充。
数据链路层的协议:
MAC(媒体介入控制协议,采用这个协议使主机都有唯一标识,因此有了MAC地址)、PPP(点对点协议)、实现可靠传输的停止等待、回退N帧、选择重传协议等。
竖直来看:
这个步骤里,谁干了什么事,那就是各层的协议在工作。
涉及到的具体协议,水平来看:
TCP协议:
TCP协议的内容包括了流量控制(滑动窗口机制)、拥塞控制、超时重传、运输连接管理(三报文握手、四报文挥手)。点此查看详细
UDP协议:
面向应用报文的协议,主要问题集中在和TCP的差异和适用场景。(点此查看详情
IP协议:
给因特网上的所有主机分配唯一的标识符,主要问题是IP数据报的内容,如何封装其他的协议,帮助转发。版本:IPv4、IPv6.(点此查看详情
HTTP协议:
超文本传输协议,定义浏览器进程向服务器发送请求的文档的一系列规则,主要问题是报文格式里面的信息。(点此查看详情