1、一张表理清 OSI七层和TCP/IP四层的关系

2、TCP/IP模型

(1)物理层

物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性,确保原始的数据可在各种物理媒体上传输,为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。

(2)数据链路层

主要提供链路控制(同步,异步,二进制,HDLC),差错控制(重发机制),流量控制(窗口机制)

(3)网络层

提供阻塞控制,路由选择(静态路由,动态路由)等

1)IP:网际协议。IP协议提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。IP地址是重要概念

2)ARP:地址解析协议。基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核必须知道目的端的硬件地址才能发送数据。P2P的连接是不需要ARP的。

3)RARP:反向地址转换协议。允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。局域网网关路由器中存有一个表以映射MAC和与其对应的 IP 地址。当设置一台新的机器时,其 RARP 客户机程序需要向路由器上的 RARP 服务器请求相应的 IP 地址。假设在路由表中已经设置了一个记录,RARP 服务器将会返回 IP 地址给机器。

4)IGMP:组播协议包括组成员管理协议和组播路由协议。组成员管理协议用于管理组播组成员的加入和离开,组播路由协议负责在路由器之间交互信息来建立组播树。IGMP属于前者,是组播路由器用来维护组播组成员信息的协议,运行于主机和和组播路由器之间。IGMP 信息封装在IP报文中,其IP的协议号为2。

5)ICMP:Internet控制报文协议。用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

6)  BGP :边界网关协议。处理像因特网大小的网络和不相关路由域间的多路连接。

7)RIP:路由信息协议。是一种分布式的基于距离矢量的路由选择协议。

(4)传输层

提供分割与重组数据,按端口号寻址,连接管理差错控制和流量控制,纠错的功能。传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。

1)TCP: 一种面向连接的、可靠的、基于字节流的传输层通信协议。

2)  UDP: 用户数据报协议,一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

(5)应用层

1)HTTP:超文本传输协议,基于TCP,是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。

2)SMTP:简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。

3)SNMP:简单网络管理协议,由一组网络管理的标准组成,包含一个应用层协议、数据库模型和一组资源对象。

4)FTP:文件传输协议,用于Internet上的控制文件的双向传输。同时也是一个应用程序。

5)Telnet:是Internet远程登陆服务的标准协议和主要方式。为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。

6)SSH:安全外壳协议,为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

7)NFS:网络文件系统,是FreeBSD支持的文件系统中的一种,允许网络中的计算机之间通过TCP/IP网络共享资源。

3、具体协议与TCP、UDP的归属

随手画的有点丑,凑合看看~

4、数据包及协议首部说明:

IP层传输单位是IP分组,属于点到点的传输;TCP层传输单位是TCP段,属于端到端的传输

①UPD首部

UPD首部格式如下:

UDP 是无连接的,即发送数据之前不需要建立连接。

UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。

UDP 是面向报文的。UDP 没有拥塞控制,很适合多媒体通信的要求。

UDP 支持一对一、一对多、多对一和多对多的交互通信。

UDP 的首部开销小,只有 8 个字节

端口号:用来表示发送和接受进程。

长度:UDP长度字段指的是UDP首部和UDP数据的字节长度。该字段的最小值为 8字节(发送一份0字节的UDP数据报是 O K)。

检验和:UDP检验和是一个端到端的检验和。它由发送端计算,然后由接收端验证。其目的是为了发现UDP首部和数据在发送端到接收端之间发生的任何改动

②TCP报文段首部

TCP报文段首部的前20个字节是固定的,后面的字节是根据需要增加的。首部格式如下:

TCP 提供可靠交付的服务,保证数据无差错、不丢失、不重复、按序到达。

TCP 提供全双工通信。

TCP虽然是面向字节流的,但TCP传送的数据单元却是报文段。一个TCP 报文段分为首部和数据两部分

1、第一个4字节: 
(1)源端口,16位;发送数据的源进程端口
(2)目的端口,16位;接收数据的进程端口
2、第二个4字节与第三个4字节 
(1)序号,32位;代表当前TCP数据段第一个字节占整个字节流的相对位置;
(2)确认号,32位;代表接收端希望接收的数据序号,为上次接收到数据报的序号+1,当ACK标志位为1时才生效。
3、第四个4字节: 
(1)数据偏移,4位;实际代表TCP首部长度,最大为60字节。
(2)6个标志位,每个标志位1位; 
SYN,为同步标志,用于数据同步; 
ACK,为确认序号,ACK=1时确认号才有效; 
FIN,为结束序号,用于发送端提出断开连接; 
URG,为紧急序号,URG=1是紧急指针有效; 
PSH,指示接收方立即将数据提交给应用层,而不是等待缓冲区满; 
RST,重置连接。
(3)窗口值,16位;标识接收方可接受的数据字节数。
4、第五个4字节 
(1)校验和,16位;用于检验数据完整性。
(2)紧急指针,16位;只有当URG标识位为1时,紧急指针才有效。紧急指针的值与序号的相加值为紧急数据的最后一个字节位置。用于发送紧急数据。

③IP报文

IP报文是在网络层传输的数据单元,也叫IP数据报。IP报文格式如下图

1、第一个4字节:

(1)版本号,4位;用于标识IP协议版本,IPv4是0100,IPv6是0110,也就是二进制的4和6。
(2)首部长度(Internet Header Length),4位;用于标识首部的长度,单位为4字节,所以首部长度最大值为:(2^4 - 1) * 4 = 60字节,但一般只推荐使用20字节的固定长度。
(3)服务类型(Type Of Service),8位;用于标识IP包的优先级,但现在并未使用。
(4)总长度(Total Length),16位;标识IP数据报的总长度,最大为:2^16 -1 = 65535字节。
2、第二个四字节:

(1)标识(Identification),16位;用于标识IP数据报,如果因为数据链路层帧数据段长度限制(也就是MTU,支持的最大传输单元),IP数据报需要进行分片发送,则每个分片的IP数据报标识都是一致的。
(2)标志(Flag),3位,但目前只有2位有意义;最低位为MF,MF=1代表后面还有分片的数据报,MF=0代表当前数据报已是最后的数据报。次低位为DF,DF=1代表不能分片,DF=0代表可以分片。
(3)片偏移(Fragment Offset),13位;代表某个分片在原始数据中的相对位置。
3、第三个四字节:

(1)生存时间(TTL),8位;以前代表IP数据报最大的生存时间,现在标识IP数据报可以经过的路由器数。
(2)协议(Protocol),8位;代表上层传输层协议的类型,1代表ICMP,2代表IGMP,6代表TCP,17代表UDP。
(3)校验和(Header Checksum),16位;用于验证数据完整性,计算方法为,首先将校验和位置零,然后将每16位二进制反码求和即为校验和,最后写入校验和位置。
4、第四个四字节:源IP地址

5、第五个四字节:目的IP地址

TCP/IP四层模型各层主要协议详述相关推荐

  1. TCP/IP四层模型及各层协议首部详述(包含IOS7层)

    1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行 ...

  2. TCP/IP四层模型及各层协议首部详述

    1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行 ...

  3. TCP/IP四层模型重点协议解析

    文章目录 应用层 DNS协议 NAT NAPT 传输层协议 TCP UDP UDP协议段格式 UDP特点 基于UDP的应用层协议 ※ 经典面试题 网络层协议 IP协议 数据链路层协议 以太网 以太网帧 ...

  4. 网络协议 (一) TCP/IP 四层模型

    TCP/IP 四层模型 是目前被广泛采用的一种模型,我们可以将 TCP / IP 模型看作是 OSI 七层模型的精简版本,由以下 4 层组成: 应用层 传输层 网络层 网络接口层 需要注意的是,我们并 ...

  5. 网络通信——ISO7层协议与TCP/IP 四层模型

    ISO7层协议与TCP/IP 四层模型 前言 1. ISO7层协议 2.TCP/IP四层模型 3.两者之间的关联 前言 参考链接:原文链接 1. ISO7层协议 ISO7层模型从第一层至第七层: 物理 ...

  6. TCP/IP四层模型与OSI七层参考模型(网络协议)

    TCP/IP四层模型与OSI七层参考模型 一. OSI七层参考模型 ①. 物理层 ②. 数据链路层 ③. 网络层 ④. 传输层 ⑤. 会话层 ⑥. 表示层 ⑦. 应用层 二. TCP/IP模型 ①. ...

  7. 信息系统项目管理师教程(第3版)- OSI七层模型TCP/IP四层模型对应网络协议

    一.OSI七层模型: 1.应用层 网络服务与最终用户的一个接口. 协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP 2.表示层 数据的表示. ...

  8. OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系

    OSI七层协议模型.TCP/IP四层模型和五层协议体系结构之间的关系 一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Ses ...

  9. OSI七层协议模型、TCP/IP四层模型学习笔记

    1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行 ...

最新文章

  1. Knockout学习之前言
  2. 循环卷积和周期卷积的关系_PSConv:多位一体、即插即用卷积单元
  3. P5367 【模板】康托展开
  4. 浅谈一个缓存小实践,另外还有更多案例,欢迎关注~
  5. poj 2528_2
  6. 【待完成】并发包下常用到线程工具类汇总
  7. python读取mat数据是字典形式如何转化为矩阵_mat2json, python读取mat成字典, 保存json...
  8. eureka服务注册中心集群模式创建
  9. F - Wormholes(判断是否存在负环)
  10. linux下使用select实现精确定时器
  11. 复星金服微服务_复星金服以区块链技术解决行业痛点 “中招公信链”项目正式启动...
  12. 使用JS禁用浏览器后退按钮
  13. python模拟栈的操作实现非递归方式的快速排序算法
  14. Python(四):字符串
  15. MATLAB模糊控制算法,驾驶员制动意图识别,Fuzzy模糊控制算法
  16. verilog 四舍五入_IEEE 754 round-to-nearest-even Verilog代码
  17. RSS推送技术——打造自己的今日头条
  18. 微信从原版到现在所有界面图片_微信所有的界面都怎么设置背景图片?
  19. 【NOIP】【codevs】【DP】1169传纸条
  20. ActiveX控件之制作图片属性页

热门文章

  1. Python:ERROR: Could not install packages due to an OSError: HTTPSConnectionPool
  2. 看看这个示例,就能知道小学科学实验教案怎么写了
  3. 耶鲁华裔硕士被击数枪身亡!嫌犯疑是MIT博士生,曾获奥数银牌
  4. 百度掀起智能音箱“服务化浪潮”
  5. 一步步实现 仿制Android LOL多玩盒子(四) 自定义AlertDialog实现
  6. session、cookie、token 详解
  7. mirror镜像大全
  8. 在虚拟机下使用CCS3.3连接seed-XDS510PLUS仿真器
  9. 计算机考试准考证打印不了怎么办
  10. LINUX grep练习题