计算机网络---传输层

时间:2021-05-05 14:35:51

一.协议有TCP,UDP(TCP:Transmission Control Protocol 传输控制协议
UDP:User Datagram Protocol 用户数据包协议)

二.传输层的作用:
1)分割与重组数据
2)寻址(按照端口号)
3)连接管理(三次握手)

三.传输层的概念(端口号 16bit(0~65535))
1~255:知名服务占用
256~1023:被unix系统占用
1024:一般编程要用1024以上的
用端口号区分服务,表示的是服务而不是进程。
常见端口号:20(传输)21(控制验证) FTP(TCP协议)
23 Telnet (T)
53 DNS(UDP或TCP)
80 HTTP(T)
443 HTTPS(T)
(HTTPS比HTTP更安全)
CMD命令查看端口号:netstat -an
C————————S
个人 服务器
端口:随机 端口号:固定

四.套接字:IP+端口 源IP地址和目的IP以及源端口号和目的端口号的组合

五.代理和VPN(虚拟个人网络)

六.TCP包格式
TCP协议只定义了一种报文格式
建立、拆除连接、传输数据使用同样的报文
计算机网络---传输层
TCP报文段首部(20个字节)
源端口和目的端口:各占2个字节,16比特的端口号加上32比特的IP地址,共同构成相当于传输层服务访问点的地址,即“插口”;
这些端口可用来将若干高层协议向下复用;
序号字段和确认序号字段
序号:占4个字节,是本报文段所发送的数据部分第一个字节的序号。在TCP传送的数据流中,每一个字节都有一个序号。例如,一报文段的序号为300,而起数据供100字节,则下一个报文段的序号就是400;
确认序号:占4字节,是期望收到对方下次发送的数据的第一个字节的序号,也就是期望收到的下一个报文段的首部中的序号;
由于序号字段有32比特长,可以对4GB的数据进行编号,这样就可保证当序号重复使用时,旧序号的数据早已在网络中消失了;
数据偏移字段
数据偏移:占4比特,表示数据开始的地方离TCP报文段的起始处有多远。这实际上就是TCP报文段首部的长度。由于首部长度不固定,因此数据偏移字段是必要的。
保留字段: 6比特,供今后使用,目前置为0。
6个比特的控制字段
紧急比特URGent:当URG=1时,表明此报文应尽快传送,而不要按原来的排队顺序来传送。与“紧急指针”字段配合使用,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号,使接收方可以知道紧急数据共有多长;
确认比特ACK:只有当ACK=1时,确认序号字段才有意义;
急迫比特PSH:当PSH=1时,表明请求远地TCP将本报文段立即传送给其应用层,而不要等到整个缓存都填满了之后再向上交付。
复位比特ReSeT:当RST=1时,表明出现严重差错,必须释放连接,然后再重建传输连接。复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接;
同步比特SYN:在建立连接时使用,当SYN=1而ACK=0时,表明这是一个连接请求报文段。对*同意建立连接,在发回的报文段中使SYN=1和ACK=1。因此,SYN=1表示这是一个连接请求或连接接受报文,而ACK的值用来区分是哪一种报文;
终止比特FINal:用来释放一个连接,当FIN=1时,表明欲发送的字节串已经发完,并要求释放传输连接;
窗口字段
窗口Window:占2字节,表示报文段发送方的接收窗口,单位为字节。此窗口告诉对方,“在未收到我的确认时,你能够发送的数据的字节数至多是此窗口的大小。”
通知窗口advertised window:接收端根据其接收能力许诺的窗口值,是来自接收端的流量控制。接收端将通知窗口的值放在TCP报文的首部中,传送给对方。
拥塞窗口congestion window:是发送端根据网络拥塞情况得出的窗口值,是来自发送端的流量控制。
检验和覆盖了整个的TCP报文段:TCP首部和TCP数据。这是一个强制性的字段,由发端计算和存储,由收端进行验证。
选项字段允许每台主机设定能够接受的最大TCP载荷能力(缺省536字节) 。
计算机网络---传输层
数据流、报文段和序号
TCP通信的动作
切割:根据适合传输的大小对数据流进行切割
最大报文段长度<64Kbytes
通常:MTU-(IP头+TCP头)
复原:用报文段恢复原始数据流的字节顺序
序号:排序、查错及数据流复原
计算机网络---传输层
报文序号
依据数据流中的字节序号(流序号)
报文序号为报文段中第一字节的流序号
如:流序号=x,长度=L的报文段,则:
报文的序号为x,下一报文序号为x+L
序号特点
报文的顺序关系
数据流的位置,更便于流的复原
需较大的序号空间(32bit,4Gbyte)
例如:在一个报文中,序号为300,而报文中数据有100字节。
下一个报文符,其序号为400;
计算机网络---传输层


TCP特点
1)TCP是一种面向连接的,可靠的传输层协议。
2)TCP协议建立在不可靠的网络层IP协议之上。
3)TCP采用的最基本的可靠技术是:1.确认与超时重传 2.流量控制

UDP包格式
计算机网络---传输层
特点:
1)UDP面向非可靠连接。
2)会丢包,没有检验,速度快,无须握手过程。
3)UDP的适用环境:少量Data,对可靠性要求不高的应用环境。