UNIX网络编程

OSI

计算机通信开放系统互连(open system interconnection)模型,是一个七层模型
在这里插入图片描述

  • 应用层:应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层的协议定义了应用进程间通信和交互的基本规则。(DNS析协议、HTTP协议)
  • 表示层:用于表示信息的语法语义和他们之间的关联,如加密解密,压缩解压。 会话层:不同机器上的用户之间建立及管理会话
  • 传输层:负责向两台主机之间的进程通信提供通用的数据传输服务。(TCP协议、UDP协议)
  • 网络层:负责为分组交换网上的不同主机提供通信服务。发送数据时,网络层把运输层产生的报文或数据封装成分组或者包进行传送(IP数据报)(IP协议)
  • 数据链路层:进行两个主机之间的数据传输
  • 物理层:定义了主机和物理设备的联系,以及比特流的传输

在网际网协议族中,OSI模型的底下两层是随系统提供的设备驱动程序和网络硬件。网络层由IPv4和IPv6两个协议来处理,可以选择TCP或UDP做为传输层协议,上面三层被统称为应用层。

为什么套接字提供的是从OSI模型的顶上三层进入传输层的接口?

  • 顶上三层处理具体网络应用的所有细节,但不关注通信细节,底下四层整好相反,能处理所有的通信细节,发送数据、确认数据等
  • 顶上三层通常构成所谓的用户进程,底下四层通常作为操作系统内核的一部分

IP层提供无连接不可靠的数据报递送服务,尽自己最大努力把IP数据报传送到指定的目的地,但不能保证一定到达,也不能保证按序到达和每个数据报值到达一次。而它的可靠性只能由上层提供支持。如果是TCP则由TCP本身完成,如果是UDP则由应用程序完成,因为UDP本身是不可靠的。

IPv6和Ipv4的区别

  1. IPv6报头的结构比IPv4简单, IPv6报头中去掉了了IPv4报头中许多不常用的域,放入了可选项和报头扩展,其可选项有更严格的定义。
  2. IPv6的地址空间更大。IPv4中规定IP地址长度为32,即有232-1个地址。 而IPv6中IP地址的长度为128,即有2128-1个地址。
  3. IPv6的路由表更小。提高了路由器转发数据包的速度
  4. IPv6的组播支持以及对流的支持增强。这使得网络上的多媒体应用有了长足发展的机会,为服务质量控制提供了良好的网络平台。
  5. IPv6具有更高的安全性。在使用IPv6网络中,用户可以对网络层的数据进行加密并对IP报文进行校验,这极大地增强了网络安全。

TCP

在这里插入图片描述
上图的每个协议框中的协议功能;

  • IPv4:网际协议版本4,使用32位地址,负责给TCP、UDP、ICMP等协议提供分组传输服务
  • IPv6:使用更大的12位地址来应对因特网的爆发性增长,同样给TCP、UDP、ICMP等协议提供分组传输服务
  • TCP:传输控制协议,面向连接的,提供可靠的传输协议,为用户提供可靠的全双工通信。有超时重传、关心确认等机制,但是是一种流套接字,无法维护消息边界
  • UDP:用户数据报协议,是一个无连接、不可靠的协议,不能保证数据报最终传送到目的地。
  • STCP:提供可靠的全双工关联的面向连接的协议,提供消息服务,维护消息边界。
  • ICMP:网际控制消息协议,处理在路由器和主机之间流通的错误和控制消息,返回差错报文等。
  • ARP:将IP地址解析成MAC地址
  • RARP:将MAC地址解析成ARP地址
  • BPF、DLPI:BSD分组过滤器,提供对于数据链路层的访问能力。
<
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值