**OSI:开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。【百度百科】

**TCP/IP:Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。【百度百科】

TCP/IP协议4层模型是实际使用的,参考OSI七层模型而建立的。下面是他们之间的对应关系。

对于TCP/IP四层模型,从下网上的对应功能分别为:

1、(数据链路层)网络接口层:主要功能是【数据传递】

数据传递又分为是在公网内传递还是在局域网内传递。

公网通过IP地址确定目标地址和原地址,
局域网通过MAC地址(也就是物理地址)确定。

2、(网络层)网际互联层:主要功能是【处理分组在网络中的活动,比如分组的选路】

IP(Internet Protocol):网络之间互连协议,是网络层最重要的协议,它提供一种不可靠的,无连接的数据传递服务。通过后面其他协议的封装,变成可靠的数据传输。

ICMP(互联网控制报文协议):就是CMD下通过ping某个IP地址来判断是否连接正常时使用的就是这个协议。

ARP(地址解析协议):把ip翻译成网卡物理地址。

cmd执行arp  -a ,可以解析出当前计算机和你有联系的所有的ip对应的物理地址。

3、传输层:主要功能是【为两台主机上的应用提供端到端的通信】

TCP:transmission control protocol 传输控制协议,是一种可靠的,面向连接的协议(发送三次握手,传输过程一直有交流,有错误重传机制)。网页、邮件采用TCP更多。

UDP:user data protocol 用户数据报协议,是一种不可靠的,面向无连接的协议(速度快,但是数据不可靠)。QQ使用的UDP

TCP/IP 三次握手:三次由来,两军问题。三次通信之后,基本可以保证之后的数据传输的可靠。

4、应用层:主要功能是【负责处理特定的应用程序细节】
数据封装的过程:封装与解封装

学习中还会遇到FTP协议:

**FTP:FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

总结一下,关于TCP/IP四层模型的网络传输协议,我是这样理解的:

如果我要通过我的电脑给某一个园友发一封邮件,首先我要知道这个园友的email,我想在上面传输过程中需要的IP地址和MAC地址应该就对应这个email。

然后我输入想要对他说的话,或者在增加一个word附件,这些都属于应用数据。然后我点击了发送。这些应用数据经过TCP/IP的四层协议封装之后,就可以在互联网之间传输了。

首先在应用层加上FTP的包头,表示把这个数据以文件协议进行传输。我觉得任何形式的数据最终都会被打包成文件进行传输所以FTP协议应该是很重要的一个协议。除此之外还有什么形式的传输呢?

然后进入传输层,加上TCP的包头,表示以TCP协议进行网络间的传输,同时记录发送端口和监听端口为21 ,因为上面是FTP传输模式。

其次进入网络层(网际互联层),加上IP的包头,在这一层,会加上本地ip地址和目标ip地址。

然后进入数据链路层(网络接口层),加上以太网帧t头,并且记录本地MAC地址和目标MAC地址,然后通过以太网进行数据的传输。

在接收方,这个过程会反过来执行,而且每进行一部就会删除对应的包头。

慕课学习--OSI与TCP/IP网络协议的更多相关文章

  1. Linux学习(1)- TCP/IP网络协议基础

    Linux学习(1)- TCP/IP网络协议基础 一.TCP/IP 简介 学习内容 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输 ...

  2. 对TCP/IP网络协议的深入浅出归纳

    前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...

  3. 转:对TCP/IP网络协议的深入浅出归纳

    转自:http://blog.jobbole.com/74795/ 前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没 ...

  4. 对TCP/IP网络协议的深入浅出归纳(转)

    前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...

  5. TCP/IP网络协议的通俗理解,SOCKET,HTTP,SOAP

    TCP/IP,HTTP,SOAP等协议之区别   术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议.“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络.把IP想 ...

  6. TCP/IP网络协议基础

    实验楼学习网络协议传送门 一.TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电 ...

  7. TCP/IP网络协议

    OSI七层模型 OSI采用了分层的结构化技术,共分七层,物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. TCP/IP模型 OSI模型比较复杂且学术化,所以我们实际使用的TCP/IP模型, ...

  8. 初探计算机网络之TCP/IP网络协议

    网络协议 ​ 在计算机诞生以来,从最原始的单机模式到现在多台计算机协同工作,形成计算机网络,从前很难想象的信息共享.多机合作.大规模计算在今天也早已成了现实.在早期,计算机网络需要解决的痛点,就是怎样 ...

  9. tcp/ip网络协议学习

    链路层介绍 网络层协议的数据单元是 IP 数据报 ,而数据链路层的工作就是把网络层交下来的 IP 数据报 封装为 帧(frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层. 以太网 以 ...

随机推荐

  1. 源码分析四(HashMap与HashTable的区别 )

    这一节看一下HashMap与HashTable这两个类的区别,工作一段时间的程序员都知道, hashmap是非线程安全的,而且key值和value值允许为null,而hashtable是非线程安全的, ...

  2. mysql中floor函数的作用是什么?

    需求描述: 最近写mysql程序的时候,使用了floor函数,在此记录下该函数的作用 操作过程: 1.使用floor函数的测试 mysql> select floor(1.23),floor(- ...

  3. docker开启api端口,docker启用加速

    此篇是针对centos6的docker,注意ubantu和centos7的会有区别. 需要在docker配置文件中修改信息 centos中是这个文件 /etc/sysconfig/docker,Ubu ...

  4. Xcode文件被锁定:The file ".xcodeproj" could not be unlocked

    同事从svn上面checkout项目到本地,通过xcode打开的时候提示的这个问题. The file "xcodeproj" could not be unlocked. Cou ...

  5. SpringMVC由浅入深day01_12.4 pojo绑定_12.5自定义参数绑定实现日期类型绑定_12.6集合类

    12.4 pojo绑定 页面中input的name和controller的pojo形参中的属性名称一致,将页面中数据绑定到pojo. 页面定义: controller的pojo形参的定义: 打断点测试 ...

  6. 5 -- Hibernate的基本用法 --1 2 基本映射方式

    ORM工具提供了持久化类和数据表之间的映射关系.实际上,所有的ORM工具大致上都遵循相同的映射思路,ORM基本映射有如下几条映射关系: ⊙ 数据表映射类 : 持久化类被映射到一个数据表.程序使用这个持 ...

  7. MongoDB副本集的工作原理

    在MongoDB副本集中,主节点负责处理客户端的读写请求,备份节点则负责映射主节点的数据. 备份节点的工作原理过程可以大致描述为,备份节点定期轮询主节点上的数据操作,然后对自己的数据副本进行这些操作, ...

  8. 【NLP】pyhanlp flask

    D:\ProgramData\Anaconda3\Lib\site-packages\pyhanlp\__init__.py 加入 WordVectorModel = LazyLoadingJClas ...

  9. hbase shell 启动报错

    启动hbase之后,发现hbase shell启动报错: version 2.0.0-alpha4, r5c4b985f89c99cc8b0f8515a4097c811a0848835, Tue Oc ...

  10. 【web端权限维持】利用ADS隐藏webshell

    0X01 前言 未知攻,焉知防,在web端如何做手脚维护自己拿到的权限呢?首先要面临的是webshell查杀,那么通过利用ADS隐藏webshell,不失为一个好办法. 0X02 利用ADS隐藏web ...