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四层模型的更多相关文章

  1. TCP/IP四层模型与OSI参考模型

    TCP/IP四层模型: 1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序.计算机中对应的网络接口卡 2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路. 3.运输层:主要 ...

  2. 网络知识学习1---(基础知识:ISO/OSI七层模型和TCP/IP四层模型)

    以下的内容和之后的几篇博客只是比较初级的介绍,想要深入学习的话建议自己钻研<TCP/IP详解 卷1:协议> 1.ISO/OSI七层模型    下四层是为数据传输服务的,物理层是真正的传输数 ...

  3. 浅谈OSI七层网络模型和TCP/IP四层模型

    OSI七层网络模型 OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系. OSI七层模型 功能 ...

  4. 网络基础:OSI 七层模型、TCP/IP 四层模型

    1.Internet历史 1. 1968年由美国ARPA机构提出"资源共享计算机网络”,让ARPA的计算机互联起来,叫做阿帕网;2. 1974年,第一个TCP协议详细说明发布了.3. 一个 ...

  5. OSI七层模型及TCP/IP四层模型

    1)  OSI七层模型及TCP/IP四层模型 OSI七层模型:是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系.它是一个七层的.抽象的模型,不仅包括一系列抽象的术语或概念,也包 ...

  6. TCP/IP协议:OSI七层模型、TCP/IP四层模型的对比

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

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

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

  8. TCP/IP(八)之总结TCP/IP四层模型

    阅读目录(Content) 一.TCP/IP参考模型概述 1.1.TCP/IP参考模型的层次结构 二.TCP/IP四层功能概述 2.1.主机到网络层 2.2.网络互连层 2.3.传输层 2.3.应用层 ...

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

    一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数 ...

随机推荐

  1. last reboot

    last reboot是一个linux命令,查看上次重启时间等相关信息

  2. C#.net 摄像头驱动程序,用avicap32.dll

    装了摄像头后一般会有 avicap32.dll文件,没有一样可以用这些代码. 不需要在解决方案里面引用这个.dll文件. 下面有二种写法的例子: 例一: using System;using Syst ...

  3. C# 循环的应用 手机号抽奖 选班长的练习题

    //第一题 //20个手机号滚动显示随机抽出一个中奖号码来: static void bbb(string[] args) { string[] cellPhone = new string[] { ...

  4. Android Studio 项目目录结构 英文版

    I don't know if this is because of the Gradle Build System (I'd wager it is), but I'll tell you what ...

  5. UVA 529 - Addition Chains,迭代加深搜索+剪枝

    Description An addition chain for n is an integer sequence  with the following four properties: a0 = ...

  6. 更改linux系统提示信息

    一个好的习惯会让人终生受益,当然我们做运维也是如此,比如我们在前期维护系统时修改或者删除掉/etc/issue /etc/issue.net这两个文件. 修改和删除的目的是屏蔽系统版本信息,这样是为了 ...

  7. makefile死磕笔记

    开始我会插播一段我如何学习makefile的废话,如果不想听的话,请直接跳到我的makefile教程. 首先得先说明学习makefile真是一个痛苦的过程,尤其是用干巴巴的看书来学习的过程,简直可以用 ...

  8. java猜数字小游戏

    /* * * 猜数字小游戏 * * 先由系统生成一个2-100之间的随机数字, * * 然后捕获用户从控制台中输入的数字是否与系统生成的随机数字相同, * * 如果相同则统计用户所猜的次数,并给出相应 ...

  9. node.js安装和启动

    在Windows上安装 Node.js十分方便,我们只需要访问node.js官网http://www.nodejs.org/,点击Download链接,然后选择Windows Installer(32 ...

  10. Codeforces 734F Anton and School(位运算)

    [题目链接] http://codeforces.com/problemset/problem/734/F [题目大意] 给出数列b和数列c,求数列a,如果不存在则输出-1 [题解] 我们发现: bi ...