tcp/ip

1.OSI的7层参考模型

分层名称

功能概述

常见协议

7

应用层

针对特定应用的协议

FTP,DNS,HTTP,SMTP等

6

表示层

负责数据格式的转换

不用协议

5

会话层

负责建立和断开通信连接

不用协议

4

传输层

负责可靠的数据传输

TCP,UDP等

3

网络层

负责将数据传输到目标地址

IP,ARP,RARP等

2

数据链路层

负责物理层面的互连,节点之间的通信传输

802.11,WIFI等

1

物理层

负责物理电路的比特流互换传输

RS-443等

使用到协议的应用层,传输层,网络层,和数据链路层这四层
可归纳为TCP/IP协议族的四层模型中。

2.面向连接和面向无连接
面向连接:在通信传输前,需要先打开一个连接,连接关闭时是无法发送数据的。比如TCP。
面向无连接:无需确认对端是否存在,发送端随时可以发送数据。

3.电路交换和分组交换


电路交换:如过去的电话网,独占线路资源,只有在上一个连接传输完毕之后才可以进行下一个连接。
分组交换:将需要发送的数据分成多个数据包,按照一定顺序排列之后分别发送,可以提高线路利用率。

4.单播,多播,广播,任播


单播:一对一通信
多播:特定组内的通信
广播:同一数据链路内的所有计算机
任播:特定组内的任意一台计算机

5.IP地址
Ip地址 = 网络地址 + 主机地址
当主机地址部分全部设置为1时,就成为了该网络地址下的广播地址

6.TCP连接
TCP通过序列号与确认应答(ACK,用于指示希望下一次传输的序列号)提高可靠性。
一次连接的简历与断开,正常过程需要来回发送7个包才能够完成;
“三次握手,四次挥手”
第一次握手:客户端发送SYN(请求建立连接)
第二次握手:服务器发送ACK(针对SYN的确认应答),发送SYN(请求建立连接)
第三次握手:客户端发送ACK(针对SYN的确认应答)
成功建立连接
第一次挥手:客户端发送FIN(请求切断连接)
第二次挥手:服务器发送给ACK(针对FIN的确认应答)
第三次挥手:服务器发送FIN(请求切断连接)
第四次挥手:客户端发送ACK(针对FIN的确认应答)

7.关于UDP
UDP不提供和TCP一样的复杂的控制机制,利用IP提供面向无连接的通信服务
在网络拥堵的情况下,UDP无法进行流量控制等避免网络拥塞的行为,此外,传输途中即使丢包,UDP也不会负责重发,甚至当包到达的时候也不会去纠正是否错误;
适用场景:
A.包总量较少的通信(DNS,SNMP等)
B.视频,音频等多媒体通信(即时通信)
C.限定于LAN等特定网络中的应用通信
D.广播通信(广播,多播)

8.关于SOCKET通信
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求
服务器:监听指定的端口,等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。 客户端:使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。

你可能感兴趣的:(tcp/ip)