Linux网络管理——TCP/IP四层模型
1. 网络基础
.note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif;}
.note-content h2 {line-height: 1.6; color: #0AA89E;}
.note-content {background: #FFFFFF;}
.note-content h1 {color: #7AB3A7;}
.note-content h3 {color: #147A67;}
1. 网络基础
1.2 TCP/IP四层模型
1.应用层<---------------------------应用层,表示层,会话层
2. ↓
3.传输层<---------------------------传输层
4. ↓
5.网际互联层<------------------------网络层
6. ↓
7.网络接口层<------------------------数据链路层,物理层
OSI 7层模型仅仅只是模型,而在实际传输中应用的是TCP/IP 4层模型。举个栗子,OSI 7层模型仅仅是个车模,而TCP/IP 4层模型是实际生产的原型车。
○ 网络接口层
它负责监视数据在主机和网络之间的交换。
而事实上,TCP/IP本身并没有定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。
地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层。
Windows下可以使用arp -a查看ARP(linux下也可以使用arp),它的作用是把IP地址翻译成网卡物理地址(MAC地址)。再举个栗子,IP地址相当于门牌号,而MAC地址相当于屋子里的某一个人,数据的传输需要像邮差送信,信送到某户人家,然后再被送到某个人的手中。IP地址是在公网中传输需要,而MAC地址是在局域网中传输需要。
○ 网际互联层
它主要解决主机到主机的通信问题。
它所包含的的协议设计数据包在整个网络上的逻辑传输。该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
其中ICMP协议就是我们用来ping的协议。平时我们说ping一下,看是否能够ping通:
1.[KANO@kelvin ~]$ ping 114.114.114.114 -c 4
2.PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
3.64 bytes from 114.114.114.114: icmp_seq=1 ttl=90 time=33.3 ms
4.64 bytes from 114.114.114.114: icmp_seq=2 ttl=71 time=34.9 ms
5.64 bytes from 114.114.114.114: icmp_seq=3 ttl=79 time=34.9 ms
6.64 bytes from 114.114.114.114: icmp_seq=4 ttl=89 time=34.6 ms
7.
8.--- 114.114.114.114 ping statistics ---
9.4 packets transmitted, 4 received, 0% packet loss, time 3003ms
10.rtt min/avg/max/mdev = 33.300/34.478/34.982/0.703 ms
11.
这里就是利用了ICMP协议,给我们指定的计算机发送一个数据包。如果它回应了,那么证明我们两个的网络是通的。
○ 传输层
它为应用层实体提供端到端的通信功能,保证了数据包的顺序传送以及数据的完整性。
该层协议定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。
TCP/IP三次握手
比如说:如果主机A想跟主机B进行通信
主机A首先发起一个握手信号SYN给主机B”问你在吗”—————->主机B收到握手信号SYN,就发送回应包ACK给主机A”我在”,同时也发送一个信报SYN问”你还在吗”—————->这个时候主机A就会发送一个ACK响应它说”我在,我要跟你发送数据了”——————>最后建立通信,主机A向主机B发送信息
在数据传输过程中,双方始终有沟通,只要有一个数据传错了,那么主机B就会马上告诉主机A说传错了,要重传。
所以TCP/IP协议是面向连接的可靠的协议
而UDP协议,不管你在不在,就直接把数据发出去。它的好处是更快,但是有可能会丢包
简单说来,TCP协议像打电话,接通后问我是谁你是谁,双方确认之后,开始正式交谈,交谈中说错了对方会发出警告,然后重说。而UDP协议更像发短信,一条短信发过去,能及时收到,但是也有可能发送不成功。
QQ聊天的时候使用的就是UDP协议,发送过去更快,但是有的时候会提示”你发送的信息没有到达”
○ 应用层
它为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等。
数据封装过程
1.应用数据------------------------------------------------->字节流(数据)
2.应用层--------------------------------------------------->FTP头| 数据
3.传输层-------------------------------------------->TCP头| FTP头| 数据
4.网络层-------------------------------------->IP头| TCP头| FTP头| 数据
5.数据链路层-------------------------->以太帧头| IP头| TCP头| FTP头| 数据
6. ↑ IP数据报 ↑
7. 以太帧头| 目的地址| 源地址| 包类型| 包数据 | CRC
8. ↑IP数据报↑
Linux网络管理——TCP/IP四层模型的更多相关文章
- TCP/IP四层模型与OSI参考模型
TCP/IP四层模型: 1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序.计算机中对应的网络接口卡 2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路. 3.运输层:主要 ...
- 网络知识学习1---(基础知识:ISO/OSI七层模型和TCP/IP四层模型)
以下的内容和之后的几篇博客只是比较初级的介绍,想要深入学习的话建议自己钻研<TCP/IP详解 卷1:协议> 1.ISO/OSI七层模型 下四层是为数据传输服务的,物理层是真正的传输数 ...
- 浅谈OSI七层网络模型和TCP/IP四层模型
OSI七层网络模型 OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系. OSI七层模型 功能 ...
- 网络基础:OSI 七层模型、TCP/IP 四层模型
1.Internet历史 1. 1968年由美国ARPA机构提出"资源共享计算机网络”,让ARPA的计算机互联起来,叫做阿帕网;2. 1974年,第一个TCP协议详细说明发布了.3. 一个 ...
- OSI七层模型及TCP/IP四层模型
1) OSI七层模型及TCP/IP四层模型 OSI七层模型:是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系.它是一个七层的.抽象的模型,不仅包括一系列抽象的术语或概念,也包 ...
- TCP/IP协议:OSI七层模型、TCP/IP四层模型的对比
1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行 ...
- OSI七层协议模型、TCP/IP四层模型学习笔记
1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行 ...
- TCP/IP(八)之总结TCP/IP四层模型
阅读目录(Content) 一.TCP/IP参考模型概述 1.1.TCP/IP参考模型的层次结构 二.TCP/IP四层功能概述 2.1.主机到网络层 2.2.网络互连层 2.3.传输层 2.3.应用层 ...
- OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系
一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数 ...
随机推荐
- 关于ASP.NET中的负载均衡
ASP.NET站点中做负载均衡: 基于HTTP协议我们可能发现我们要解决两点问题: 第一做到负载均衡,我们需要一个负载均衡器. 可以通过DNS轮询来做,在DNS服务器上配置为每次对我们做负载均衡的同一 ...
- Android学习Tabhost、gallery、listview、imageswitcher
Tabhost控件又称分页控件,在很多的开发语言中都存在.它可以拥有多个标签页,每个标签页可以拥有不同的内容.android中,一个标签页可以放 一个view或者一个activity.TabHost是 ...
- 解决VS2010批量替换时经常由于内存较低而导致VS2010自动关闭的问题
尊重原著作:本文转载自http://www.cnblogs.com/Sharping/p/3165527.html 情况描述 在使用VS2010 开发Web应用程序的时候,批量替换时经常卡死关闭. 一 ...
- T-sql编程
T-Sql中的变量都是@符号开头的 以一个@符号开头,叫做“用户声明的变量” 以两个@@开头的叫做"全局变量","系统变量",是由系统来维护的.无需我们维护 - ...
- C#中Json字符串的各种应用类
在程序中任何事物及信息都可以用对象进行描述和承载,除了比较流行的xml之外,还有一种简洁快速处理目标信息的形式那就是Json格式. 首先Json格式有自己固定的格式:例如person这个对象就可以简单 ...
- python程序不支持中文
SyntaxError: Non-ASCII character '\xe8' in file delete.py on line 4, but no encoding declared; see h ...
- mysql性能优化学习笔记(4)索引的优化
一.选择合适的索引列 1.在where,group by,order by,on从句中出现的列 2.索引字段越小越好(因为数据库的存储单位是页,一页中能存下的数据越多越好 ) ...
- php设计模式之:观察者模式
转载自php面向对象设计模式 之 观察者模式 问题 假如一个小贩, 他把产品的价格提升了, 不同的消费者会对此产生不同的反应.一般的编程模式无非是获取提升的价格,然后获取所有的消费者,再循环每个消费者 ...
- Python学习笔记(一)基础
学习资料 跟着廖雪峰的Python教程学习Python,大家可以去官方网站查看学习教程.使用的Python版本为3.0.x,解释器为CPython.本系列博客为学习笔记,记录跟随廖老师所学知识,同时会 ...
- Three.js基础
Three.js基础探寻一 Three.js基础探寻一 1.webGL 一种网络标准,定义了一些较底层的图形接口. 2.Three.js 一个3Djs库,webGL开源框架中比较优秀的一个.除了w ...