网络各个层的作用
-
应用层
提供特定于应用程序的协议, 例如: HTTP协议 FTP协议 IMAP协议 -
传输控制层
发送数据包到计算机上使用特定端口号的应用程序 -
网络层
使用IP地址将数据包发送到特定的计算机 -
数据链路层
将二进制数据包与网络信号之间相互转换
1. 应用层
当我们在浏览器的地址栏上输入http://www.csdn.net连接的时候,首先DNS域名解析,将http://www.csdn.net转为IP地址, 应用层使用HTTP协议,将请求的信息打包,将数据发送到传输控制层
2. 传输控制层
传输控制层,根据TCP协议,分配给数据包端口号,TCP将与目标地址三次握手建立面向连接的可靠字节流协议,TCP将过大的数据分包,将包进行排序编号,并附上源端口和目标地址端口号,交给下一层IP层进行处理
3. 网络层
网络层IP,IP协议负责发送包,IP是不可靠的无连接协议,只负责发送数据包,将数据包连接到目标路由器,其中每一个包都是独立的,其中数据包可能通过不同的物理链路到达目标地址,到达的速度也是不同的,这就导致数据包可能是乱序到达目标地址的,也可能会发生丢包的情况。TCP会根据数据包上的序列号来进行排序重组数据包,如果成功向发送方发送接收确认请求,发送方在一定的时间内没有得到接收发的确认,发送方会重新发送数据包。IP协议根据IP地址和端口号,传送到链路层
4. 数据链路层
IP数据链路层,将数据包(数据,源端口,目标端口,源IP, 目标IP)的文本信息转译成电子信号,通过网络电缆传输。路由器检查每一个数据包的目标地址,并将它发送到目标地址,数据包最终会到达服务器
5. 信息返回
数据包到达服务器,从TCP/IP协议的底部向上传递,其中的IP地址和端口号都会从数据包中剥离出来,当数据包到达HTTP应用层的时候,已经恢复成URL请求的形式,并通过端口号,发送到监听该端口的应用程序,应用程序根据请求信息发送请求的合法内容。发送的内容和上述方式一样,返回给我们的电脑,并在我们的浏览器进行解析,浏览器也有一定的端口号,端口号是用来找应用程序的
一点鄙见,不正之处,望指正