您的位置:首页 > 理论基础 > 计算机网络

web前端工程师必备知识:TCP/IP

2016-09-15 21:31 295 查看

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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: