TCP/IP-学习笔记

TCP/IP

一个主机如何将数据发送到另一主机上

一. 链路层(定义mac地址)
  • 链路层概述
    对电信号进行分组形成具有意义的数据帧,然后以广播的形式通过物理介质发送给接收方

    1. 数据帧(数据包)

    首部包含目标mac地址,源mac地址和类型
    数据过长需分割成多个帧进行发送
    尾部固定4个字节,数据帧校验序列

    2. Mac地址

    每块网卡都有自己唯一的16进制mac地址
    计算机中数据传输必须是从一块网卡传输到另一块网卡,所以,若想完成数据传输,就应先知道目的地的mac地址,

二. 网络层(定义ip地址)
  • 网络层概述:
    定义网络地址(目标ip地址)
    区分网段(是否在同一子网,也就是选择arp协议或者路由协议)
    mac寻址(使用对应的协议获取mac地址)
    路由数据包(发送数据包)
1. ip协议

Mac地址只与厂商有关,与所处网络无关,ip地址就是能够区分两台主机是否属于同一网络
子网掩码,在同子网内的两台主机,ip地址和子网掩码通过”按位与”运算后就可以得到网络地址

2. Arp协议

在同一子网内,根据ip地址获取mac地址
Arp请求数据包-以太网数据包-自网内所有主机-主机对比ip地址若相同则返回mac地址

3. 路由协议

通过ip协议判断是否在同一子网中(若两个IP地址在同子网内,则网络地址相同),
若在,则用arp协议获取mac地址,
若不在,以太网会将数据包发送给网关进行路由,网关是互联网上子网与子网之间的桥梁,经多次转发到目标ip所在的子网中,在通过arp获取目标机的mac地址
路由器为网络中的桥梁,根据信道情况,选择并设定路由,以最佳路径转发数据包

4. Ip数据包

Ip数据包,即在网络层被包装的数据包
首部,目标ip地址,源ip地址

三. 传输层(确定接受数据包的应用程序)
  • 传输层概述
    定义端口,并实施tcp协议确保通信可靠性
1. Udp协议

Udp协议定义了每个应用程序唯一的端口号,规定网络中传输的数据包必须加上端口信息

2. Udp数据包

首部,源端口和目标端口
Udp协议比较简单,无法确认对方是否收到数据包,为解决这一问题,tcp协议就诞生了

3. Tcp协议(传输控制协议,即有控制机制的udp协议)

每发送一个数据包都要求确认,若未收到确认,发送方必须重发这个数据包
Tcp协议传输数据有三次对话机制,稳定,但消耗资源多,传输速度慢

4. Tcp数据包

首部,源端口和目标端口
数据,无限长,但通常不会超过ip数据包的长度,以确保tcp数据包不被切割

四. 应用层

定义协议来规范数据格式,HTTP,FTP,SMTP
也就是定义数据格式,按照对应的合适解析数据

总结

链路层:定义数据帧,确认目标mac地址,传数据

网络层:(IP,ARP,路由)定义ip地址,确认两主机的位置,通过ip,arp协议进行mac寻址,对外网主机进行路由协议寻址,路由转发数据包

传输层:(UDP,TCP)定义应用程序端口,将对应的数据包传输给对应的数据程序

应用层:定义数据格式,按照格式解析数据

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值