本文主要内容
- IP地址
TCP/IP协议
- IP地址
IP(Internet Protocol)即网络之间互连的协议的外语缩写。
什么是IP地址?
IP地址(Internet Protocol Address)是指互联网协议地址。
作用:为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
表现方式:
- IP地址由32位二进制位表示,提供月2^32 ≈ 42亿个地址
- 点分十进制表示:32位分成了4个8位组,相邻8位组
- 之间用'.'分割,每个8位组转换成十进制数,从0到255
IP地址的分类:
A类:
第一个字节表示网络地址部分,后三个字节表示主机地址部分
每个网络最多容纳2^24-2台主机
地址的范围:0.0.0.0 ~ 127.255.255.255
B类:
前两个字节表示网络地址,后两个字节表示主机地址
每个网络最多2^16-2台主机
地址范围:128.0.0.0~191.255.255.255
C类:
前三个字节表示网络地址,最后一个细节表示主机地址
每个网络最多2^8-2台主机
地址范围:192.0.0.0~223.255.255.255
D类和E类没有划分网络号和主机号
D类:
用做组播,一对多的通信
地址范围是224.0.0.0~239.255.255.255
E类:
用做科研,为保留地址,供以后使用
地址范围是240.0.0.0~255.255.255.255
一些特殊的IP地址:
0.0.0.0:
用于寻找自己的IP地址
255.255.255.255:
受限的广播地址,受限广播只能用于本地网络,路由器不会转发目的地址是受限广播地址的分组。
127.0.0.0/8:
用做回环地址,回环地址表示本机的地址,常用于对本基的测试,用的最多的是127.0.0.1(表示localhost, 本机IP地址)
169.254.0.0:
异常地址,不能正常通信
TCP/IP协议
TCP/IP协议是互联网最基本的协议,是由网络层的IP协议和传输层的TCP协议组成。
TCP:负责发现传输的问题,已有问题就发出信号,要求重新传输,知道所有数据安全正确的传输到目的地。
TCP是面向连接的通信协议,通过三次握手建立连接,通信完成拆除链接 。
由于TCP是面向连接的,所以只能进行端对端的通讯。
TCP是采用“带重传的肯定确定”技术来实现传输的可靠性的。
TCP采用一种称为“滑动窗口”的方式进行流量控制,窗口:表示接受能力,限制放松速度。
IP:给因特网每一台联网设备规定一个地址
IP层接收又更底层(网络接口层)发来的数据报,并发送给更高层(TCP或UDP层);
IP层也把从高层接收来的数据报传送给更底层。
接下来就讲讲“TCP的三次握手和四次挥手”:
示意图如下:
注:
SYN:"synchronize"请求同步标志;ACK:"acknowledge"确认标志";
FIN:"Finally"结束标志。
TCP”建立连接“(三次握手)过程:
- client端发送连接请求报文
- sever端接受连接后回复ACK报文,并未这次连接分配资源
- client端接收到ACK报文后,想sever端发送ACK报文,并分配资源
为什么有”三次握手“?
只有”两次握手“的情况下,client端会重新发送请求。
如果是因为数据丢失,重新发请求是必须的;
但是还有可能是因为由于网络并发量很大,某个节点阻塞了,这时候sever端先后收到两次请求,就会做出两次响应,极端情况下,client端多次发请求,导致sever端最后建立N个响应再等待,这样极大浪费了资源,所以”三次握手“很有必要!
TCP”断开连接“过程:
- client端想要中断连接,即发送FIN报文,等待sever端回应,进入FIN-WAIT状态
- server端如果还有数据没有发送完,会先发送一个ACK,继续传递数据,client端接收到ACK报文之后,进入FIN-WAIT-2状态,等待sever端的FIN报文
- server端数据发送完成,向client端发送FIN报文
- client端收到FIN报文之后发送ACK给sever端,server端断开连接,client端等待2ms没有收到回复,则证明server端已经正常关闭了,那么client端也会关闭连接
使用TCP的协议:
FTP(文件传输协议)
Telnet(远程登录协议)
SMTP(简单邮件传输协议)
POP3(和SMTP相对,用于接收邮件)
HTTP协议等