TCP/IP的初步学习

TCP/IP的初步学习

  TCP/IP是互联网协议中最为著名的协议,并不是指TCP,IP两种协议,而是包含了众多协议,连HTTP都是属于TCP/IP协议。,通过TCP/IP协议将互联网形容成一个有层次的网络结构,使用TCP/IP便于互联网的开发。

协议的内容

  通过一个发送邮件的例子来解释该协议到底是什么。

  例如主机A向主机B发送一封内容为Hello World!的邮件。该邮件从主机A到主机B会经过以下的过程:


发送过程

  1. 首先会经过应用层、表现层和会话层的处理,例如进行编码和加入邮件协议等
  2. 到达传输层,经过TCP或UDP模块的处理。TCP根据应用的指示,在上层数据前面加一个TCP首部(包括源端口号和目标端口号、序号、以及用于判断数据是否被损坏的的标识-校验和),然后发给网络层
  3. 到达网络层就会经过IP模块的处理,这时会在上层数据的基础上再加上一个IP首部(包括接收端IP地址和发送端IP地址),紧随的还有一个用于判断上层是TCP还是UDP的信息段(便于接收端解析),然后将数据发送到网络接口–以太网驱动处理
  4. 数据到达以太网驱动后会加入一个以太网首部(包含接收端MAC地址、发送端MAC地址、标识以太网类型的信息),后面还会加入一个FCS用于接收端判断数据发送过程中是否损坏。

接收过程

  1. 首先到达主机B的网络接口,主机B会找到以太网包,看其中的MAC地址,判断是否是发送给自己的包,如果发现不是,则丢弃数据。如果是,则再查看标识上一层的信息段,看是否是发送给IP的,如果是则将数据发送到给IP处理,否则发送给其他的处理。
  2. IP模块接收到数据后也会先通过IP地址判断该数据是否是发送给自己的,如果不是则做其他的处理,如果是则再根据其中的信息判断是交给TCP模块处理还是交给UDP模块处理。
  3. 到达TCP时,会先计算以下校验和看数据是否有损坏,如果发现损坏,然后判断端口号,确定哪个应用程序会接收数据。待数据接收完毕后,会发送一个信号给发送端(主机A),告知信息成功接收,否则,如果发送端没有收到这个信息则会一直重复发送该邮件,
  4. 然后到达应用层后,应用程序也会检查该邮件的地址是否是发送给自己的,如果一切正常,会发送一个正常的回执给发送端,否则会发送一个异常的回执给发送端。

经过一个初步的学习有以下认识:
- TCP/IP协议将网络应用数据的传输划分的很细,可以说是层层相扣,每一层都依赖上一层传来的数据,而每一层同时又对会考虑到数据解析过程中下一层的解析。
- 通过消息回执可以使网络数据传输变得可靠了(UDP好像是不会进行判断对方是否成功收到数据)
- 将任务分配给多层从而使开发变得明确了。例如将接收端地址的判断就分为了MAC地址的判断、IP地址的判断、端口号的判断,这样做可以使网络通信变得高效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值