TCP/IP协议通用简述

TCP、IP协议是计算机之间数据传输协议的统称:

从物理数据传输到应用程序之间的数据交易,按照数据流动很容易分层以下几层:

数据链路层、网络层、传输层和应用层。

1. 数据链路层,主要是以太网协议。以太网规定数据传输必须要有网卡。对一组的电信号传输做了一个规范,一组电信号被成为数据包,也叫帧。以太网数据包传输采供广播的机制传输,对当前局域网内所有的机器发送数据包。

结构为{[首部{当前主机网卡+目标主机网卡+2个表示位}][传输的内容][校验码4字节]}

2. 网络层,网络层主要采用了IP协议、ARP协议(Address Resolution Proctol)和路由协议

IP协议: 是规定每台机器含32位二进制编码(4*8)

ARP协议: 发送数据包时,采用以太网广播机制对局域网内所有机器发送数据包。接收数据包时,会拿数据包的头IP和当前主机比对,如果一直则返回MAC地址,否则丢弃数据包。

路由协议:ARP协议只负责局域网。路由协议的设备接收到数据包时,会先比对是否为当前局域网内,如果在局域网内则将数据包转发局域网内所有机器。否则转发数据包。

3. 传输层,传输层协议主要是UDP协议和TCP协议(用来解决网络层数据包被主机下那个应用接收)

3.1 UDP协议是无状态的协议。只负责发送不负责校验数据包被接收。UDP协议数据包结构为:

{[首部8字节][内容65527]}   首部主要包含了当前应用的端口号+目标机器端口号

3.2 TCP协议,是有状态的UDP协议,传输数据包会进行三次握手。

三次握手(可以使用Wireshark来监测抓包SYN,SEQ来完成三次握手):

询问目标主机,是否可以发送数据包?

目标主机,反馈可以发送。

立即发送

4. 应用层 传输层传输的数据包为二进制数据包,具体应用需要确定数据接收的方式,应用层才用HTTP,FTP,SMTP协议

HTTP协议最广泛,请求的Content-type就是HTTP协议处理传输层数据包的处理方式

你可能感兴趣的:(TCP/IP协议通用简述)