计算机网络
计算机网络
基础
TCP/IP有那几层
应用层:
我们电脑或手机使用的应用软件都是在应用层实现。当两个不同设备的应用需要通信时,就要把数据传输给下一层,也就是传输层。
应用层只需要专注于喂用户提供应用功能,比如HTTP,FTP,DNS,Telnet等
传输层:
应用层的数据回传给传输层,传输层是为应用层提供网络支持的。
在传输层有两个协议,分别是TCP和UDP
UDP:只负责发送数据包,不保证能否抵达对方,但它时效性更高,传输效率也高
TCP:全称是控制传输协议,比UDP多了很多特性,比如流量控制、超时重传、拥塞控制等,这些都是为了保证数据数据包能够可靠地传输对方。
应用层需要传输的数据可能会非常大,如果直接传输就不好控制。因此当传输层的数据包大小超过MSS(TCP最大报文长度),就要将数据包分块,这样技师中途有一个分块丢失或损坏了只需要发送损失的分块。我们把这个分块称为一个TCP段。
网络层:
网络层负责将数据从一个设备传输到另一个设备,帮助实现应用到应用的通信,而实际的传输功能就交给下一层
网络层最常使用的协议是IP协议,IP协议会将传输层的保温作为数据部分,再加上IP包头组装成IP报文
为了实现不同设备间的通信,需要有区分设备的编号—IPv4和IPv6协议
对于IPv4协议,IP地址共32位,分成了四段,例如127.0.0.1。每段是8位。虽然做到了区分设备,但是寻址起来就特别麻烦,所以将IP地址分成两种意义:
- 一个是网络号,负责表示该IP地址是属于哪个子网的。
- 一个是主机号,负责表示同一子网下的不同主机。
如何区分?需要配合子网掩码才能算出IP地址的网络号和主机号
那么在寻址的过程中,先匹配到相同的网络号(表示找到同一个子网),才会去找对应的主机。
除了寻址能力,IP协议还有一个重要能力是路由。实际场景中,两台设备并不是用一条网线直接连接起来的,而是通过很多网关、路由器、交换机等众多网络设备,因此当数据包单打一个网络节点,就需要通过路由算法决定下一步走哪条路径。
所以,IP协议的寻址作用是高速我们去往下一个目的地该朝什么方向走,而路由是根据下一个目的地选择路径。
网络接口层
生成了IP头部后,接下来就要交给网络接口层早IP头部层的前面加上MAC头部,并封装成数据帧发送到网上。
IP头部中的接收方IP地址表示网络包的目的地,通过这个地址我们就可以判断要将包发送到哪里,但在以太网的世界中,这个思路行不通。
以太网:电脑上的以太网接口,Wi-Fi接口,以太网交换机、路由器上的千兆,万兆以太网口,还有网线,他们都是以太网的组成部分。以太网是一种在局域网内,把附近的设备链接起来,使他们之间可可以进行通讯的技术。
输入网址到网页,期间发生了什么
1.解析URL
首先就是对url进行解析,从而生成发送给Web服务器的请求信息。