UNIX-Linux socket网络编程(上):基本概念

本文介绍了UNIX/Linux网络编程的基础概念,包括OSI模型与TCP/IP模型的对比,重点讲解了套接字(socket)的基本原理和使用,以及UDP和TCP通信的编程模型。内容涵盖IP地址、端口号、子网掩码等基础知识,以及socket创建、绑定、连接、发送和接收数据的函数应用。
摘要由CSDN通过智能技术生成

一、基本概念

OSI模型与TCP/IP模型:

OSI(开放系统互联参考模型)为计算机网络设计的一个通信模型,由于太过复杂而没有完全实现,仅仅是一套设计方案。
共分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

TCP/IP模型是OSI的具体实现,只实现出一部分,还没有完全实现,还有一些漏洞不太安全,是我们目前使用通信模型。

TCP/IP也叫协议簇,由一堆网络通信协议组成,其中TCP、IP是最重要的两个协议,因此简称TCP/IP。

    共分为四层:
        物理层:负责通过网络收发数据包
        网络层:选择、流量控制,网络拥塞问题,IP协议是该层的核心协议
        传输层:在机器之间建立用于会话的连接,UDP/TCP是该层的核心协议
        应用层:主要为用户提供针对性的服务,该层的代表协议有:HTTP、SMTP、FTP、TELNET、POP、SNMP

    对应关系:
    OSI                    		TCP/IP
    会话层、表示层、应用层 		 应用层
    传输层                 		 传输层
    网络层               		 网络层
    物理层、数据链路层    		 物理层

UDP:面向无连接的通信,也叫用户数据报通信,就是发短信。

		速度快、但不够安全,有数据丢失的可能性。
        目标地址+数据包 直接发送,对方是否收到、数据有没有丢失,发送都是不知道的。

TCP:面向连接的通信,就是像是打开电话。

        与UDP相比速度有些慢,但数据绝对不会丢失。
        连接时的三次握手,数据包校验、重传、断开时的四次挥手来确保数据不会丢失。

IP地址
在计算机网络有每计算机都必须有一个唯一的标识符(身份证号)IP地址,是IP协议在工作是需要的一个标识,在同一个作用域下是唯一的。
由4个0~255的整数组成,一般采用点分10进制表示,在计算机中用32位二进制存储。

公有IP和私有IP:
    公有IP:在网络服务提供商登记过的IP地址叫公有IP,可以在互联网被访问到。
    私有IP:公司、家庭的局域网中自己分配的IP地址,不能网络中被访问。
    注意:私有IP主动访问公有IP,公有IP可以按原路返回数据,私有IP想与私有IP进行通信需要借助一个公有IP(服务器)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值