tcp/ip协议族

        tcp/ip协议族是一个四层协议系统,从下到上依次为:数据链路层、网络层、传输层和应用层。每一层完成不同的功能,且通过若干协议来实现,上层协议使用下层协议提供的服务。如下图所示:

        1、数据链路层
         
数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介(比如以太网、令牌环网等)上的传输。不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供一个同一的接口。
        数据链路层的主要协议有以下两个:
        ARP协议(地址解析协议):将目的主机的ip地址转化为物理地址。
        RARP协议(逆地址解析协议):将目的主机的物理地址转换为ip地址。
        2、网络层
        网络层实现数据的选路和转发。通常使用众多分级的路由器来连接分散的主机或LAN(局域网),通信的两台主机一般不是直接相连的,而是通过过和中间节点(路由器)连接的。网络层的任务就是选择这些中间节点,以确定两台主机之间的通信线路。
        网络层的主要协议有以下两个:
        ip协议:ip协议根据数据包的目的地址来决定如何投递它,如果数据包不能直接发送给目标主机,那么ip协议就为它寻找一个合适的下一跳路由器,并将数据包交付给该路由器来转发。并多次重复执行这一过程,数据包最终到达目标主机,或者由于发送失败而丢弃。
        ICMP协议:用于检测网络连接。如ping程序就是用ICMP报文查看目标是否可到达。ICMP并非严格意义上的网络层协议,因为它使用处于同一层的ip协议提供的服务
        3、传输层
        传输层为两台主机上的应用程序提供端到端的通信,传输层只关心通信的起始端和目的端,不在乎数据包的中转过程。传输层负责数据的收发、链路的超时重连等。
        传输层的主要协议有以下三个:
        TCP协议(传输层控制协议):为应用层提供可靠的、面向连接的、字节流服务。TCP协议使用超时重传、数据确认等方式来确保数据包被正确地发送至目的端,因此TCP是可靠的。使用TCP通信协议的双方必须先建立TCP协议,并在内核中为该连接维持一些必要的数据结构,比如连接的状态、读写缓冲区等,当通信结束时,双方必须关闭连接以释放这些内核数据。TCP协议是基于字节流的,基于字节流的数据没有长度限制,它源源不断地从同通信的一端流入另一端,发送端可以逐个字节地向数据流中写入数据,接收端也可以逐个字节地将它们读出。
        UDP协议(用户数据报协议):为应用层提供不可靠的、无连接的、数据报服务。“不可靠”是指UDP协议无法保证数据从发送端正确地传送到目的端,如果数据在中途丢失,或者目的端通过数据校验发现数据错误而将其直接丢弃,则UDP协议只是简单地通知应用程序发送失败,因此,使用UDP协议的应用程序通常要自己处理数据确认、超时重传等逻辑。UDP协议是无连接的,即同性的双方不保持一个长久的联系,因此应用程序每次发送数据都要明确指定接收端的地址。UDP协议是基于数据包的,每个UDP数据包都有一个长度,接收端必须以该长度为最小单位将其所以一次性读出,否则数据将被截断。
        SCTP协议(流控制传输协议):是一个面向连接的传输层协议,它是为了在因特网上传输电话信号而设计的,它在对等的SCTP用户之间提供可靠的面向用户消息的传输服务。相对于TCP等其它传输协议来说,它传输时延小,可避免某些大数据引起的阻塞,有更高的传输效率和可靠性,有更高的重发效率,具有更好的安全性。
         4、
应用层
        应用层负责处理应用程序的逻辑。数据链路层、网络层和传输层负责处理网络通信的细节,这些都是在内核空间中实现,而应用层是在用户空间实现的因为它负责处理处理众多逻辑,比如文件传输、名称查询和网络管理等,如果应用层也在内核中实现会使内核变得十分庞大,当然也有少数服务器程序在内核中实现,这样代码就无需在用户空间和内核空间来回切换,极大地提高了工作效率,但是这种代码实现起来比较复杂,不够灵活,不便于移植。
        应用层的主要协议有以下三个:
        telnet协议:是一种远程登录协议,它为用户提供了在本地计算机上完成远程主机工作的能力。
      
 OSPF协议:是一种动态路由更新协议,用于路由器之间的通信,以告知对方各自的路由信息。
        
DNS协议:提供主机域名到IP地址的转换。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值