http://blog.csdn.net/hankscpp/article/details/8611229

一、 TCP/IP 和 ISO/OSI

ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。

TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议,通过20多年的发展已日渐成熟,并被广泛应用于局域网和广域网中,目前已成为事实上的国际标准。TCP/IP协议簇是一组不同层次上的多个协议的组合,通常被认为是一个四层协议系统,与OSI的七层模型相对应。

二、 TCP/IP分层模型

   (1). 链路层

也称作数据链路层或网络接口层(在第一个图中为网络接口层和硬件层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。

   (2). 网络层

也称作互联网层(在第一个图中为网际层),处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。

IP是一种网络层协议,提供的是一种不可靠的服务,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。

ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。

IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机。

    (3). 传输层

主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。

TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。为了提供可靠的服务,TCP采用了超时重传、发送和接收端到端的确认分组等机制。

UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。一个数据报是指从发送方传输到接收方的一个信息单元(例如,发送方指定的一定字节数的信息)。UDP协议任何必需的可靠性必须由应用层来提供。

   (4). 应用层

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

三、 数据的封装与分用

当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图所示。

TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCP segment);UDP数据与TCP数据基本一致。唯一的不同是UDP传给IP的信息单元称作U D P数据报(UDP datagram),而且UDP的首部长为8字节。IP传给网络接口层的数据单元称作IP数据报(IP datagram)。通过以太网传输的比特流称作帧(Frame )。

当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(Demultiplexing)。协议是通过目的端口号、源I P地址和源端口号进行解包的。

四、 其他相关概念

   (1) IP地址

互联网上的每个接口必须有一个唯一的Internet地址(也称作IP地址)。IP地址长32 bit。Internet地址并不采用平面形式的地址空间,如1、2、3等。IP地址具有一定的结构,五类不同的互联网地址格式如下:

   (2). 端口号

服务器一般都是通过知名端口号来识别的。例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP (简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用知名的1~1023之间的端口号。这些知名端口号由Internet号分配机构(Internet Assigned Numbers Authority, IANA)来管理。知名端口号介于1~255之间;256~1023之间的端口号通常都是由Unix系统占用,以提供一些特定的Unix服务;1024~5000端口号用于客户端分配临时端口号;大于5000的端口号是为其他服务器预留的。

   (3). DNS

DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。

注:本文章主要内容来自《TCP/IP详解 ·卷1:协议》第一章,是个人阅读后的简单总结,希望对大家有帮助。
如有纰漏,欢迎指正交流,转载请注明出处。

转载于:https://www.cnblogs.com/davidwang456/p/3510782.html

TCP/IP协议簇分层详解---转相关推荐

  1. 网络基础知识-TCP/IP协议各层详解

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

  2. TCP/IP协议传输层详解

    目录 前言 一.端口号 1.概念 2.相关命令 二.UDP协议 1.UDP数据报格式 2.UDP的特点 3.UDP的缓冲区 三.TCP协议 1.TCP数据报格式 2.确认应答(ACK)机制 3.缓冲区 ...

  3. TCP/ip 协议端口范围 详解

    端口号的范围是从1-65535 端口的概念:  在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem.集线器.交换机.路由器用于连接其他网络设备的接口,如RJ ...

  4. TCP/IP协议连接状态详解

    目录 引言 一.建立连接(三次握手) 二.结束连接(四次挥手) 三.最大报文长度 四.TCP状态迁移图 4.1 状态迁移图各状态解析 4.2 服务器的状态迁移图 4.3 客户端应用程序的状态迁移图 4 ...

  5. TCP/IP协议专栏——ND 详解——网络入门和工程维护必看

    文章目录 术语 协议概况 ICMPv6包 IPv6邻居发现(ND)与IPv4中ARP区别 ND协议介绍 Ipv6邻居发现(ND)机制 路由器请求(Router solicitation) 路由器通告( ...

  6. 关于TCP/IP协议簇

    TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个网络间实现信息传输的协议簇.TCP/IP协议严格来说 ...

  7. 网络基础之计算机网络参考模型(OSI参考模型与TCP/IP协议簇)

    文章目录 前言 一.OSI七层参考模型 1.OSI简介 2.OSI参考模型各层的功能 二.TCP/IP协议簇 1.TCP/IP 2.常用的网络协议 三.数据封装和解封装 1.数据封装过程 2.数据解封 ...

  8. Day11OSI与TCP/IP协议簇以及物理层

    分层思想分层模型 OSI参考模型TCP/IP协议簇 计算机网络参考模型 数据封装与解封装过程(一) 数据传输过程 数据封装与解封装过程(二) 分层思想: 将复杂的流程分解为几个功能单一的子过程,整个过 ...

  9. TCP/IP 协议簇

    TCP/IP 协议簇 TCP/IP作为Internet的核心协议,被广泛应用于局域网和广域网中,TCP/IP 包含许多重要的基本特性,这些特性主要表现在5个方面: 1.逻辑编制:每一块网卡 在出厂时厂 ...

最新文章

  1. 协防差_西班牙男篮的投篮比美国还差 为什么在2019年世界杯夺冠
  2. php随机产生4乘4矩阵,PHP 用二维矩阵生成一个给定层数的杨辉(PASCAL)三角形
  3. 工程打包是什么意思_太生动形象了!500个建筑施工3D动画演示,施工工艺一目了然,零基础工程人也能看懂...
  4. 恒丰银行微服务架构优化实践
  5. C# 实体类的get与set
  6. flutter 弹幕插件_Flutter 实现虎牙/斗鱼 弹幕效果
  7. 【rmzt:魔兽冰封王座主题】
  8. Scrapy学习笔记5——Spiders
  9. 蓝海大脑高性能气象大数据平台为气象局掌握风云变幻提供助力
  10. 不需要再手写 onSaveInstanceState 了,因为你的时间非常值钱
  11. RL gym 环境(2)—— 自定义环境
  12. 简述空串和空格串(或称空格符串)的区别。
  13. box-sizing:border-box的作用
  14. 2021年安全员-C证-专职安全生产管理人员(广东省)找解析及安全员-C证-专职安全生产管理人员(广东省)考试试卷
  15. 手机安全卫士(二)----- APP功能分析
  16. 时间复杂度中的log(n)底数到底是多少?
  17. w7电脑蓝屏怎么解决_电脑蓝屏,教您电脑蓝屏怎么办
  18. 15年java编程经验大佬建议这样学java,元芳你怎么看?
  19. Transformer(已修改)
  20. H3CSE园区-组播转发机制

热门文章

  1. python画旺仔代码_美术生把旺仔牛奶画成抖音网红,看清画的是谁,网友:确认过眼神...
  2. redis zse如何取值_你真的懂redis的數據結構了嗎?redis內部數據結構和外部數據結構揭秘...
  3. Android中的常见布局
  4. 文件映射操作类的实现
  5. 便携式不锈钢管道焊接机器人_核电站双相不锈钢管道的焊接工艺及焊接接头性能探讨...
  6. 日志模板html源码,HTML红色欧美形式教堂动态日志网页模板代码
  7. java怎么导入文件_怎么将文件导入java
  8. Oracle序列的建立以及使用
  9. PyTorch模型的保存加载以及数据的可视化
  10. Keras 文本预处理 text sequence