TCP / IP模型的层次结构
靠近顶端的层在逻辑上更贴近用户的应用程序,而靠近底部的那些在逻辑上更接近数据的物理传输。层提供或消费一个服务其实就是一种把高层协议从详细的传输比特中抽象出来的方法,例如以太网和冲突检测,尽管底层避免知道每个应用程序和它的协议的详细信息。 这种抽象还允许上层提供服务,而较低层不能,或选择不提供。同样,原来的OSI 参考模已经包括无连接服务。例如,IP (网间协议)并不是设计成完全可靠的,而是设计成尽最大努力交付协议。这意味着所有的传输层的实现都必须选择是否提供可靠性及提供到何种程度。UDP (用户数据包协议)提供数据完整性服务(通过校验和),但不保证数据的交付; TCP(传输控制协议)提供数据的完整性和交付的可靠性(由接收端重发,直到确认数据包的接收). 链路层
链路层是从本地网络连接到一个主机的联网范围。这一制度被称为网络文学中的链接。这是 网间协议的最低组件层,如TCP / IP 协议是独立于硬件的。因此,TCP / IP已经可以完成几乎存在于任何硬件上的网络技术。
链路层用于同一链路上移动网络层之间的两个不同的主机接口的数据包。在一个给定的链接间发送和接收数据包的过程为网卡的软件设备驱动程序,以及对固件或专门的芯片组所控制。这将执行执行数据连接功能,如添加一个分组头,以备它传输数据链路功能,然后在实际的物理介质上传输帧。TCP / IP模型包括在网际协议中,用
于数据链路寻址的规范的网络地址翻译方法,例如媒体访问控制,但低于该级别的所有其他方面都隐藏着假设存在的链接层,但没有明确定义。
链路层的数据包也可以被选在通过虚拟专用网络或其它网络层的隧道发送。在这种情况下,链路层的数据可能被视为另一个应用程序的数据去遍历另一个实例的IP 协议栈来传输或接收另一IP 连接。这样的连接,或虚连接,可以建立一个传输协议,甚至是应用范围协议,作为该协议的链路层隧道协议栈服务。因此,TCP / IP模型并没有规定一个严格的等级封装序列。
网络互联层
网络互联层解决了在一个或多个网络间发送数据包的问题。互联网络需要将数据从源网络发送到目的网络。这个过程称为路由。 在网间协议套件中,网间协议执行两大基本功能:
一、主机寻址和识别:完成分层寻址系统(可见IP 地址)。
二、路由包:这个是获取从源端到目的端的数据包的基本任务,是通过将其发送到下一个更靠近最终目的地的网络节点(路由)来实现的。 网间协议可以携带不同的上层协议的数据。每一个协议是由唯一的协议号确定地:例如,互联网控制报文协议(ICMP )和互联网组管理协议(IGMP )分别是协议1和协议2。
某些IP 包含的协议,如ICMP (用来传输有关IP 传输的诊断信息)和IGMP (用来管理IP 多播数据),是在IP 顶层的,但可执行联网功能。这说明因特网TCP / IP协议栈和OSI 模型的体系结构的差
异。
传输层
传输层的职责包括独立于基础网络的端到端的邮件传输功能,以及差错控制,分段,流量控制,拥塞控制和应用处理(端口号)。在传输层的端到端的信息传输或连接应用程序可以归为面向连接的传输控制协议(TCP )的实施,或无连接的在用户数据报协议(UDP )的实施。
传输层可以被看作是一种传输机制,就像车辆有责任确保其内容物(乘客/货物)安全和稳健的到达目的地,除非有另一个协议层负责安全交付。
传输层提供通过使用服务端口的应用连接服务。由于IP 只能保证尽力传送,传输层是TCP / IP协议栈提供可靠性的第一个层。IP 可以运行在一个可靠的数据链路协议上,如高级数据链路控制(HDLC )。传输层之上的协议,如RPC (远程过程调用协议)也可以提供可靠性。
例如,传输控制协议(TCP )是一个面向连接的协议,它解决大量可靠性问题以提供可靠的字节流。
1 、数据按顺序的到达。
2 、数据误差最小
3 、丢弃重复的数据将被
4 、重发丢失/丢弃的数据包
5 、包括控制交通拥塞
用户数据报协议是无连接数据报协议。如IP 协议,这是一个尽全力的,“不可靠”的协议。可靠性的问题是通过使用弱校验错误检测算法解决的。UDP 通常用于应用,如流媒体(音频,视频,IP 语音等)这些准时到达比可靠性更重要的地方,或者一些简单的查询/响应的应用如DNS 查找, 这要设立一个可靠的连接其开销将大得不成比例。实时传输协议(RTP )是一个为了实时数据而设计的数据报协议,如流式音频和视频。
TCP和UDP 用来传送一类更高级别的应用程序。合适的传输协议是以更高层协议的应用为基础选择的。例如,文件传输协议需要一个可靠的连接,但是网络文件系统(NFS )假设其下属的远程过程调用协议,而不是用于运输,而来保证可靠的传输。其他应用,如 VoIP,可以容忍一些数据包的丢失,而不是可以通过重传造成的重新排序或延迟。
任意特定网络地址的应用程序的区别在于它们的TCP 或UDP 端口。某些众所周知的端口都作为惯例与特定的应用程序相连。 应用层
应用层是指被大多数应用使用的用于网络通信的更高级别的协议。应用层协议的例子包括文件传输协议(FTP )和简单邮件传输协议(SMTP )。根据应用层协议编数据编码,然后变成了一个或封装(偶尔)多个的运输层协议(如传输控制协议(TCP )或用户数据报协议(UDP )),从而转用较低层的协议来影响实际数据的转移。
由于IP 协议栈没有在应用层和传输层间定义其他层,应用层的
协议都必须包括像OSI 模型中的表示层和会话层协议的行为。这通常是通过库完成。
应用层协议一般会把传输层(及其低层次的)协议看做“黑盒子”,它提供了稳定的用来沟通的网络连接,虽然这些应用程序通常了解运输层协议的特质,就如终端的IP 地址和端口号。如上所述,层次不需要在网际协议组给出明确的定义。应用层协议通常是与客户端服务器应用程序相连, 而共享的服务器已由IANA (互联网数字分配机构) 给他们分配了特定的端口:HTTP--端口80; 远程登录--端口23,等等。另一方面,客户端倾向于使用短暂端口,即端口号从预留的一系列数字中随机抽取。
运输及其下面的层次在很大程度上是不考虑到应用层协议的细节的。路由器和交换机通常不会看封装的流量的里面的,看看是它所代表的什么样的应用协议,而他们只是为运输提供一个通道。然而,有些防火墙和带宽限制应用程序去确定里面有什么,就像资源预留协议(RSVP )那样。有时网络地址转换(NAT )设施有必要利用特定的应用层协议。(NAT 允许一个专用网络上的主机通过一个单一的可视IP 地址使用端口转发技术与外界进行通信,并且这已成为现代国内宽带路由器最大的特征)。
TCP / IP模型的层次结构
靠近顶端的层在逻辑上更贴近用户的应用程序,而靠近底部的那些在逻辑上更接近数据的物理传输。层提供或消费一个服务其实就是一种把高层协议从详细的传输比特中抽象出来的方法,例如以太网和冲突检测,尽管底层避免知道每个应用程序和它的协议的详细信息。 这种抽象还允许上层提供服务,而较低层不能,或选择不提供。同样,原来的OSI 参考模已经包括无连接服务。例如,IP (网间协议)并不是设计成完全可靠的,而是设计成尽最大努力交付协议。这意味着所有的传输层的实现都必须选择是否提供可靠性及提供到何种程度。UDP (用户数据包协议)提供数据完整性服务(通过校验和),但不保证数据的交付; TCP(传输控制协议)提供数据的完整性和交付的可靠性(由接收端重发,直到确认数据包的接收). 链路层
链路层是从本地网络连接到一个主机的联网范围。这一制度被称为网络文学中的链接。这是 网间协议的最低组件层,如TCP / IP 协议是独立于硬件的。因此,TCP / IP已经可以完成几乎存在于任何硬件上的网络技术。
链路层用于同一链路上移动网络层之间的两个不同的主机接口的数据包。在一个给定的链接间发送和接收数据包的过程为网卡的软件设备驱动程序,以及对固件或专门的芯片组所控制。这将执行执行数据连接功能,如添加一个分组头,以备它传输数据链路功能,然后在实际的物理介质上传输帧。TCP / IP模型包括在网际协议中,用
于数据链路寻址的规范的网络地址翻译方法,例如媒体访问控制,但低于该级别的所有其他方面都隐藏着假设存在的链接层,但没有明确定义。
链路层的数据包也可以被选在通过虚拟专用网络或其它网络层的隧道发送。在这种情况下,链路层的数据可能被视为另一个应用程序的数据去遍历另一个实例的IP 协议栈来传输或接收另一IP 连接。这样的连接,或虚连接,可以建立一个传输协议,甚至是应用范围协议,作为该协议的链路层隧道协议栈服务。因此,TCP / IP模型并没有规定一个严格的等级封装序列。
网络互联层
网络互联层解决了在一个或多个网络间发送数据包的问题。互联网络需要将数据从源网络发送到目的网络。这个过程称为路由。 在网间协议套件中,网间协议执行两大基本功能:
一、主机寻址和识别:完成分层寻址系统(可见IP 地址)。
二、路由包:这个是获取从源端到目的端的数据包的基本任务,是通过将其发送到下一个更靠近最终目的地的网络节点(路由)来实现的。 网间协议可以携带不同的上层协议的数据。每一个协议是由唯一的协议号确定地:例如,互联网控制报文协议(ICMP )和互联网组管理协议(IGMP )分别是协议1和协议2。
某些IP 包含的协议,如ICMP (用来传输有关IP 传输的诊断信息)和IGMP (用来管理IP 多播数据),是在IP 顶层的,但可执行联网功能。这说明因特网TCP / IP协议栈和OSI 模型的体系结构的差
异。
传输层
传输层的职责包括独立于基础网络的端到端的邮件传输功能,以及差错控制,分段,流量控制,拥塞控制和应用处理(端口号)。在传输层的端到端的信息传输或连接应用程序可以归为面向连接的传输控制协议(TCP )的实施,或无连接的在用户数据报协议(UDP )的实施。
传输层可以被看作是一种传输机制,就像车辆有责任确保其内容物(乘客/货物)安全和稳健的到达目的地,除非有另一个协议层负责安全交付。
传输层提供通过使用服务端口的应用连接服务。由于IP 只能保证尽力传送,传输层是TCP / IP协议栈提供可靠性的第一个层。IP 可以运行在一个可靠的数据链路协议上,如高级数据链路控制(HDLC )。传输层之上的协议,如RPC (远程过程调用协议)也可以提供可靠性。
例如,传输控制协议(TCP )是一个面向连接的协议,它解决大量可靠性问题以提供可靠的字节流。
1 、数据按顺序的到达。
2 、数据误差最小
3 、丢弃重复的数据将被
4 、重发丢失/丢弃的数据包
5 、包括控制交通拥塞
用户数据报协议是无连接数据报协议。如IP 协议,这是一个尽全力的,“不可靠”的协议。可靠性的问题是通过使用弱校验错误检测算法解决的。UDP 通常用于应用,如流媒体(音频,视频,IP 语音等)这些准时到达比可靠性更重要的地方,或者一些简单的查询/响应的应用如DNS 查找, 这要设立一个可靠的连接其开销将大得不成比例。实时传输协议(RTP )是一个为了实时数据而设计的数据报协议,如流式音频和视频。
TCP和UDP 用来传送一类更高级别的应用程序。合适的传输协议是以更高层协议的应用为基础选择的。例如,文件传输协议需要一个可靠的连接,但是网络文件系统(NFS )假设其下属的远程过程调用协议,而不是用于运输,而来保证可靠的传输。其他应用,如 VoIP,可以容忍一些数据包的丢失,而不是可以通过重传造成的重新排序或延迟。
任意特定网络地址的应用程序的区别在于它们的TCP 或UDP 端口。某些众所周知的端口都作为惯例与特定的应用程序相连。 应用层
应用层是指被大多数应用使用的用于网络通信的更高级别的协议。应用层协议的例子包括文件传输协议(FTP )和简单邮件传输协议(SMTP )。根据应用层协议编数据编码,然后变成了一个或封装(偶尔)多个的运输层协议(如传输控制协议(TCP )或用户数据报协议(UDP )),从而转用较低层的协议来影响实际数据的转移。
由于IP 协议栈没有在应用层和传输层间定义其他层,应用层的
协议都必须包括像OSI 模型中的表示层和会话层协议的行为。这通常是通过库完成。
应用层协议一般会把传输层(及其低层次的)协议看做“黑盒子”,它提供了稳定的用来沟通的网络连接,虽然这些应用程序通常了解运输层协议的特质,就如终端的IP 地址和端口号。如上所述,层次不需要在网际协议组给出明确的定义。应用层协议通常是与客户端服务器应用程序相连, 而共享的服务器已由IANA (互联网数字分配机构) 给他们分配了特定的端口:HTTP--端口80; 远程登录--端口23,等等。另一方面,客户端倾向于使用短暂端口,即端口号从预留的一系列数字中随机抽取。
运输及其下面的层次在很大程度上是不考虑到应用层协议的细节的。路由器和交换机通常不会看封装的流量的里面的,看看是它所代表的什么样的应用协议,而他们只是为运输提供一个通道。然而,有些防火墙和带宽限制应用程序去确定里面有什么,就像资源预留协议(RSVP )那样。有时网络地址转换(NAT )设施有必要利用特定的应用层协议。(NAT 允许一个专用网络上的主机通过一个单一的可视IP 地址使用端口转发技术与外界进行通信,并且这已成为现代国内宽带路由器最大的特征)。