软件测试之网络协议--数据传输过程和ip协议

软件测试之网络–数据传输过程和ip协议

传输层

PC1-----PC2数据传输的过程
PC1发送数据—封装的过程
应用层  数据
表示层  数据
会话层  数据
传输层  TCP报头/UDP报头+数据
网络层 IP报头+TCP报头/UDP报头+数据
数据链路层 帧头+IP报头+TCP报头/UDP报头+数据+帧尾
物理层 转换为比特率
PC2接收数据—解封装的过程
物理层 比特率
数据链路层 帧尾+IP报头+TCP报头/UDP报头+数据+帧头
网络层 IP报头+TCP报头/UDP报头+数据
传输层 TCP报头/UDP报头+数据
会话层 数据
表示层 数据
应用层 数据

在传输层有TCP报头/UDP报头,那么TCP和UDP什么区别呢?下面将仔细讲解

首先TCP
是面向连接的,所谓"面向连接"就是在正式通讯前必须要与对方建立连接,在使用TCP协议进行数据传输时,往往需要客户端和服务端先建立一个通道,且这个通道只能被客户端和服务端使用,在使用后又要关闭这个通道,可以成为"三次握手"和"四次挥手",所以这是可靠的,一对一的通讯协议
UDP呢
是面向无连接的,无连接也就是在正式通讯前不必与对方先建立连接,不管对方的状态就直接发送,所以说它的传输方式是不可靠的,可以一对一,多对一,一对多的通讯协议,所以UDP在传输数据方面速度更快,延迟更低,实时性更好

上面提到TCP协议数据传输时的"三次握手"和"四次挥手"

通道的建立------"三次握手"
(1)在建立通道时,客户端首先要向服务端发送一个SYN同步信号
(2)服务端在接收到这个信号之后会向客户端发出SYN同步信号和ACK确认信号
(3)当服务端的SYN同步信号和ACK确认信号到达客户端后,客户端与服务端之间的这个"通道"就会被建立起来
通道的关闭------"四次挥手"
(1)在数据传输完毕之后,客户端会向服务端发出一个FIN终止信号
(2)服务端在收到这个信号之后会向客户端发送一个ACK确认信号
(3)如果服务端此后也没有数据发给客户端时,服务端会向客户端发送一个FIN终止信号
(4)客户端在收到这个信号之后会回复一个确认信号,在服务端收到这个信号之后,服务端和客户端的通道也就关闭了

数据链路层

定义了电信号0和1的分组方式
这里就会提到以太网协议
以太网协议:一组电信号构成一个数据包,叫"帧"
每一数据帧分成:报头head和数据data两部分
head包含:固定18个字节
发送者/源地址:6个字节
接收者/目标地址:6个字节
数据类型:6个字节
data包含:最短46字节,最长1500字节
数据包的具体内容
head长度+data长度=最短64字节,最长1518字节,超过就分片发送
mac地址
head 中包含的源地址和目标地址的由来,发送端和接收端的地址,便是指网卡的地址,即mac地址
广播
有了mac地址,同一网络内的两台主机就可以通讯了(一台主机通过arp协议获取另外一台主机的mac地址)
这就是最原始的通讯方式,广播的通讯方式,如果现在存在pc1.pc2.pc3.pc4,那么pc1想要发送消息给pc4,它发送的以太网包就会被pc2,pc3都接收到,拆开后发现目标mac如果不是自己的就丢弃,如果是自己的就响应,如果所有的通讯都采用以太网的广播方式,那么一台机器发送的包全世界都会收到,所以网络层就是解决这个问题了

网络层

引入一套新的地址用来区分不同的广播域/子网这套地址即网络地址
ip协议
规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的时v4版本,即ipv4
网络地址由32位二进制表示,范围是:0.0.0.0-255.255.255.255
一个ip地址通常写成四段十进制数
ip地址分为两部分
网络部分:标识子网
主机部分:标识主机

猜你喜欢

转载自blog.csdn.net/HONGTester/article/details/107099486