【TCP/IP】(二)、TCP/IP基础知识

时间:2023-01-08 00:11:22

1.TCP/IP的具体含义
  很多情况下,它是利用IP进行通信时所必须用到的协议群的统称。具体来说,IP或ICMP、TCP或UDP、TELNET或FTP、以及HTTP等都属于TCP/IP的协议。因此,有时也称TCP/IP为网际协议族。

2.TCP/IP协议分层模型
【TCP/IP】(二)、TCP/IP基础知识

a).硬件(物理层)
  TCP/IP的最底层是负责数据传输的硬件。这种硬件就相当于以太网或电话线路等物理层的设备。
  
b).网络接口层(数据链路层)
  网络接口层利用以太网中的数据链路层进行通信,因此数据接口层。也就是说,把它当做让NIC起作用的“驱动程序”也无妨。驱动程序是在操作系统与硬件之间起桥梁作用的软件。
  
c).互联网层(网络层)
  互联网层使用IP协议,它相当于OSI模型中的第3层网络层。IP协议基于IP地址转发分包数据。IP协议的作用是将分组数据包发送到目的主机,这期间它使用IP地址作为主机的标识。IP协议不具有重发机制,因此它属于非可靠传输协议。IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要给发送端发送一个发生异常的通知,TCMP就是为这一功能而制定的,它有时也被用来诊断网络的健康状况。另外还有ARP协议,它用来从分组数据包的IP地址中解析出物理地址(MAC地址)。
  
d).传输层
  传输层最主要的功能就是能够让应用程序之间实现通信。内部采用不同的端口号来区分不同的应用程序。
  
  TCP是一种面向有连接的传输层协议,它能够正确处理在传输过程中丢包、传输顺序错乱等异常情况,还能够有效利用带宽,缓解网络拥堵。为了提高网络的利用率,TCP协议中定义了各种各样复杂的规范,因此不利于视频会议等场合使用。
  
  UDP是一种面向无连接的传输层协议。它不关注对端是否真的收到了传送过去的数据,需要使用者自己在应用程序中去实现,它常用于分组数据较少或多播、广播通信以及视频通信等多媒体领域。
  
e).应用层(会话层以上的分层)
  TCP/IP的分层中,将OSI参考模型中的会话层、表示层、应用层的功能都集中到了应用程序中实现。

3.数据包首部
  每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关的信息。
  
以发送数据时为例:

a).应用程序处理
  首先应用程序会将真实数据转换为某种约定的格式,交给下层去处理。
  
b).TCP模块的处理
  TCP首部中,包括源端口号和目标端口号(用以识别发送主机和接受主机上的应用)、序号(用以发送的包中哪部分是数据)以及校验和(用以判断数据是否被损坏)。
  
c).IP模块的处理
  IP首部中包含接收端IP地址以及发送端IP地址。紧随IP首部的还有用来判断其后面数据是TCP还是UDP的信息。
  
d).网络接口(以太网驱动)的处理
  以太网首部中包含接收端的MAC地址、发送端的MAC地址以及标志以太网类型的以太网数据的协议。发送处理中的FCS(Frame Check Sequence)由硬件计算,添加到包的最后,设置FCS的目的是为了判断数据包是否由于噪声而被破坏。

总的来说,大致示例如下
【TCP/IP】(二)、TCP/IP基础知识