TCP/IP协议分层模型
上图所示,即OSI参考模型与TCP/IP分层模型的对应关系。OSI参考模型更注重“通信协议必要的功能是什么”而TCP/IP则更强调“在计算机上实现协议应该开发哪种程序”。
硬件(物理层):相当于以太网或者电话线路等物理层设备。因人们在物理层上使用的传输媒介不同(使用网线或无线),因此对于它的内容一直无法统一定义
网络接口层(数据链路层):将该层当做让NIC起作用的“驱动程序”。驱动程序是在操作系统中与硬件之间起桥梁作用的软件。计算机的外围附加设备或扩展卡,不是直接插到电脑上或电脑的扩展槽上就能马上使用的,还需要有相应的驱动程序支持。
互联网层(网络层):使用IP协议,该协议基于IP地址转发分包数据。
TCP/IP分层中的互联网层与传输层的功能通常由操作系统提供,尤其是路由器,他必须得实现通过互联网层转发分组数据包的功能。
此外,连接互联网的所有主机跟路由器必须都实现IP功能,其他连接互联网的网络设备(如网桥、中继器或者集线器)就没必要一定实现IP或TCP功能。
IP:
IP是跨越网络传送数据包,使整个互联网都能收到数据的协议。IP协议使数据能够发送到地球的另一端
,这期间它使用IP地址作为主机的标识。
IP还隐含着数据链路层的功能。通过IP,互相通信的主机之间不论经过怎样的底层数据链路都能实现通信。
虽然IP也是分组交换的一种协议,但是它不具有重发机制。即使分组数据包未能到达对端主机也不会重发。因此
属于非可靠的传输协议。
ICMP:
IP数据包在发送图纸一旦发生异常导致无法到达对端目标地址时,需要给发送端发送一个异常的通知。ICMP就是
为了这一功能而定制的。有时它也被用来诊断网络的健康状况。
ARP:
从分组数据包的IP地址中解析出的物理地址(MAC地址)的一种协议。
传输层
TCP:TCP是一种面向有连接的传输层协议。它可以保证两端通信主机之间的通信可达。TCP能够正确处理传输
过程中丢包、传输顺序错乱等异常情况。此外TCP还能够有效利用带宽,缓解网络拥堵。
然而,为了建立与断开连接,有时它需要至少7次发包收包,导致网络流量的浪费。此外,为了提高网络的
利用率,TCP协议中定义了各种复杂的规范,因此不利于视频会议等场合使用。
UDP:UDP是一种面向无连接的传输层协议。UDP不会关注对端是否真的收到了传送过去的数据,如果需要检查
对端是否收到分组数据包,或者对端是否连接到网络,则需要在应用程序中实现。UDP常用于分组数据较少或者
多播、广播及视频通信等多媒体领域。
应用层(会话层及以上的分层)
TCP/IP的分层中,将OSI参考模型中的会话层、表示层和应用层的功能都集中到了应用程序中实现。