网络 分层
很多人都把TCP/IP理解为TCP和IP,其实不是。TCP/IP其实是一个协议族群包括了TCP协议,UDP协议,IP协议,DHCP协议(动态IP),SSH(远程登录协议),HTTP协议(超文本传输协议),PPP协议(点对点通信协议)。
TCP/IP 模型也是分层模型,分为4 层。OSI/RM 模型与TCP/IP 模型的参考层次如图所示:
当用户通过http发起一个请求时,应用层,传输层,网络层,链路层的相关协议依次对该请求进行包装并协带对应的首部,最终在链路层生成以太网数据包,数据包通过物理介质传输给对方主机,对方接收到数据包后,再一层一层地采用对应的协议进行拆包,最后把应用层数据交给应用程序去处理。
传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。流就是指不间断的数据结构,当应用程序采用 TCP 发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。TCP 为提供可靠性传输,可以进行丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制的机制。此外,因为TCP 作为一种面向有连接的协议,只有在确认通信对端存在时才会发送数据,从而还具备“流量控制”、“拥塞控制”、提高网络利用率等众多功能。著名的三次握手就是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认连接的建立,而终止TCP连接就是四次挥手,需要客户端和服务端总共发送四个包以确认连接的断开。
用户数据报协议(User Datagram Protocol ,UDP)是TCP/IP 模型中一种面向无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP 协议基本上是IP 协议与上层协议的接口。UDP 协议适用于端口分别运行在同一台设备上的多个应用程序中。与TCP 不同,UDP 并不提供对IP 协议的可靠机制、流控制以及错误恢复功能等,在数据传输之前不需要建立连接。由于UDP 比较简单,UDP 头包含很少的字节,所以比TCP负载消耗少。UDP 适用于不需要TCP 可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候。UDP 服务于很多知名应用层协议,包括网络文件系统(Network File System,NFS)、简单网络管理协议(Simple Network Management Protocol,SNMP)、域名系统(DomainName System,DNS)以及简单文件传输系统(Trivial File Transfer Protocol,TFTP)。
互联网协议(Internet Protocol,IP)是用于报文交换网络的一种面向数据的协议。IP是在TCP/IP 协议中网络层的主要协议,任务是根据源主机和目的主机的地址传送数据。为达到此目的,IP 定义了寻址方法和数据报的封装结构。第一个架构的主要版本,现在称为IPv4,仍然是最主要的互联网协议。当前世界各地正在积极部署IPv6。
面向有连接型 :在发送数据之前,需要在收发主机之间建立一条通信线路。在通信传输前后,专门进行建立和断开连接的处理,可以避免发送无谓的数据。
面向无连接型 :发送数据时候不需要建立连接,发送端可以在任何时候自由发送数据,即使接收端不存在,发送端也可以将数据发送出去。
它是连接计算机与网络的硬件设备,无论是光纤连接,还是电缆,都必须借助网卡才能实现数据的通信。
网卡的主要功能:
中继器是在局域网环境下用来延长网络物理距离最简单最廉价的设备,作用是将电缆传过来的电信号或光信号复制、调整、放大再传给另一个电缆,以此来解决线路传输过程中信号功率衰减的问题,延长网络的长度。
二层交换机工作于OSI模型的第二层数据链路层(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层),它可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些地址与对应的连接端口记录在自己内部的一个地址表中
地址的唯一性:一个地址必须明确表示一个主体对象,同一个通信网络中不允许有两个相同地址通信主体存在。
地址的层次性:MAC与IP地址都具有唯一性,但是只有IP地址具有层次性。
网络中通信地址越来越多,如何高效从一堆地址中找到通信的目标地址,这就需要地址具有层次性。 IP地址由网络号和主机号组成。IPv4是一个32位的地址,用4个十进制数字表示。以C类地址192.168.24.1为例,其中前24位是网络地址,后8位是主机地址。如果两个IP地址在同一个子网内,则网络地址一定相同。
网关是从一个网络到另一个网络的关口,或者说是从一个网络通向其他网络的IP地址。比如有网络A和网络B,A的IP范围是192.168.1.1~ 192.168.1.254,子网掩码255.255.255.0,B的IP范围是192.168.2.1 ~192.168.2.254,子网掩码为255.255.255.0。在没有路由器的情况下,A网络和B网络是不能进行TCP/IP通信的。TCP/IP协议会判定两个网络中的主机属于不同的网络。如果网络A中的主机发现数据包的目的主机不在自己所属的网络中,它就会把数据包发送给自己的网关,再由网关转发给网络B的网关,最终网络B的网关再转发个网络B中的某个主机。
所以只有设置好网关的IP,TCP/IP协议才能实现不同网络之间的通信。网关的IP地址是具有路由功能的设备的IP地址,也就是路由器。
2024-04-19 广告