llinux网络编程-网络发展历史和分层、TCP/UDP特点

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年由 Robert 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协议族的体系结构

TCP/IP协议是Internet事实上的工业标准。 

一共有4层

TCP/IP协议通信模型

TCP/IP协议下的数据包

 数据的封装与传递过程

TCP/IP结构 

TCP协议特点

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

1、适合于对传输质量要求较高,以及传输大量数据的通信。

2、在需要可靠数据传输的场合,通常使用TCP协议

3、MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议 

 UDP协议的特点

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

适用情况:

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

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

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

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

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

TCP/IP网络编程预备知识

Socket 、IP地址、 端口号、 字节序

一、网络采用分层的思想:
  1.每一层实现不同的功能,对上册的数据做透明传输
  2. 每一层向上层提供服务,同时使用下层提供的服务

各层典型的协议:

1. 网络接口与物理层
 MAC地址: 48位全球唯一,网络设备的身份标识

ARP/RARP:   
  ARP: IP地址----->MAC地址
  RARP: MAC地址--->IP地址

PPP协议: 拨号协议(GPRS/3G/4G)
网络层:
   IP地址
    IP: Internet protocol(分为IPV4和IPV6)
    ICMP: Internet控制管理协议,ping命令属于ICMP
    IGMP: Internet分组管理协议,广播、组播
传输层:
       TCP: (Transfer Control protocol,传输控制协议) 提供面向连接的,一对一的可靠数据传输的协议
         即数据无误、数据无丢失、数据无失序、数据无重复到达的通信
       UDP: (user Datagram Protocol, 用户数据报协议): 提供不可靠,无连接的尽力传输协议
        是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。
    SCTP: 是可靠传输,是TCP的增强版,它能实现多主机、多链路的通信

应用层: 
  网页访问协议:HTTP/HTTPS
 邮件发送接收协议: POP3(收)/SMTP(发) 、IMAP(可接收邮件的一部分)
    FTP,
    Telnet/SSH: 远程登录    
 嵌入式相关:
    NTP: 网络时钟协议
    SNMP: 简单网络管理协议(实现对网络设备集中式管理)      
    RTP/RTSP:用传输音视频的协议(安防监控)

 三、网络的封包和拆包:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值