您现在的位置是:首页 >学无止境 >TCP/IP协议簇网站首页学无止境
TCP/IP协议簇
TCP/IP由于得到广泛应用而成为事实上的国际标准
TCP/IP协议是一个协议簇,里面包括很多协议,UDP只是其中的一个, 之所以命名为TCP/IP协议
因为TCP、IP协议是两个很重要的协议,就用他俩命名。
TCP/IP协议集包括应用层,传输层,网络层,网络访问层。
应用层包括:HTTP(超文本传输协议)、TFTP(文件传输)、 Telnet(远程登录)、 SNMP(网络管理)、 DNS(域名系统)
网络层包括:IP、ICMP、 ARP(地址解析)、 RARP(反向地址解析)
网络访问层:又称作主机到网络层(host-to-network),网络访问层的功能包括IP地址与物理地址硬件的映射,以及将IP封装成帧.基于不同硬件类型的网络接口,网络访问层定义了和物理介质的连接.
TCP/IP协议本来就是一门学问,每一个分支都是一个很复杂的流程, 学习软件开发的有必要去仔细了解一番。
OSI模型—7层
物理层、数据链路层 网络层、传输层 会话层、表示层、应用层
TCP/IP模型—4层
网络接口层 网际层、传输层 应用层
整个TCP报文段作为IP数据报的数据部分封装在IP数据报中。TCP报文段的首部最短为20B
TCP连接的建立采用客户/服务器方式
三次握手的过程
第一次握手:主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B,向主机B 请求建立连接
第二次握手:主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A
第三次握手:主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段
3次握手的特点
没有应用层的数据 ,SYN这个标志位只有在TCP建立连接时才会被置1 ,握手完成后SYN标志位被置0。
TCP建立连接进行3次握手,而断开连接要进行4次
第一次: 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求 ;
第二次: 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1;
第三次: 由B 端再提出反方向的关闭请求,将FIN置1 ;
第四次: 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束
由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,大大提高了数据通信的可靠性,使发送数据端和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础。
UDP的报头结构:
源端口 16位
目的端口 16位
长度 16位
校验和 16位
使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,
其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,
如果数据包是否到达的消息及时反馈回来,那么网络就是通的。
ping命令是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。
ping命令使用 IP 和网络控制信息协议 (ICMP),因而没有涉及到任何传输协议(UDP/TCP) 和应用程序。
它发送icmp回送请求消息给目的主机。
ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。如果源主机在一定时间内收到应答,则认为主机可达。
TCP与UDP的区别:
1、基于连接与无连接;
2、对系统资源的要求(TCP较多,UDP少);
3、UDP程序结构较简单;
4、流模式与数据报模式 ;
5、TCP保证数据正确性,UDP可能丢包;
6、TCP保证数据顺序,UDP不保证。