常用网络协议

链路层

ARP协议(Address Resolution Protocol)

请求:广播

应答:单播

根据IP解析MAC地址

免费ARP (源:自己  目标:自己) 检测IP冲突

RARP协议(Reverse Address Resolution Protocol)

根据MAC解析IP,适用于无盘工作站

网络层

IP协议(Internet Protocol)网际协议----计算机之间通信

IP报文结构图

版本

(version) 4

报头长度

(Header Length) 4

服务类型

(Type of Service) 8

总长度

(Total Length) 16

20字节IP报头

标识符

(Identifier) 16

标志

(Flags) 3

片偏移

(Fragment offset) 13

生存时间

(Time of live) 8

协议

(Protocol) 8

首部校验和

(Header Checksum) 16

源IP地址 32

目标IP地址 32
选项(若有) 32  
传递数据(n bit)  

报头:20字节

版本:一般为 4 或 6

报头长度:IPv4不固定 20-60(选项40max)

服务类型:对特殊报文处理(0-7)优先级越大越高;配置传输服务类型:如吞吐量、时延、可靠性、费用

总长度:整个IP报文携带最大字节数(65535个字节)

标识符:表示为某一种IP数据包分配一个唯一标识,为保证数据被分段后可重新组合(正确)

标志:有三位

一位  保留

二位  不分片(1=DF)

三位  还有数据被分段至MF=0(1=MF)

片偏移:只产生在分段的情况下,两个分段之间的相对位置

生存时间:经过路由器减1

协议:用于标识OSI上层所携带的具体协议

 ICMP协议(Internet Control Message Protocol)控制报文协议,是TCP/IP的子协议----针对错误和状态

用于IP主机、路由器之间传递可达性控制消息,确定信息源信宿是否可达,路由器是否可用。

ICMP协议帧结构

类型 编码 校验和
报文体

类型:标示ICMP报文类型

如:3  表示目标不可达

  11  超时

  0  回显应答

  8  回显请求

  30  路由跟踪

编码:每种ICMP报文类型中分派出256种子类型

校验和:为IcMP报文提供差错保护

报文体:被封装在ICMP报文中初始数据

传输层

TCP协议(Transmission Control Protocol)传输控制协议----应用程序之间通信

完成可靠性交付传输;双向触发过程

三次握手(为提高效率,2、3合为一次

1.客户触发服务器,发出 syn=1

2.服务器发送确认信号,ack=1

3.服务器向客户机发送 syn=1,达到相互触发

4.客户机回应触发信号,ack=1

TCP确认窗口 1;滑动窗口 3

安全漏洞:伪造客户端IP发送消息给服务器

UDP协议(User Datagram Protocol)用户数据报协议----应用程序之间的简单通信

用户数据包协议;无连接的传输层协议

源端口 目标端口  长度 校验和 被封装的上层数据

源端口:一般是随机生成的端口号

目标端口:通常是众所周知的端口号

长度:整个UDP报文长度

TCP与UDP

TCP加强传输数据的可靠性

UDP传输即时数据(速度高)

TCP/IP 中包含一系列用于处理数据通信的协议

TCP(传输控制协议)、UDP(用户数据报协议)、IP(网际协议)、ICMP(因特网消息控制协议)、DACP(动态主机配置协议)

TCP/IP 意味着TCP和IP在一起协同工作

TCP 负责应用软件和网络软件之间的通信

IP 负责计算机之间的通信

TCP 负责将数据分割并装入IP包,然后在它们到达的时候重新组合它们

IP 负责将包发送至接受者

应用层

HTTP(Hyper Text Transfer Protocol)

超文本传输协议,默认端口80;现在不仅作为单纯的协议而是作为一种数据的封装方式

 版本: 1.0  、1.1

   无状态   有状态

三次握手----访问应答----切断连接----再次访问三次握手……

HTTP请求报文结构

HTTP版本号 HTTP方法 URL 请求头 实体头

HTTP版本号:1.0/1.1(微软通常使用)

HTTP方法:GET:请求web页面信息

       HEAD:申请web页面信息不返回信息体

       POST:请求较大数据(代替GET)

URL:被请求的网址

请求头:被请求的文件类型(*/*表示所有的文件类型)

实体头:包含被请求实体的原信息、编码类型

HTTP响应报文结构

HTTP版本号 状态码 响应头 实体头 内容

HTTP版本号:1.0/1.1

状态码:帮助用户理解HTTP工作状态

1XX  提示信息  表示请求已被成功接收,继续处理

2XX  成功  表示请求已被成功接收,理解,接受

3XX  重定向  要完成请求必须进行更进一步的处理

4XX  客户端错误  请求有语法错误或请求无法实现

5XX  服务器端错误  服务器未能实现合法的请求

常见状态码

200 OK  请求被成功地完成,所请求的资源发送回客户端

302 Found  重定向,新的URL会在response中的Location中返回,浏览器将会自动使用新的URL发出新的Request

304 NOT Modified  代表上次的文档已经被缓存了,还可以继续使用(如果不想使用本地缓存,可以用Ctrl+F5强制刷新页面)

400 Bad Request  客户端请求与语法错误,不能被服务器所理解

403 Forbidden  服务器收到请求,但是拒绝提服务

404 NOT Found  请求资源不存在(输错了URL)

500 Internal Server Error  服务器发生了不可预知的错误

503 Server Unavailable  服务器当前不能处理客户端的请求,一段时间后,可能恢复正常

响应头:包括web回应的HTTP内容是否被加密认证,是否公开

实体头:包括HTTP响应编码形式、语言、内容长度、内容、文件类型、最后一次修改时间

HTTP申明封装媒体文件类型从MIME借鉴而来

语法:content-type:<类型>/<子类型>

HTTP内容缓存(不能被缓存)的注意事项

● URL 中带?

● 具有 proxy-authenticate(代理认证)的内容

● 具有 public/private 内容

● 当 pragma = no - cache 的内容

● 当生存时间(TTL)大于有效年龄(Age)的内容

MIME(Multipurpose Internet Mail Extentions)是一种多用途的邮件扩展(附件、功能)

使用特殊的技术将各种多媒体信息编码成ASCII格式

内容类型首部语法:内容类型:<类型>/<子类型>

常见格式:文本(Text)、图像(image)、音频(audio)、视频(video)、模型(model)、应用程序(application)

 FTP协议(File Transfer Protocol)文件传输协议

工作模式:主动FTP、被动FTP

端口:TCP20  连接

   TCP21  传输

   TCP21  连接

   TCP1025-5000  任意端口传输

部分防火墙的ACL的故障常见处

主动FTP

     首次TCP三次握手(21)

客户端 ——————————————> 服务器

   <—————————————— 

     二次TCP三次握手(20)

问题:由服务器到客户端主动访问会被拦截

解决:采用被动FTP或用智能防火墙

被动FTP

       TCP三次握手(21)——>告诉使用端口(21)传数据

客户端 ——————————————> 服务器

    ——————————————>

       TCP三次握手(随机)

Mei
原文地址:https://www.cnblogs.com/xiaomei1990/p/11358164.html