TCP/IP网络模型、OSI七层
TCP/IP网络模型
计算机与网络设备需要相互通信,双方就必须基于相同的方法。如何探测到目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要提前确定。不同的硬件、不同的操作系统之间的通信,所有的这一切都需要一种规则,这种规则就叫做协议。
TCP/IP是互联网相关的各类协议族的总称,例:TCP,UDP,IP,FTP,HTTP,ICMP,SMTP等都属于TCP/IP族内的协议。
TCP/IP模型是互联网的基础,他是一系列网络协议的总称。这些协议可划分为四层,分别为链路层(物理层、数据链路层)、网络层、传输层、应用层(会话层、表示层、应用层)
链路层:负责封装和解封装IP报文,发送和接受ARP\RARP报文等
网络层:负责路由以及把分组报文发送给目标网络和主机
传输层:负责对报文进行分组和重组,并以TCP或UDP协议格式封装报文
应用层:负责向用户提供应用程序,比如HTTP,FTP,TELNET,DNS,SMTP等
在网络体系结构中网络通信的建立必须是在通信双方的对等层进行,不能交错。 在整个数据传输过程中,数据在发送端时经过各层时都要附加上相应层的协议头和协议尾(仅数据链路层需要封装协议尾)部分,也就是要对数据进行协议封装,以标识对应层所用的通信协议。接下去介绍TCP/IP 中有两个具有代表性的传输层协议----TCP 和 UDP。
UDP
UDP协议全称是用户数据协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在传输层,处于IP协议的协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,当报文发送后,无法得知报文是否安全完整到达。
面向无连接
首先 UDP 是不需要和 TCP一样在发送数据前进行三次握手建立连接的,想发数据就可以开始发送了。并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。
具体来说就是:
在发送端,应用层将数据传递给传输层的 UDP 协议,UDP 只会给数据增加一个 UDP 头标识下是 UDP 协议,然后就传递给网络层了
在接收端,网络层将数据传递给传输层,UDP 只去除 IP 报文头就传递给应用层,不会任何拼接操作
有单播,多播,广播的功能
UDP 不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说 UDP 提供了单播,多播,广播的功能。
UDP是面向报文的
发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文
不可靠性
首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200802220353294.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jhbnlpemhhbmc=,size_16,color_FFFFFF,t_70
并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。
再者网络环境时好时坏,但是 UDP 因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用 UDP 而不是 TCP。
5. 头部开销小,传输数据报文时是很高效的。
————————————————
版权声明:本文为CSDN博主「星河滚烫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ranyizhang/article/details/107750580
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处: www.zh-cjh.com珠海陈坚浩博客 » TCP/IP网络模型、OSI七层
作者: cjh
手机扫一扫,手机上查看此文章: |
一切源于价值!
其他 模板文件不存在: ./template/plugins/comment/pc/index.htm