基于linux下网络编程体系结构

一、OSI模型和TCP/IP模型

        对应关系图

        

        1.OSI七层模型

                应用层:各种应用软件,包括Web应用。

                表示层:数据格式标识,基本压缩加密功能。

                会话层:控制应用程序之间会话能力,如不同软件数据发给不同软件。

                传输层:端到端传输数据的基本功能;如TCP、UDP。

                网络层:定义IP编址,定义路由功能;如不同设备的数转发,路由器工作在该层。

                数据链路层:定义数据的基本格式,如何传输,如何标识;如网卡MAC地址,交换机。

                物理层:底层数据传输,如网线,网卡标准。

         2.TCP/IP模型

                (1)TCP/IP模型边界特性

                             

                (a)TCP/IP分层模型有两大边界特性:

                        地址边界特性:它将IP逻辑地址与底层网络的硬件地址分开

                        操作系统边界特性:它将网络应用和协议软件分开

                (b)TCP/IP分层模型的边界特性是指在模型中存在一个地址上的边界,它将底层网络的物理地址与网络层的IP地址分开。该边界出现在网络层和网络接口层之间。

                (c)网络层和其上的各层均使用IP地址,网络接口层则使用物理地址,即底层网络设备的硬件地址。TCP/IP提供在两种地址之间进行映射的功能。

                (2)IP层特性

                IP层为通信子网的最高层,提供无连接的数据包传输机制,但IP层并不能保证  IP包传递的可靠性。TCP/IP设计的原则之一是包容各种物理网络技术,包容性主要体现在IP层。TCP/IP的重要思想之一就是通过IP将各种底层网络技术统一起来,达到屏蔽底层细节,提供统一虚拟网络的目的。

二、TCP 与UDP

对比图

两者区别:

(1) 连接性

        a. TCP是面向连接的,可靠性高;UDP是基于非连接的(面向报文的),可靠性低。

        b. 由于TCP是连接的通信,需要建立连接(三次握手),并在数据传输完成后关闭连接(四次挥手),是全双工的方式。会有延时,实时性差,同时过程复杂,也使其易于攻击;UDP没有建立连接的过程,因而实时性较强,也稍安全


(2) 可靠性

       a.  在传输相同大小的数据时,TCP首部开销20字节;UDP首部开销8字节,TCP报头比UDP复杂,故实际包含的用户数据较少。

        b. TCP在IP协议的基础上添加了序号机制、确认机制、超时重传机制等,保证了传输的可靠性,不会出现丢包或乱序,而UDP有丢包(只包含必要的字段,如源端口、目的端口、长度和校验和),故TCP开销大,UDP开销较小


(3)通信方式

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


(4)应用场景

        TCP通常用于需要传输大量数据且对可靠性要求高的场景,如文件的存储、电子邮件、远程登录等。

        UDP则常用于对实时性要求较高、高速传输但对数据可靠性要求不高,追求效率的场景,如广播通信(广播,多播)、即时通信(视频流、音频流)、DNS(域名转换)查询、网络电话等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值