TCP/IP详解(一) -- 基本概念

一、什么是TCP/IP

TCP/IP是一组协议的代名词,包括许多别的协议,组成了TCP/IP协议簇。TCP/IP 采纳了ARPANET参考模型,将协议分为4层。

二、 ARPANET参考模型
编号名称描述/例子.
7应用层实质上是Internet兼容的任何应用,包括网页(HTTP)、DNS、DHCP
4传输层提供在抽象的、由应用管理的“端口”之间的数据交换。可能包括差错和流量控制。例子:TCP、UDP、SCTP、DCCP
3.5网络层(辅助)协助完成网络层设置、管理和安全 的非正式的“层”。例子:ICMP、IGMP、IPsec。网络层
3网络层定义抽象的数据报和提供路由。例子:IP和IPv6。网络层
2.5链路层(辅助)用于网络层到基于多接入链路层网络的链路层的地址映射的非正式的“层”。例子:ARP 。驱动

上面的IGMP、ARP没有被IPv6使用。
每层都会有一个标识符,允许接收方决定哪些协议或数据流可以复用在一起。每层通常也有地址信息,它用于保证一个PDU被交付到正确的地方。
分层体系结构的一个主要优点是具有协议复用的能力。这种复用形式允许多种协议共存于同一基础设施中。也允许相同协议对象(例如连接)的多个实例同时存在。

三、分层到底是什么意思,和数据传输有什么关系

    很多人都知道听说过网络分层(OSI分为7层,ARPANET分为4层),但大多不明白分层到底是什么意思,有什么用,他和数据传输有什么关系。接下来,我们自下而上,分解从链路层开始数据传输的工作 。

    以太网帧包含一个48位的目的地址(又称位链路层或介质访问控制(MAC)地址)和一个16位以太网类型字段。0x0800(十六进制)表示这个帧包含IPv4数据报。Ox0806和0x86DD分别表示ARP和IPv6。假设目的地址与接收方的一个地址匹配,这个帧将被接收并校验差错,以太网类型字段用于选择处理它的网络层协议。

    如果接收到的帧包含一个IP数据报,以太网头部和尾部信息将被清除,并将剩余字节(包含帧的有效载荷)交由IP来处理。IP检测一系列的字段,包含数据报中的目的IP地址。如果目的地址与自己的一个IP地址匹配,并且数据报头部(IP不检测有效载荷)没有错误,则检测8位的IPv4协议字段(在IPv6中成为下一个头部字段),以决定接下来调用哪个协议来处理。 常见的值包括1(ICMP)、2(IGMP)、4(IPv4)、6(TCP)、17(UDP)、41(IPv6)。

    如果网络层(IPv4或IPv6)认为传入的数据报有效,并且已经确定正确的传输层协议,则将数据报(必要时由分片重组而成)交由传输层处理。在传输层中,大部分协议(包含TCP和UDP)通过端口号将数据报复用分解到适当的应用。

四、其他基本概念(持续更新)
  • ARP协议
    地址解析协议,它是IP4专用协议。只用于多接入链路层协议(例如以太网、WIFI),完成Ip层使用的地址和链路层使用的地址之前的转换。

  • ICMP协议
    Internet控制消息协议,是IP的一个辅助协议。IP层使用它与其他主机或路由器的IP层之间交换差错消息和其他重要消息。有ICMPv4和ICMPv6两个版本。(ping和traceroute都使用ICMP)。ICMP消息被封装在IP数据报中,采用与传输层PDU相同的封装方式。

  • IGMP协议
    Internet组管理协议,是IPv4的辅助协议。采用组播寻址和交付来管理作为组播组成员的主机(一组接收方接收一个特定目的地址的组播流量)。

  • IP数据报
    IP发送给链路层协议的PDU[2]称为IP数据报,它的大小是64KB(IPv6将它扩大为4GB)

  • 分片
    大的分组(IP数据报)放入链路层PDU(数据帧)时,需要进行缩小处理,这个过程成为分片,它通常由IP主机和某些路由器在必要时执行。

  • 重组
    数据报分片后,到达目的地后重新组合,称为重组

  • IP地址
    由于每个IP分组都是一个数据报,所以都包含发送发和接收方的第3层(ARPANET模型的第三层,网络层)地址。这些地址成为IP地址,即32位的IPv4地址和128位的IPv6地址。

  • 转发
    每个数据报的目的地址用于决定将该数据报发送到哪里,而做出决定和发送数据报到下一跳的过程成为转发。

  • 多接入网络: 当超过一个邻居可以访问共享网络时,这个网络成为多接入网络。wifi和以太网是这种多接入链路层网络的例子,特定协议用于协调多个站在任何时间访问共享介质。

  • PDU:协议数据单元,是对等层次之间传递的数据单位。协议数据单元(Protocol Data Unit )物理层的 PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的 PDU是数据段(segment),其他更高层次的PDU是报文(message)。

  • 封装
    当某层的一个PDU的对象(分组、消息等)被底层携带时,这个过程称为在相邻低层的封装(作为不透明数据,不透明的意思是无需解释的数据)

  • 复用
    复用允许多种协议共存于同一基础设施中。也允许相同协议对象(例如连接)的多个实例同时存在。可以发生在不同层,并在每层都有不同类型的标识符,用于确定信息属于哪个协议或信息流。第N层的多个对象可以通过第N-1层的封装而复用。

  • 组播地址
    标识一组主机接口,而不是单个接口。一个组所覆盖的网络部分称为组的范围。常见范围包括 节点本地(同一计算机)、链路本地(同一子网)、站点本地(使用于一些站点)、全球(整个Internet)和管理(用于一个网络区域内已手动配置到路由器的地址)。

  • 任播地址
    任播地址是一个单播IPv4或IPv6地址,这些地址根据它所在的网络确定不同的主机。这是通过配置路由器通知Internet中多个站点有相同单播路由实现。一个任播地址不是指Internet中的一台主机,而是对于任播地址“最合适”或“最接近”的一台主机。

  • 子网掩码
    由路由器和主机使用,确定一个IP地址的网络/子网部分的结束和主机部分的开始。掩码由一些1后跟一些0构成(二进制形式)。例如,常见的子网掩码:255.255.255.0 转二进制为11111111 11111111 11111111 00000000


[1]TCP/IP详解·卷1:协议 机械工业出版社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值