本文仅是自己阅读笔记,不正确之处请多包涵和纠正。
硬件(物理层)
TCP/IP的最底层是负责数据传输的硬件。这种硬件就相当于以太网或电话线路等物理层的设备。关于它的内容一直无法定义。因为只要人们在物理层面上所使用的的传输媒介不同(如使用网线或无线),网络的带宽、可靠性、安全性、延迟等都会有所不同,而在这些方面没有一个既定的指标。总之,TCP/IP是在网络互连的设备之间能够通信的前提下被提出的协议。
网络接口层(数据链路层)
网络接口层利用以太网中的数据链路层进行通信,因此属于接口层。也就是说,把它当做让NIC起作用的“驱动程序”也无妨。驱动程序是在操作系统与硬件之间起桥梁作用的软件。计算机的外围附加设备或扩展卡,不是直接插到电脑上或电脑的扩展槽就可以马上使用的,往往还需要安装一些软件,即相应的驱动软件支持。
互联网层(网络层)
互联网层使用IP协议,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有别于TCP,它是一种面向无连接的传输层协议。UDP不会关注对端是否真的收到传输过去的数据。
应用层(会话层以上的分层)
WWW
浏览器与服务端之间的通信所使用的协议是HTTP,所传输的数据的主要格式是HTML。
电子邮件E-Mail
电子邮件其实就是指在网络上发送信件。发送电子邮件的协议叫做SMTP(simple mail transfer protocol),电子邮件最初只可以发送文本格式的,但电子邮件格式由MIME协议扩展之后,就可以发送声音、图像等。MIME属于OSI的第六层表示层。
文件传输FTP
- 文件传输指将保存在计算机硬盘上的文件转移到本地硬盘上,或将本地的转移到其他机器上。
- 传输过程可以选择用二进制还是文本方式
- 在FTP中进行文件传输时会建立两个TCP连接,分别是发出传输请求时所要用到的控制连接与实际传输数据时所用到的数据连接。
远程登录(TELNET与SSH)
远程登录是指登录到远程的计算机上,使那台计算机上的程序得以运行的一种功能。TCP/IP网络中远程登录中常用TELNET和SSH两种协议。
网络管理(SNMP)
在TCP/IP中进行网络管理时,采用SNMP(Simple Network Management Protocol)协议。使用SNMP管理的主机、网桥、路由器等称作SNMP代理,而进行管理的那一段叫做SNMP管理器。
一个网络范围越大,结构越复杂,就越需要对其进行有效的管理。而SNMP可以让管理员及时检查网络拥堵情况,及早发现故障。