OSI的来源

  OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。

   ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络,这样所有公司都有相同的规范,就能互联了。

   OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型,如下图:

网络OSI 七层模型

网络OSI 七层模型与TCP/IP 模型的对应关系

TCP/IP 模型各层运行的协议

  TCP/IP协议的功作原理:

         应用层和传输层使用端到端协议。

网络层使用的是逐跳协议。

TCP/IP模型 层与基本协议的对应关系

  TCP协议是在IP协议上提供可靠性传输的协议

  UDP协议提供的是一种不可靠的协议

  IP协议是网络层上的主要协议,同时被TCP、UDP使用。Icmp是IP协议的附属协议。

数据包封装的过程

  数据包封装的过程是由高层向低层一层一层加封装的协议内容,其中每一层的数据 ,称为本层的协议数据单元,即PDU,协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。

  应用层:数据在传输层添加TCP报头后得到的PDU被称为 Segment(数据段 )。

  传输层:传给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包)。

  网络层:传给数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧)。

  数据链路层:帧被转换为比特流,通过网络介质传输。

最常用协议号、端口号

  以太网协议号16bit

  IP:0x0800;ARP:0x0806;PPPOE:0x8863、0x8864。

  

  IP协议号8bit

  ICMP:1;TCP:6;UDP:17。

  端口号16bit

  FTP:20 21;SSH:22;Telnet:23;SMTP:25;HTTP:80;HTTPS:443。

数据帧的解封装过程

  数据帧的解封装过程是由低层往高层逐层解封装。

  链路层:根据以太帧首部中的帧类型进行分解。

  网络层:根据IP首部中的协议类型进行分解。

  传输层:根据TCP或UDP首部中的端端号进行分解。

端口号

  可分配的最大端口号是65536(端口号表示位为16bit 2^16 = 65536)。

  知名端口号一般是 1 - 255 之间的端口。常用端口是 1 - 1024端口。

  大多数TCP、UDP临时分配的端口号是 1024 - 5000。大于5000的端号口预留给一些不常用的服务。

  知名端口一般是奇数端号的原因:TCP协议的前身是NCP协议,因为NCP是单工协议,不是双工协议,因此,之前应用程序需要收发数据时定义两个端口一个奇和偶端口分别对应收发数据的两个端口,当TCP、UDP成为标准后,每个应用只需要一个端口号,所以使用了NCP中的奇数端口号。

数据包封包结构实例

  我用百度网站www.baidu.com来做测试实例,14.215.177.39就是DNS解释出的百度的IP。下面我们分析下Icmp包结构:

  

  

 

TCP/IP协议 模型的更多相关文章

  1. ISO/OSI网络体系结构和TCP/IP协议模型

    1. ISO/OSI的参考模型共有7层,由低层至高层分别为:物理层.数据链路层.网络层.传输层.会话层.表示层.     应用层.各层功能分别为: (1)物理层          提供建立.维护和拆除 ...

  2. OSI参考模型与TCP/IP协议模型

    OSI和TCP/IP都是为了计算机之间更好的互联的. 计算机网络是一个复杂的系统,比如两台计算机进行通信不仅仅只是有一条通信线就可以了. 还有很多的工作需要完成,例如: 如何知道对方计算机是否做好准备 ...

  3. TCP/IP协议模型详解

    TCP

  4. Android网络编程系列 一 TCP/IP协议族

    在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...

  5. 计算机网络——TCP/IP协议族详解

    一.OSI七层协议体系结构域TCP/IP四层体系结构对比 ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是 ...

  6. 嵌入式linux的网络编程(1)--TCP/IP协议概述

    嵌入式linux的网络编程(1)--TCP/IP协议概述 1.OSI参考模型及TCP/IP参考模型 通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著 ...

  7. TCP/IP协议分层详解

    TCP/IP 和 ISO/OSI ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标准化组织(ISO) ...

  8. 回顾下TCP/IP协议

    首先要知道什么是TCP/IP协议,从字面意思来看TCP是“Transmission Control Protocol”的缩写,也就是传输控制协议.IP是“Internet Protocol”的缩写,即 ...

  9. 计算机网络——OSI、TCP/IP协议族详解

    一.OSI七层协议体系结构域TCP/IP四层体系结构对比 ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是 ...

随机推荐

  1. Android Studio 好用的设置

    Android Studio 好用的设置 设置目录 Getter 模板修改--自动处理 null 判断 格式化代码自动整理方法位置--广度 or 深度 设置步骤: Getter 模板修改,自动处理 n ...

  2. System.Net.HttpWebRequest.GetResponse() 远程服务器

    WebException 服务器状态码错误,比如500服务器内部错误 现象 我们编码实现请求一个页面时,请求的代码类似如下代码: HttpWebRequest req = (HttpWebReques ...

  3. 异类查询要求为连接设置ANSI_NULLS和ANSI_WARNINGS选项

    在查询分析器中,先输入两句    set   ansi_nulls   on    set   ansi_warnings   on    执行然后再    Create   Proc   存储过程  ...

  4. golang处理signal

    signal一般用来实现优雅重启,或者重新加载配置文件等操作. 废话不多说,上表格 动作 号码 信号 golang kill pid 15 SIGTERM terminated kill -9 pid ...

  5. TextView 链接显示及跳转

    当文字中出现URL.E-mail.电话号码等的时候,我们为TextView设置链接.总结起来,一共有4种方法来为TextView实现链接.我们一一举例介绍: 1. 在xml里添加android:aut ...

  6. VMware vCenter Server 6.5配置群集功能

    虚拟数据中心是一种容器,其中包含用于操作虚拟机的完整功能环境所需要的全部清单对象.可以创建多个数据中心,以实际需求创建 . 群集是一组主机,将主机添加到群集时,主机的资源将成为群集资源的一部分,群集管 ...

  7. jsp中相对路劲

    .代表当前目录 ..代表上一层目录 例如:如下文件,aliCashier.html要引入images下的图片,应该写成../../static/images/logo.png,此处会找到本地静态路径. ...

  8. 【2019年04月03日】A股最便宜的股票

    太钢不锈(SZ000825) - 当前便宜指数:161.66 - 滚动扣非市盈率PE:4.62 - 滚动市净率PB:1.03 - 动态年化股息收益率:4.53% - 太钢不锈(SZ000825)的历史 ...

  9. maven jdk 版本配置

    一种是配置 pom.xml,一种是配置 settings.xml. 方式一:settings.xml 配置 打开 %maven%/conf/settings.xml 文件并编辑它(%maven% 表示 ...

  10. OpenGL——天空盒子模型

    加载天空盒子的六个jpg图片,不知道为什么加载不出顶部和底部的jpg图片.没有解决. 加载来自http://www.custommapmakers.org/skyboxes.php的tga图片,没有问 ...