Linux网络编程基础-01_网络基础知识

本文回顾了互联网从冷战时期的ARPAnet发展至今日的过程,深入解析了TCP/IP协议的诞生及其在网络体系结构中的核心作用。文章还对比了TCP与UDP两种传输层协议的特点与适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Internet的历史

Internet-“冷战”的产物
1957年10月和11月,前苏联先后有两颗“Sputnik”卫星上天
1958年美国总统艾森豪威尔向美国国会提出建立DARPA (Defense Advanced Research Project Agency),即国防部高级研究计划署,简称ARPA
1968年6月DARPA提出“资源共享计算机网络” (Resource Sharing Computer Networks),目的在于让DARPA的所有电脑互连起来,这个网络就叫做ARPAnet,即“阿帕网”,是Interne的最早雏形

网络互联促成了TCP/IP协议的产生

早期的ARPAnet使用网络控制协议(Network Control Protocol,NCP),不能互联不同类型的计算机和不同类型的操作系统,没有纠错功能

1973年由Kahn和Vinton Cerf两人合作为ARPAnet开发了新的互联协议。

1974年12月两人正式发表第一份TCP协议详细说明,但此协议在有数据包丢失时不能有效的纠正

TCP协议分成了两个不同的协议:
用来检测网络传输中差错的传输控制协议TCP
专门负责对不同网络进行互联的互联网协议IP

从此,TCP/IP协议诞生

1983年ARPAnet上停止使用NCP,互联网上的主机全部使用TCP/IP协议。TCP/IP协议成为Internet中的“世界语”

网络的体系结构

  • 网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。

  • 每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务

  • 网络体系结构即指网络的层次结构和每层所使用协议的集合

  • 两类非常重要的体系结构:OSI与TCP/IP

OSI开放系统互联模型
  • OSI模型相关的协议已经很少使用,但模型本身非常通用

  • OSI模型是一个理想化的模型,尚未有完整的实现

  • OSI模型共有七层(右图)

在这里插入图片描述
在这里插入图片描述

TCP/IP与OSI参考模型的对应关系

在这里插入图片描述

  • 网络接口和物理层:硬件驱动,屏蔽硬件差异,形成统一的接口(内核中的struct net_device),是TCP/IP的最底层,负责将二进制流转换成数据帧,并进行数据帧的发送和接收。数据帧是网络传输的基本单元。

  • 网络层(IP层):跨不同的操作系统和机器,实现端到端的传输数据。负责在主机之间的通信中选择数据包的传输路径,即路由。

  • 传输层:数据应该交给哪一个任务处理,负责实现应用程序之间的通信服务,这种通信又称为端到端通信。

  • 应用层:各种应用层的协议,是分层模型的最高层。
    在这里插入图片描述
    常用协议

  • TCP(Transport Control Protocol)传输控制协议

  • IP(Internetworking

  • Protocol)网间协议

  • UDP(User Datagram Protocol)用户数据报协议

  • ICMP(Internet Control Message Protocol)互联网控制信息协议

  • SMTP(Simple Mail Transfer Protocol)简单邮件传输协议

  • SNMP(Simple Network manage Protocol)简单网络管理协议

  • HTTP(Hypertext Transfer Protocol) 超文本传输协议 FTP(File Transfer

  • Protocol)文件传输协议 ARP(Address Resolution Protocol)地址解析协议

TCP/IP协议通信模型

在这里插入图片描述
在这里插入图片描述

TCP/IP结构

在这里插入图片描述

TCP/IP协议下的数据包

在这里插入图片描述

  • MTU(Max Transfer Unit):最大传输单元,和网络类型有关
    ·以太网:MTU=1500字节
  • mss(maximum segment size):最大段大小,和网络类型、线路、系统特性等相关
数据的封装与传递过程(封包和拆包)在这里插入图片描述
TCP协议特点

TCP(即传输控制协议):是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)

适用情况:

  • 适合于对传输质量要求较高,以及传输大量数据的通信。
  • 在需要可靠数据传输的场合,通常使用TCP协议
  • MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议
    TCP传输
    在这里插入图片描述
UDP协议的特点

UDP(User Datagram Protocol)用户数据报协议,是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。

适用情况:

  • 发送小尺寸数据(如对DNS服务器进行IP地址查询时)

  • 在接收到数据,给出应答较困难的网络中使用UDP。(如:无线网络)

  • 适合于广播/组播式通信中。

  • MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议

  • 流媒体、VOD、VoIP、IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输

UDP传输
在这里插入图片描述
区别和联系:
共同点:同为传输层协议
不同点:
TCP:有连接,可靠
UDP:无连接,不保证可靠

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值