*网络随堂笔记4(TCP/IP协议的具体分析,操作与抓包)

HCIA --- 华为认证的初级网络工程师        (目前学习中)
HCIP --- 华为认证的高级网络工程师
HCIE --- 华为认证的专家级网络工程师

引入之前网络笔记第一章的内容

    OSI的核心思想 --- 分层
       属于同一层面的不同功能,其目的和作用是相似或者相近的;属于不同层面的不同功能,其目的和作用存在明显的差异。每一层都在下层的基础上提供增值服务,最上层提供的是人机交互的应用服务。
       作用:
1,更易标准化
2,降低层次之间的关联性,层次之间可以独立发展
3,更易学习或理解

相比于OSI的协议,存在部分需要优化的地方,比如(应用层,表示层,会话层 可以整合为应用层),降低了层次之间的关联性。

 但是相比于四层协议 把物理层和数据链路层结合在一起,在实践和理论中存在无法区别的问题(数据链路层传输的单元为光/电信号,而物理层传输的单位为电信号。

所以称:TCP/IP四层模型 --- TCP/IP标准模型      TCP/IP五层模型 --- TCP/IP对等模型

PDU --- 协议数据单元
L1PDU          应用层 ---- 报文
........             

L4PDU         传输层 ---- 段
L5PDU         网络层 ---- 包
L6PDU         数据链路层 ---- 帧
L7PDU        物理层 ---- 比特流

以太网的二型帧

 Type ---- 表示上层所使用的协议类型
应用层 --- HTTP tcp 80 --- 超文本传输协议 --- 提供浏览网页服务的
                HTTPS TCP 443 --- HTTP + SSL(TLS)(安全传输协议)
                FTP TCP 20/21 --- 文件传输协议 --- 提供互联网文件资源共享服务
                TFTP UDP 69 ---- 简单文件传输协议
                Telnet TCP 23 ---- 远程登录标准协议 --- 提供远程管理服务
                 SSH TCP 22
                 Dns UDP/TCP 53 ---- 域名解析协议
                 DHCP UDP 67/68 --- 动态主机配置协议

TCP和UDP协议:
           1,TCP是面向连接的协议,而UDP是无连接的协议
            2,TCP协议传输时可靠的,而UDP协议传输是“尽力而为”
            3,TCP可以进行流控,而UDP不行
            4,TCP可以进行数据分段,而UDP不行
            5,TCP耗费资源比较大,传输速度比较慢;UDP耗费资源比较小,传输速度快
TCP和UDP的应用场景:

            TCP适用于效率要求较低,但是对准确性要求较高的场景;UDP适用于对效率要求较高,但是对准确性要求较低的场景(即时类通讯软件)
面向连接:在数据传输之前,先使用预备的协议建立点到点的连接,然后再传输数据的过程

 TCP --- 可变长头部

seq序号,ack确认序号(长度分别为为4个字节)用于确保TCP的三次握手和四次挥手

首部长度:数据偏移,4位,该字段的值是TCP首部(包括选项)长度除以4。

指针标志符意义:

URG:紧急指针(一般置为0,用于紧急的数据传输,与后面的 紧急指针联用)

ACK:用于确定回复信息

PSH:表示有数据在传输

RST:数据复位信息标识符(用来异常的关闭连接,强制关闭,不需要ack确认)

SYN:TCP连接的建立成功

FIN:TCP连接的终结标识符,表示结束连接

滑动窗口大小:用于表示数据最大的传输单元,一般用于确认数据最大的传输的大小,有可容纳性,具体使用:数据传输时,在以及建立TCP协议后,开始传输数据,此时A发送一个定量的数据,如果B回复的可以接受这么多的定量数据,那么A会增加数据量,直到B不能接受那么多的数据量以后(此时B会发送ACK信息,ACK为等待开始接受的数据值,此时A继续发送信息,从ACK开始接受的数据开始发送)滑动窗口为2个最大字节不定长。

校验和 --- 确保数据的完整性 --- 伪头部校验 --- 将网络层封装的的12个字节的内容一起进行校验:32位源IP地址,32目标IP地址,8位协议号,8位保留,16位的报文长度

紧急指针:和前面的标识符URG一起使用,指针指向为紧急需要传输的数据值开始的数值

一个TCP数据最小的传输的数据单元为20字节。

相较于TCP传输数据,UDP则相对于简单许多:

 UDP的报文数据只有(源和目标端口号),和UDP长度与校验核

所以一个UDP数据的最小单位为8个字节

TCP和UDP数据传输协议的最大区别在于TCP需要建立可靠的面向连接(三次握手和四次挥手)

 客户端向服务器发送开始传输数据的请求(SYN=1,sqe=X)sqe为x的意思是数据的序号为X

此时服务器回复客户端数据,为一个确认请求序列号(ack和syn(此时数据帧都指向1) ,回复数据还包括一个ack(x+1)和一个sqe为Y的信息 ) 

回复ack和syn为1的意思是可以接受信息的回复

回复ack(x+1)的意思是可以接受从ackX的数据后的一个数据(x+1),sqe为回复数据

在收到服务器回复的数据后,客户端回复一个ack为1和sqe为1的指令,并开始传输J+1的是数据

 客户端向服务端发送结束连接包FIN置1,并发送客户端数据seq=i

服务单向客户端发送收到信息,并发送服务端数据seq=j与开始接收ACK(i+1)数据(此时为服务端向客户端发送数据)

在服务端发送完数据后,发送FIN和ACK请求,并发送最后一段要发送的数据k,和接受i+1的ACK

此时客户端回复同意关闭请求,并发出最后一个i+1的seq包和请求k+1的ack包(此时服务端不再回复

为什么握手要三次而挥手要四次,其实客户端发送挥手请求时,此时客户端的数据以及发送完毕,而服务器端仍然有数据要发送,直到服务端数据发送完毕时,服务端发送最后一个数据包FIN,此时客户端发送ACK信息,服务端才会关闭。而建立连接不需要进行数据传输!!!

ip的报文格式

     TTL生存时间 0-255,默认进过一个路由器减一,防止环路,当TTL值减到0时,数据包将
 不会被路由器转发,将直接丢弃。    
  协议号   标识上层协议
   TCP    6    UDP   17     OSPF  89       ICMP   1

   ip分片

        MTU --- 最大传输单元 --- 1500字节(一个数据段的最大长度,物理层最大的传输单元)
         MSS --- 最大段长度 --- 1460(MSS不包含TCP及IP的协议头长度) 

需要协商,当两方不同时,将按照小的一方执行(再三次握手中的前两次SYN包中进行协商

Guess you like

Origin blog.csdn.net/qq_44685426/article/details/121075127