1、连接服务的类型
(1)面向连接的服务(TCP)
源端与目的端在通信前要先建立连接,然后在此连接上互相传输数据帧,每一个帧都被编号,数据链路层保证传送的帧被对方收到,且只收到一次,双方通信完毕后拆除连接。
TCP: 面向连接,在传输数据之前要先建立连接,有流量控制、差错检测、数据重发功能。包头较大,网络开销大。
(2)无确认、无连接的服务(UDP)
源端不需要建立连接就向目的端发送独立的数据帧,而目的端也不需要对收到的帧进行确认。
UDP: 无连接,直接发送数据,不进行流量控制,没有差错检测和数据重传功能。包头小,网络开销较小。不可靠,因为它不与对方进行协商并连接,它也不会给数据段标号,也不关心数据段是否到达接收方。
2、端口概述
由于网络通信所用的协议较多,且一台主机可能同时提供多种服务,为了标识和区分这些协议,引入了端口的概念,即每个协议都对应着一个端口,用端口号予以标识,因此每种服务也都有其自己的工作端口。若一台服务器提供多种服务,客户端可根据端口号访问到它所需要的服务。端口号由16位二进制数组成,范围:1~65535。
在TCP/IP协议的通信中,端口号是为了识别应用程序和各种服务而使用的号码,它包含在TCP协议和UDP协议的报头中.
3、端口分类
第一种端口是知名端口,也可称为固定端口,是网络协议默认使用的端口,用户不可随意使用。范围:1~1023
第二种端口是动态端口,是随时会变化的端口,是计算机根据需要随机打开的端口,使用完毕即关闭。范围:1024~65535。
4、TCP连接过程及三次握手过程
5、TCP段格式
源端口(Source Port):呼叫端口号
目的端口(Destination Port):被叫端口号
序号(Sequence Number):标记数据段的顺序
确认号(Acknowledgment Number):下一个段的序号
报头长度(HLEN):报头的字节数,又称偏移量
保留域(Reserved):为0
编码位(Code Bits):控制功能(会话的建立和终止)
窗口(Window):发送的字节数
校验和(Checksum):报头和数据字段的校验和
紧急指针(Urgent Pointer):紧急数据的末尾
选项(Option):当前定义项,TCP段的最大值
数据(Data):上层协议的数据
6、UDP段格式
7、TCP 与 UDP 比较
(1)TCP协议在传送数据段的时候要给段标号;UDP协议没有
(2)TCP协议可靠; UDP协议不可靠
(3)TCP协议是面向连接; UDP协议采用无连接
(4)TCP协议负载较高; UDP协议低负载
(5)TCP协议的发送方要确认接收方是否收到数据段; UDP反之
(6)TCP协议采用窗口技术和流量控制;UDP协议没有