Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UDP和TCP、HTTP #56

Open
Seasons123 opened this issue Jul 26, 2017 · 2 comments
Open

UDP和TCP、HTTP #56

Seasons123 opened this issue Jul 26, 2017 · 2 comments

Comments

@Seasons123
Copy link
Owner

Seasons123 commented Jul 26, 2017

UDP的首部头和TCP的首部

考察UDP的首部头
UDP的首部由8个字节组成。

源端口:2个字节。
目的端口:2个字节。
长度:2个字节。
检验和:2个字节。
考察TCP的首部

TCP首部字段
一个TCP报文由TCP首部和数据组成的。TCP报文首部的前20个字节是固定的,后面有4n个字节是根据需要而增加的, 因此TCP首部的最小长度是20字节。
20个字节由以下部分组成:

源端口:2个字节
目的端口:2个字节
序号:4个字节, 因为TCP是面向字节流的,在一个TCP连接中传送的字节流中的每一个字节都按顺序编号。
确认号:4个字节,是期望收到下一个报文段的第一个数据字节的序号。
数据偏移:占4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。
保留:占6位。
6个状态位:占6位,URG,ACK,PSH,RST,SYN,FIN。
窗口:占2个字节,指的是接受窗口的大小。
检验和:占2个字节。
紧急指针:占2个字节,只有URG=1时才有意义。
选项和填充:一共占4个字节,选项大小可变。
@Seasons123
Copy link
Owner Author

TCP和UDP的区别

TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来

UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!
UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。

@Seasons123 Seasons123 changed the title UDP的首部头和TCP的首部 UDP和TCP Jul 27, 2017
@Seasons123 Seasons123 changed the title UDP和TCP UDP和TCP、HTTP Aug 24, 2017
@Seasons123
Copy link
Owner Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant