TCP/IP详解 概述

Posted by Young Ken on 2017-05-09

概述

引言

TCP/IP是起源于美国政府资助的一个项目,到90年代发展成为计算机最常用的组网形式。

分层

  • 链路层

    也被成为数据链路层网络接口层 ,通常是设备驱动程序及接口卡

  • 网络层

    也被称为互联网层,在TCP/IP协议族中,网络层协议包括IP协议,IPMP协议,以及IGMP协议

  • 运输层

    两台主机端对端的通讯。

  • 应用层

    应用层负责处理特定的应用程序细节。

FTP是应用层协议,TCP、UDP是运输层协议,IP是网络层协议,以太网协议则应用于链路层上。

TCP/IP的分层

TCP和UDP都是最为著名的运输层协议,二者都使用IP作为网络协议。

互联网的地址

互联网上的每个接口都必须有唯一一个Internet地址。

域名系统

DNS是分布式数据库,它提供域名和地址的对应关系。

链路层

链路层主要有三个目的

  1. 为IP模块发送和接收IP数据报。
  2. 为ARP模块发送ARP请求和接收ARP应答。
  3. 为RARP模块发送RARP请求和接收RARP应答。

IP协议

IP是TCP/UDP协议族中最核心的协议。

  • 不可靠

    不可靠 不可靠的意思是不能保证IP数据报能成功到达目的地,要求可靠性必须由上层协议提供。

  • 无连接

    无连接 IP并不维护任何关于后续数据报的状态信息,每个数据都是相互独立的。IP数据报可以不按顺序发送。

IP的首部

  • 版本号:长度是4比特,(0100 = IP4, 0110 = IP6)
  • 首部长度:长度4比特。
  • 服务类型:长度8比特,8位 按位被如下定义 PPP DTRC0,PPP:定义包的优先级,取值越大数据越重要
    • 000 普通 (Routine)
    • 001 优先的 (Priority)
    • 010 立即的发送 (Immediate)
    • 011 闪电式的 (Flash)
    • 100 比闪电还闪电式的 (Flash Override)
    • 101 CRI/TIC/ECP(找不到这个词的翻译)
    • 110 网间控制 (Internetwork Control)
    • 111 网络控制 (Network Control)
  • 总长度:IP包的总长度,长度16字节,最大字节数6 5 5 3 5。
  • 标识:对比较大的数据进行拆分,所有被拆分的小包都被表明相同的值。
  • 标识:长度3比特。该字段第一位不使用。第二位是DF(Don’t Fragment)位,DF位设为1时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。第三位是MF(More Fragments)位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的IP包的包头中将MF位设为1。
  • 片位偏移:长度13比特。表示该IP包在该组分片包中位置,接收端靠此来组装还原IP包。
  • 生存时间:长度8比特。当IP包进行传送时,先会对该字段赋予某个特定的值。当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于路由环路而导致IP包在网络中不停被转发。
  • 协议:长度8比特。标识了上层所使用的协议。
    • 1 ICMP
    • 2 IGMP
    • 6 TCP
    • 17 UDP
    • 88 IGRP
    • 89 OSPF
  • 头部校验和:度16位。用来做IP头部的正确性检测,但不包含数据部分。 因为每个路由器要改变TTL的值,所以路由器会为每个通过的数据包重新计算这个值。

IP路由选择

IP层在内存中有一个路由表。当收到一份数据报并进行发送时,它都要对该表搜索一次,查看是否是本机IP和广播IP。如果不是就交给路由器的功能。

子网寻址

现在不是把IP地址看成由单纯的一个网络号和一个主机号组成的,而是把主机号在分成一个子网好和一个主机号。

子网掩码