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).数 ...
随机推荐
- linux通过文件查找依赖关系
通过文件查找安装包安装缺少libstdc++6这个文件在ls /usr/lib/libstd*下有两个文件/usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.6 ...
- synchronized 关键字
synchronized 多用于并发不高并且需要单线程运行的地方.比如你有一个A方法,你在方法上加了synchronized修饰.那么两个人同时去调用这个方法的时候不是并行的,是抢占的,谁先抢到资源谁 ...
- Centos 配置ASP.Net Core 运行环境
一:ASP.Net Core跨平台运行,需要在Linux安装运行环境.本机器使用的Centos,下载安装地址为:https://www.microsoft.com/net/core#centos su ...
- js数组的操作<转>
转自 http://blog.csdn.net/xcxinghai/article/details/13502583 PS(个人理解): 1) 数组项的数据类型可以是混合多样的,同时可以含string ...
- VB生成xml
Dim text As XmlText Dim doc As New XmlDocument '加入XML的声明段落 Dim node As XmlNode = doc.CreateXmlDeclar ...
- python----iter\next
1.说明:__getitem__\setitem可以迭代,它已经不被推荐了:建议使用__iter__\next. 2.python会先去检查__iter__\next然后再去检查__getitem__ ...
- Oracle EBS-SQL (BOM-8):检查物料属性(无采购员).sql
select msi.segment1 物料编码, msi.DESCRIPTION ...
- 测试Web服务接口
1. http://www.iteye.com/topic/142034 2. http://www.iteye.com/topic/1123835 3.http://yongguang423.ite ...
- android TextView 带滚动条,和ScrollView 用法(暂时觉得ScrollView滑动速度比较快)
本来是想做一个显示文字信息的,当文字很多时View的高度不能超过一个固定的值,当文字很少时View的高度小于那个固定值时,按View的高度显示.因为ScrollView没有maxHeight,无法满足 ...
- windows和linux下获取当前程序路径以及cpu数
#ifdef WIN32 #include <Windows.h> #else #include <stdio.h> #include <unistd.h> #en ...