Bootstrap

tcp协议分析实验报告心得_TCP/IP协议组——完整工作过程分析

1.什么是TCP/IP

TCP/IP是一套用于网络通信的协议集合或者系统。TCP/IP协议模型就有OSI模型分为7层。但其实一般我们所谈到的都是四层的TCP/IP协议栈。

01cd1325241e98fa300d73ab57e01017.png

网络接口层:主要是指一些物理层层次的接口,比如电缆等

网络层:提供了独立于硬件的逻辑寻址,实现物理地址和逻辑地址的转换。网络层协议包括IP协议(网际协议),ICMP协议(互联网控制报文协议),IGMP协议(Internet组协议管理)

传输层:为网络提供了流量控制,错误控制和确认服务。传输层有两个互不相同的传输协议:TCP(传输控制协议)、UDP(用户数据报协议)

应用层:为文件传输,网络排错和Internet操作提供具体的程序应用

2.数据包

在TCP/IP协议中数据由上至下将数据封装成包,然后再由下至上的拆包。那么数据又是怎么打包的呢? 

fcd995cd61af7bafcbea8aa72126015e.png

在装包的时候,每一层都会增加一些信息用于传输,这部分信息叫做报头。当上层数据到达本层的时候,会将数据加上报头打包在一起形成新的数据包继续往下一层传递。拆包的时候就是反着来了,就像俄罗斯套娃一样,拆完最外面一层得到需要的报头,向上传递。下图是用户A向用户B发邮件的过程:

f7c17bbad1452358985743649c68fa97.png

接下来由上至下的分析整个TCP/IP协议的工作过程

1.应用层

应用层作为TCP/IP协议的最上层,其实是我们接触最多的。

由于在传输层的传输协议大致分成了TCP和UDP,所以在应用层对应的协议也就分成了两部分。

运行在TCP协议上的协议:

  • HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于普通浏览。

  • HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。

  • FTP(File Transfer Protocol,文件传输协议),由名知义,用于文件传输。

  • POP3(Post Office Protocol, version 3,邮局协议),收邮件用。

  • SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件。

  • TELNET(Teletype over the Network,网络电传),通过一个终端(terminal)登陆到网络。

  • SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。

运行在UDP协议上的协议:

  • BOOTP(Boot Protocol,启动协议),应用于无盘设备。

  • NTP(Network Time Protocol,网络时间协议),用于网络同步。

  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。

Http协议的工作流程

一次Http操作称为一个事务,其整个工作流程如下:

1)地址解析

比如客户端浏览器请求浏览页面:www.baidu.com。其实这是一个默认路径,因为平常默认会省略协议名、端口号,访问主页的时候路径也会省略,所以完整路径写法是http://www.baidu.com:80/index.html。这就是我们常说的URL统一资源定位符,用来定位我们访问资源在服务器上的位置。

从这个URL中可以分解出协议名、主机名、端口号、访问对象的路径

  • 协议名:http

  • 主机名:www.baidu.com

  • 端口号:80(http协议的默认端口)

  • 路径:/index.html

在这时候需要域名系统DNS协议解析域名,得到主机的ip。

2)封装http请求数据

;