一、简介1、传输控制协议/网络互联协议,是针对Internet开发的一种体系结构和协议标准,相对于OSI体系结构更简洁。2、结构类型:分层体系,由下至上分别是网络接口层、网际层、传输层和应用层(四层分法)。
3、TCP/IP协议与OSI模型的对应关系(五层分法)。
二、TCP/IP体系结构1、应用层:为用户的应用程序提供接口,使用户可以访问网络。(IE浏览器就处于应用层)
HTTP 超文本传输协议(浏览网页服务)TFTP 文件传输协议(较快,但是不可靠)FTP 文件传输协议(提供文件上传,文件下载服务,较慢但是可靠)NFS 网络文件系统(Unix和Linux系统之间共享文件)SMTP 简单邮件传输协议(邮件的发送和转发)POP3 接收邮件(由服务器下载到本地)Talnet (远程登录功能(配置交换机、路由器))SNMP 简单网络管理协议(通过网管软件来管理网络)DNS 域名系统,将域名解析为IP地址(将百度的域名转换为服务器的IP地址)
2、传输层:提供端到端的通信(两台计算机上的软件间的连接),对信息流具有调节作用。
TCP 传输控制协议 面向连接(打电话) 可靠服务在通信之前要先建立连接 需要同时在线UDP 用户数据报协议 非面向连接(发快递)不可靠 不稳定 但速度更快
传输层-TCP数据包格式
源端口(Source Port) 目的端口(Desination Port)序列号(Sequence Number)【数据包的序号】确认号(Acknowledgment Number)(序列号+1)【用于指示下一个数据包序号】
报头的长度(HLEN):以32字节为单位的报头长度保留域(Reserved):设置为0
编码位(Code Bits):用于控制段的传输(如会话的建立和终止)包括:URG、ACK、PSH、RST、SYN、FIN 6个位SYN(synchronous):请求建立TCP连接FIN:断开TCP连接RST:重置TCP连接ACK:确认、反馈连接情况PSH:将数据立刻送到应用层进行处理的命令URG:判断紧急指针是否有效的命令
窗口大小(Windows):接收方能够继续接收的字节数【控制发送的速度】校验和(Checksum):baokuo TCP报头和数据在内的校验和【判断数据传输是否出错】紧急指针(Urgent Pointer):当前序列号到紧急位置的偏移量
选项(Option):厂商根据需要自定义的内容MAC地址数据(Data):上层协议数据
传输层-TCP端口号
HTTP:80端口范围是:0-6535
端口的使用
TCP的三次握手
顺序号和确认号
TCP滑动窗口
UDP数据结构
3、网络层:IP包的封装和路径的选择
网络层的协议IP数据包的封装,定义IP地址
ICMP错误诊断(用ping测试网络连通性)
ARP将IP地址解析为MAC地址
RARP将MAC地址转换为IP地址
4、数据链路层MAC地址(网卡编号):48位的二进制数。表示为12位的16进制数。分为两部分:前24位为厂商编号,后24位为网卡的编号(由专门的机构分配)
5、物理层
H.248 为电话语音协议
数据封装
课后练习
1、TCP/IP协议族中每一层的功能是什么,包括哪些协议?
物理层:在物理传输媒体上传送比特流数据链路层:为上层提供可靠的数据帧的传输网络层:IP包的封装和路径选择传输层:建立端到端的连接应用层:提供应用程序网络接口
2、TCP协议和UDP协议的区别有哪些?
TCP 传输控制协议 面向连接(打电话) 可靠服务在通信之前要先建立连接 需要同时在线UDP 用户数据报协议 非面向连接(发快递)不可靠 不稳定
但速度更快
3、什么是端口号,其范围是什么?常用的端口号有哪些?
端口号:指示了正在使用的上层协议范围是:0-6535常用的端口号:FTP——21 文件传输协议(慢但是稳)TELNET——23 远程登录协议SMTP——25 简单邮件传输协议DNS——53 域名系统协议TFTP——69 文件传输协议(快而不稳)HTTP——80 超文本传输协议SNMP——161 简单网络管理协议RIP——520 内部网关协议
4、MAC地址有多少位,分为哪几部分?
MAC地址(网卡编号):48位的二进制数。表示为12位的16进制数。分为两部分:前24位为厂商编号,后24位为网卡的编号(由专门的机构分配)
5、TCP/IP模型中每一层的数据单元是什么?
物理层——比特流数据链路层——帧网络层——数据包传输层——数据报文数据发送时,由上层向下层封装。四层,协议层传输的是数据报文,主要是协议格式。三层,网络层传输的是数据包,包含数据报文,并且增加传输使用的IP地址等三层信息二层,数据链路层传输的是数据帧,包含数据包,并且增加相应MAC地址与二层信息数据接收的时候,下层向上层解封装。
6、TCP报文的编码位包括哪些值?
源端口(Source Port) 目的端口(Desination Port)序列号(Sequence Number)【数据包的序号】确认号(Acknowledgment Number)(序列号+1)【用于指示下一个数据包序号】
报头的长度(HLEN):以32字节为单位的报头长度保留域(Reserved):设置为0
编码位(Code Bits):用于控制段的传输(如会话的建立和终止)包括:URG、ACK、PSH、RST、SYN、FIN 6个位SYN(synchronous):请求建立TCP连接FIN:断开TCP连接RST:重置TCP连接ACK:确认、反馈连接情况PSH:将数据立刻送到应用层进行处理的命令URG:判断紧急指针是否有效的命令
窗口大小(Windows):接收方能够继续接收的字节数【控制发送的速度】校验和(Checksum):baokuo TCP报头和数据在内的校验和【判断数据传输是否出错】紧急指针(Urgent Pointer):当前序列号到紧急位置的偏移量
选项(Option):厂商根据需要自定义的内容MAC地址数据(Data):上层协议数据