文件传输——TCP/IP协议介绍总结

raysync0704 2019-07-19 原文

文件传输——TCP/IP协议介绍总结

一、链路层

数据链路层的工作特性:

1.为IP模块发送和接收IP数据报
2.为ARP模块发送ARP请求和接收ARP应答(ARP:地址解析协议,将IP地址转换成MAC地址)
3.为RARP发送RARP请求和接收RARP应答

链路层的主要工作就是对电信号进行分组并形成具有特定意义的数据帧,然后以广播的形式通过物理介质发送给接收方。

 

二、网络层

网络层引入了三个协议,分别是IP协议、ARP协议、路由协议。IP协议能判断发送者和接收者的两台主机是否属于同一个子网;ARP协议能使发送者知道接收者的MAC地址;路由协议能使两台主机的数据包发送接收不局限于一个子网。

1、IP协议

IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGMP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制,这被认为是上层协议:TCP或UDP要做的事情。

IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGMP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制,这被认为是上层协议:TCP或UDP要做的事情。

 

2、ARP协议

即地址解析协议,是根据IP地址获取MAC地址的一个网络层协议。

(1)每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。

(2)主机(网络接口)新加入网络时(也可能只是mac地址发生变化,接口重启等), 会发送免费ARP报文把自己IP地址与Mac地址的映射关系广播给其他主机。

(3)网络上的主机接收到免费ARP报文时,会更新自己的ARP缓冲区。将新的映射关系更新到自己的ARP表中。

(4)某个主机需要发送报文时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC 地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址等。

(5)当本网络的所有主机收到该 ARP 数据包时:

A.首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包。

B.如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖。

C.然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。

(6)源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。

 

3、路由协议

通过ARP协议的工作原理可以发现,ARP的MAC寻址还是局限在同一个子网中,因此网络层引入了路由协议,首先通过IP协议来判断两台主机是否在同一个子网中,如果在同一个子网,就通过ARP协议查询对应的MAC地址,然后以广播的形式向该子网内的主机发送数据包;如果不在同一个子网,以太网会将该数据包转发给本子网的网关进行路由。

路由协议通过在路由器之间共享路由信息来支持可路由协议。路由信息在相邻路由器之间传递,确保所有路由器知道到其它路由器的路径。总之,路由协议创建了路由表,描述了网络拓扑结构;路由协议与路由器协同工作,执行路由选择和数据包转发功能。

 

三、传输层

传输层提供了两种到达目标网络的方式

传输控制协议(TCP):提供了完善的错误控制和流量控制,能够确保数据正常传输,是一个面向连接的协议。

用户数据报协议(UDP):只提供了基本的错误检测,是一个无连接的协议。

FTP文件传输协议

 这一部分内容如果感兴趣留意后续文章,会有一篇专门展开来讲解两个协议的内容。

 

四、应用层

应用层是TCP/IP协议的最高层级,基于三层协议的支持,应用层负责处理特定的应用程序细节,定义数据格式并按照对应的格式解读数据。应用层定义了各种各样的协议来规范数据格式,常见的有 HTTP、FTP、SMTP 等。

FTP文件传输协议
发表于 2019-07-19 16:07 Raysync镭速 阅读() 评论() 编辑 收藏

 

版权声明:本文为raysync0704原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/raysync0704/p/11213878.html

文件传输——TCP/IP协议介绍总结的更多相关文章

  1. TCP/IP协议与OSI体系结构总结

    TCP/IP协议与OSI体系结构总结 什么是TCP/IP协议?TCP/IP协议不是一个简单的TCP和IP协议, […]...

  2. android优化中国风应用、完整NBA客户端、动态积分效果、文件传输、小说阅读器等源码

    Android精选源码 android拖拽下拉关闭效果源码 一款优雅的中国风Android App源码 Eas […]...

  3. 为企业解决跨国文件传输,提高工作效率!

    为企业解决跨国文件传输,提高工作效率! 随着我国综合力的不断增强,越来越多的国外企业看中了中国这个广袤的市场, […]...

  4. java 接口 文件传输

    调用接收端 @ApiOperation(value = "文件请求展示方法") @RequestMapping […]...

  5. linux 下的ssh

    ssh服务 1.检查是否有被安装,命令 rpm -qa|grep "ssh" 2.检查ssh有没有在运行,命令 […]...

  6. FTP文件传输服务器原理

    FTP文件传输服务器原理 FTP服务器,全称File Transfer Protocol Server,是在互 […]...

  7. TCP传输协议中如何解决丢包问题

    TCP传输协议中如何解决丢包问题   TCP在不可靠的网络上实现可靠的传输,必然会有丢包。TCP是一个“流”协 […]...

  8. TCP传输协议如何进行拥塞控制?

    TCP传输协议如何进行拥塞控制? 拥塞控制 拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来 […]...

随机推荐

  1. 逻辑回归代价函数的详细推导

    逻辑回归的本质是最大似然估计 逻辑回归的输出是 分别表示取1和取0的后验概率。将上面两式联系起来得到 取似然函 […]...

  2. 防火墙导致的VNC连接服务器超时10060错误问题解决

    问题:vncserver已启动,但客户端连接时报超时10060错误 解决: 1、执行ps -ef | grep […]...

  3. Xcode6中如何使用自定义的类模板

         说到IOS类的模板,有些人感觉很陌生,但是只要有开发过IOS程序的人,其实都用过类的模板,只不过是用 […]...

  4. 简单实现Android手机“全局可调试”(ro.debuggable = 1)的方法【锤子坚果3】

            在Android真机上调试程序有一个前提,就是这个apk包必须有 debuggable=tru […]...

  5. git-两小时简单使用教程

    两小时学会Git玩转Github  1. 了解Git和Github 1.1什么是Git Git是一个免费、开源 […]...

  6. 多线程编程(2) – 从 CreateThread 说起

    function CreateThread( lpThreadAttributes: Pointer; {安全 […]...

  7. 一个配置引发的血案

    一个配置引发的血案,记一次线上事故的复盘。 一天晚上的业务高峰期,出现了超时(数据加载不出来的情况)。 联想到 […]...

  8. Asp.net core 2.0.1 Razor 的使用学习笔记(五)

    按说这里应该写关于Role角色类的笔记,但是我还没时间实验这块,所以等以后我搞定了再来分享。现在先写其他部分。 […]...

展开目录

目录导航