TCP/IP协议 模型
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协议 模型的更多相关文章
- ISO/OSI网络体系结构和TCP/IP协议模型
1. ISO/OSI的参考模型共有7层,由低层至高层分别为:物理层.数据链路层.网络层.传输层.会话层.表示层. 应用层.各层功能分别为: (1)物理层 提供建立.维护和拆除 ...
- OSI参考模型与TCP/IP协议模型
OSI和TCP/IP都是为了计算机之间更好的互联的. 计算机网络是一个复杂的系统,比如两台计算机进行通信不仅仅只是有一条通信线就可以了. 还有很多的工作需要完成,例如: 如何知道对方计算机是否做好准备 ...
- TCP/IP协议模型详解
TCP
- Android网络编程系列 一 TCP/IP协议族
在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...
- 计算机网络——TCP/IP协议族详解
一.OSI七层协议体系结构域TCP/IP四层体系结构对比 ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是 ...
- 嵌入式linux的网络编程(1)--TCP/IP协议概述
嵌入式linux的网络编程(1)--TCP/IP协议概述 1.OSI参考模型及TCP/IP参考模型 通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著 ...
- TCP/IP协议分层详解
TCP/IP 和 ISO/OSI ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标准化组织(ISO) ...
- 回顾下TCP/IP协议
首先要知道什么是TCP/IP协议,从字面意思来看TCP是“Transmission Control Protocol”的缩写,也就是传输控制协议.IP是“Internet Protocol”的缩写,即 ...
- 计算机网络——OSI、TCP/IP协议族详解
一.OSI七层协议体系结构域TCP/IP四层体系结构对比 ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是 ...
随机推荐
- 查看哪个用户登录过服务器 记录 时间 和 ip
who /var/log/wtmp 1>wtmp 一个用户每次登录进入和退出时间的永久纪录
- Clash Royale开发日志
2018-04-17 本次更新: [修复点击时间bug] [修复断线重连后不自动开始脚本bug] 2018-04-16 本次更新增加以下功能: [支持断线重连机制(5分钟)] [界面UI设置] 201 ...
- 检查linux的磁盘空间占用
先初步看看哪个目录占用最大$ df -h 然后细看遍历某目录的占用情况:$ sudo du -a /data | sort -nr | less(单位是KB)
- [转]Mybatis foreach 批量操作
原文地址:https://blog.csdn.net/jason5186/article/details/40896043 foreach属性属性 描述item 循环体中的具体对象.支持属 ...
- C语言 · 数字黑洞
算法提高 数字黑洞 时间限制:1.0s 内存限制:256.0MB 问题描述 任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律: 1)将组成该四位数的四个数字由大到小 ...
- MySQL查询where条件的顺序对查询效率的影响<转>
看到有资料说,where条件的顺序会影响查询的效率,根据的逻辑是: where条件的运行是从右到左的,将选择性强的条件放到最右边,可以先过滤掉大部分的数据(而选择性不强的条件过滤后的结果集仍然很大), ...
- 推荐使用@Resource,不推荐使用@Autowired
@Autowired 默认根据ByType, 当一个类有两个对象的时候,会报错. @Resource 默认是ByName,可以精准的找到<bean>的配置项. jar包推送,应该级联推送: ...
- KM算法小结
最近有一个需求,主要内容如下: APP一般刷新一次,会返回6个Item(6可能会变),每个Item都要展示一个广告,其中每个Item会发送一个请求,返回的结果是一个广告数组,比如[ad1, ad2, ...
- win8.1系统出现C0000034正在应用更新操作怎么办
说来也奇怪,笔者Dell台式机前几天系统提示有更新,笔者对系统进行了更新,可昨天开机后,就出现了C0000034正在应用更新操作的情况,且电脑一直没反应,上网搜了一下帖子,发现复制粘贴的帖子好多,基本 ...
- git备忘 & ProGit笔记
git configgit config xxxxx xxxx可以是 --global(使用的是~/.gitconfig) --system(据说在linux下面使用的是/etc/gitcon ...