1 初识网络传输

计算机之间传输媒介是光电信号,通过信号的强弱和频率来表示0和1,但是要知道大量0和1表达的真实意义,就要约定好数据格式。也就产生了各种各样的协议。而网络上的传输也需要协议来标准规范,也就相当于Java和C++中的接口的作用吧。

1.协议分层


  • 为什么要分层?

    分层虽然会导致协议和传输更加复杂,但其最大的好处就是便于"封装"。

接下来就大概讲述两个比较典型的分层模型:1. OSI开放系统互连,七层协议模型 2.TCP/IP五层(四层)协议模型

1.OSI七层模型

是一个逻辑上的定义和规范,把网络从逻辑上分了7层,每层都有相关的对应的物理设备,比如路由器、交换机等。

OSI是一种框架性的设计方案。

主要功能:使不同类型的主机实现数据传输。

优点:将服务、接口、协议这三个概念明确区分开,不同系统不同网络之间实现可靠通信。

缺点:复杂不实用。

分层: 应用层-> 表示层-> 会话层-> 传输层-> 网络层-> 数据链路层-> 物理层

2.TCP/IP五层模型

TCP/IP是一组协议的代名词,还包括很多协议,组成了TCP/IP协议簇。

每一层都呼叫它的下一层所提供的网络实现自己的需求。

分层:应用层-> 传输层-> 网络层-> 数据链路层-> 物理层
图片来源:https://blog.csdn.net/u014044812/article/details/91423184
在这里插入图片描述

对于一台主机,它的操作系统内核实现了从 传输层 -> 物理层(端口号)

对于一台路由器,它实现了从 网络层 -> 物理层(IP->MAC)

对于一台交换机,它实现了从 数据链路层 -> 物理层

对于集线器,它只实现了物理层。

接下来说说TCP/IP五层模型中有哪些协议?

应用层:  1.基于UDP: NFS(网络文件系统)、TFTP(简单文件传输)、
					DHCP(动态主机配置)、BOOTP(无盘设备启动)、
					DNS(域名解析)
		 2.基于TCP:HTTP、HTTPS、SSH、Telnet、FTP、SMTP

传输层: UDP、TCP

网络层:IP、ICMP(相当于IP的升级版)、IGMP

链路层:以太网协议

2.网络中如何传输数据?


同一网段的两台主机

  • 应用层-> 传输层-> 网络层-> 数据链路层

发送数据:将数据一层一层的包上各个协议头
接收数据:将协议一层一层解开,拿到数据。

不同网段上的两台主机

  • 应用层-> 传输层-> 网络层-> 数据链路层
    网络层包含n个路由器“中转”

比如在浏览器中输入www. baidu. com
1.客户端通过DNS进行域名和IP地址转换,得到baidu的IP地址220.181.27.48,找到客户端到服务器的路径。客户端将数据用HTTP头部包装。
2.在传输层,添加目的端口和源端口,建立与服务器之间的通信连接,将HTTP数据发送出去,并保证数据可靠到达。
3.在网络层,不关心应用层和传输层的东西,要做的就是“查找路径”,通过路由器表确定到达服务器的路径。
4.在数据链路层,查找目的IP的MAC地址,通过链路层发送到路由器,表示的是节点(路由器、主机、链路等)之间的传输。
在这里插入图片描述
(个人理解,如若有偏差请评论赐教,十分感谢)

3.数据包的封装


不同的协议层对数据有不同的称谓。
传输层叫数据段、网络层叫数据报、链路层叫数据帧。

封装: 每到达一层,协议就会给数据加上自己的协议头的行为。

拆包:当数据封装成数据帧后发送到传输介质上,到达目的主机后,每层协议剥掉各自的协议头的行为。

4.两个地址

IP地址
IP地址有两个版本,IPv4和IPv6 。一般是IPv4
作用:标识网络中不同主机地址。
特点:点分十进制。 例如:192.165.0.1
IPv4:占4字节
IPv6:占16个字节

可以这么说,IPv6解决了IPv4的IP数量限制问题,但不是IPv4的升级版,二者没有联系,它并不常用。

MAC地址
相当于硬件地址,是唯一的,在网卡出厂时就确定了,并且不能修改。
作用:识别数据链路层中相连的节点。
MAC:占6个字节
特点:十六进制用冒号分隔,例如:08:00:27:03:fb:19


接下来我们仔细的研究TCP/IP五层模型各个层的常用协议…

HTTP应用层协议详解
UDP和TCP传输层协议
TCP三次握手和四次挥手
IP网络层协议详解
ARP数据链路层协议

欢迎指正!~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值