第二章(TCP/IP基础知识)
TCP(Transmission Control Protocol)和IP(Internet Protocol)是互联网众多通信协议最为著名的。本章旨在介绍TCP/IP的发展历程及其相关协议的概述。
一、TCP/IP的具体含义
在实际生活中有时确实是把它当作两种协议,但是在大多数情况下它只是利用IP进行通信时所必须用到的协议群的统称。有时也称TCP/IP为网际协议族。总之。TCP/IP是在网络互联的设备之间能够通信的前提下才被提出的协议。
二、TCP/IP协议分层模型
上图列出了TCP/IP与OSI分层之间的大致关系,可以看出:
OSI参考模型注重“通信协议必要的功能是什么”
TCP/IP则更强调“在计算机上实现协议应该开发哪种程序”
- 硬件(物理层) ,负责数据传输的硬件,相当于以太网或电话线路等物理层设备;
- 网络接口层(数据链路层) ,利用以太网中的数据链路层进行通信;
- 互联网层(网络层) ,互联网层使用IP协议,IP协议基于IP地址转发分包数据,其作用是将分组数据包发送到目的主机;
- TCP/IP分层中的互联网层与传输层的功能通常由操作系统提供。尤其是路由器,它必须得实现通过互联网层转发分组数据包的功能。
- IP协议是跨越网络传送数据包,使整个互联网都能收到数据的协议,还含有数据链路层的功能;
- ICMP:对IP数据包发送失败时通知发送端,有时用来诊断网络的健康状况;
- ARP: 从分组数据包中的IP地址中解析出物理地址(MAC地址)的一种协议。
- 传输层 ,功能是能够让应用程序之间实现通信。
两个代表性协议:
TCP是一种面向有连接的传输层协议,能够正确处理丢包等异常情况,有效利用带宽,网络流量占用,规范多;
UDP是一种面向无连接的传输层协议,不关注数据是否正常到达,常用于分组数据较少、广播通信等。
- 应用层(会话层以上的分层)
浏览器与服务端之间通信所用的协议是HTTP(HyperText Transfer Protocol);
所传输数据的主要格式是HTML(HyperText Markup Language);WWW中的HTTP属于OSI应用层的协议,而HTML属于表示层的协议;
文件传输使用的协议FTP(File Transfer Prototol);
远程登录(TELNET与SSH)
网络管理-SNMP(Simple Network Management Protocol)可以对联网的设备进行远程修改配置,检查是否正常运行。
三、TCP/IP分层模型与通信示例
- 数据包首部
在每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息。 - 发送数据包
a.应用程序处理,编码处理相当于OSI的表示层功能
b.TCP模块的处理,负责建立连接、发送数据、断开连接
c. IP模块的处理,IP包生成后参考路由控制表决定接受此IP包的路由或主机
d. 网络接口(以太网驱动)的处理,以太网首部中包含接收端MAC地址、发送端MAC地址以及标志以太网类型的以太网数据的协议 - 经过数据链路的包
以太网会用MAC地址,IP会用IP地址。 - 数据包接受处理
e.网络接口(以太网驱动)的处理,从以太网的包首部找到MAC地址判断是否为自己的包,然后传给后一级;
f. IP模块的处理,判断是否匹配,
g.TCP模块的处理,判断数据是否正确,正确则“回执”给发送端
h…应用程序处理,接受处理真正的数据。
博观而约取,厚积而薄发!