学习tcp/ip

收发邮件为例子,7层应用在做的事情 

数据在传输过程中都会被分为包的形式传输,一个大数据被分为多个小数据,每个小数据的包头都有头信息,以及包的顺序,便于接收方组装数据。

1.应用层:获取数据,编辑好邮件,决定给谁发送,应用层有每个应用遵循的协议,只有使用一致的协议才可以通讯

2.表示层:将数据按照网络通用标准数据格式转码,主要是进行“统一的网络数据格式”与“某一特殊计算机或特殊软件得数据格式”相互转换

3.会话层:决定何时建立会话,以及邮件发送顺序,比如有5封邮件,会话层决定建立一次会话发送5封邮件或者建立一次会话发送一封邮件

4.传输层:真正的建立传输数据链接,在两个主机之间创建逻辑上的通信链接,确保数据正确传输

5.网络层:发送数据包,获取目标地址,在庞大的网络环境中,把数据准确的从A传输到B,

6.数据链路层、物理层:通信通过物理介质传输,数据链路层在通过传输介质互联的设备之间进行数据处理,物理层直接使用mac地址(又称物理地址)传输数据,它两都是像物理地址发送信号

  传输方式的分类

 1.有连接型:(ATM,TCP协议)需要建立连接才能通讯,连接关闭时无法传输数据,比如打电话

 2.无连接型:(IP、以太网、UDP协议)不需要确认对方是否能收到,直接发送数据,比如邮寄包裹

  网络通讯方式

  主机A——>交换机A——>路由器——>交换机B——>主机B

1.电路交换:技术比较老,首先连接交换机,交换机与交换机由通讯线路链接,发送数据时,通过交换机与目标主机建立通讯电路,称为建立连接,建立好之后用户就可以使用电路通信,直到电路被断开。传输速度固定不变,当一条电路连接多台计算机时,由于一台计算机收发信息会独占电路造成阻塞,当并发用户超过交换机通信线路时就无法实现通信,

2.分组交换(蓄积交换)——只有一条通信线路,线路共享:把数据分为多个数据包,按照顺序分别发送,最后由数据头所带载的信息发送给目标主机组成完整的数据,处理过程大致为:主机A将数据分组发送给路由器,路由器将数据缓存在缓冲区,转发给目标主机(一般情况先进先出),传输速度不同,路由器缓存饱和或溢出会丢失数据

  地址

1.地址唯一性:地址具有唯一性

2.层次性:为了更快速,更方便查找到某个地址(IP地址具备,MAC地址不具备)

 网络传输中,每个节点都会根据分组数据的地址信息,判断报文应该由那个网卡发送出去,为此各个地址会参口发出接口列表,MAC寻址参考地址转发表,IP寻址参考路由控制表。

  中继器(集线器)

 1.中继器是对减弱的信号进行放大和发送的设备,将电信号转换为光信号

 2.中继器通过物理层连接延长的网络

 3.中继器不校验数据的正确性

 4.中继器无法改变传输速度

 5.提供多个接口的中继器称为集线器

  网桥(2层交换机/L2交换机)——数据链路层的设备,属于网络7层的第二层数据链路层

 1.根据数据帧的内容转发数据给相邻的网络(根据MAC地址处理)

 2.没有连接网段个数的限制

 3.用于连接相同类型的网络,也可以链接传输速率不同的网络

 4.校验数据的正确性(检查数据位的FCS)

 5.具有地址自学机制,可以记住转发过的数据帧MAC地址,判断哪个网段中持有哪类MAC地址

 6.交换集线器是网桥的一种,常用在以太网中

  路由器/3层交换机——属于第三层,网络层

 1.连接网络与网络的设备,将分组报文发给另个路由器,连接任意两个数据链路

 2.根据IP地址寻址处理

3.判断网络路径,转发至目标地址

 4~7层交换机主要用来做负载均衡以及传输层以上的数据转发、协议转换

  无

  网关

 1.处理传输层及以上的数据,并在两个不能通讯的协议直接翻译,实现通信(比如手机邮件与电脑邮件的通信)

 2.代理服务器也是网关的一种,称为应用网关

  数据包

1.每个分层中都会给数据附加一个首部,包含该层必要的信息,如发送的目标地址以及协议相关的信息,每个包首部都会至少包含两个信息:一是发送端和接收端地址,另一个是上一层的协议类型,以太网会用MAC地址,IP会用IP地址,TCP/UDP会用端口号作为识别两端主机的地址

 2.每个分层包的首部还包含一个识别位,标识上一层协议的种类信息。

  数据包的接收处理

 1.网络接口处理——以太网驱动

   主机收到以太网包以后,首先从以太网的包首部找到MAC地址包判断是否为发给自己的。如果不是发给自己的包则丢弃数据,而如果接收到了恰好是发给自己的包,就查找以太网包首部中的类型域从而确定以太网协议所传送过来的数据类型。比如数据类型是IP包,再将数据传给处理IP的子程序,如果这时不是IP而是其他诸如ARP的协议,就把数据传给ARP处理。总之,如果以太网包首部的类型域包含了一个无法识别的协议类型,则丢弃数据。

2.ip模块的处理

  IP模块收到IP包首部及后面的数据部分以后,也做类似的处理。如果判断得出包首部中的IP地址与自己的IP地址匹配,则可接收数据并从中查找上一-层的协议。如果上一层是TCP就将IP包首部之后的部分传给TCP处理;如果是UDP则将IP包首部后面的部分传给UDP处理。对于有路由器的情况下,接收端地址往往不是自己的地址,此时,需要借助路由控制表,在调查应该送达的主机或路由器以后再转发数据

 3.TCP模块的处理

  在TCP模块中,首先会计算一下校验和判断数据是否被破坏。然后检查是否在按照序号接收数据。最后检查端口号,确定具体的应用程序。数据接收完毕后,接收端则发送“确认回执”给发送端。如果这个回执信息未能达到发送端,那么发送端会认为接收端没有接收到数据而一直反复发送。数据被完整地接收以后,会传给由端口号识别的应用程序。

 4.应用程序的处理

 接收端应用程序会直接接收发送端发送的数据。通过解析数据可以获知邮件的收件人地址是乙的地址。如果主机B上没有乙的邮件信箱,那么主机B返回给发送端一个“无此收件地址”的报错信息。无论是否正确接收数据都会发送一个状态返回。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值