计算机网络重要协议汇总及解释笔记

TLS

安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。

该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。

 

TLS握手协议

TLS握手协议使双方(服务器和客户端)在应用协议层(如HTTP,SMTP等)传输或接收到数据的第一个字节前,就记录层(TLS记录协议)的安全参数达成一致,鉴别彼此(交换密钥),事例安全参数和向彼此报告错误情况。

安全参数实际上根据对话标识符,证书(X509v3),压缩方式,密码规格(bulk加密算法和MAC算法),主密钥和回复标记产生。RFC2246中定义了TLS握手协议。

 

TLS记录协议

是一种分层协议,这种协议被用来封装几种高层协议(如HTTP,SMTP等)。使用有TLS握手协议产生的安全参数,它首先将上层被传输的数据分片成便于管理的块,然后对数据有选择性地压缩,计算出消息认证码MAC(如MD5或SHA),加密(如NULL,DES,3DES等),最后将结果送出。接收到的数据经过解密,校验,解压缩,重组后被传输到上层客户端。RFC2246中定义了TLS记录协议。

 

TCP/IP五层模型

 

应用层,传输层,网络层,数据链路层,物理层

 

物理层:中继器、集线器、还有我们通常说的双绞线也工作在物理层

数据链路层:网桥(现已很少使用)、以太网交换机(二层交换机)、网卡(其实网卡是一半工作在物理层、一半工作在数据链路层)

网络层:路由器、三层交换机

传输层:四层交换机、也有工作在四层的路由器

 

OSI七层模型

 

OSI中的层功能 TCP/IP协议族

应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet

表示层 数据格式化,代码转换,数据加密 没有协议

会话层 解除或建立与别的接点的联系 没有协议

传输层 提供端对端的接口 TCP,UDP

网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP

数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU

物理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2

一,传输层协议

1、TCP

TCP(Transmission Control Protocol),即传输控制协议,是一种面向连接的、可靠的、面向字节流的、全双工的传输层通信协议。

 

tcp头部格式如下图所示:

数据部分加在头部后面

 

1.源端口,16位,发送方的端口号。源端口和IP地址的作用是标识报文的返回地址。

2.目的端口,16位,目的端口指明接收方计算机上的应用程序接口。

TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。

3. 32位序列号,sequence number,保证网络传输数据的顺序性。

4. 32位确认号,acknowledgment number,用来确认确实有收到相关封包,内容表示期望收到下一个报文的序列号,用来解决丢包的问题。

5. 头部大小:4位,偏移量:最大值为0x0F,即15,

单位为32位(bit),单位也就是4个字节,给出头部占32bit的数目。没有任何选项字段的TCP头部长度为20字节;最多可以有60(15*4)字节的TCP头部。

6.   Reserved  4位 ,预留字段,都为0

7.  TCP标志位

(1)CWR:Congestion window reduced,拥塞窗口减少。拥塞窗口减少标志被发送主机设置,用来表明它接收到了设置ECE标志的TCP包。拥塞窗口是被TCP维护的一个内部变量,用来管理发送窗口大小。

(2)ECN-Echo:显式拥塞提醒回应。当一个IP包的ECN域被路由器设置为11时,接收端而非发送端被通知路径上发生了拥塞。ECN使用TCP头部来告知发送端网络正在经历拥塞,并且告知接收端发送段已经受到了接收端发来的拥塞通告,已经降低了发送速率。

(3)URG:为1时,紧急指针(urgent pointer)有效,配合紧急指针使用

(4)ACK:为1时,确认号有效

(5)PSH:  为1时,接收方应该尽快将这个报文段交给应用层

 (6)RST:为1时,释放连接,重连。

 (7)SYN:为1时,发起一个连接。

 (8)FIN:为1时,关闭一个连接。

8. 16位窗口大小:占16bit。此字段用来进行流量控制,主要用于解决流控拥塞的问题。单位为字节数,这个值是本机期望一次接收的字节数。

9. 16位校验值:  占16bit。对整个TCP报文段,即TCP头部和TCP数据进行校验和计算,并由目标端进行验证。

10. 16位紧急指针:占16bit。它是一个偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。

11. 32位Tcp选项:一般包含在三次握手中。

2、UDP

UDP(User Datagram Protocol),即用户数据报协议,是无连接的、不可靠的、面向报文的传输层协议。UDP始终以恒定的速率发送数据,没有拥塞控制;UDP支持一对一、一对多、多对多、多对一通信,而TCP只支持一对一通信;UDP首部开销小,只有8字节,而TCP头部至少由20字节,相比于TCP要高效很多。

1、UDP有两个字段:数据字段和首部字段。

  • 首部字段

首部字段很简单,只有8个字节,由4个字段组成,每个字段的长度都是两个字节。

https://img-blog.csdn.net/20140503103800703?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlleXV0aWFuMTk5MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

1)源端口:源端口号。在需要对方回信时选用。不需要时可用全0。

2)目的端口:目的端口号。这在终点交付报文时必须要使用到。

3)长度: UDP用户数据报的长度,其最小值是8(仅有首部)。

4)校验和:检测UDP用户数据报在传输中是否有错。有错就丢弃。

 

2、要注意的地方

  • UDP首部中校验和的计算方法有些特殊。在计算校验和时,要在UDP用户数据报之前增加12个字节的伪首部。
  • 伪首部既不向下传送也不向上递交,而仅仅是为了计算校验和。
  • 与IP数据报的校验和只校验IP数据报的首部不同,UDP的校验和是把首部和数据部分一起都校验。

伪首部:

          https://img-blog.csdn.net/20140503103753906?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlleXV0aWFuMTk5MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

TCP/UDP协议

TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、 流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要 有:Telnet(远程终端协议)、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系 统)、TFTP(通用文件传输协议)等.

TCP/IP协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点

二,网络层协议

IP协议

IP(Internet Protocol)协议是TCP/IP协议族的核心组成部分,是目前应用最广的网络互联协议。IP层对应于ISO/OSI七层参考模型中的网络层。通过IP数据包和IP地址屏蔽掉了不同的物理网络(如以太网、令牌环网等)的帧格式、地址格式等各种底层物理网络细节,使得各种物理网络的差异性对上层协议不复存在,从而使网络互联成为可能。IP协议的主要功能有:无连接数据报传送、数据报路由选择和差错控制。

ARP协议

ARP(Address Resolution Protocol)协议,又叫地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。其中有个ARP攻击的概念,大家可以了解下。ARP攻击主要存在于在局域网中,就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。

三、应用层协议

1、HTTP

 

HTTP(HyperText Transfer Protocol,超文本传输协议)用于从万维网(WWW)服务器传输超文本到本地浏览器,是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)的协议。

2、FTP

 

FTP(File Transfer Protocol),即文件传输协议。FTP协议包含FTP服务器和FTP客户端两部分,其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。

3、NFS

 

NFS(NetworkFileSystem),即网络文件系统,是一种用于文件共享的协议,主要用于主机之间进行文件的共享。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

4、SMTP

 

SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,是互联网上传输邮件的事实标准,用于由源地址到目的地址传送邮件并控制信件的中转方式。

5、DNS

 

DNS(DomainNameSystem),即域名系统,是用来将域名解析到IP地址的一种协议(而ARP协议是用来将IP地址转换为MAC地址的协议)。

 

发布了50 篇原创文章 · 获赞 90 · 访问量 2万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 精致技术 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览