TCP/IP协议集简介

一、什么是TCP/IP协议集

网络上的计算机要想互相通信,就必须遵循一定的协议,就像人与人之间交流必须指定一种语言规则。目前使用最广泛的网络协议就是TCP/IP协议。

目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。

二、七层OSI参考模型与TCP/IP协议四层网络模型


OSI参考模型:更偏重理论,给实践以指导

TCP/IP参考模型:更实用

三、TCP/IP各层主要协议


四、应用层主要协议

提供进程与进程之间的通信(进程端口号之间通信)

1.  HTTP:

超文本传输协议: 负责web服务器和web浏览器之间的通信。 默认端口: 80

2. FTP

文件传输协议,提供互联网文件资源共享服务。 默认端口: 20,21

3. SMTP

简单邮件传输协议, 提供互联网电子邮件服务。 默认端口: 25

4. POP3

邮局协议3,提供互联网电子邮件服务 。 默认端口:110

5. TFTP

简单文件传输协议,提供简单的文件传输服务。 默认端口: 69(UDP)

五、传输层协议

提供端到端的服务(源主机与目标主机)

1. TCP:(邮件,文件传输)

TCP是Tranfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。

传输时会对数据进行分段,接受方根据序列号进行排序重组。

2. UDP:(游戏,实时语音,实时视频)

UDP是User Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。

3. TCP与UDP区别总结:

 TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

 TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付

TCP通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。

UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。

每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

TCP对系统资源要求较多,UDP对系统资源要求较少。

4. UDP的优势

UDP以其简单、传输快的优势,在越来越多场景下取代了TCP,如实时游戏。

(1)网速的提升给UDP的稳定性提供可靠网络保障,丢包率很低,如果使用应用层重传,能够确保传输的可靠性。

(2)TCP为了实现网络通信的可靠性,使用了复杂的拥塞控制算法,建立了繁琐的握手过程,由于TCP内置的系统协议栈中,极难对其进行改进。

采用TCP,一旦发生丢包,TCP会将后续的包缓存起来,等前面的包重传并接收到后再继续发送,延时会越来越大,基于UDP对实时性要求较为严格的情况下,采用自定义重传机制,能够把丢包产生的延迟降到最低,尽量减少网络问题对游戏性造成影响。

六、网络层协议

提供点到点的服务(互联网中路由器之间的转发)

1. IP协议

IP协议的核心任务:路由选择,用于决定将数据报发送目标机器所经过的路径。

2. ICMP协议

该协议是TCP/IP协议集中的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。我们可以通过Ping命令发送ICMP回应请求消息并记录收到ICMP回应回复消息,通过这些消息来对网络或主机的故障提供参考依据。

3. ARP协议

将IP地址映射为MAC物理地址。

在路由转发中,路由选择算法依据目标IP计算出路由下一跳路由L0的IP地址,然后依据ARP协议得到L0的MAC地址,然后依据数据链路层将数据发送给L0路由器。

4. RARP协议

将MAC地址映射为IP地址

将局域网中某个主机的物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。RARP协议广泛应用于无盘工作站引导时获取IP地址。
RARP允许局域网的物理机器从网管服务器ARP表或者缓存上请求其IP地址。



猜你喜欢

转载自blog.csdn.net/m0_37519490/article/details/80961537
今日推荐