[NetWork] TCP/IP 四层模型概述
TCP/IP模型诞生背景
其实TCP/IP模型比OSI参考模型诞生的还早,早在上个世纪60年代 就已经开始研发,直到90年代才发展成为计算机之间最常用的网络协议 为什么OSI参考模型没有流行开来? 84年提出来OSI模型的时候,TCP/IP 模型已经在网络中占据了主导地位 而OSI参考模型的层数划分过多,部分功能难以实现 且层级之间还有重复功能,因此没有广泛流行开来
TCP/IP四层模型基本概述
Transfer Control Protocol / Internet Protocol 传输控制协议 / 网际协议 同样与OSI参考模型一样,采用了层次化结构 每层负责不同通讯功能,只不过进行了简化设计,规划出了四层模型
各层级分层作用
> 网络接口层
在TCP/IP模型中,对于网络层以下的模块并没有阉割的描述 因此TCP/IP模型中的网络接口层对应着OSI参考模型的数据链路层、物理层
- 主要功能
该层主要负责我们物理线路和接口以及链路层之间的通信
- 主要协议
以太网、HDLC/PPP
> 网络层
网络层是TCP/IP模型中最重要的一个部分,我们主机如何将数据发往目的网络并且正确送达关键就是靠的该层的技术 (说白了还是IP寻址、路由查找) IP协议(Internet Protocol / 互联网协议) 网络层使用<code>IP地址(IP Address)</code>来标识一个网络节点 使用<code>路由协议(Routeing Protocol)</code>来生成路由信息,将数据包正确的传输到目的地。 使用<code>ICMP、IGMP</code>来协助管理这些网络 该层和OSI网络层相似。
- ICMP
Internet Control Message Protocol 互联网控制消息协议 ICMP协议通过特殊定义的消息在互联网上传递IP协议相关信息来实现对整个IP网络的管理控制功能 ICMP最常见的两个应用就是我们的 <code>ping</code>命令
<code>tracert</code>命令
- 主要功能
负责数据包的路由路径 路由的更新、维护 IP寻址(查找到网段范围) 路由器通常是该协议的载体
- 主要协议
IP、ICMP、IGMP
传输层
两个主机之间要通信,必定要建立连接才能实现通信 传输层就是负责提供我们端到端之间的连接,让我们可以与目的主机实现通信。 传输层最著名的两个协议
- TCP(Transmission Control Protocol)
- UDP(User Datagram Protocol)
TCP面向连接,进行可靠传输 UDP面向无连接,提供不可靠传输 后续我们会详细讲解这两个协议 其中后续要学的数据封装解封装流程中的数据分段也在我们传输层进行
- 主要功能
建立端到端连接 数据完整性校验 数据分段 数据排序 差错重传
- 主要协议
TCP UDP
应用层
改层融合了OSI模型的会话层和表示层以及应用层
两者给你弄差不多
负责对软件提供接口,让应用程序能够使用网络服务,比如文件传输、电子邮件等服务
最典型的应用层协议:
Telnet-文件传输协议
为用户提供了一种通过网络连接终端远程登入服务器的方式
FTP-文件传输协议
用于文件传输的Internet标准,通过建立可靠的面向连接的文件传输协议。
SMTP-简单邮件传输协议
该协议被用于收发电子邮件的邮件客户端程序上。
SNMP-简单网络管理协议
被运用在负责对网络设备的监控、维护等。
HTTP-超文本传输协议
是WWW(World Wide Web)万维网的基础,现在网站主要是通过https传输,早期使用http,因为安全原因,逐渐替换成https
- 主要功能
为应用提供网络访问 资源共享
- 主要协议
http telnet ftp tftp smtp snmp
相关文章
- Sql Server之旅——第五站 确实不得不说的DBCC命令(文后附年会福利)
- Sql Server之旅——第四站 你必须知道的非聚集索引扫描
- Sql Server之旅——第三站 解惑那些背了多年聚集索引的人
- Sql Server之旅——第二站 理解万恶的表扫描
- Sql Server之旅——第一站 那些给我们带来福利的系统视图
- 看看C# 6.0中那些语法糖都干了些什么(终结篇)
- 看看C# 6.0中那些语法糖都干了些什么(中篇)
- 看看C# 6.0中那些语法糖都干了些什么(上篇)
- 简单看看ThreadPool的源码以及从中看出线程间传值的另一种方法
- 最近用Timer踩了一个坑,分享一下避免别人继续踩
- 看看Parallel中高度封装的三个方法,Invoke,For和ForEach
- 简单看看这两个类 String和StringBuilder
- 看看这个超级实用的一种类型——匿名类型
- 来看看两种好玩的方法,扩展方法和分部方法
- 一个类型转换而引起的三级事件的一些思考
- 看看这个常常被初级程序员弄不懂的 “事件”
- 学C#你应该熟练使用ILDasm和Reflector【带视频教程】
- 挖一挖C#中那些我们不常用的东西之系列(5)——FlagAttribute
- 挖一挖C#中那些我们不常用的东西之系列(4)——GetHashCode,ExpandoObject
- 我也要谈谈大型网站架构之系列(4)——分布式中的异步通信