Linux编程4.2 网络编程-协议

1、为什么要有协议?

  • 计算机网络中实现通信必须有一些约定,如对速率、传输代码、代码结构、传输控制步骤和出错控制等约定,这些约定即被称为通信协议。
  • 在两个节点之间要成功地进得通信,两个节点之间必须约定使用共同的“语言”,这些被通信各方共同遵守的约定、语言、规则被称为协议。
  • 在Internet中,最为通用的网络协议是TCP/IP协议。

2、网络分层模型

OSI模型与TCP/IP模型对应关系:

3、TCP/IP协议族

  • TCP/IP协议实际上是一个一起工作的通信家庭,为网际数据通信提供通路。
  • TCP/IP协议族大体上分为三部分
    1. Internet协议(IP)
    2. 传输控制协议(TCP)和用户数据报文协议(UDP)
    3. 处于TCP和UDP之上的一级协议专门开发的应用程序。它们包括:远程登录(TELNET)、文件传送协议(FTP)、域名服务(DNS)和简单的邮件传送程序(SMTP)等许多协议。

4、网络层协议

1)、Internet协议(IP)

该协议被设计成互联分组交换通信网,以形成一个网际通信环境。它负责在源主机和目的主机之间传输来自其较高层软件的称为数据报文的数据块,它在源和目的地之间提供非连接型传递服务。

2)、网际控制报文协议(ICMP)

实际上不是Ip层部分,但直接同IP层一起工作,报告网络上的某些出错情况。允许网际路由器传输差错信息或测试报文。

3)、地址识别协议(ARP)

ARP实际上不是网络层部分,它处于IP和数据链路层之间,它是在32位IP地址和48位局域网物理地址之间执行释放的协议。

4)、网络层其它数据路由协议

路由协议分析数据包的地址并且决定传输数据到目的电脑最佳路线。它们也可以把大的数据分成几部份,并且在目的地再把它们组合起来。IP处理实际传输数据。

ICMP(网络控制信息协议Internet Control Message Protocol)处理IP的状态信息,比如能影响路由决策的数据错误或改变。

RIP(路由信息协议Routing Information Protocol)它是几个决定信息传输的最佳路由路线协议中的一个。

OSPF(Open Shortest Path First)一个用来决定路由的协议。

ARP(地址解析协议Address Resolution Protocol)确定网络上一台电脑的数字地址。

DNS(域名系统Domain Name System)从机器的名字确定一个机号的数字地址。

RARP(反向地址解析协议Reverse Address Resolution Protocol)确定网络上一台计算机的地址,和ARP正好相反。

5、传输层协议

5.1 传输控制协议(TCP)

  • TCP(传输控制协议Transmission Control Protocol)是重要的传输层协议,TCP提供一种面向连接的、可靠的字节流服务
  • TCP协议的目的是允许数据同网络上的另外站点进行可靠的交换。它能提供端口编号的译码,以识别主机的应用程序,而且完成数据的可靠传输。
  • TCP协议具有严格的内装差错校验算法确保数据的完整性。
  • TCP协议是面向字节的顺序协议,这意味着包内的每个字节被分配一个顺序编号,并分配给每包一个顺序编号。

5.2 用户数据报文协议(UDP)

  1. UDP(用户数据报协议User Datagram Protocol)也是TCP/IP的传输层协议,它是无连接的,不可靠的传输服务。当接收数据时它不向发送方提供确认信息,它不提供输入包的顺序,如果出现丢失包或重份包的情况,也不会向发送方发出差错报文。
    1. 它允许在源和目的地站点之间传送数据,而不必在传送数据之间建立对话。
    2. 不使用TCP使用的端对端差错校验。
    3. 传输层功能全都发挥,而开销却比较低。
  2. 由于它执行功能时具有较低的开销,因而执行速度比TCP快。它多半用于不需要可靠传输的应用程序,例如网络视频点播和视频会议等。

5.3 二者平主要区别

5.3.1 传输控制协议(TCP)

  • 可靠的面向连接的传输层服务
  • 主要功能
    1. 监听输入对话建立请求
    2. 请求另一网络站点对话
    3. 可靠的发送和接收数据
    4. 适度的关闭对话

5.3.2 用户数据报文协议(UDP)

  • UDP提供不可靠的非连接型传输层服务
    1. 它允许在源和目的地站点之间传送数据,而不必在传送数据之间建立对话。
    2. 不使用TCP使用的端对端差错校验。
    3. 传输层功能全都发挥,而开销却比较低。
    4. 主要用于那些不要求TCP协议的非连接型的应用程序。例如,名字服务、网络管理、视频点播和网络会议等。

5.4 总结

  1. TCP以连接为基础,即两台电脑必须先建立一个连接,然后才能传输数据,事实上,发送和接受的电脑必须一直互相通讯和联系。
  2. UDP是一个无连接服务,数据可以直接发送而不必在两台电脑之间建立一个网络连接。它和有连接的TCP相比,占用带宽少,但是无法确认数据是否真正到达了客户端,而客户端收到的数据也不知道是否还是原来的发送顺序。

6、应用层协议

  • Telnet
    • 远程登陆服务
  • FTP和TFTP
    • 文件传送协议
  • SMTP
    • 简单的文件传送协议
  • DNS
    • 域名服务
  • 24
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值